基于AT89C52单片机的智能液体卸料控制器的设计
2010-12-18 09:31:00
来源:《半导体器件应用》2010年01-02月刊
0 引言
液体物料的运输是日常运输活动中的主要内容之一,例如各种油料,液体酸、硫酸铜溶液等液体化工原料。当前液体物料运输车的装卸料操作,主要是通过人工按一定的组合顺序来控制阐门的打开和关闭,这种方式操作复杂、劳动强度大。对于油料运输车,除了装料,卸料外,往往还存在给其它车辆进行加油的操作,需要对油量进行计量。在一些易燃、易爆液料运输过程中,安全性差也是一个急需解决的问题。针对以上问题,本设计采用微控制器和智能传感器组成控制系统,从而实现了液体物料运输车卸料过程的自动控制和运输过程中的安全警报。
1 系统原理
该卸料系统由嵌入式微控制器及相应的控制软件、油泵、气动阀门F1~F5、阀门状态检测开关、流量计量装置组成,其原理图如图l所示。
图中,s1、s2、s3分别表示油罐中的压力、温度、液位的值(由相应的传感器测得),阀门状态由相应的阀门状态检测开关K1~K5测得,控制装置通过采集到的以上信息发出控制命令或报警信号,其中F1~F5为气动阀门。通过油泵和气动阀门的不同状态组合可实现不同的功能,其功能和执行机构状态组合如表l所列。利用微处理器的程序,可对每一种功能编写一个对应的功能子程序,同时在操作面板上设置对应功能的选择按键。这样,通过选择不同功能按键组合来启动卸料过程,就可以方便的控制对应的操作。
在车辆行进过程中,本控制系统可以自动监测罐体的压力与液体温度。当压力或温度超过某一个限度时,系统便会发出报警信号,提高运输的安全性。本控制器可安装在驾驶室内。操作人员可在运输和装卸易燃、易爆液料过程中,通过气动方式来驱动阀门F1~F5,故可避免电火花启动阀门带来的危险,提高操作过程中的安全性。
2 硬件设计
本系统主要由主控制器电路、驱动电路、键盘与显示电路组成。其电气原理如图2所示。
系统中的主控制器电路是整个智能控制器的核心。主控制器电路中包括微控制器、传感器及相关外围电路,井带有8位数据总线和低8位地址总线接口,其中地址译码器用于提供其它接口的地址译码信号。另外,该电路还包括模拟信号放大与滤波电路、AD转换接口,现场总线接口,以及驱动板和键盘与显示板的接口。驱动电路接受主控制器电路的控制信号,并经过光电隔离与放大后,作为气动阀门和油泵等(共8个)执行元件的驱动信号。每个驱动信号的输出端都有一个隔离的检测电路。图3所示是其检测电路图。
系统中的输出检测电路可用于监测输出控制命令是否正确发出。此外,5个阀门和油泵也各有一个隔离的状态检测开关,可用于监测控制命令是否被正确执行,以确保控制的可靠性。电路中的一个隔离DC/DC变换器用于向主控制电路、键盘与显示电路提供工作电源。键盘与显示电路包括16个操作按键、8个IJED状态显示灯和7个LED数码管。其中8个显示灯用于显示阀门和泵的状态,以及控制器的运行状态和电源状态等;7个数码管平时用于显示油罐温度和压力,同时可在装油、卸油、加油过程中显示剩余油量和加油数量。如果出现故障,该电路还可以显示故障信息。并可通过功能按钮与数字键的组合选择工作流程。
3 有限状态自动机原理的软件设计
有限状态自动机是一种具有离散输入、输出状态的系统数学描述模型,它可用一个五元组(M=_x,s.Y,8,λ)来描述系统的状态转移关系,而状态的转移关系则可以用状态转移图来描述。本系统的控制过程由有限个功能子程序构成,这些功能子程序之间的转移条件是有限的,而且系统在任一时刻总是处于某一确定的状态上。所以,本系统具有状态机的特征,可以用有限状态机理论来描述。控制软件可使用汇编语言编写,包括初始化子程序、自检子程序、出错处理子程序、AID转换子程序、键盘中断服务子程序、回收子程序、装油子程序、自流卸油子程序、油泵卸油子程序、泵站卸油子程序和显示子程序等多种功能子程序,可分别用状态q1_m(m=0…10)表示;转移条件x1_n (n=0…6)由l位当前程序的执行结果状态编码和8位操作按键编码两部分构成,其中程序执行结果正确时,代码为1,错误时则为0;同时操作按键按下为1,否则为0(如x1_0应为010000000,xl_1为110000000)。D8~DO分别代表程序执行状态、启动、停止、装油、卸油、泵站、0按键、1按键、2按键。其主程序的状态转移图如图4所示。
依据状态转移关系和转移条件可以把一个非常复杂的程序,变成一个依据条件编码内容进行转移的多分支的结构,并很容易的用汇编语言或C语言来实现,实现时可分别采用JMP@A+DP-TR指令和switch-case语句来具体完成。其汇编程序的主要代码如下:
Mov DPTR, #Fun_Tab; 设置写指令代码地址
Mov A, x ; 将转移条件编码送入累加器
RL A
RL A
JMP @A+DPTR
Fun_Tab:LJMP q1_0 ; 对应的功能程序
NOP
LJMP q1_1 ; 每一分支在表中占4个字节
…
LJMP q1_10
下面对部分功能子程序进行简要说明:
(1) 自流卸油子程序
通过“卸油”和“0”两按钮可选择该功能。按下启动按钮,再按F3、F4顺序开启阀门,油罐中的油就可利用自身压力流出。按下停止按钮时,可按相反顺序关闭F4、F3,此时系统会同时给出提示信号。
(2) 油泵卸油子程序
通过“卸油”和按钮“l”可选择油泵卸油子程序。操作时可先用数字键输入卸油量,然后按启动按钮,再按照开启F1、F5、启动油泵的顺序开始卸油。达到设定的卸油量或按下停止按钮时,可按相反的顺序关闭油泵、F5和F1,并给出提示信号。如输入错误,可按停止键,然后重新输入。
(3) 泵站卸油子程序
通过“泵站”和按钮“l”可选择该功能。可先用数字键输入卸油量,然后按启动按钮,再按开启F2、F5、启动油泵的顺序启动泵站工作。达到设定的卸油量或按下停止按钮时,再按相反的顺序关闭油泵、F5和F2,同时给出提示信号。如输人错误,可按停止键并重新输人。
4 结束语
通过本控制系统,可将当前液体物料运输车卸料过程按特定的顺序开启卸料泵和卸料阀门的复杂手动操作转变为利用控制器自动按预定程序启动卸料泵和阀门的自动操作。这种控制器不仅可以降低卸料操作的复杂性和劳动强度、提高效率,而且可以提高卸料和运输过程的安全性。目前,本控制系统已成功申请专利。
液体物料的运输是日常运输活动中的主要内容之一,例如各种油料,液体酸、硫酸铜溶液等液体化工原料。当前液体物料运输车的装卸料操作,主要是通过人工按一定的组合顺序来控制阐门的打开和关闭,这种方式操作复杂、劳动强度大。对于油料运输车,除了装料,卸料外,往往还存在给其它车辆进行加油的操作,需要对油量进行计量。在一些易燃、易爆液料运输过程中,安全性差也是一个急需解决的问题。针对以上问题,本设计采用微控制器和智能传感器组成控制系统,从而实现了液体物料运输车卸料过程的自动控制和运输过程中的安全警报。
1 系统原理
该卸料系统由嵌入式微控制器及相应的控制软件、油泵、气动阀门F1~F5、阀门状态检测开关、流量计量装置组成,其原理图如图l所示。
图中,s1、s2、s3分别表示油罐中的压力、温度、液位的值(由相应的传感器测得),阀门状态由相应的阀门状态检测开关K1~K5测得,控制装置通过采集到的以上信息发出控制命令或报警信号,其中F1~F5为气动阀门。通过油泵和气动阀门的不同状态组合可实现不同的功能,其功能和执行机构状态组合如表l所列。利用微处理器的程序,可对每一种功能编写一个对应的功能子程序,同时在操作面板上设置对应功能的选择按键。这样,通过选择不同功能按键组合来启动卸料过程,就可以方便的控制对应的操作。
在车辆行进过程中,本控制系统可以自动监测罐体的压力与液体温度。当压力或温度超过某一个限度时,系统便会发出报警信号,提高运输的安全性。本控制器可安装在驾驶室内。操作人员可在运输和装卸易燃、易爆液料过程中,通过气动方式来驱动阀门F1~F5,故可避免电火花启动阀门带来的危险,提高操作过程中的安全性。
2 硬件设计
本系统主要由主控制器电路、驱动电路、键盘与显示电路组成。其电气原理如图2所示。
系统中的主控制器电路是整个智能控制器的核心。主控制器电路中包括微控制器、传感器及相关外围电路,井带有8位数据总线和低8位地址总线接口,其中地址译码器用于提供其它接口的地址译码信号。另外,该电路还包括模拟信号放大与滤波电路、AD转换接口,现场总线接口,以及驱动板和键盘与显示板的接口。驱动电路接受主控制器电路的控制信号,并经过光电隔离与放大后,作为气动阀门和油泵等(共8个)执行元件的驱动信号。每个驱动信号的输出端都有一个隔离的检测电路。图3所示是其检测电路图。
系统中的输出检测电路可用于监测输出控制命令是否正确发出。此外,5个阀门和油泵也各有一个隔离的状态检测开关,可用于监测控制命令是否被正确执行,以确保控制的可靠性。电路中的一个隔离DC/DC变换器用于向主控制电路、键盘与显示电路提供工作电源。键盘与显示电路包括16个操作按键、8个IJED状态显示灯和7个LED数码管。其中8个显示灯用于显示阀门和泵的状态,以及控制器的运行状态和电源状态等;7个数码管平时用于显示油罐温度和压力,同时可在装油、卸油、加油过程中显示剩余油量和加油数量。如果出现故障,该电路还可以显示故障信息。并可通过功能按钮与数字键的组合选择工作流程。
3 有限状态自动机原理的软件设计
有限状态自动机是一种具有离散输入、输出状态的系统数学描述模型,它可用一个五元组(M=_x,s.Y,8,λ)来描述系统的状态转移关系,而状态的转移关系则可以用状态转移图来描述。本系统的控制过程由有限个功能子程序构成,这些功能子程序之间的转移条件是有限的,而且系统在任一时刻总是处于某一确定的状态上。所以,本系统具有状态机的特征,可以用有限状态机理论来描述。控制软件可使用汇编语言编写,包括初始化子程序、自检子程序、出错处理子程序、AID转换子程序、键盘中断服务子程序、回收子程序、装油子程序、自流卸油子程序、油泵卸油子程序、泵站卸油子程序和显示子程序等多种功能子程序,可分别用状态q1_m(m=0…10)表示;转移条件x1_n (n=0…6)由l位当前程序的执行结果状态编码和8位操作按键编码两部分构成,其中程序执行结果正确时,代码为1,错误时则为0;同时操作按键按下为1,否则为0(如x1_0应为010000000,xl_1为110000000)。D8~DO分别代表程序执行状态、启动、停止、装油、卸油、泵站、0按键、1按键、2按键。其主程序的状态转移图如图4所示。
依据状态转移关系和转移条件可以把一个非常复杂的程序,变成一个依据条件编码内容进行转移的多分支的结构,并很容易的用汇编语言或C语言来实现,实现时可分别采用JMP@A+DP-TR指令和switch-case语句来具体完成。其汇编程序的主要代码如下:
Mov DPTR, #Fun_Tab; 设置写指令代码地址
Mov A, x ; 将转移条件编码送入累加器
RL A
RL A
JMP @A+DPTR
Fun_Tab:LJMP q1_0 ; 对应的功能程序
NOP
LJMP q1_1 ; 每一分支在表中占4个字节
…
LJMP q1_10
下面对部分功能子程序进行简要说明:
(1) 自流卸油子程序
通过“卸油”和“0”两按钮可选择该功能。按下启动按钮,再按F3、F4顺序开启阀门,油罐中的油就可利用自身压力流出。按下停止按钮时,可按相反顺序关闭F4、F3,此时系统会同时给出提示信号。
(2) 油泵卸油子程序
通过“卸油”和按钮“l”可选择油泵卸油子程序。操作时可先用数字键输入卸油量,然后按启动按钮,再按照开启F1、F5、启动油泵的顺序开始卸油。达到设定的卸油量或按下停止按钮时,可按相反的顺序关闭油泵、F5和F1,并给出提示信号。如输入错误,可按停止键,然后重新输入。
(3) 泵站卸油子程序
通过“泵站”和按钮“l”可选择该功能。可先用数字键输入卸油量,然后按启动按钮,再按开启F2、F5、启动油泵的顺序启动泵站工作。达到设定的卸油量或按下停止按钮时,再按相反的顺序关闭油泵、F5和F2,同时给出提示信号。如输人错误,可按停止键并重新输人。
4 结束语
通过本控制系统,可将当前液体物料运输车卸料过程按特定的顺序开启卸料泵和卸料阀门的复杂手动操作转变为利用控制器自动按预定程序启动卸料泵和阀门的自动操作。这种控制器不仅可以降低卸料操作的复杂性和劳动强度、提高效率,而且可以提高卸料和运输过程的安全性。目前,本控制系统已成功申请专利。
本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
暂无评论