摘要:推出一种使用单片机的PWM直流电机闭环调速系统。本系统结构简单,价格低廉,在实际应用中效果良好。
采用硬件电路实现直流电机闭环调速系统已在实践中应用多年,其硬件组成复杂,调整困难,缺乏控制的灵活性。本文介绍的直流电机PWM闭环调速系统,使用低价位的单片微机89C2051为核心,实现闭环控制,并可进行数字显示和速度预置,方便了使用。电机调速采用脉宽调制方式,与晶闸管调速相比技术先进,可减少对电源的污染。本系统已用于健身跑步机调速,工作可靠,使用效果良好。图1是本系统的线路图,主要有PWM信号发生、闭环调速微机控制、直流电机驱动等几部分组成。 1 PWM 信号发生电路 PWM波可由具有PWM输出的单片机(如80C198等)通过编程产生,也可采用PWM专用芯片来实现。PWM波的频率太高时,对直流电机驱动 的功率管要求太高,太低时产生电磁噪声较大。实践应用中PWM波的频率在18kHz左右效果最好。经综合分析,本系统采用两片4位数值比较器4585和一片12位串行计数器4040组成了PWM信号发生电路。两片比较器U3、U2的A组接4040计数输出Q2~Q9端,B组接单片微机的P1端口。改变P1端口的输出值,可使PWM信号的占空比产生变化,进行调速控制。计数器4040的计数输入端CLK接单片机2051晶振的振荡输出XTAL2。晶振选用18MHz时,经QO~Q2的8分频,Q2~Q9的256分频,产生的PWM波形的频率为17.6kHz,适合光耦及功率开关管的合理工作范围。 计数器4040每来8个脉冲,其输出Q2~Q9加1,当计数值小于或等于单片机P1端口输出值X时,U2的(A>B)输出端保持为低电平,当计数值大于X时U2的(A>B)输出端为高电平。随着计数值的增加,Q2~Q9由全“1”变为全“O”时,(A>B)输出端又变为低电平,这样,在U2的(A>B)端得到PWM的信号,其占空比为(255-X/255)×100%,改变X值可改变PWM信号的占空比,进行直流电机的转速控制。使用此方法单片机只需根据调整量输出X值,PWM信号由三片通用数字电路生成,使软件大大简化,有利于单片机系统正常工作。由于单片机上电复位时P1端口输出全“1”,使用4585的B组与P1端口相连,升速时PO端口输出X按一定规律减少,降速时按一定规律增大。 图1 直流电机PWM闭环调速系统原理图 2 单片微机闭环速度控制电路 本系统的闭环控制选用低价位的单片机89C2051,与带PWM输出的80C552及80C198相比,无需外扩EPROM,且价格低的多。2051单片机片内有2K的flash程序存储器,15个I/O口,两路16位的定时/计数器,指令及中断系统与8031兼容,给闭环速度控制带来很大的灵活性。 闭环速度控制中传感器选用霍尔传感器,小磁钢固定在被测转轴上,每转一周输出一个脉冲信号。转速脉冲信号经施密特触发器U6-1,U6-2整形后,输入到2051单片机的INTO中断口P3.2端口上。软件设置INTO为下降沿中断,进入中断服务程序后开启定时/计数器O进行定时,测出每转的周期,再由软件计算出控制值X,由P1端口输出PWM波占空比的控制数。软件中还可进行显示线速度或角速度的转换计算,由八位驱码驱动器带动LED数码管进行显示。预置速度由按键S1、S2输入,进行“+”“ -”控制,预置数也由LED数码管显示。 显示使用了高集成度的MAX7219串行LED显示驱动器,带动八位LED数码管进行显示,前四位显示当前运行速度,后四位显示预置速度。 MAX7219是24脚窄封装芯片,串行口工作频率最高10MHz,八位LED显示,通过对译码模式寄存编程,可控制各位显示方式(BCD码或非译码),显示是片内动态扫描模式,通过一个电阻和编程可控制亮度,并可多个芯片串联显示多达64位共阴极LED数码管。MAX7219的数据输入端DIN、时钟端CLK、数据锁定端L分别与2051单片机的P3.0、P3.1、P3.5端口相接。改变电阻R6的阻值可调整显示亮度,R6取值在3.9~10kQ之间。使用MAX7219不仅可减少硬件电路,由于是片内动态扫描显示,并可降低功耗和简化软件设计。 2051单片微机的上电复位使用了MAX812电压监控器,上电时约有200 ms的延迟,以保证复位正常进行。为了防止掉电后预置数丢失,使用了使用备用电池保护2051单片机片内RAM数值。电源经变压整流后,一路经DC-AC开关电源输出5V直流电压给单片机系统供电,一路经三端稳压元件7812稳压输出12V电压供驱动大功率开关管使用。单片机系统电源与驱动电路部分电源隔离,以提高系统工作的可靠性和安全性。 3 直流电机驱动系统电路 直流电机驱动系统原理如图2所示。 U2生成的PWM信号经施密特反相器U6-3驱动光电耦合器O1,送至直流电机驱动电路。大功率开关管选用N沟道VMOS功率场效应管,它为 压控元件,具有很高的输入阻抗,因而驱动功率很小,对驱动电路要求也较低。经光电耦合器传送的PWM信号,经并联使用的六施密特反相器,接到VMOS功率管Y1的栅极上,直接驱动即可。稳压管D4和电阻R8起保护作用。VMOS功率管的源极接直流电机绕组,经感抗器接电机直流电源负端。漏极接电机直流电源正端。快速关断二极管D3起保护作用,消除VMOS功率管开关过程由电机绕组产生的感生电势。电源是交流电压经C7、ZL、C8组成的滤波器后,由高压桥整流器件Z2整流,高压电解电容滤波后供VMOS功率管。VMOS功率管,快速关断二极管及高压电解电容器及整流桥等根据选用直流电机的电压、功率等要求确定相应型号和参数。 4 结束语 本文所述的直流电机闭环调速系统以低价位单片微机89C2051为核心,PWM波的生成使用三片通用数字电路,显示使用了高集成度的八位LED串行译码驱动器MAX7219,电机驱动使用VMOS场效应管,反馈信号使用霍尔传感元件,系统设计合理。使用单片机定时器对传动轴的周期进行检测,可由软件计算出相应的线速度或角转速进行显示,并可进行速度定量预置。软件中可用PLD算法或查表的方法确定闭环控制的补偿量。这些是由数字线路组成的直流电机闭环调速系统所不及的。以前也曾试过使用单片机的定时/计数器直接生成PWM波,这样使软件频繁工作在中断服务程度中,整体效果不太好。使用少量硬件后单片机仅输出X值,使软件工作量大大减少,程序中有充足时间进行闭环控制的测控和计算,使程序设计和软件运行合理可靠。
|