基于角动量守恒的单轮自平衡机器人实验设计
编者按:为验证角动量守恒定律,设计完成了单轮自平衡机器人的软硬件实现方案。基于角动量守恒定理,以STM32单片机为主控制器,通过MPU6050陀螺仪加速度传感器检测机器人姿态信息,利用PID算法计算出PWM驱动电机的占空比,进而驱动直流电机和无刷电机转动来保持机器人平衡。实验表明,本方案可以实现单轮自平衡机器人的自启动、站立及行进功能。
*基金项目:吉林省高等教育教学改革研究课题,项目编号JLJY202337849316
角动量是描述物体转动特征的一个物理量,角动量守恒定律是自然界的基本守恒定律之一[1],是大学物理课程教学的重点和难点[2]。在日常生活中,经常会遇到质点或质点系围绕某一定点或定轴转动的情况。例如,地球的自转、飞机机翼的转动等[3],以往角动量守恒多采用陀螺仪实验进行演示,趣味性一般。本文利用角动量守恒原理进行单轮自平衡机器人的设计与研究,并实现机器人的站立与行进等操作,可极大提升学生的学习兴趣,演示效果更加直观,并通过机械结构设计、电路设计及编程控制等操作,有助于学生理解其理论实质。
1 角动量守恒定律
动量是反映质点运动状态的物理量,而角动量是反映刚体转动状态的物理量,角动量守恒定律是物理学中一种普遍的定律[4]。在不受外力的作用下,或所受诸外力对某定点(或定轴)的合外力矩始终等于零的质点和质点系围绕该点(或轴)运动的普遍规律。质点角动量图,如图1 所示。
图1 质点角动量图
如式(1) 所示,式中L为角动量; r为半径;P为动量; m为质量;v为质点线速度; w为角速度;转动惯量就是质量m乘以半径r的平方;当质量m与半径r不变时,角动量L 只与角速度w 有关。
(1)
(2)
式(2)中,M为合外力矩,若M = 0 ,则L = 常矢量,这称为角动量守恒定律。守恒条件,如公式(3) 所示。
(3)
2 硬件设计
硬件设计包括电路设计与机械结构设计2 个部分,电路设计部分需要重点考虑电源设计及电机驱动电路设计。机械结构部分根据电机与电路的大小进行装配,需要考虑行进轮与惯量轮的安装及位置。
2.1 电路设计
电路设计部分采用STM32F103c8t6 作为核心控制器,用于系统的整体协调控制与PID 算法实现,MPU6050传感器用于采集当前机器人的角度状态,OLED12864用于显示各项指标参数,如:车轮转速、电池电量、角速度显示、角度显示等信息,电机驱动电路需要驱动1个直流电机和1 个无刷电机,无刷电机带动惯量轮转动,直流电机带动行进轮转动,电机的驱动电压为12 V,该电源由锂电池直接提供,单片机及其余电路均在3.3 V电压下工作,因此需采用DC-DC 变换电路将电压转换至3.3 V。
图2 电路总体框架图
2.2 电机驱动电路
TB6612FNG 芯片能耗相对较低,具有大电流MOSFET-H 桥结构,双通道电路输出。系统有两个电机,分别是位于上方的无刷电机和位于下方的直流电机,无刷电机驱动惯性轮控制机器人的左右方向平衡,直流电机驱动行进轮控制机器人的前后方向平衡。具体驱动电路如图3 所示。
图3 电机驱动电路图
2.3 机械结构设计
机械结构部分的设计主要是各个器件之间的装配,需要尽量在重量上保持前后方向和水平方向上的平衡,图4 为机器人整体设计结构的示意图,主要由惯量轮、行进轮,2 个电机,电池、以及电路板组成,行进轮与惯量轮均与电机连接,惯量轮的尺寸参数如图4 所示。
图4 机器人结构及惯量轮参数图
3 程序设计
3.1 软件总体结构图
软件部分包括4 个部分,分别是姿态信息采集程序、PID控制程序、电机驱动程序、OLED 显示程序,软件总体结构图如图5 所示。
图5 软件总体结构图
3.2 机器人平衡控制原理
如图6 所示为行进轮与惯量轮的PID 控制框图,结合框图说明机器人保持平衡的原理。行进轮用于控制机器人的俯仰角度,相当于一个倒立摆的模型,最终的目标是要保持摆杆的角度达到90°,也就是垂直的状态,这是理想状态,实际上很难达到,因此需要借助PID控制来实现,通过MPU6050 实时采集姿态信息,结合PID 算法,驱动电机转动,进而控制行进轮转动,保持摆杆角度在90°左右摆动。惯量轮用于控制机器人的横滚角度,理想状态是要达到惯量轮的转速为0 m/s,也就是惯量轮不转动,处于动量守恒状态,实际上很难达到,需要借助PID 控制不断修正惯量轮的转速,借助惯量轮旋转的反作用了使机器人保持平衡[5]。
图6 行进轮及惯量轮PID控制框图
3.3 主程序设计
单片机的主程序流程图如图7 所示。STM32 单片机每5 ms 中断1 次获取MPU6050 信息,采集到角速度、加速度信息,再通过PID 算法控制,先计算出偏差,将采集到的角度信息,计算倾角偏差,即平衡的角度中值和机械中值之差,再求偏差的微分,进行微分控制,最后计算出倾角控制的机PWM 值并进行返回。将得到的控制量作用于电机,实现PID 控制,并不断循环往复。
图7 主程序流程
3.4 PID计算
位置闭环控制是根据电机的实时位置信息与机械中值做差得到位置偏差,然后对偏差进行比例、积分、微分控制,使偏差趋向于零的过程[6,7]。机械中值是设定在平衡状态下的一个值,有前后平衡和左右平衡的机械中值。利用式(4)计算PWM 值,derivative 为微分项,integral 为积分项,error 为误差。
pwm_ control=Kp*error+Ki*integral+Kd *derivative (4)
4 系统测试
设计完成的作品实物如图8 所示,PID 参数的具体数值需要根据具体的单轮自平衡小车的机械结构、电路特性以及环境条件等因素来确定。通常情况下,PID 参数的调整需要进行一定的试验和优化,以达到最佳的控制效果。比例系数Kp:根据经验数据,可以设置为车身重心高度与车轮半径之比的2~3 倍。积分系数Ki:一般可以设置为Kp的1/10 或1/20。微分系数Kd:一般可以设置为Kp的1/5 或1/10。
图8 平衡状态实物图
5 结束语
本文基于STM32 单片机及动量守恒定律实现了单轮自平衡机器人的设计,电路设计较为精简,学生在设计过程中可以综合利用机械设计、电路设计、单片机程序设计的知识和技能,并且对于PID 算法会有更深入的理解,因此将此作品作为电子信息类专业学生的项目式实践教学案例是较好的选择。
参考文献:
[1] 姬洪伟,包敏,吴鹏,等.一种角动量守恒演示仪的设计[J].大学物理实验,2020,33(3):72-74.
[2] 李小芳,王志梅.角动量守恒定律的应用[J].长春工业大学学报,2019,40(4):378-382.
[3] 刘玉丽,王钰茹,张芸,等.角动量守恒定律在军事中的应用[J].江西科学,2021,39(4):616-618+669.
[4] 喻莉,刘洋,周本元,等.关于“角动量及其守恒定律”的教学改革实践[J].物理通报,2021(12):17-19.
[5] 吕强,王平,张皓洁.独轮车自平衡控制系统实验平台设计[J].实验室研究与探索,2017,36(7):35-38+79.
[6] 王婷婷,王宏志,刘清雪,等.遗传算法优化的无刷直流电机模糊PID控制器设计[J].吉林大学学报(理学版),2020,58(6):1421-1428.
[7] 王祎晨.增量式PID和位置式PID算法的整定比较与研究[J].工业控制计算机,2018,31(5):123-124.
(本文来源于必威娱乐平台 杂志2023年7月期)
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码