电子制作天地网站欢迎您的光临,欢迎提出宝贵意见或建议。本站信息产业部备案: 粤ICP备05114582号
管道煤气遥控阀
Solenoid valve

时间:2012-11-18 20:25:41 来源:互联网 作者:不详 编辑: 【关闭


管道煤气遥控阀,Solenoid valve

关键字:遥控电磁阀电路图,PIC12C508

作者:陈健
  管道燃气进入城乡给寻常百姓带来生活便利的同时,也带来了不可忽视的安全隐患。家用燃气报警器应运而生,作为报警器的配套产品——管道切断阀,即可从源头上解决用气的安全问题。
  实际上,由于民宅早期设计结构不尽合理或不宜破坏原有装修等原因,线控产品的安装多有不便。家用管道燃气安全遥控切断阀可较好地解决此类问题。该阀是管道燃气管路指令执行机构,在管道压力不大于0.3Mpa时,其具有省电、动作灵活、控制可靠、安装使用方便等特点。
  由于遥控阀由三节7号碱性电池供电,因此电路的省电设计是其技术的关键所在。电路原理如图所示。
  整个电路的控制核心是U1(PIC12C508A),其休眠工作电流为1μA,U3(74HCTl4)中的三个反相器组成一个多谐振荡器,用于控制无线接收电路分时供电,三极管Q1、2、3、4(KTC3876Y)以及Q5、6(KIA1505Y)组成可靠的推挽电路,使得阀体能够开、关双稳态工作。
  采取上述一系列措施后,经合理的程序设计,可将整机平均电流控制在20μA左右,三节普通的7号碱性电池供电可维持工作一年左右。
  本电路无线接受频点为315MHz。其工作原理可表述如下:
  上电后,CPU U1即进入休眠,电池分时给无线接受模块JO4E供电。当收到遥控指令时,通过U2:PT2272-M4/L4解码,并与S1预设值相符,即唤醒CPU并发出相应的控制指令,然后CPU重返休眠。
管道煤气遥控阀Solenoid valve
  附程序清单:
    ; set processor configuration word as
  ; 0000 0001 1010
  ; a) MCLR enabLED
  ; b) Code protection off
  ; c) WDT dISAbled
  ; d) internal RC oscillator
  list p= 12c508a
  list r= dec
  include “d:\mplab\p12c508a. inc”
  vt equ 0 ; pt2272data
  va equ 1 ; out +
  vd equ 2 ; out -
  s1 equ 3 ; button
  Count_3s equ 08h ; counter 3s
  flag0    equ O9h ; flagO
  relay    equ 01h ; 0-- on 1-- off
  org 0
  goto start
  start
  ; initialize and start
  btfsc STATUS, GPWUF ; wake up from sleep on
  PIN change ?
  goto main 1 ;y
  movlw 0 ; all lo
  movwf GP 10
  movlw 00001 001 b ; gpO, gp3 i/ P gp1,2,4,5
  tris GP I0
  clrf TMR 0 ; clear tmrO & prescaler
  movlw 010001 1 1b ; tmrO enable with 1 : 256
  pre scaler
  opti on
  ; open valve
  movlw     20   ; 3s
  movwf     count_3s
  bsf GP IO, va ; open valve
  bcf GP IO, Vd
  call delay
  bcf GP IO, va ; disable valve
  bcf GP IO, vd
  bcf flag0, relay ; set relay on flag
  main
  nop
  nop
  sleep
  nop
  nop
  goto main ; n:
  ; sleep wake up* * *  * * * *
  Main1
  movlw 0 ; all l0
  movwf GPI0
  movlw 00001001b ; gp0, gp3 i/ P gp1,2.4,5
  0/P
  tris GPI0
  clrf TMRO ; clear tmr0 & prescaler
  movlw 01000111b ; tmr0 enable with 1 : 256
  pre scaler
  option
  btfsc flagO. relay ; relay off ?
  goto main2
  movlw 200
  movwf count_3s
  main 11  nop
  nop
  nop
  nop
  nop
  btfsc GPI0, Vt ; Vt high ?
  goto main 21
  nop
  nop
  nop
  nop
  nop
  decfsz count_3s, f ; 3s complete ?
  goto main11
  goto main2
  ; close valve
  main21
  movlw 20 ; 3s
  movwf count_3s
  bcf GPI0, va ; open valve
  bSf GPI0, Vd
  call delay
  bcf GPI0, va ; disable valve
  bcf GPI10, vd
  bsf flag0, relay ; set relay off flag
  main2
  nop
  nop
  sleep
  nop
  nop
  goto main2
  delay
  movlw 195 ; is tmro = 195 / 50ms?
  xorwf TMRO, w
  btfSs STATUS, Z ; Skip if = 195
  goto delay
  clrf TMRO
  decfsz count_3s, f ; 3s complete ?
  goto delay
  retu rn
  end
 


◆相关文章◆
◆ 编辑推荐 ◆
用户:
更多评论
您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。60个字以内
留言:
验证码:

免责声明:
●本站所有内容均来自网络,以学习为目的,如果侵犯了您的利益,请来信告知,立即删除,站长邮件为"diy+dzdiy.com",请将"+"变更为"@"
●电子制作存在风险,请注意人身安全,如果您在根据本站电路进行制作过程中发生伤害,本站不负任何责任。

版权所有:www.dzdiy.com ? 2001-2019 本站信息产业部备案: 粤ICP备05114582号