单片机控制步进电动机的软件设计特点
郭景兰(北京科技大学)
1引 言
步进电动机是一种将电脉冲信号转换成角位移或线位移的精密执行元件,在数控系统、自动生产线、自动化仪表、绘图机和计算机外围设备中得到广泛应用。微电子学的迅速发展和微型计算机的普及与应用,为步进电动机的应用开辟了广阔前景,使得以往用硬件电路构成的庞大复杂的控制器得以用软件实现,既降-氐了硬件成本又提高了控制的灵活性,可靠性及多功能性。用同一个电路只要改变软件就可实现多种控制方案,特别是MCS_51系列单片微型计算机,它集CPU、RAM、ROM、CTC、I/O于一体,具有集成度高、软件资源丰富、控制功能和位寻址功能强等优点,更为控制器的软硬件设计提供了方便。本文介绍MCS-5l系列的8031单片机对三相、四相、五相等不同相数步进电动机实现启动、停止、正转、反转、变速等控制的软件设计。本应用系统只需改变EPROM内容及相应引脚的控制功能就可用于各种不同要求的系统。
2硬件结构
图l所示电路以8031单片机为核心,外扩程序存储器2732、地址锁存器74LS377、输出控制锁存器74LS377及功能键等。单片机输出控制字由Po口数据总绒经过锁存器74LS377输给步进电动机的功放电路,8031的P1口设置为位控方式,通过各功能键输入控制指令实现对步进电动机的开环控制,P.口各引脚功能为:
P1.0-启、停控制位,Pl.0=“0”,停止,P1.0=“1”,启动电机。
Pl.l-正、反转控制位,Pl.l=,“0”,电机正转,P1.1=“1”电机反转。
P1.2-单、双拍制控制位,Pl.2=“0”为单拍制分配方式,即拍数N与电机相数m相等,P1.2“1”为双拍制分配方式,即拍数为相数的二倍,如三相六拍、四相八拍等。
P1.3、P1.4. P1.5分别为三相、四相、五相脉冲分配方式的控制位,当P1.3=“1”,
P1.4. P1.5均为“0”时,系统由Po.o、P0.1、P0.2三端输出三相脉冲信号,实现对三相步进电动机的控制;当P1.4=“1”,P1.3、P1.5均为“0”时,系统由P0.0~P0.3按四相环形分配器功能输出脉冲信号,实现对四相步进电动机的控制。
3软件设计
3.1 用软件实现环形分配器功能的方法
用微机软件实现环形分配器功能的方法比较多,如查表法、循环移位法、判断法等,本设计采用查表法,对于三相反应式步进电动机,当A、B、C三相绕组的功放电路经锁存器分别接到Po口的P0.0、P0.1、P0.2时,要使电机的A、B两相绕组通电,P0口的状态应为0.3H,使B、C两相绕组通电,P0口的状态应为0.6H。因此实现三相双三拍及三相六拍分配方式的真值表如表l所示。
在内存开辟一个状态表存储区,把表中的状态字存放在以8140H为首地址的存储单元,在寄存器区选用尺,作为状态表指针,初始化程序中设定(R1)=00H.即指向状态表的首地址,把状态字03H送出,使步进电动机的A、B两相绕组通电按一定顺序依次把状态表中的内容送出口,即实现了环形分配器的功能。用软件实现环形分配器功能的程序框图如图2所示。
三相六拍分配方式与三相双三拍分配方式的程序有二点不同。
a.状态表长度不同,因此指针内容不同,三相双三拍时,(Ri) =00H—02H::相六拍时,(Rl)= 00H—05H;
b.状态表首地址不同。
3.2转向控制
对于三相六拍而言,如果把表中的状态字自上而下的顺序依次送出Po口,步进电动机三相绕组的通电顺序为AB- B- BC-C- CA- A- AB,那么按自下而上的顺序依次送出状态字,电机的通电顺序为AB-AAC- C- CB- B- BA,电机旋转方向相反。因此,实现正反转的程序框图如图3 所示。图中虚线框内为调整状态表指针的程序框图。
|