非接触式给液的单片机应用设计
扫描二维码
随时随地手机看文章
随着许多日用新产品的出现,人们的生活水平和生活质量不断提高,同时,也逐渐改变了人们传统的生活方式。根据实际市场的需要,设计了一种红外微电脑自动泵液器,不同于以往所见到的所有的给液器。即插好用是该产品的主要特点和优点,安装无需打孔破坏墙面,补液无需灌装,杜绝了液体的二次污染,使用无接触,更卫生、方便,是取代传统香皂及其他瓶装、泵装洗护产品的时尚而经济的选择。他由单片机控制,克服了普通工业控制中常见的多回路、耦合、干扰等多种情况,可设定出液量,具有抗干扰能力强、无误操作、低压报警、省电节能等特点。不仅适用于家庭,也适用于公共单位,如:医院、银行、政府机构、学校等。
1 系统总体设计
该系统能自动探测有无物体靠近出液口,探测距离为15~20 cm,LED显示器粗略显示容器内洗涤剂的剩余量,分为3种情况:
(1) 最低的一段LED亮说明洗涤剂剩余量较少,需要尽快补充;
(2) 最低段和中间段同时亮说明洗涤剂充足;
(3) 三段同时亮说明容器内洗涤剂的已经超过安全警戒线,不能再继续加入,段间分隔误差:±5 mm。
另外系统备有操作按键一个,用于选择流量,开机时默认值为小流量,按1次按键后选择中流量,按2次选择大流量,按3次后进入清洗模式,再按一次退出清洗模式并选择小流量。
自动给液系统的组成框图如图1所示。
LED显示器用于显示容器内液体的粗略剩余量,该显示器为三段条形LED显示器,竖直安装于出液器外壳上。
红外线发射、接收器这两个装置相互配合构成一个主动式红外线探测雷达,用于探测有无物体接近出液口,探测距离为15~20 cm,红外线发射载波频率为38.4 kHz,由微控制器(MCU)内部的定时器对主时钟分频得到;接收头的中心频率为39.7 kHz;通过调节发射电流来调节探测距离。
液位传感器 该传感器为电阻式传感器,通过一个带有旋转轴的浮球带动电位器旋转,从而把液面高度的变化转换为电阻的变化,然后在该电阻中通过一定的电流,就间接的把液面变化转换为电压的变化,微控制器(MCU)通过模数转换(ADC)读取该电阻值就可以获得液面的高度值,ADC转换精度8位。
串行接口 该接口为备用接口,用于今后系统的扩展,此外MCU还通过该接口把液面高度值送往其他系统,传输速率为1 200 b/s,可以用PC机或其他具有UART单元的系统接收该数据。
2 系统硬件结构
MCU引脚定义如表1所示:
3 系统软件结构
3.1 主程序流程图
主程序流程框图如图2所示,他主要完成初始化工作,进行目标检测,控制出液,并且显示液位情况,整个程序中大量地调用了其他子程序,为了方便不再一一列出其他子程序框图,主程序采用查询方式,初始化完成后一直处在等待响应状态。
定时器中断子程序,本子程序在整个系统中承担了红外检测的设置工作,单片机的设计中,定时器是个重要环节,本设计中采用定时器0中断的工作方式,中断程序流程图如图3所示。
出液控制子程序是本设计中的重要部分,他根据目标检测的结果控制步进电机的工作,程序流程图大致如图4所示。
3.2 MCU内部RAM分配
AT89C2051内部共有128 B的RAM,做如下分配:
00H~07H:工作寄存器组(R0~R7),作为通用寄存器使用。
10H~14H:液面高度采样数据缓冲区(ADCBuff)。
16H:软件定时器(SoftTimel)。
17H:液面高度值(OldADCOut)。
1FH:键值(KeyValue)。
20H:工作标志组0(WF0)。
5FH:流量控制值(FluxValue)。
60H~7H:32 B的系统堆栈(STACK)。
3.3 标志位的分配
F_Xms:WF0.0,定时器0中断服务标志,在定时器0中断服务程序结束时置位,在软件定时器操作程序中查询该标志后复位。该标志位主要用于通知系统程序"一次定时器中断已经处理完毕"。
SendEN:WF0.1,主动红外探测器发射开关,该标志置位时允许红外探测器向外发射38.4 kHz红外探测信号,复位时则不允许发射。该标志在红外探测器启动时置位,在探测器关闭时复位。
DetEN:WF0.2,红外探测开关,该标志置位时系统启动红外探测器探测目标,复位时系统不启动探测器。该标志在系统退出守候模式时置位,在探测到目标后复位。
MTCEN:WF0.3,电机运转,标志置位时表明电机处于运转状态,系统检查运转时间是否结束,如果MTCEN和DetEN都复位,系统将进入守候式:既不探测目标,也不启动电机,3 s后自动退出守候模式。该标志在红外探测器探测到目标并启动电机后置位,电机运转时间结束后复位。
WashMode:WF0.4,清洗标志,标志置位时表明系统处于清洗模式下,系统的其他功能将被关闭,复位时关闭清洗功能。该标志在用户启动清洗功能时置位,关闭清洗功能时复位。
KeyST:WF0.5,按键状态标志,标志置位时表明按键处于释放状态,系统检测按键是否按下,复位时表明按键已经按下,系统等待按键释放。该标志在检测到按键释放时置位,在检测到按键按下时复位。
KeyLPF:WF0.6,按键检测消除抖动控制位。
4 结 语
该设计的通用性很强,性价比高,可以应用于许多非接触式的给液系统,如:水龙头自动给水感应器;感应洗手器;自动控制感应水龙头;自动淋浴器;自动给皂器;感应烘手机等。本文介绍的设计思想可以推广到其他类似的液位及出液量控制系统中。