找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于PIC单片机的新型冲水器的设计

[复制链接]
admin 发表于 2013-4-9 09:55:38 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本文设计了一种基于PIC 单片机的低成本、高可靠性的节水、节能、清洁的厕所冲水器的控制器,讨论了该控制器的设计思路,给出了相关的硬件电路和软件流程。最后通过实际应用证明该控制器运行可靠,能产生一定的经济价值。

         1. 引言
          传统的手按式厕所冲水器冲水系统采用的是全机械构造,冲水时需要人工手按,既浪费了时间和水资源,又因手的接触而造成不卫生,还会因忘记冲水而造成环境污染,为适应日益加快的现代生活的节奏,节约水资源,创造一个干净、舒适、卫生的环境,稳定、可靠、方便的感应式冲水器亟待出现,特别是在大型商场、车站、学校等人员流动比较大的卫生间,节水型感应式冲水器显得尤为重要[1,2]。
          然而,一般的感应式冲水器因其硬件电路的设计、单片机的选择及冲水阀门的选择不是非常恰当,会造成制造成本高,电量消耗大,易出现误感应、不冲水等不稳定因素,不仅浪费了能源还给使用者造成一些不必要的麻烦。针对这些问题,我们设计了一套制造成本低且稳定性高的冲水系统。
          2. 系统总体方案设计
         智能节水小便冲洗器的基本设计思想是利用红外传感器感应入厕人的到来,产生电脉冲信号输入到PIC12C508A单片机,通过软件做出智能判断,从而控制电磁阀开启或闭合。硬件电路以低功耗的PIC12C508A单片机为核心。由热释红外检测电路、阀门驱动电路、电源电压变换电路等组成其外围电路。为简化系统软件设计难度、减少电线连接数量、减小空间体积、降低成本,我们使红外探头、单片机及电磁阀用一个总电源,中间用变压器变压,考虑到电源的稳定性和减少干扰噪声的影响,我们通过反复实验设计成了电路的控制卡模块,单片机嵌入其上,只留出接线端子作为红外探头和电磁阀与控制卡的接口,原理示意见图1。
  
   080124134928750201106081905123608.jpg
  图1 智能节水小便冲洗器控制卡的原理示意图
         3. 单片机介绍
         本设计采用的PIC12C508A单片机是由美国Microchip公司较早推出的流行于市场的8位单片机,它的最大优点表现为引脚少、低功耗、全静态、体积小,如图2所示。
  
   080124134929181201106081905123609.jpg
  图2  PIC12C508A引脚
          采用指令总线和数据总线分开的哈佛双线结构,突破了约束单片机速度的瓶颈[3-6]。PIC12C508A单片机是作为减少系统价格和功率而设计的特殊单片机。采用CMOS工艺,价格低廉、功能齐全,可在高频下工作,功耗极低,供电电压为2.5~5.5V,运行时功耗电流小于2mA,待机时功耗电流小于1μA,能方便地采用电池直接供电。它可以采用看门狗或外部事件周期性地唤醒自己,执行完相应代码后又回到SLEEP模式。在SLEEP模式下,晶振停止振荡,以减少系统功耗,而此时单片机只有几个微安的电流,由此达到了省电的目的,体现了微控制器工业的新趋势,也是本设计采用这种单片机做控制器的原因.并且PIC单片机以其较大的电流驱动能力(每个I/O脚的最大控电流为25mA)可以直接驱动数码管(LED)显示。
          每个管脚的功能如下:
          OSC1、OSC2:OSC1是时钟输入端,输入信号可由外接晶体片内自激振荡器或由外部晶体振荡器提供;OSC2为时钟输出端,在RC振荡器时输出4分频信号。
          TOCK1:脉冲计数器的外加脉冲是输入端,信号输入第一级为施密特触发器。
          GP0~GP5:双向I/O口,可由程序设计输入或输出。其中GP3为单向输入口。
          MCLR:复位信号。
           VDD、VSS:电源及地。
           4. 控制卡电路设计
         控制卡作为整个自动冲水系统的控制核心,要求其电路在稳定的基础上简单合理,并且从成本要求和实际应用场合考虑,控制卡体积要尽量小。
         单片机、电磁阀、红外探头需要不同的电源,按常规需要几个电压变换装置,为了节省控制卡的空间体积,我们采用了一个主线圈,两个副线圈的变压模式,这样可以大大节省空间,降低成本。
          在选单片机时,考虑了单片机管脚的充分利用,以尽量减低成本。我们所要的信息只有红外探头的监测信号,只需一个I/O口作为输入口。另外,我们要通过软件控制电磁阀和发光二极管,需要两个I/O口作为输出口。因此至少要用到三个I/O口,选单片机PIC12C508A足以满足要求,并且PIC12C508A管脚输出的电流最大为25m A足以直接驱动发光二极管,省去了功率放大的设计,从而节省了成本,如图3所示。管脚7输出的电压信号经三极管放。
  
   080124134929352201106081905123610.jpg
  图3 控制卡电路图
          大为12V,这个电信号经单通二极管控制电磁阀的开闭,这里的单通二极管所起的作用是防止电磁阀产生的干扰信号进入单片机。平时上拉电阻把管脚5设为高电平,当红外探头检测到信号时,送入一低电平,单片机通过电平变换的判断来控制电磁阀的通断和指示灯的亮灭。
          5. 控制卡单片机程序设计
          5.1 程序流程图
         为了避免因假信号而引起误判断的发生,我们在程序设计的第一次检验是否有输入信号后延时了三秒,目的是消除红外探头前未如厕而走动的人员所引起的信号。三秒后程序进入第二次信号判断, 如果信号仍存在,则把它作为真正有效的信号,如果判断出信号消除则说明第一次检测到的信号为假信号,则返回上一级信号判断,如果判断出信号未消除则把它作为有效信号并进入第三次信号判断,循环执行,直到检测出信号消失,这时单片机通过软件把7脚和2脚同时置高电位,从而使电磁阀打开、指示灯点亮。之后的延时十秒是冲水,经过反复试验在本电磁阀下冲水十秒是最佳选择时间,在把洁具完全冲洗干净的基础上节约了水源,达到了设计目的。十秒后电磁阀和指示灯同时关闭,进入新一轮的信号检测。如图4所示。
  
   080124134929833201106081905123611.jpg
  图4  流程图
         在每次冲水后或上电复位后,单片机将自动检测三分钟内是否有输入信号,如果没有,单片机将进入睡眠状态,此时单片机内部只有几个微安的电流,达到了节电的目的。睡眠状态下的单片机可以随时被外界信号唤醒。
          5.2单片机设置
          为实现上述功能,我们单片机设置如下:
          CONFIG=×××××××00110:禁止MCLR引脚复位、使能程序代码保护、使能WDT、使用内部RC振荡器;
          TRIS=00001100:GP0、GP5端口设为输出,GP2设为输入,其余为输出。
          OPTION=00001111:使用引脚唤醒功能、GP3端口具有弱上拉功能、定时器模块的时钟源取至内部振荡器=Fosc/4、将预分频器分配给WDT、预分频率=1:128;
         6 结论
        (1)与同类冲水器相比,本冲水器在软件冲水时间管理、减少误判断方面体现了节水的设
          设计思路;在单片机的低功耗及其睡眠模式功能的设定上体现了节能的设计思路。
       (2)实际应用一年来本冲水器未出现过误判断、不冲水等不良现象,本控制卡的性价比高,每块卡的成本不超过20元。检测卡体积小,易实现嵌入式安装,使用方便。
        (3)感应式的检测方式避免了人手与冲水控制开关的接触,减少了疾病传播的机会,可以说是一个安全健康的装置。受到了厂家和用户的好评。
         本文创新点:
         采用了低功耗PIC单片机作为控制器的控制核心,并对根据需要对其进行开发,合理设计了控制卡电路和单片机控制流程,使得本系统达到了低成本高、可靠性、省电、节水、清洁的设计目的。
         参考文献
          1. 邓建平。PIC12C508在自动冲水器中的应用,苏州职业大学学报[J]。2001年第2期: 76-77
          2. 董磊,王平,胡慧慧。 基于PIC单片机的智能公厕自动冲水装置设计,节能[J。2005年第4期(总第273期): 45-46
          3. 李学海。PIC单片机实用教程。北京:北京航空航天大学出版社[M],2002
          4. 黄世泽,曾萍,郭其一。PIC单片机的应用设计技巧,单片机与嵌入式系统应用[J]。2006年第8期:68-70
          5. 李德链。PIC单片机内部硬件资源结构特点及编程,微计算机信息[J]。2000,16(6):74-76
           6. 俞光昀等。PIC系列单片机开发应用技术。北京:北京电子工业出版社,2000
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-21 21:27 , Processed in 0.058230 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表