基于ARM单片机的智能旋转倒立摆系统设计
设计并制作一套简易旋转倒立摆及其控制装置。电动机A固定在支架B上,通过转轴F驱动旋转臂C旋转。摆杆E通过转轴D固定在旋转臂C的一端,当旋转臂C在电动机A驱动下作往复旋转运动时,带动摆杆E在垂直于旋转臂C的平面作自由旋转。
1.2基本要求
(1)摆杆从处于自然下垂状态开始,驱动电机带动旋转臂作往复旋转使摆杆摆动,并尽快使摆角达到或超过-60°~+60°;
(2)从摆杆处于自然下垂状态开始,尽快增大摆杆的摆动幅度,直至完成圆周运动;
(3)在摆杆处于自然下垂状态下,外力拉起摆杆至接近165°位置,外力撤除同时,启动控制旋转臂使摆杆保持倒立状态时间不少5s;期间旋转臂的转动角度不大于90°。
(4)从摆杆处于自然下垂状态开始,控制旋转臂作往复旋转运动,尽快使摆杆摆起倒立,保持倒立状态时间不少10s;
(5)在摆杆保持倒立状态下,施加干扰后摆杆能继续保持倒立或2s内恢复倒立状态;
(6)在摆杆保持倒立状态的前提下,旋转臂作圆周运动,并尽快使单方向转过角度达到或超过360°;
旋转倒立摆系统主要由旋转臂、倒立摆、支架、主控电路、伺服电机以及电位器等组成。本设计要求倒立摆的稳定性、精确性、快速性和平衡能力较高,因此,以木板作为底座,以合金钢做支架,保证结构的稳定性,以合金材料做旋转臂,将直流电机固定在支架上,通过转轴与旋转臂连接,带动旋转臂旋转,保证控制的精确性和快速性。编码器与旋转臂固连,伺服电机产生的驱动力使旋转臂根据摆杆角度的变化而旋转,使摆杆能摆动并实现各种功能。将摆杆与电位器通过联轴器相连,用电位器旋转的次数检测摆杆的状态,摆杆摆动的角度大小与电位器旋转的次数有一个对应的关系。由于WDY35D-4电位器理论电气转角:345°±2°,存在一定测量盲区,所以在安装前需要测定盲区位置,将盲区位置对应到以自然下垂状态为起始的270°至300°位置间,因为在此区间内不需要测量特定数据,摆杆可依靠惯性完成剩余圆周运动。在通过电位器采集倒立摆的角度信号输给单片机,编码器采集旋转臂的速度信号输给单片机,单片机控制电机驱动,使倒立摆能够顺利完成任务。安装如图3所示。
基于ARM单片机的智能旋转倒立摆系统设计
3.2主控模块硬件电路详细设计
考虑到单片机控制精度、稳定性,以及扩展方便与否等方面的特点,我们做的旋转倒立摆系统采用野火Kinetis核心板加上自主设计的主控板进行控制。如图4所示。
基于ARM单片机的智能旋转倒立摆系统设计
3.3运动控制模块硬件电路详细设计
通过BTN7971芯片来驱动BN-260伺服电机。单片机的FTM通道输出PWM信号,就可以实现伺服电机的调速以及正反转等功能。电路如图5所示,74LS244暂存器的应用能够有效保护电机[3]。K60单片机输出的PWM信号具有很高的控制精度,设置其PWM分度为两万分之一。
基于ARM单片机的智能旋转倒立摆系统设计
4控制PID算法分析与应用
针对本系统控制对象伺服电机的特点,采用位置式按角度偏差的比例、积分、微分进行控制,即增量式数字PID控制。
数字PID控制算法是以模拟PID调节器控制为基础的,由于单片机是一种采样控制。它只能根据采样时刻的偏差计算控制量。但是如果采样周期T取得足够小,采样数值计算的方法逼近可相当准确,被控过程与连续控制十分接近。离散化后的PID算式为:
基于ARM单片机的智能旋转倒立摆系统设计
本系统中采用增量式算法,是由于增量式算法只需保持以前三个时刻的偏差即可,既节省了资源又不会产生较大的积累误差。实验证明,这种控制方式可以加快系统阶跃响应、减小超调量,并具有较高的精度。