李立明 ,柴晓冬 ,方 宇
(1.上海工程技术大学 城市轨道交通学院,上海201620;2.上海工程技术大学 汽车工程学院,上海201620)
步进电机是一种将电脉冲转化为角位移或直线位移的执行机构。由于步进电机具有控制简便、定位准确等特点,因而广泛应用于如机器人手臂运动等各种自动化控制系统和机械设备中。随着无线通信技术的发展,远程无线控制受到广泛关注。本文介绍了一种基于PTR2000的步进电机无线控制系统,该系统实现了电路板级通信,实现了同时对4台步进电机的无线控制,系统采用模型车辆作为步进电机的载体。
本系统主要由上位PC机、AT89C51单片机、驱动电路模块、PTR2000无线通信模块和步进电机组成,其系统结构图如图1所示。其中,上位机是PC机,采用C++实现用户界面,并利用串口通过PTR2000实现用户与步进电机控制模块的指令传输,实现对步进电机的远程无接触控制。
PTR2000[1-2]工作频率为国际通用的数据传输频率段433 MHz,采用抗干扰能力较强的频移键控(FSK)调制/解调方式,扩展能力强,特别适合工业控制场合;使用DDS+PLL频率合成技术,频率稳定性好;低工作电压2.7 V,功耗小,接收待机状态仅为8 μA,具有两个频道,特别适合需要多信道工作的特殊场合;工作速率最高可达到20 kb/s(也可在如4 800 b/s、9 600 b/s低速率下工作);可直接连接 CPU串口,也可以接计算机PS232接口,软件编程方便;由于采用低发射功率(+10 dBm),高接收灵敏度(-105 dBm)的设计,无需申请使用许可证;标准DIP引脚间距,更适合嵌入式设备。在空旷地带有效范围可达300 m。
PC机与PTR2000之间连接,必须经过电平转换,将TTL电平利用MAX232转换成RS-232C电平。PTR2000与PC机串口连接电路如图2所示。
PTR2000直接与单片机的串口TxD、RxD相连接。PTR2000无线Modem的DI接单片机的串口发送,PTR2000无线Modem的DO接单片机串口的接收。
步进电机的控制电路硬件框图如图3所示。
图3 步进电机控制框图
采用可编程定时计数器8253实现单片机对步进电机的通电换向即脉冲分配,由于单片机的本身驱动能力有限,系统采用L297[3]与UM2003组成步进电机驱动电路。L297为步进电机控制集成芯片适用与双极性两相步进电机或单极性四相步进电机的控制。ULN2003为高电压大电流的达林顿管。
通过PTR2000建立PC机与单片机之间无线通信网络,实现PC机与单片机的异步通信。PC机与单片机采用查询方式发送和接收数据,为确保数据的准确性,系统制定了PC机与单片机的通信协议。制定无线通信协议的第一任务是要能识别数据传送过程中的干扰噪声和有效数据,为保证数据通信的可靠性,通信协议如下:
(1)PC机与AT89C51单片机都可以发送和接收;
(2)PC机与AT89C51单片机的通信波特率为9 600 b/s。其中单片机采用的晶振为11.059 2 MHz,采用串口方式1,设定单片机工作模式为:TMOD=0X20,TH1=0XFD,TL1=0XFD,SCON=0X50;
(3)握手信号:长度为3个字节,格式为:0XFF+0X00+0XFF。其中的第2个字节“0X00”代表步进电机的序号,实际工作中用 01、02、03和 04代表本系统中的 4台步进电机,确保每台步进电机接收指令的准确性;
(4)PC机的指令为:握手信号+指令+奇偶效验位;
(5)AT89C51单片机的发送数据格式为:握手信号+车号+数据+奇偶校验位。其中数据为3个字节长度,在系统中代表地址码。
图4中显示的上位机接收到下位机发送的信号,在上位机监控界面中只显示车号和地址数据码。如第一行数据中的“02 00 00 00”表示 2号步进电机刚接到启动指令开始运动;在工作过程中,下位机实时向上位机传输步进电机的地址码,从而上位机地址码可以判断出车辆的实时位置;当下位机收到停止指令后,步进电机停止工作。图4中当下位机收到停止指令后,步进电机停止工作,发送数据保持不变,代表车辆停在某一位置。如图4中的02 15 56 AE。
步进电机[4]的加减速有严格的控制要求,就是保证在不失步和过冲的前提下,用最快的速度和最短的时间移动到指定位置。步进电机控制算法有按斜率线控制、指数曲线控制、抛物线控制[5-6]等。
本系统采用步进电机的指数曲线控制方式。指数线控制是指在加速或减速时,步进电机的速度呈指数线变化。给步进电机一个脉冲信号,步进电机就转动一个角度或前进一步。设输入的脉冲数为N,输出转角为θ,则θ=θSN(θS为步距角)。 步进电机的动力方程为:
式中,T为电机输出力矩或产生力矩,J为转子转动惯量,B为摩擦系数,TL为负载转矩,θ为转子位置。设ω为电机的转子速度,令,驱动脉冲的频率用f表示,则 ω=θSf,而式(1)又可表示为:
如果要求电机尽可能快地加速,则在所有频率下都必须产生最大转矩,则式(2)步进电机的运动一定满足如式(3)所示条件:
式中,TM为步进电机输出力矩,通过电机的矩频特性曲线,假设该曲线是线性下降的,电机的输出力矩可表示为:
式中,TMA为最大转矩,k为假定输出转矩按直线变化时的斜率。 联立式(3)、式(4),得式(5)为:
在 t=0,f=0时解得:
将升速过程均匀离散为 n段,整个上升时间为t,则相邻的时间间隔为:
式中,n为阶梯升速的分档数,则每一档频率为:
通过每档频率可以计算出上升各档持续的脉冲数N(t)和上升档定时器初值T(k)。降速可看作升速的逆过程。
系统采用硬件定时,使用单片机的定时/计数器T0或T1。首先根据定时的时间长短设置定时器的工作模式,然后输入定时器的定时常数,则定时器就会定时溢出,单片机就会每溢出一次就产生一个脉冲信号控制步进电机转动。硬件定时的方法既需要硬件(定时/计数器T0或T1),又需要软件来产生所需频率的脉冲信号,是一种软硬结合的方法。虽然占用了一个定时器,但是提高了CPU的利用率,CPU在定时器没产生溢出时运行其他程序。图5中显示了4台步进电机按上位机指令分别在不同位置启动、运行和停止的实时速度曲线,电机加减速按指数曲线控制。
该系统实现了利用无线通信方式对步进电机远程无线的控制,在实际操作环境中步进电机的加减速并为严格按照指数曲线控制。另外当受到实际环境空间电磁波的干扰时,PTR2000的通信距离达不到300 m,因而系统抗干扰能力还有待提高。该系统为进一步可靠应用步进电机提供了一种参考。
[1]郝小江,张小平.基于PTR2000的单片机无线数据传输[J].攀枝花学院学报,2006,23(6):83-86.
[2]曹俊,汪滨琦.用 PTR2000实现单片机与PC机间的无线数据通信[J].微计算机信息,2002,23(2):117-120.
[3]潘海燕,姚朝霞.基于L297的两相步进电机驱动器[J].机电工程,2007,24(4):86-88.
[4]程宪平.机电传动与控制[M].武汉:华中理工大学出版社,1997.
[5]李晓贞,王福志,王忠举,等.基于单片机的步进电机调速研究[J].农业装备与车辆工程,2008,(5):22-24.
[6]李会燕,胡荣强.基于单片机的步进电机控制系统[J].自动化技术与应用,2007,26(11):75-77.