随着微型机控制技术的发展,单片机以其独特的性能及优越的性能/价格比独占鳌头,愈来愈受到人们的重视,特别是在家用电器、工业过程控制及智能化仪器中应用得极为普遍。自动剪切机顺序控制系统的应用就是一个典型的例子。
顺序控制是指根据现场的条件(通常指开关状态)或时间,输出一定的控制信号,以保证其按照人们预定的顺序自动地工作。由于顺序控制大都属于开关量控制,因此利用单片机的位控功能很容易实现。
设计顺序控制系统的步骤如下所述。
(1)深入现场了解被控对象的控制过程,选定传感器及控制元件。
(2)根据工艺要求,仔细分析各类动作并了解其要求、相互之间的链锁条件,以及各部分的转移条件,画出系统流程图,或将系统绘制成程序表和逻辑功能图。
(3)选择机型和接口电路。对于简单的控制系统,可自行设计单片机系统及接口电路。
(4)根据流程图(或程序表、或逻辑图)编写出汇编语言程序,并在开发机上调试。
(5)进行软件、硬件联调。
(6)装入现场试运行,并根据情况加以改进。
图9-4为某自动剪板机工作原理系统图。
自动剪板机系统可按照要求剪开大块板材,并由送料小车运到包装线。未动作时,压块及剪切刀的限位开关SA2、SA3和SA4均断开,行程开关SA1和光电接近开关SA7也都是断开的。剪切刀、压块及选料机构分别由固态继电器进行控制。其工作过程如下所述。
(1)读入限位开关SA6的状态,判断小车是否空载,是空载,则可开始工作。
(2)启动送料小车,并使其到位,此时限位开关SA5闭合。
(3)SSRe通电,启动送料机构E,带动板料向右移动。
(4)当板料碰到行程开关SA1时,停止送料,同时SSRb送电,压下压块B,并使压块上限开关SA2闭合。
(5)当压块到位,压紧板料时,压块下限开关SA3闭合。
(6)SSRa通电,控制剪板机剪刀下落,此时SA4闭合,直到把板料剪断。当板料下落通过光电接近开关SA7时,SA7输出一个脉冲,并使8031计数器加1。
图9-4 自动剪板机工作原理系统图
(7)判断小车上的板料是否够数,如果不够,则继续重复步骤(3)~步骤(7)。一旦够数,则使控制电机通电,小车右行,把切好的板料送至包装线。板料卸下后,再启动小车重新返回到剪板机下,并开始下一车的装料工作。
板料的长度L可根据需要进行调整,每一车(捆)板料的数量可由机器键盘给定,也可通过拨码键盘加以设定。固定剪切包装线的计数可由软件完成。
(1)硬件系统结构。
系统共有7个开关量(SA7~SA1)输入,3个固态继电器控制接口,以及一个电机双向控制接口;另外,还有一个计数器,用来对剪切下来的板料进行计数。能够实现上述功能的系统原理图,如图9-5所示。
图9-5 自动剪板机控制系统原理图
图9-5中,74LS273-1#为地址锁存器,8031内部定时器/计数器0用作板料计数器;74LS273-2#为I/O扩展接口,其地址为7FFFH。这里用1D~6D作为开关量输入位,分别接SA1~SA6,用P1口的P1.2~P1.4这3位分别控制剪板机、压块和送料机构,P1.0和P1.1两位用作双向电机控制,以便使小车前进或后退。为了提高系统的抗干扰能力,系统设计采用全浮空技术,即开关量各输入端均接有光电隔离器;输出控制采用光电隔离固体继电器。下面对其具体电路进行分析。
(2)开关量输入接口电路。
开关量输入接口电路采用光电隔离器,如图9-6所示。
当控制开关SA1断开时,发光二极管没有电流通过,所以光敏三极管截止,输出为高电平(“1”);一旦SA1闭合,发光二极管导通,导致光敏三极管导通,输出低电平(“0”)。
图9-6 开关量输入电路原理图
(3)输出控制电路。
输出控制电路采用固体继电器SSR,其接口电路如图9-7所示,输入为TTL电平,输出为交流负载。当P1.4端输出高电平(“1”)时,固体继电器SSR导通,使电机通电;反之,如果P1.4端输出低电平(“0”),则SSR截止,电机也随之断电。其他两路与此完全相同。为了达到光电隔离的目的,将4个直流固体继电器QS1~QS4组成一个双向伺服电机控制电路。
双向电机控制真值表,见表9-1。值得说明的是:该系统不一定非得全部采用光电隔离技术或固体继电器,也可以设计一个简单的电路。这里采用全浮空技术,主要是为使大家对全浮空单片机控制系统有一个比较全面的了解。
图9-7 输出控制电路原理图
表9-1 双向电机控制真值表
P1.1 P1.0 |
运动状态 |
QS1 QS2 QS3 QS4 |
1 0 |
正转 |
1 0 0 1 |
0 1 |
反转 |
0 1 1 0 |
1 1 |
刹车 |
0 1 0 1 |
0 0 |
滑行 |
0 0 0 0 |
图9-8 主程序流程图 |
为了设计简单,将系统各开关及控制口的状态列于表9-2中。
(1)主程序。
主程序用来对系统初始化,即设置中断控制字及计数常数等。主程序执行完以后,系统便进入等待状态。系统需要工作时,只要操作人员按一下START按钮,即可转到相应的中断服务程序。
主程序流程图如图9-8所示,主程序如下所示。
ORG 0000H ;上电,复位入口地址
AJMP MAIN
ORG 0003H
AJMP INTPT ;转INT0中断服务程序
ORG 0100H
MAIN:MOV P1,#00H ;断开系统所有控制电源
SETB IT0 ;设外部中断0为边沿触发方式
SETB EX0 ;允许外部中断0中断
SETB EA ;CPU开中断
MOV TMOD,#06H ;设T0为计数方式2
MOV TH0,#0F6H ;装入时间常数
MOV TL0,#0F6H
SETB TR0 ;启动T0
HERE:AJMP HERE ;等待
表9-2 各开关及控制口的状态
|
|
输出控制状态 |
判断条件 | ||||||||||||||
程序 步骤 |
程序内容 |
P1.7 |
P1.6 |
P1.5 |
P1.4 |
P1.3 |
P1.2 |
P1.1 |
P1.0 |
8D |
7D |
6D |
5D |
4D |
3D |
2D |
1D |
|
|
|
SSRe |
SSRb |
SSRa |
|
|
|
|
SA6 |
SA5 |
SA4 |
SA3 |
SA2 |
SA1 | ||
(1) |
判小车是否空载 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
(2) |
启动小车,并判其是否到位 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
(3) |
停车。启动SSRe,送板料。并判其是否到位 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
(4) |
断SSRe,启动SSRb压下压块,判压块是否压紧 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
(5) |
启动SSRa,剪切刀下降,判是否剪下板料 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
(6) |
断SSRb,SSRa,压块及剪切刀上抬,判两者是否复位 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
(7) |
测试TF0位,判板料是否剪够预定的块数 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
|
启动小车 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
(2)中断服务程序。
中断服务程序用以对系统进行顺序控制,中断服务程序流程图如图9-9所示。
中断服务程序如下所示。
ORG 0120H
INTPT: MOV DPTR,#7FFFH ;置74LS273-2#地址
LOOP1: MOVX A,@DPTR ;判小车是否空载
JNB ACC.5,LOOP1
MOV P1,#01H ;启动小车左行
LOOP2: MOVX A,@DPTR ;判小车是否到位
图9-9 中断服务程序流程图
JB ACC.4,LOOP2
SETB P1.1 ;刹车
REPEAT:SETB P1.4 ;启动SSRe,送板料
LOOP3: MOVX A,@DPTR ;判板料是否到位
JB ACC.0,LOOP3
CLR P1.4 ;断SSRe
SETB P1.3 ;启动SSRb
LOOP4: MOVX A,@DPTR A ;判压块是否压紧
XRL A,#0E8H
JNZ LOOP4
SETB P1.2 ;启动SSRa,剪切刀下降
LOOP5: MOVX A,@DPTR ;判板料是否剪断
XRL A,#0C1H
JNZ LOOP5
CLR P1.3 ;断SSRb,使压块复位
LOOP6: MOVX A,@DPTR ;判剪切刀和压块是否复位
XRL A,#0CFH
JNZ LOOP6
JNB TF0,REPEAT ;判10块板料是否全部剪完
CLR TF0
CLR P1.0 ;启动小车
AJMP LOOP1 ;转到LOOPl,继续剪下一车板料