基于基于stm32的两轮自平衡小车的两轮自平衡小车2(原理篇)(原理篇)
该篇博客紧接接上一篇开题篇创该篇博客紧接接上一篇开题篇创 基于基于stm32的两轮自平衡小车的两轮自平衡小车1(模块选型篇)(鸽了好些日子了(模块选型篇)(鸽了好些日子了…)。该篇为原理篇,包含一些理论分析的部分,碰到一些自己可能写)。该篇为原理篇,包含一些理论分析的部分,碰到一些自己可能写
不好的地方直接引用了我认为很不错的参考,有些地方还没能理解透彻,如有不足的地方恳请指出,非常感谢!本篇内容详见目录。不好的地方直接引用了我认为很不错的参考,有些地方还没能理解透彻,如有不足的地方恳请指出,非常感谢!本篇内容详见目录。
目录目录
参考资料参考资料
系统框图系统框图
运动分析运动分析
PID算法算法
定时器定时器PWM输出输出
定时器编码器模式定时器编码器模式
六轴传感器获取角度六轴传感器获取角度
参考资料参考资料
这里有一些博主收集资料过程中发现的好东西,分享一波:
正点原子手把手教你学STM32-M3(视频)
一天攻克平衡小车(视频)
两轮平衡小车开源资料(原理图、PCB、程序源码、BOM等)
基于STM32和MPU-6050的两轮自平衡小车系统设计与实现
超详细双轮平衡小车原理分析 附STM32源码
基于stm32两轮平衡车制作
自平衡小车的入门(arduino)
参赛作品《stm32平衡小车》
基于STM32F103C8T6平衡车–从零开始
编码器速度和方向检测,stm32编码器接口模式
平衡小车中的MPU6050测量倾角
还有一篇非常经典的平衡小车原理论文,是第七届全国大学生第七届全国大学生“飞思卡尔飞思卡尔”杯智能汽车竞赛杯智能汽车竞赛组委会给的一套超详细的平衡小车平衡原理平衡原理资料:直立行车参考设计方案第二直立行车参考设计方案第二
版版,也放这里了:gveh
看一下别人的作品再看看自己的,觉得自己好菜
…
想不写下去了
…
但
flag
已立,不得不继续。,。
系统框图系统框图
按照我自己的理解,平衡小车的系统框图大概是这样子的一个思路:
获取小车的速度和角度这两组数据就是实现小车自平衡的前提,这些数值在stm32的中断控制中结合PID算法使用,输出运算后的数值赋值给PWM寄存器控制电机,从而
实现小车的自平衡;而遥控数据则是小车转向控制才需要用的,因此可以先不关注遥控部分,在小车能够站起来后再去关注。
运动分析运动分析
平衡小车的运动控制可以分为平衡控制、速度控制和方向控制,即直立环、速度环和转向环,其中平衡控制是最关键的部分。平衡小车作为一个控制对象,可以简化地把
它看做两个电机的转动速度和转动方向控制,小车的直立控制和方向控制是直接通过控制小车两个驱动电机完成的,小车的速度则是通过调节小车到的角度来完成的,不
同的倾角会引起小车的加减速。(这里需要关注这两个关键词:速度和角度速度和角度,这两个数据是通过检测装置(传感器)获取的,后面部分会详细讲述)。
平衡控制(直立环)平衡控制(直立环)
小车的平衡控制是通过负反馈负反馈来实现的。
反馈又称回馈,是控制论的基本概念,指将系统的输出返回到输入端并以某种方式改变输入,进而影响系统功能的过程;而使输出起到与输入相反的作用,使系统输出与
系统目标的误差减小,系统趋于稳定的反馈称为负反馈。(百度)
平衡小车的两个轮子着地,车体只会在轮子滚动的方向上发生倾斜,因此可以通过控制轮子转动,抵消在一个维度上倾斜的趋势便可以保持车体平衡,即如果车体向前倾
斜就向前加速运动,向后倾斜就向后加速运动。
保持小车稳定平衡的条件是:能够精确测量小车倾角θ的大小和角速度θ ’ 的大小以及可以控制车轮的加速度。(直立行车参考设计方案第二版)
直立控制主要是保证小车在运行过程中保持在一个理想的角度,这个理想的角度一般由小车的机械零点决定。这个点在实际中大多指的是一个范围。(如果在单纯调试直
立环的时候调了很多组参数小车的平衡效果还是不好,不妨尝试一下在直立控制的程序中加上或者减去一个小一些的数值)
单纯直立环作用,在调好参数的情况下小车也是可以保持一定范围和时间的平衡的,但是对外界干扰特别敏感,不稳定,轻轻一推小车就失衡了,因此仅仅使用平衡控制
是不足以实现我们想要的平衡效果的,要实现稳定效果,还需要加上速度环。