单片机可以用汇编语言编程,也可以用高级语言C、Basic编程,也可以用图形化语言编程。工业控制中普遍采用可编程控制器,其CPU模块内的微控制器往往是普通的单片机,而可编程控制器可以梯形图编程,或者用流程图编程。现在的智能教育机器人控制器均用单片机,而这些机器人的编程大多支持流程图编程。上海广茂达电子信息有限公司的能力风暴系列机器人采用VJC可视化流程图与C语言编程;中鸣机器人系列采用机器人快车软件编程,该软件也是可视化流程图与C语言编程;西米亚公司的乐高系列、博思威龙机器人、美国的VEX系列机器人、双龙公司的机器人DIY系列均可以采用可视化流程图与C语言编程。而这些机器人的控制系统核心均为单片机。由此可知,普通单片机的开发一定可以采用流程图编程。其实,机器人的流程图编制软件可以反过来作为相应单片机的编程软件。下面用一个实例详细说明单片机如何用图形化编程。
1 问题描述
某机器上,2台电机通过滚珠丝杠驱动工作台做顺序运动,如图1所示。用单片机系统控制2台电机,实现规定的顺序动作。当行程开关KX1压下时,电机D1带动卡紧机构右移,右移到撞块压下KX2时,电机D1停转,并且这种状态延迟一段时间T1。电机D2按以下顺序开始动作:当行程开关KX3压下时,电机D2带动工作台右移,工作台右移到撞块压下KX4时,电机D2停转,并且这种状态延迟一段时间T2;然后电机D2反转,带着工作台向左返回,工作台返回左侧压下KX3时,电机D2停转,同时电机D1反转,松开卡紧机构直到KX1压下,电机D1停转。
图1 卡紧机构和工作台的顺序动作动作
顺序如图2所示。
图2 动作顺序图
2 单片机控制系统组成
实现上述控制功能的方案有多种,如继电器接触器控制系统、可编程序控制器控制系统、单片机控制系统等。本文用单片机控制系统来实现上述控制动作,单片机控制系统的组成如图3所示。
图3 单片机控制系统结构图
单片机采用Motorola公司的MC68HC11E1。为了仿真实验的需要,单片机控制系统采用上海广茂达电子信息有限公司的能力风暴机器人ASUII中的主控制板。行程开关KX1~KX4用机器人上的碰撞开关来模拟,碰撞开关电路如图4(a)所示。电机D1、D2用机器人2轮的驱动电机来模拟,电路如图4(b)所示。其中,电机驱动芯片选用的是TI公司的SN754410。
图4 能力风暴机器人上的碰撞开关电路和驱动电机电路
3 VJC程序流程
使用能力风暴机器人的编程开发环境VJC1.6(可以从上海广茂达电子信息有限公司网站
图5 双电机启停控制部分流程图
结语
这里单片机系统实现的功能就相当于一个可编程控制器系统,而且编程语言是流程图语言。可见,某些单片机系统略加扩充就可以成为一个可以使用流程图编程、C语言编程和汇编语言编程的功能相当完备的可编程控制器,从而与现有的可编程控制器在工业控制领域并驾齐驱。