控制/MCU
本文为大家分享两个基于单片机的液位控制系统设计。
集成芯片LM1042是用于检测液位的专用的集成电路,内部集成了所有控制热阻探针、检测热阻探针的短路和开路所需的监控电路,具有很强的功能。LM1042使用热阻探针技术来测量非可燃性液体液面高度,能提供一正比于液位高度的输出,可进行单次或重复测量,所有控制热阻探针、检测热阻探针的短路和开路所需的监控电路都集成在LM1042芯片内部。此外该芯片可采用线性输入或其它传感器信号作为输入信号。
LM1042液位检测器可以选择热阻或线性信号作为输入,具有集成有热阻探针的控制电路,LM1042液位检测器在复位时切换,延时功能可避免瞬态信号的影响,另外LM1042液位检测器具有探针短路、集成芯片LM1042是用于检测液位的专用的集成电路,内部集成了所有控制热阻探针、检测热阻探针的短路和开路所需的监控电路,具有很强的功能。
LM1042内部电路框图
LM1042使用热阻探针技术来测量非可燃性液体液面高度,能提供一正比于液位高度的输出,可进行单次或重复测量,所有控制热阻探针、检测热阻探针的短路和开路所需的监控电路都集成在LM1042芯片内部。此外该芯片可采用线性输入或其它传感器信号作为输入信号。LM1042液位检测器可以选择热阻或线性信号作为输入,具有集成有热阻探针的控制电路,LM1042液位检测器在复位时切换,延时功能可避免瞬态信号的影响,另外LM1042液位检测器具有探针短路、开路检测功能。
测量部分:液位传感器采用LM1042液位检测器,并在端口接ADC0809的一个模拟量通道。ADC0809和并行口扩展芯片8155直接相连,ADC0809的A、B、C均接地来选择第一路模拟通道。
键盘部分:鉴于键盘并不常用,所以上下限的输入采用中断方式。一个接中断口1,另一个接至定时计数器0,把定时计数器0扩展为外部中断口。
显示部分:该部分由液晶显示器1602实现液位的显示,液晶显示器上显示液位的值。
报警部分:当液位高于由键盘输入的液位上限或低于由键盘输入的液位下限时,蜂鸣器发声报警。
控制部分:当液位高于由键盘输入的液位上限时,单片机启动电动机开闸放液体;当液位低于液位下限时,单片机启动电动机自动上液体。为减少执行机构对单片机的影响,提高稳定性,在执行机构前加有光电隔离器,并由电磁继电器控制电动机的开关。
系统总体框图
本方案主程序流程图如下图
主程序流程图
本方案有测量模块、AD转换模块、键盘输入模块等。程序设计中应考虑各部分的相互联系。在主程序中先进行初始化,初始化过程包括CPU开中断,允许外部0、1中断,设定外部中断触发方式为边沿触发,允许T0中断,设定计数器工作于方式2,给计数器设定初值为全1,起动计数器,中断优先级设定,其中设定外部中断1、计数器T0为高级中断,令K=0(用K来检测是否有键按下,当有数字键按下时K=1)。
液位控制器的工作方式有多种,利用单片机为控制核心,设计一个对供水箱水位进行监控的系统。单片机控制固态继电器的开断对液体液位进行调整。该设计的核心AT89C51芯片,主要的组成部分有键盘、数码显示、A/D转换、传感器、电源和控制部分等。基于单片机实现的液位控制器利用气压传感器和A/D转换产生液位高度数据,通过单片机的数据采集,利用数码管显示液位高度数据,进而进行液位控制。当液体液位达到上限或者下限时,液体底部的软管管内空气气压发生变化,由气压传感器将软管内的空气气压信号转化成电压信号,电压信号生成后进入A/D转换,A/D转换将电压信号转化成数字信号量,单片机对数字信号量进行采集并处理,最终在数码显示管内生成数码液位高度,之后通过键盘设置液位高、低和限定值以及强制报警值,从而实现对液位的自由控制。
基于单片机的液位控制器设计的单片机是AT89C51芯片,如下图。该芯片由由Atmel公司生产,呈双列,共40脚。A/D转换和显示连接口在P0,3x5的键盘连接口在P1,控制电磁阀和水泵动作的接口P2,上、下限指示灯连接口在P3。
基于单片机的液位控制器设计传感器使用的是SY-9411L-D型变送器,如下图。这种变送器有一个美国SM公司生产的555-2型OEM压阻式压力传感器和相应的放大电路组成。555-2型OEM压阻式压力传感器外壳封装材料是用坚固的耐高温塑料特殊加工处理,所以其耐温性能较强。1脚和2脚都是信号输出(-),5脚和6脚都为信号输出(+),中间3脚为激励电压、4脚为地。在液体底部有一根软管用以输出空气气压信号,软管两端分别和液体底部和传感器,其直径为5mm。在液体液位发生变化时,会引起软管内空气气压的变化,进而生产气压信号,气压信号在传感器的作用下生成电压信号,电压信号再输入A/D转换器中。
基于单片机的液位控制器设计的液位显示采用数码管动态显示。其显示的范围在0至999之间,单位自定。该液位显示的数码管采用的LDS18B20型号的7段共阴极连接数码管。这种数码管在单片机中应用较为广泛,可以作为地址数据总线扩展的锁存器,也可以作为普通的LED的驱动器件。
基于单片机的液位控制器设计的A/D转换电路采用的是CMOS工艺制造的逐步逼近式8位A/D转换器芯ADC0809。编制A/D转换程序可分为三种,分别是中断、查询0和延时。A/D转换器,由液位高低变化引起液体底部的软管管内空气压变化,空气气压在传感器内经过运算放大器和分压电路把传感器输出的电流信号转换成电压信号,进而进入A/D转换器,由单片机对A/D转换器生成的数字信号量进行处理,在数码显示管内显示液位高低。设置液位高、低和限定值以及强制报警值的键盘采用P1口作为键盘接口,连接一个4x4键盘。结构上采用行列方式,可定义键盘布局。
全部0条评论
快来发表一下你的评论吧 !