【单片机项目】平衡小车(一) 控制流程 【单片机项目】平衡小车(一) 控制流程 2022-09-05 245 在上周终于将做了三个礼拜的平衡车项目结尾,实现了平衡、遥控以及抬起电机停转放下电机恢复的功能,超声波未能搞出来,原因是模块出了故障,等新的模块到要很久而且超声波的难度并不大,所以就阉割了这个功能,让组内的小伙伴们去搞这个吧。 本项目的总结将分为三部分:流程控制、硬件设计和控制算法。 平衡小车是通过读取、计算传感器的数据来控制电机的转动,从而达到小车的动态平衡。平衡小车的控制中用到了三级的PID算法,还是很有难度的,而对于小车的硬件结构来说,重心越低,越容易平衡,而重心越高平衡的难度就越大。 首先是平衡小车的控制流程图,我把路程图分为主函数、中断控制函数、直立环、速度环、转向环五个部分。 1、在主函数中完成系统各部分的初始化,并且在循环中每50ms在OLED显示运行数据。 2、由MPU6050的中断引脚触发的外部中断的中断函数是整个系统的控制函数,MPU6050每5ms触发一次中断,而我调节的周期为10ms 3、直立环是平衡小车最重要的部分,对于小车来说立起来是最终要的,在我的PID分类下有一篇专门记录如何将小车立起来的博客,我在这个过程也是花费了大量的时间,经过长时间的调节参数终于使小车可以稳定直立。 4、速度环的作用是使小车在平衡时趋向于原地静止,当然要想使小车完全不动的直立在原地是不可能的,通过速度环只能使小车尽可能的减少移动。 5、转向环可能是平衡小车中最不重要的一部分,但是想要使小车走直线或者可以通过遥控控制转向,转向环也是必不可少的,转向环通过编码器和加速度计的融合算法来使小车实现转向功能。 免费搭建微信查券返利机器人来轻松赚佣金 文章来自:IT技术分享网 分享地址:http://www.5ityx.cn/cate100/105064.html 上一篇: .gitignore 文件不生效问题 & 解决方法 下一篇: .gitignore与.git/info/exclude区别 【单片机项目】平衡小车(一) 控制流程 相关内容 .gitignore与.git/info/exclude区别 .gitignore是干什么的? .h5文件模型如何使用,并且给出代码 .java编译成.class 与 .class反编译成.java .lnk文件 和一种较新的.lnk病毒及解决方法 .py文件转为.exe文件的方法 .xyz文件_Github历史记录搜索神器GitHistory.xyz /etc/profile文件使用source不能全局生效的解决方法 /proc目录造成linux根目录爆满 /usr/bin/ld: cannot find -l 基本原理解释与解决方法 10个国外设计网站(自学设计的童鞋建议收藏) 10个基于Web的开源项目管理系统 10个开源/免费的电子商务平台 10个开源web后台管理系统(二) 10个方法提高你的编程生产力 10个顶级的海外工作外包平台