摘要:直流电机以其良好的调速性能、控制性能而成为调速控制电机的优先选择,其应用领域十分广泛。用微处理器代替模拟电路则是电机控制器的发展趋势,而相比与传统51系列单片机,Freescale 公司的8位单片机MC9S08AW内部集成了多种功能模块,性能大大增强、运行速度也更快,本文基于MC9S08AW设计了电机驱动以及电机保护等硬件电路,并用MC9S08AW的定时模块产生PWM输出,A/D转换模块实现电机的踏板调速,最终完成软件设计。
关键词:直流电机;MC9S08AW单片机;硬件电路;软件设计
直流电动机是最早出现的电动机,也是最早能实现调速的电动机。长期以来,直流电动机一直占据着调速控制的统治地位。由于它具有良好的线性调速特性,简单的控制性能,较高的效率,优异的动态特性;尽管今年来不断受到其他电机(如交流电机、步进电机等)的挑战,但到目前为止,它仍然是大多数调速控制电动机的最优先选择。其在工业、车辆、家电、计算机等诸多领域应用广泛,尤其在电动汽车领域备受青睐。
而对电机的控制方面,用微处理器取代模拟电路更是国内外电机控制的发展趋势,其具有电路简单、易实现复杂控制、控制精度高、灵活方便、可提供人机界面,多级联网工作等优点。而可控制电机的控制器有多种,如单片机、工业控制计算机、可编程控制器(PLC)、数字信号处理器(DSP)等。其中工业控制计算机功能最强大,具有极高的速度、强大的运算能力和接口功能,但由于成本高、体积大,所以只能用于大型控制系统。可编程控制器则只能完成逻辑判断、定时、计数和简单的运算,由于功能太弱,所以只能用于简单的电动机控制。单片机介于工业控制计算机和可编程控制器之间,它有较强的控制功能、廉价的成本,而成为人们对电机控制器的优先选择。
在中国,使用最多的单片机是51系列单片机,国内许多大专院校也以51单片机作为专业基础课,但51系列单片机功能过于简单,例如没有PWM模块、没有A/D转换模块等,在实际应用中往往以牺牲单片机机时来换取功能,并不实用。Freescale 公司的8位单片机MC9S08AW相比51系列单片机其性能大大的增强,运行速度也更快,在单片机内部增加了PWM口、比较和捕捉功能、A/D转换器、看门狗、各种串行总线接口等功能,在同样的CPU总线速度下所用的时钟频率较其他系列微控制器低的多,甚至可工作在无外部晶振的状态,因而噪声极低,更适合于工业控制、恶劣的汽车环境、高可靠仪表以及智能家电等领域。本实验将主要使用MC9S08AW内部的PWM模块和A/D转换模块对直流电机进行控制。
硬件电路部分
硬件电路部分主要介绍电机的驱动以及保护电路。
电机驱动电路如图1所示,选用四个三极管组成桥式驱动电路来驱动电机,三极管具有开关速度高,导通电阻小等优点,适合用于驱动电路中,电路中的二极管起到保护三极管的作用。单片机的两个输出口送出PWM信号,可用来实现电机的调速和正反转,当1口输出PWM信号,而2口输出低电平时,电机正转。相反当1口输出低电平,而2口输出PWM信号,电机则反转,该功能可通过按键控制由软件编程实现。电路中还使用了光耦隔离器件,光耦可使单片机与驱动电路电气隔离,防止驱动电路的高电压烧坏单片机,同时不妨碍单片机信号输出给驱动电路。
图1 电机驱动电路
图2所示是欠压保护电路。为了防止过低的电压对电机和蓄电池本身的损害,故设置该欠压电路。此处用一个比较器完成此功能,比较器同相输入端接+5V参考电压,反相输入端是电池电压经过分压后的电压值,该点在正常工作时约为9V,根据比较器的特性,反向输入端电位高于同向输入端,其输出为低电平,当电源电压过低而导致比较器反向输入端电压值低于同向输入端的5V时,比较器翻转,输出高电平,单片机检测到高电平信号,通过软件编程中断PWM信号,使得控制器失效,而起到保护电机和电池的作用。另外,此处使用了跳线,可灵活选择电池电压,电池供电电压可选48V、36V、24V。
图2 电机欠压保护电路
温度控制是电机控制的一个最主要的环节之一。大功率电机通过的电流很大,三极管的散热必须良好,否则会引起爆裂,温度控制就是防止电机在特殊环境下发热量过大,而对电机和电路造成损害。温度控制部分是将热敏电阻紧贴在电路板的散热片上,从而可以更好且迅速的感应到电子器件的温度变化,然后通过放大器进行控制。热敏电阻的阻值随着温度的升高不断减小,从而改变放大器反向输入端的分压值,通过运算放大器的控制,使得其在极限温度时触发保护。温度保护电路如图3所示。
如图所示,LM224的同向输入端的电压值一定,根据热敏电阻的特性分析,温度升高时其阻值变小,则反向输入端的电压升高,当反向输入端的电压高于正向输入端电压时,放大器输出端翻转,单片机检测到电平变化后,截断PWM信号的输出,从而起到保护作用。
图3 电机温度保护电路
软件编程部分
软件编程部分主要介绍MC9S08AW控制电机的程序设计步骤,以及定时器模块和模数转换模块寄存器的使用。
MC9S08AW定时器模块
定时器模块TPM(Time/Pulse Width Modulation)是S08微控制器的基本功能模块,S08AW系列微控制器提供了两个定时器,多达8个通道。定时模块除了具有定时(延时)功能外,还支持输入捕捉IC(Input Capture)、输出比较OC(Output Compare)和脉宽调制输出PWM(Pulse Width Modulation)功能。输入捕捉功能是利用定时器模块对边沿跳变的敏感性来获得信号边沿跳变发生的时间,可应用于信号频率检测脉冲宽度测量和输入计数等;输出比较功能是利用定时器模块产生并输出特定的波形;PWM广泛应用于直流电机调速、伺服电机控制、D/A转换器等场合。本文主要利用定时器模块的PWM功能实现直流电机的调速。
MC9S08AW包括2个独立的定时器模块,分别为定时器1和定时器2。定时器1包含6个通道,定时器2包含2个通道, 每个通道可独立配置为输入捕捉、输出比较或边缘对齐PWM模式,TPM计数器为这三个功能提供定时参考。当通道设置为PWM输出时(边缘对齐或中央对齐),周期和占空比是可以改变的,这里通过设置通道值寄存器来完成。
S08定时器的所有功能都是通过寄存器的设置完成的,对定时器的操作就是对这些寄存器的操作。通过对定时器模块寄存器的设置,可产生频率高、占空比可调、范围宽的PWM信号,从而控制电机的转速。