在工业控制领域中,直流电机是常见的机电装置,以单片机为控制器对电机进行控制,运用串口通信技术实现电机的远程测控。通过采用周期测量法测量电机的转速,运用PWM技术实现对电机的驱动控制,为直流电机的控制提供了一种低成本高精度的测控方案。
1、系统构成
系统由上、下位机构成,如图l所示。上位机是PC机或工控机,运行监控软件,对电机的运行状态进行显示报警等;操作人员通过它对电机进行控制(启停电机、设定电机的转速等)。下位机系统由控制器(5l单片机)、转速测量单元、输出驱动单元及直流电机构成。上、下位机间采用串行通信,按RS-232协议设计,再通过Rs-232/485协议转换器转换为485,增大通信距离实现远程测控。
图1 系统构成
2、系统的硬件电路设计
图2为系统的电路原理图,它包括转速测量、电机控制、看门狗、串口通信接口等部分。
图2 系统电路原理图
2.1 转速测量
图1中,稳定状态下,传感器输出为周期性脉冲,设频率为Ⅳ和电机转速∞(转/分)间存在如下关系:
(1)
采用周期测量法实现频率厂的测量,测量原理是在被测信号周期r内,对周期为r’的基准脉冲进行计数,r与计数值m的乘积即是周期T,即
(2)
基准脉冲采用单片机的机器周期脉冲,选11.0592MHz晶振,则T’约为lμs。设电机的最高轧速为12000转/分,则它对应脉冲信号的周期为5ms。若计数误差为1个脉冲,则测量误差为lμs/5ms=土O.02%,对应转速误差为12000×0.02%=2.4转/分。
测量电路如图2,霍尔传感器采用开关型集成器件UGN3020。磁钢与传感器重合时,传感器输出低电平,经过非门变成正脉冲,再经光电耦合器4N25输入单片机的IN仰。INT0输入脉冲下降沿间的时间即是周期T,设定INT0为边沿触发,因此在中断服务程序中取出计数器T0的计数值m,按式(1)和式(2)计算出电机的转速,并清零T0重新启动计数器。
受单片机处理速度限制,被测脉冲信号频率过高会出现计数不准,可通过D触发器将脉冲信号分频后再送入单片机的INT0。
2.2 转速控制
电机朋转速控制电路如图2中所示,单片机的P1.0用于控制电机的启停。单片机在复位后并行口为高电平,为了防止单片机复位后启动电机,设计为当P1.0为低时4N25输出为高,三极管Vl(可选用9014)导通将使得继电器J的常开触头闭合从而启动电机,反之P1.0为高时停止电机。二极管Dl的作用是防止继电器在通断过程中产生大的反电势损坏三极管Vl。
单片机的P1.1输出PwM(脉宽调制)控制信号,PWM信号由单片机程序产生。V3选用功率开关三极管D630,最大电流为9A。V3在PWM脉冲信号的控制下将电机的直流供电电压ucc变成PWM功率信号,通过改变PwM信号的占空比改变电机M的驱动电压Ua的有效值从而改变电机的转速。电容C2的作用是滤波,使Ua变得平滑。
2.3 上下位机的通信接口
上位PC机的串口是RS-232接口,单片机的串口是TTL工电平,需要TTL电平和RS-232电平的相互转换。本系统中采用MAX232芯片完成转换,它的供电电压为5V。接口电路如图2中所示,MAX232的T1IN引脚为TTL电平输入端;T10UT为232电平输出;R1OUT为TTL电平输出;RlIN为232。
电平输入。RS-232的通信距离通常不超过15米,因此在上下位机的串口通信中增加RS-232/485的协议转换器,通信距离可达1200米。
2.4 看门狗电路
为了保证系统的可靠性,系统中采用专用看门狗芯片TPS3823组成看门狗电路,如图2中所示。TPS3823的溢出脉冲输出经或门接单片机的RST,在单片机的主循环程序中通过P1.2脚输出脉冲信号复位看门狗芯片。如果程序卡死或跑飞不能及时复位看门狗芯片,它的定时时间到就会产生溢出脉冲复位单片机让它重新启动恢复正常。3、系统的软件设计
系统的软件包括单片机程序和上位机监控程序。合理的设计软件可以提高系统的稳定性、可靠性及系统的响应速度。
3.1 上位机和下位机间的通信规约
上下位机间的串口通信波特率设为9600,无校验位,8位数据位,1位停止位。上位机串口属性在程序中设置。单片机串口通信采用方式1,波特率通过对定时器/计数器T1的计数初值的设定来设置。设置公式如下:
(3)
其中,x表示定时/计数器T1的初值;fOSC以是晶振频率;BaudRate是波特率;SMOD是PCON寄存器的第7位。
在数据传输中采用简化CRC校验算法来保障数据的正确传输,将所有字节相加的和作为校验位。
3.2 单片机程序设计
采用uVision2开发单片机程序,它支持C51语言、汇编语言及二者的混合编译。用C5l容易实现复杂的数据处理计算,但程序执行效率较低。采用汇编语言编写的程序效率高,但进行乘除等复杂运算时编程难度大。因此本文采用C5l和汇编语言混合编程,数据处理部分采用C5l实现,其它部分采用汇编语言实现。
本系统的单片机程序包括主程序、INT0中断服务程序、串口中断服务程序,程序流程图如图3所示。主程序中8为转速的允许稳态误差,将其设为1转/分。
图3 单片机程序流程图
3.3 上位机监控程序设计
上位机监控程序的主要功能是显示电机的转速、设定电机的给定转速、启停电机控制、实现电机转速的高低限报警、绘制电机转速的实时监测曲线等。
本系统采用VC6.O开发上位机程序,采用基于MFC对话框的程序架构。MFC是微软提供的windows程序类库,在它的基础上开发的windows应用程序稳定可靠,执行效率高,并且维护扩展方便。程序结构如图4所示,它由串口通信程序、电机状态显示程序、电机控制程序等部分构成。控制程序用于接受操作人员的控制命令并调用串口通信程序将控制信息发送给下位机,状态显示程序用于显示电机的运行状态,串口通信程序的作用收发串口数据。串口程序采用微软提供的MSComm控件编写,实现简单,数据收发可靠。
图4 上位机程序结构
4、结 论
在实验中选用1. 5Kw直流电机作为被控对象进行测试,系统运行稳定,稳态误差δw小于5转/分,调节时间ts约为5s,满足工业控制要求。电机功率高于1.5kw时,必须采用更大功率的开关管或町控硅管。在单片机控制程序的设计中可以采用改进的算法(如在偏差δ较大时增大PWM信号的变化量对电机转速进行粗调,δ较小时则减小PWM信号的变化量对电机进行微调)减小系统的响应时间。在转速的测量中,通过外部输入高频脉冲信号作为基准计数脉冲可进一步减小测、量误差。