1 问题描述
某机器上,2台电机通过滚珠丝杠驱动工作台做顺序运动,如图1所示。用单片机系统控制2台电机,实现规定的顺序动作。当行程开关KXl压下时,电机D1带动卡紧机构右移,右移到撞块压下KX2时,电机D1停转,并且这种状态延迟一段时间Tl。电机D2按以下顺序开始动作:当行程开关KX3压下时,电机D2带动工作台右移,工作台右移到撞块压下KX4时,电机D2停转,并且这种状态延迟一段时间T2;然后电机D2反转,带着工作台向左返回,工作台返回左侧压下KX3时,电机D2停转,同时电机D1反转,松开卡紧机构直到KXl压下,电机D1停转。
2 单片机控制系统组成
实现上述控制功能的方案有多种,如继电器接触器控制系统、可编程序控制器控制系统、单片机控制系统等。本文用单片机控制系统来实现上述控制动作,单片机控制系统的组成如图3所示。
单片机采用Motorola公司的MC68HCllEl。为了仿真实验的需要,单片机控制系统采用上海广茂达电子信息有限公司的能力风暴机器人AS—UII中的主控制板。行程开关KXl~KX4用机器人上的碰撞开关来模拟,碰撞开关电路如图4(a)所示。电机D1、D2用机器人2轮的驱动电机来模拟,电路如图4(b)所示。其中,电机驱动芯片选用的是TI公司的SN754410。
3 VJC程序流程
使用能力风暴机器人的编程开发环境VJC1.6(可以从上海广茂达电子信息有限公司网站www.grandar.com上下载)编制、调试和下载程序。针对上述单片机双电机启停控制系统,用VJCl.6编制的流程图如图5所示。实际的单片机控制系统,只要把相应的传感器及其驱动电路、电机及其驱动电路更改成适应实际对象的元器件,就仍然可以用这种单片机控制板和相应的编程软件。更进一步的应用可以扩充软硬件系统。
程序总体为一循环程序。在每一次循环中,依次检测4个碰撞开关,按照电机的动作顺序要求启动或停止电机。程序模块的使用和变量的设置方法此处从略,请参见说明书,或与上海广茂达电子信息有限公司联系。
图5的流程图在VJCl.6环境下可以转化为C语言程序,具体可参看ⅥC1.6的使用。
在VJC1.6环境下编制的程序,无论是流程图还是C语言程序,均可以直接下载到单片机的闪存或EEPROM中,这也是这种编程和开发方法受到人们欢迎的原因。但是目前这种方法仅用在以单片机为核心的智能机器人的程序开发之中,还没有专门用于单片机开发的这种图形化编程环境,相信不久的将来就会出现这种方法。
结 语
这里单片机系统实现的功能就相当于一个可编程控制器系统,而且编程语言是流程图语言。可见,某些单片机系统略加扩充就可以成为一个可以使用流程图编程、C语言编程和汇编语言编程的功能相当完备的可编程控制器,从而与现有的可编程控制器在工业控制领域并驾齐驱。