控制器的硬件设计16位单片机控制器及外围电路设计本控制器要求单片机输出的PWM调制信号分别控制3个电机的运转,其中一个为转速3000r/min的直流电机,另外两个为20000r/min的高速直流电机。80C196KB/KC单片机的高速输出端口HSO和它自带的PWM输出口均可产生PWM信号,为提高分辨率采用高速输出口HSO.0、HSO.1、HSO.2独立输出3路脉宽可调的PWM信号<3>,可节省大量I/O空间,信号输出稳定,调试灵活,比以往的MSC51系列单片机控制系统更加简单、快捷、可靠。由于80C196KB无内部EPROM,所以需要外扩28C64B程序存储器,大小为8K存储空间。用P3作为地址总线和数据总线复用端,P4口的低五位作为地址线,高三位由74LS138译码实现,如所示。
利用单片机的高速输出端口HSO产生PWM波,它由HSO命令寄存器、HSO时间寄存器、HSO保持寄存器、内容定址寄存器阵列等部单片机外扩EEPROM框图件组成。把命令和预定触发时间写入CAM阵列。用相同的方法分别设定3个高速输出口的信号周期和脉宽,它们之间相互独立可调,3个PWM脉宽调制信号分别可以方便的对3个直流电机进行相应控制。
电机驱动模块本控制器低速电机驱动采用功率驱动模块(LMD18200)芯片<1>,从而实现PWM控制,该芯片的内部集成了H型驱动桥,只需要输入方向、转速等控制信号及相关保护电路即可,芯片内设有过热报警输出和自动关断保护电路。单片机的高速输出口HSO.3获得PWM调制信号直接输入给芯片的调速管脚,驱动芯片需要外接电容22nF,外接电容越大,工作频率越高。电流检测输出脚可接对地电阻,通过电阻来输出过流情况。
本控制器高速电机驱动选用IGBT作为控制电机功率器件。该功率器件可选用日本富士公司的EXB841型专用驱动模块。该模块采用高速光耦合器隔离,射极输出,并有短路保护及慢速关断功能。由单片机高速输出口HSO.0和HSO.1输出PWM信号进行转速调节,而正、反转信号由单片机P1口进行控制。过流检测采用在主回路中串入电流取样电阻的方法,当主回路过流时,电流取样电阻两端电压就会升高,这个电压信号经积分电路积分后送入电压比较器正向输入端,此电压信号就会高于电压比较器负向输入端电压,所以电压比较器输出一个高电平信号给单片机的外部中断口,由单片机进行故障处理,并由P1口显示故障。
控制算法与软件实现数字PID控制器的设计数字PID控制器采用U字型结构的槽式光电传感器采集速度信号。将光电测得的转速脉冲信号实时地传送给16位单片机80C196KB的I/O口,在将测得的转速与给定的转速相比较,用数字PID<4>控制算法实现速度闭环控制。数字PID控制器的原理如所示。
数字PID控制器的原理图连续PID控制规律为:U(t)=KP(error(t)+1Tt0error(t)dt+TDderror(t)dt)(3)写成传递函数的形式:G(s)=U(s)E(s)=kp(1+1Tis+TDs)(4)数字PID控制器是经过采样控制,将一系列的采样时刻点kT代表连续时间t,得到离散PID表达式:U(t)=kperror(t)+kikj=0error(j)T+kderror(k)-error(k-1)T(5)式中,kp为比例系数;ki为积分系数;kd为微分系数;T为采样间隔。
比例项kp提供了对比例增益的调节能力,微分项kd扩展了系统带宽,积分项ki提供了很高的直流增益。可以减小静态误差。调整参数Kp、Ki、Kd的相对大小,以实现最佳的系统特性。
调整数字PID控制器的目的,就是使电机控制器达到临界阻尼,以提供最佳跟踪特性和建立时间。用软件调整微分增益系数Kd、比例增益系数Kp、积分增益系数K等参数,可方便地使控制器达到临界阻尼,临界阻尼控制器可提供最优越的控制特性。PID控制器的软件流程图如b所示。
主程序流程图主程序由初始化设置、串口中断服务程序、HSO中断服务程序、电机方向、速度输出程序等部分组成。在HSO初值设置上,需要注意的是,把3个电机时间参数时间写入时间寄存器(00040005h)时,两组数据写入时间间隔在8个状态周期以上,以免触发时间发生冲突,影响电机正常速度信号输出。主程序流程图如a所示。
结束语本控制器采用十六位单片机80C196KB/KC驱动直流电机,节省大量I/O空间,信号输出稳定,调试灵活,比以往的MSC51系列单片机控制系统更加简单、快捷。为方便调试,提高可靠性,在软件设计中采用模块化设计方法,并加入软件抗干扰措施。该控制器的精度、可靠性、先进性以及功能性等指标均达到较好的效果。本系统可以应用到数据采集、测量、伺服控制等多个领域中。