您的位置: 网站首页 > 电子与嵌入式 > 单片机原理与应用 > 第9章 单片机应用系统设计方法简介 > 【9.4 综 合 实 例 9.4.1 自动剪板机顺序控制系统】

9.4 综 合 实 例 9.4.1 自动剪板机顺序控制系统

 

9.4 

9.4.1  自动剪板机顺序控制系统

随着微型机控制技术的发展,单片机以其独特的性能及优越的性能/价格比独占鳌头,愈来愈受到人们的重视,特别是在家用电器、工业过程控制及智能化仪器中应用得极为普遍。自动剪切机顺序控制系统的应用就是一个典型的例子。

顺序控制是指根据现场的条件(通常指开关状态)或时间,输出一定的控制信号,以保证其按照人们预定的顺序自动地工作。由于顺序控制大都属于开关量控制,因此利用单片机的位控功能很容易实现。

设计顺序控制系统的步骤如下所述。

1)深入现场了解被控对象的控制过程,选定传感器及控制元件。

2)根据工艺要求,仔细分析各类动作并了解其要求、相互之间的链锁条件,以及各部分的转移条件,画出系统流程图,或将系统绘制成程序表和逻辑功能图。

3)选择机型和接口电路。对于简单的控制系统,可自行设计单片机系统及接口电路。

4)根据流程图(或程序表、或逻辑图)编写出汇编语言程序,并在开发机上调试。

5)进行软件、硬件联调。

6)装入现场试运行,并根据情况加以改进。

1.系统要求

9-4为某自动剪板机工作原理系统图。

自动剪板机系统可按照要求剪开大块板材,并由送料小车运到包装线。未动作时,压块及剪切刀的限位开关SA2SA3SA4均断开,行程开关SA1和光电接近开关SA7也都是断开的。剪切刀、压块及选料机构分别由固态继电器进行控制。其工作过程如下所述。

1)读入限位开关SA6的状态,判断小车是否空载,是空载,则可开始工作。

2)启动送料小车,并使其到位,此时限位开关SA5闭合。

3SSRe通电,启动送料机构E,带动板料向右移动。

4)当板料碰到行程开关SA1时,停止送料,同时SSRb送电,压下压块B,并使压块上限开关SA2闭合。

5)当压块到位,压紧板料时,压块下限开关SA3闭合。

6SSRa通电,控制剪板机剪刀下落,此时SA4闭合,直到把板料剪断。当板料下落通过光电接近开关SA7时,SA7输出一个脉冲,并使8031计数器加1

9-4  自动剪板机工作原理系统图

7)判断小车上的板料是否够数,如果不够,则继续重复步骤(3)~步骤(7)。一旦够数,则使控制电机通电,小车右行,把切好的板料送至包装线。板料卸下后,再启动小车重新返回到剪板机下,并开始下一车的装料工作。

板料的长度L可根据需要进行调整,每一车(捆)板料的数量可由机器键盘给定,也可通过拨码键盘加以设定。固定剪切包装线的计数可由软件完成。

2.硬件设计

1)硬件系统结构。

系统共有7个开关量(SA7SA1)输入,3个固态继电器控制接口,以及一个电机双向控制接口;另外,还有一个计数器,用来对剪切下来的板料进行计数。能够实现上述功能的系统原理图,如图9-5所示。

9-5  自动剪板机控制系统原理图

9-5中,74LS273-1#为地址锁存器,8031内部定时器/计数器0用作板料计数器;74LS273-2#为I/O扩展接口,其地址为7FFFH。这里用1D6D作为开关量输入位,分别接SA1SA6,用P1口的P1.2P1.43位分别控制剪板机、压块和送料机构,P1.0P1.1两位用作双向电机控制,以便使小车前进或后退。为了提高系统的抗干扰能力,系统设计采用全浮空技术,即开关量各输入端均接有光电隔离器;输出控制采用光电隔离固体继电器。下面对其具体电路进行分析。

2)开关量输入接口电路。

开关量输入接口电路采用光电隔离器,如图9-6所示。

当控制开关SA1断开时,发光二极管没有电流通过,所以光敏三极管截止,输出为高电平(“1”);一旦SA1闭合,发光二极管导通,导致光敏三极管导通,输出低电平(“0”)。

9-6  开关量输入电路原理图

3)输出控制电路。

输出控制电路采用固体继电器SSR,其接口电路如图9-7所示,输入为TTL电平,输出为交流负载。当P1.4端输出高电平(“1”)时,固体继电器SSR导通,使电机通电;反之,如果P1.4端输出低电平(“0”),则SSR截止,电机也随之断电。其他两路与此完全相同。为了达到光电隔离的目的,将4个直流固体继电器QS1QS4组成一个双向伺服电机控制电路。

双向电机控制真值表,见表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

 

3.软件设计

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

SSRbSSRa,压块及剪切刀上抬,判两者是否复位

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     ;74LS2732#地址

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,继续剪下一车板料