摘要:此平衡杆小车能维持杆平衡,并实现小车稳定在小范围内、前往指定目标区域、绕圈等运动模式。小车倒立摆顶端能在冲量小于
的撞击下重新恢复平衡。小车控制芯片采用STM32F103ZET6,传感器采用角度传感器(电位器),运动装置采用步进电机。倒立摆角度偏移量采用PID控制,位置偏移量采用PD控制,两者串联,最终实现倒立摆平衡、位置稳定。
关键词:单片机,运动控制,PID控制,倒立摆,串联PID
一、系统方案论证与比较
1.方案一
采用直流电机,读取倒立摆角度偏差值,采用PD控制,读取当前速度,积分成位置,采用PD控制,两者并联控制。
优点:响应快,倒立摆稳定、位置稳定效果明显。
缺点:需要编码器做速度内环,容易出现震荡。
2.方案二
采用步进电机,读取倒立摆角度偏差值,采用PD控制,读取当前速度,积分成位置,采用PD控制,两者并联控制。
优点:响应快,步进电机可以省去速度内环。
缺点:电机正反转频繁,步进电机难以承受。
3.方案三
采用步进电机,读取倒立摆角度偏差值,采用PID控制,读取当前速度,积分成位置,采用PD控制,两者串联控制。
优点:电机加速度较小,对电机的负载较小,控制相对简单。
缺点:调整响应慢,抗干扰性弱。
4.方案选择及论证
小组最终选用方案三,根据小组自生硬件构建和程序编辑能力,选择相对容易实现的方案进行制作。小组的相关调试经验较弱,希望比赛期间留出更多时间进行参数调试,达到性能的更优化。步进电机的加速度和速度都需要进行限幅,且相对直流电机需要做更大的限制,为保证题目目标,杆子选取质量较大。
二、理论分析与计算
1.理论分析
倒立摆的角度变化通过PID调整小车的速度变化,小车的位置变化通过PD调整倒立摆所要到的目标位置,形成串联控制模式,控制模式如下图2-1-1所示。
为平衡处角度AD值,
为系统外对角度的干扰对应的AD值,
为当前实际的角度所对应的AD值,
为速度控制得到的角度对应的AD值,
为角度PID控制器,
为速度位置积分限幅转换器,
为位置PD控制器。

2.参数设置
参数采用临界比例度法整定,角度PID控制器的参数分别为:

位置PD控制器参数分别为:

三、电路与程序设计
1.电路原理图

图3-1-1 平衡杆车电路原理图
2.单片机
单片机采用一片STM32F103ZET6。由5V稳压直流电源供电。STM32F10x的学习资料相对齐全,且性能良好稳定,可以很好的满足竞赛的需要,是作品的核心部件。
5.程序设计

系统程序使用Keil-MDK5嵌入式编程系统进行编程,所用编程语言为C语言,程序编辑完成后通过电脑USB接口和Stlink连接,再通过排线和单片机相连烧录程序。
程序流程如图3-5-1所示,程序初始化完成后等待按键信号,此时应该将杆子摆到平衡位置,按下按键后会初始化平衡位置的AD值,之后进入主循环,对读取到的数据进行串联PID计算,并修改车速使得杆子和小车位置均稳定在一定小范围内。
小车的控制主要依赖于步进电机为同步电机,在保证没有丢步和打滑的情况下小车的速度可以直接读取,为保证不丢步,角度PID的增量和总量都做了限幅。位置PD由于修改的是角度的目标值,为保证车辆不会失去调节范围,同样对位置PD进行了增量和总量限幅。
3.硬件机构

角度传感器采用精密导电塑料电位器,其阻值为5K、线性度为5%。

车辆底盘采用3mm厚6061铝板一体成型的设计方案,具有质量轻、强度高的优点。同时底盘预留Φ3安装孔位,便于快速安装各部件、减少金工加工工作量,实物图见图3-3-1。

车辆驱动电机电机采用57CM12X步进电机,保持转矩1.2NM、最高转速1000rpm,相关参数如图3-3-2所示。

步进电机驱动器采用TB6600,最大输出电流3.5A,相关实物图和参数如图3-3-2所示。
四、设计总结
本设计结构简洁,运行稳定,测量效果基本达到题目要求,相比于其他方案有更高的稳定性和容错率。
为保证稳定性,本设计牺牲了相应速度和抗干扰能力,并且对地面摩擦力以及杆重均有一定需求,可以继续改进。