在上周终于将做了三个礼拜的平衡车项目结尾,实现了平衡、遥控以及抬起电机停转放下电机恢复的功能,超声波未能搞出来,原因是模块出了故障,等新的模块到要很久而且超声波的难度并不大,所以就阉割了这个功能,让组内的小伙伴们去搞这个吧。

本项目的总结将分为三部分:流程控制、硬件设计和控制算法。

平衡小车是通过读取、计算传感器的数据来控制电机的转动,从而达到小车的动态平衡。平衡小车的控制中用到了三级的PID算法,还是很有难度的,而对于小车的硬件结构来说,重心越低,越容易平衡,而重心越高平衡的难度就越大。

首先是平衡小车的控制流程图,我把路程图分为主函数、中断控制函数、直立环、速度环、转向环五个部分。

1、在主函数中完成系统各部分的初始化,并且在循环中每50ms在OLED显示运行数据。

2、由MPU6050的中断引脚触发的外部中断的中断函数是整个系统的控制函数,MPU6050每5ms触发一次中断,而我调节的周期为10ms

3、直立环是平衡小车最重要的部分,对于小车来说立起来是最终要的,在我的PID分类下有一篇专门记录如何将小车立起来的博客,我在这个过程也是花费了大量的时间,经过长时间的调节参数终于使小车可以稳定直立。

4、速度环的作用是使小车在平衡时趋向于原地静止,当然要想使小车完全不动的直立在原地是不可能的,通过速度环只能使小车尽可能的减少移动。

5、转向环可能是平衡小车中最不重要的一部分,但是想要使小车走直线或者可以通过遥控控制转向,转向环也是必不可少的,转向环通过编码器和加速度计的融合算法来使小车实现转向功能。

【单片机项目】平衡小车(一) 控制流程相关推荐

  1. 【单片机项目与仿真】控制步进电机转速的Proteus仿真及C语言程序设计

    目录 1.控制步进电机转速的语言程序设计 2.仿真 3.代码工程与仿真 1.控制步进电机转速的语言程序设

  2. PID算法控制平衡小车直立

    1.平衡小车直立控制: 如果我们要控制一根木棍在手上直立,需要两个步骤 ->托着木棒的手可以移动 ->眼睛能看到木棒的倾斜角度和倾斜趋势(角速度) 类比到平衡小车中,同理想让小车保持平衡, ...

  3. 两轮自平衡小车双闭环PID控制设计

                                                                                            两轮自平衡小车的研究意义 ...

  4. 基于RT-Thread的两轮平衡小车设计

    一.前言 最近参加了RT-Thread官方发起的RT-Robot Car DIY活动,借此机会想总结一些自己本科四年的所学的部分知识. 也可以帮助到那些需要的小伙伴(可以参考我的代码中对RT-Thre ...

  5. 基于串级PID的平衡小车

    一般的平衡小车是以速度环为外环,外环输出作为内环角度输入的反馈,与期望角度叠加,通过角度的浮动控制实现速度闭环,本次平衡小车结合了四轴无人机的串级PID 方法,引入角速度环,方便参数调节.主控采用st ...

  6. 直立车各环的调试_平衡小车调试指南(直立环 速度环)

    平衡小车之家出品 1 平衡小车调试指南 接下来将和大家一起以工程的思想去完成一个平衡小车的调试, 包括平衡小 车的直立环.速度环.转向环,一般我们是先调试直立环,再调试速度环,最好 调试转向环.另外需 ...

  7. 基于STM32的二轮自平衡小车

    前言 近年来,移动机器人是目前科学领域比较活跃的领域之一,其应用范围越来越广泛,面临的环境也越来越复杂,这就要求机器人能够适应一些复杂的环境和任务.二轮自平衡机器人正是在这一背景下提出来的,对于制作此 ...

  8. 直立车各环的调试_平衡小车调试指南 直立环 速度环

    平衡小车之家出品 1 平衡小车调试指南 接下来将和大家一起以工程的思想去完成一个平衡小车的调试, 包括平衡小 车的直立环.速度环.转向环,一般我们是先调试直立环,再调试速度环,最好 调试转向环.另外需 ...

  9. 69、基于STM32单片机智能两轮双轮自平衡小车 蓝牙app控制系统设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.程序源码 六.资料包括 摘要 目前,国内市场上的平衡车琳琅满目,但多数功能单一, 价格 ...

最新文章

  1. surface pro 3 linux,新闻|在Surface Pro 3上运行Ubuntu – 虽不完美但很有戏
  2. 爬虫之使用verify参数忽略CA证书
  3. linux修改ssh端口
  4. 通过“委派”过滤组策略设置
  5. Tomcat如何支持带中文的url?
  6. java中的权限修饰符_Java的权限修饰符的区别和用法总结
  7. 每日一皮:以为是王者,没想到是个青铜...
  8. 空气动力学测试软件,山寨也精确 简单方法测试最佳空气动力学姿势(图文)
  9. mysql免安装版配置方法
  10. SAP Fiori架构一览
  11. 训练日志 2018.9.12
  12. 《scikit-learn》SVM(一)
  13. 2011年12月份第一周51Aspx源码发布详情
  14. FCLK、HCLK、PCLK
  15. java类装载器原理
  16. wordpress rest api 漏洞又来了CVE-2017-5487 上次是修改文章内容这次可是泄露用户数据...
  17. 【数学】【筛素数】Miller-Rabin素性测试 学习笔记
  18. 关于《上海市城镇生育保险办法》的问答
  19. php使用iframe框架,ThinkPHP后台首页使用iframe(框架)
  20. 局域网上网流量监控_NAT下网络流量监控解决方案

热门文章

  1. nc提示java过期_用友NC系统使用过程中常见问题和解决方法!财会必看!
  2. Script3D引擎核心注释版
  3. php五角星十个点坐标,请教:已知五角星的外接圆半径,如何求五角星十个顶点的坐标?(有图? 爱问知识人...
  4. 港中文计算机金融,香港中文大学金融数据分析和风险管理科学硕士专业
  5. servlet生命周期的理解
  6. 7-38 社交网络图中结点的“重要性”计算 (30分) 最短路 迪杰斯特拉堆优化
  7. 使用tushare数据画疫情感染人数地图
  8. 东北大学大学物理实验报告——2.2刚体转动惯量的测定
  9. iphone个人热点无法开启_iPhone为什么打不开热点 iPhone打开热点方法【教程】
  10. C++对数函数 log()