1小球滚动控制系统[高职高专组]摘要本设计基于STM32单片机为主控芯片,通过对主控系统、位置信息感知系统、驱动单元等模块进行设计与调试,实现了一个小球滚动控制系统。该系统主要通过直流减速电机、PID算法、角度传感器MPU6050、光电传感器、红外遥控器等系列操作控制,能自动获取小球的位置和速度信息,根据设计好的运动控制算法改变U型导轨倾角,保证小球稳定运动并停在任意给定参考位置上,完成小球的规定动作。关键字:STM32;直流减速电机;光电传感器;PID算法;角度传感器2一.方案论证1.电机控制方案一:步进电机仿真图解法,如图1所示,采用AT89C51单片机驱动步进电机,单片机输出负载不足以带动步进电机转动,设计采用独立IC达林顿晶体管ULN2003作放大驱动电路,外接12V锂电源供电机驱动,电机能达到较高的角度精准控制,但在调试是发现步进电机的致命缺点,不能达到单摆所需要的指定加速度,使单摆的摆动角速度滞后单片机的控制速率,增加了小球滚动的非线性滚动误差。图1:步进电机仿真图方案二:直流减速电机,即齿轮减速电机,是在普通直流电机的基础上,加上配套齿轮减速箱。齿轮减速箱的作用是,提供较低的转速,较大的力矩。同时,齿轮箱不同的减速比可以提供不同的转速和力矩。这大大提高了,直流电机在自动化行业中的使用率。减速电机是指减速机和电机(马达)的集成体[1]。经综合考虑,我们方案最终采用14V,4W减速直流电机,该电机搭载自编码可调参数,通过PWM控制电机的正反转,考虑U型导管和导管上的滚珠、传感器较多,负重较大,普通直流电机不能带动U型导轨的上下运动,而减速直流电机自身通过内部齿轮增大电机扭矩,大大增加了电机的负重量,通过红外遥3控器的,拉动U型导轨做上下摆动,使玻璃小球滚动到指定位置。2.角度传感器我们采用的是MPU-6000(6050)角度传感器,其角速度全格感测范围为±250、±500、±1000与±2000°/sec(dps),可准确追踪快速与慢速动作,并且,用户可程式控制的加速器全格感测范围为±2g、±4g±8g与±16g。产品传输可透过最高至400kHz的IC或最高达20MHz的SPI(MPU-6050没有SPI)。MPU-6000可在不同电压下工作,VDD供电电压介为2.5V±5%、3.0V±5%或3.3V±5%,逻辑接口VVDIO供电为1.8V±5%(MPU6000仅用VDD),可用I2C接口连接一个第三方的数字传感器,MPU-60X0对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量。3.光电传感器方案一采用简洁模块式反射式光电传感器,以光电器件作为转换元件的传感器[2]。它可用于检测直接引起光量变化的非电量,如光强、光照度、辐射测温、气体成分分析等;也可用来检测能转换成光量变化的其他非电量,如零件直径、表面粗糙度、应变、位移、振动、速度、加速度,以及物体的形状、工作状态的识别等,具有非接触、响应快、性能可靠等特点,通过电位器旋钮,2CM--30CM可控测距,抗干扰能力强,工作电压3.5V--5V,输出端口OUT可直接与单片机IO口连接即可,也可以直接驱动一个5V继电器,可采用VCC-VCC;GND-GND;OUT-TO。如图2所示反射式光电传感器。4图2:反射式光电传感器电路方案二:对射型光电传感器,基本组成发送器,接收器和检测电路三部分构成,对射式是把发光器和收光器分离开,就可使检测距离加大,但是本实验却是在短距离集中测距,对射式在传送信息时容易发生散光,采集信息产生误差,对射式光电传感器是分离的发射器和接收器,在U型导轨上不便于安装和调试,而模块式反射光电传感器采用一体化设计,只需在导管的一边安装即可,减少安装工作还大大减小实验误差,所以觉得方案一更合理。4.按键机械式点动按键连接转轴支架上,必然增加支杆重量和不便于手动操作性,而红外遥控器重量轻便于携带,其本身具有一个学习/控制复用键、5~10个设备选择键,10~20个功能控制键,由一个设备选择键与各个功能控制键共同实现对一个设备的控制,程序上载波频率通常为38K。载波是电信号去驱动红外发光二极管,将电信号变成光信号发射出去,这就是红外光,波长范围在840nm到960nm之间。在接收端,需要反过来通过光电二极管将红外线光信号转成电信号,经放大、整形、解调等步骤,最后还原成原来的脉冲编码信号。5二.理论分析与参数计算小球滚动控制系统装置,主要由放置在U型导轨上的小球和驱动转盘组成。随着转盘的转动,横梁的倾斜角度发生变化,小球在重力的作用下沿U型导轨自由滚动。系统控制的目标是设计一个反馈控制系统调节驱动盘的转动角度,从而控制小球在U型导轨上的位置。由于系统建模中的一些不确定性和系统的不稳定性因素,如何将小球定位在U型导轨的任意指定位置上,是一个比较困难的问题,系统的精确数学模型难以建立而且比较复杂,需要进行简化,建立简化的数学模型。通过对小球滚动控制系统控制结构分析,将系统分为机械部分和驱动部分加以建模。1.球杆系统的机械模型球杆定位控制系统是一个经典控制理论教学模型[1],它具有物理模型简单、概念清晰、便于用控制理论算法进行的特点,此次设计给出一个相对简单的模型。球杆系统的机械原理图如图3所示。图3:球杆系统的机械图根据牛顿运动定律,小球在梁上滚动的动力学方程为其中,g为重力加速度;m为小球的质量;J为小球的瞬时转动惯量;r为小球在U型导轨上的位置;R为小球的半径。62.角度模型在实际控制过程中,连杆与水平面之间的夹角为θ,是由直流伺服电机的转角输出实现,在U型导轨的倾斜角α角度小范围变化时,α和θ之间近似有如下关系成立:3.PID设计原理工程中,应用最为广泛的调节器控制规律为比例、积分、微分三种原理控制,简称PID控制,又称PID调节。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。比例控制:是一种最简单的控制方式,其控制器的输出与输入误差信号成比例关系,当仅有比例控制时系统输出存在稳态误差,在实验中添加P控制后,系统并不能稳定,改变Kp的值后,系统还是不能稳定,可以看出,对于一个惯性系统,在P控制作用下,可以使系统保持一个等幅振荡。积分控制:积分项对误差取决于时间的积分,随着时间的增加,积分项会增大,这样,即便误差很小,积分项也会随着时间的增加而增大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分控制器,可以使系统在进入稳态后无稳态误差。微分控制:微分项能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提起使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调,所以对有较大惯性或滞后的被控对象,比例+微分控制器能改善系统在调节过程中的动态特性。对于小球滚动控制系统,许多系统参数由于无法确定精确的取值,只能确定7其可能的变化区间。为简化模型,避免给设计带来不必要的麻烦,将近似为1,根据系统建模相关分析结果,系统参数变化范围1≤c≤2,而对于系统未建模时延特性,综合考虑小球系统、执行机构和传感器等因素,被控对象的传递函数包含时延环节e-sT,且0≤T≤01。控制系统设计的任务是确定控制器结构和调节控制器参数,以获得“最优”系统性能。小球滚动控制系统设计的控制指标如下:在参数c的摄动下,始终保持系统的阶跃响应具有最佳ITAE性能[5],调节时间t2s(动态系统过渡过程时间,2%准则),超调量小于2%,并且在未建模时滞环节影响下,控制系统依然能保持稳定。首先,PID控制器的设计过程可分为3步:1)根据对调节时间的设计要求,确定闭环系统的固有频率ωn;2)根据最佳闭环传递函数以及ωn,确定PID控制器的3个参数,得到Gc(s);3)确定合适的前置滤波器Gp(s),满足系统对阶跃响应的ITAE性能指标最小。设采用PID控制器:当Gp(s)=1时,校正后的闭环传递函数为采用ITAE指标时,最优特征多项式为为满足达到预期的调节时间,将ωn的初始值选为ωn=5,并按c=1来确定ITAE系数,经计算后,不包含前置滤波器的闭环系统为所采用的控制器应为8取前置滤波器为从而ITAE意义下的最优传递函数为其次,对于系统存在的未建模时滞特性,根据小增益定理(smallgaintheorem)[6],如果存在W(s)满足对所有ω以及T1TT2都有式(12)、(13)成立:则控制系统在未建模时滞环节e-sT(其中T1TT2)影响下,系统将保持稳定。针对设计要求的0≤T≤011,粗选W(s)函数,反复调整参数,直至找到一个合适的W(s)函数,以保证控制系统在未建模时滞环节e-sT影响下,系统能稳定。9三.系统各电路设计1、主控芯片根据设计要求,此次设计采用RAM嵌入式STM32为核心的单片机,144IO两个独立时钟源采取分频与倍频采样,主控电机驱动板、方向传感器、光电传感器等多种外设。14V直流电流源通过lm7805降压模块满足单片机和直流电机供电。主控板电路图如图4所示。图4:主控板电路图2、电机驱动部分直流减速电机,14V电源直接供电,外接L298N驱动模块采用恒压恒流乔式H型,驱动电机正反转,电流可达2A,额定功率可达25W,使芯片不发烫的情况下保证电机的正常工作,稳定性增加,电机用铝皮固定在刚性支架上,带动电机前置滚轮转动,通过程序控制PWM调节转速大小。10当PWM调节好电机转动角度的同时,通过PID算法的提前预测并控制调节,使电机达到程序设定偏转角度,提高U型导轨的转动精确度。电机调试过程中截图,如图5(a)(b)(c)。图5:PWM调试代码(a)图5:PWM调试示波器采样(a)图5:PWM调试示波器采样(c)113.传感器的电路设计根据项目要求,本设计采用了光电传感器、角度传感器、红外遥控等传感器。其中光电传感器主要用于测试小球位置,角度传感器主要是测量U型导轨倾斜度,红外遥控主要当作按键使用。3.1光电传感器光电传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管[4],发射管发射出一定频率的红外线,当模块检测到前方障碍物信号时,电路板上绿色指示灯点亮电平,同时OUT端口持续输出低电平信号,该模块检测距离2~30cm,检测角度35°,检测距离可以通过电位器进行调节,顺时针调电位器,检测距离增加;逆时针调电位器,检测距离减少。为了更好精确小玻璃球的位置信息,U导轨固定在矩形木板上,光电传感器则可以通过导轨过孔感知小球的运动轨迹,当小球经过导轨时,光电传感器通过内部高低电平变化,通过自身双电压比较器集成电路,采集到小球个数并传递给单片机处理。光电传感器模块电路图如图6所示。图6:光电传感器模块电路图3.2角度传感器MPU6050角度传感器,单总线协议I2C通信,信息从EEPROM里面存储和读取信息,这儿采用DMP驱动模块采集U型导轨的位置信息,它是STM32官方库里面的驱动引擎,12直接输出四元数,可以减轻外围微处理器的工作负担且避免了繁琐的滤波和数据融合,单片机采集角度传感器传回的位置信息,通过PWM调速,PID控制反馈给电机。图7:角度传感器电路角度传感器部分程序:13四.系统调试和测试结果1.测试方法:固定好支架,单片机和各支路的电气连接,通过单片机键盘初步调试电机转动角度大小和正反转,通过上位机串口调试助手调试角度传感器的的摆放位置(U型导轨的水平位置)计算U型导轨的偏转角度与电机偏转角度的关系,通过PWM调节电机的转动加速度进行整机测试。2.测试结果:1、程序下载至单片机,电源开启,小球放置起始位置,通过遥控调节电机正常转动,小球滚动至U型导轨两边,光电传感器模块上LED灯点亮,报警蜂鸣器发声,电气属性正常。2、电源开启,将U型导轨放置正负15度的任意位