3 系统软件设计
系统软件设计的主要任务是判断电机的转动方向、速度和位置,按顺序发出控制脉冲、判断电机是否运行至定位点。由于两个电机的控制完全类似,程序中仅介绍控制一个步进电机的情况。两电机正转的控制脉冲是:A-AB-B-BC-C-CA,反转控制脉冲顺序与之相反。产生时序脉冲的方法是:用单片机的PI口通过MOV@R0,A,写脉冲序列给74LS377;在由74L377控制电机的A、B、C三相绕组。根据三相六拍运行方式,则X电机和Y电机的控制模型为01H、03H、02H、06H、04H、05H。以三相六拍运行方式采用定时器延时的方法来编写升(降)频的控制程序。
图3 单片机变频控制程序图
在升频段,设置定时器的初值由小到大,逐次按预定的频阶上升(图4);在降频段,设置定时器的初值由大到小,逐次按预定(图5)的频阶下降,控制按查询表格的方式进行。恒频段步长L由到达指定位置总步数减去升降段总步数确定。定时器T0的各频阶初值依次写在EPROM存储器的同一页中,上半页为升频时T0的初值,下半页为降频时的初值。系统的主程序见图4,单片机串口子程序见图5。
单片机通过串口接收到微机的指令后,执行相应子程序(图5)。微机通过两种方式发送指令:一种是非周期性指令,通常为操作者实时控制指令;另一种是周期性指令,要求单片机实时返回工作台当前位置及运行状态。单片机串口中断子程序接收指令后直接回送给微机,微机可以实时显示工作台当前位置。
图4 单片机主程序框图
图5 单片机串口子程序图
4 实验结果及结论
经联机调试,系统运行正常,实现正转、反转、加减速、暂停等自动定位功能,达到设计要求。其特点如下:
⑴用89C51单片机微机系统,以软硬件结合,可降低成本,节约能源。
⑵采用变频控制,提高系统运行速度,可以节约大量时间,并具有良好的经济效益。
⑶采用RS232通讯口,实现了数控系统的通用性设计和远距离监控。
⑷软件采用模块化设计方法,易于维护。