完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1、基于RT-Thread的激光雷达避障小车的设计方案
由于在学校里很少有机会让我将所学的东西付诸于实践.有时候学完一个东西没法真正了解自己是否掌握,同时为了进一步提高自己的能力,不再漫无目的的学习.所以决定做这样一辆小车.其中PCB原理图和初版PCB_layout是我在寒假在家中完成的,程序是基于rt-thread[BSP]STM32f429-Apollo写的.历时3个多月。 RT-Thread起到的作用 作为主控芯片的实时系统,提供多线程编程.小车的每个重要的需要实时的功能都单独作为一个线程.如小车的mpu9250姿态解算出姿态角(Roll、Pitch、Yaw )的过程就单独使用了一个线程(mpu9250),小车的PID控制速度的代码也单独使用了一个线程(speed).每个功能线程(mpu9250,speed...等)都会处理完各自的数据得出结果,并且这些结果在必要的时候提供给主线程(master)使用.也正是因为rt-thread的优先级全抢占式调度使得重要的线程能及时处理完.另外rt-thread提供的finsh/msh在调试期间起到了很大的作用,同时也可以通过远程蓝牙串口控制小车的行为. 实物图
基于RT-Thread的激光雷达避障小车的设计方案.pdf
(855.45 KB, 下载次数: 4
)
2、基于RT-Thread的蓝牙遥控平衡小车的设计方案 出于业余爱好,以及学习自动化控制PID理论,经过多种选择后决定制作平衡车进行实际操练。刚开始试着用单纯的裸机,完成直立控制,然后慢慢的又增加了屏幕显示,用于参数调整显示,再然后用蓝牙透传进行串口遥控,并且增加用遥控器进行PID参数调增。增加这些功能以后,再进一步逐渐的增加功能,就需要进行在多任务的时间调配上进行更严格分配,每增加一个功能,都需要重新调整在这个上面花费了不少时间。例如,在屏幕的显示上,由于需要较多时间进行数据端口的模拟,耗费大量时间,如果需要增加多个参数显示,相应的屏幕程序就需要更多时间,就会改变整个程序的时间分配,平衡车直立控制就会不稳定,难与调试。由于上面的困扰,并且之前2010年的时候一个偶然机会了解到了RT-Thread实时操作系统,决定试着用操作系统的理念进行编写,可以省去在裸机调试时间分配的困扰。由于裸机我用了STM32F103C8T6芯片只有64KB,我本人懒于修改硬件,尝试修剪RTT,用尽可能少的组件,手动的把3.0.4版本去掉外围,只用内核。在内核上把平衡车的控制分为直立控制、蓝牙控制、屏幕控制、以及原来的LED控制,后续增加超声波,指南模块等。尽可能使用现成的元件搭建起实物原型,然后再不断增加功能,从扩充的过程中完成控制理论的学习和对实时操作系统的掌握。由于有限的代码空间也进一步锻炼代码的精简训练。
基于RT-Thread的蓝牙遥控平衡小车的设计方案.pdf
(903.18 KB, 下载次数: 2
)
|
|
相关推荐
|
|
590 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
2241 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1233 浏览 0 评论
1788 浏览 0 评论
1464 浏览 0 评论
74825 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 02:18 , Processed in 0.659698 second(s), Total 66, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号