管道煤气遥控阀电路设计

描述

管道燃气进入城乡给寻常百姓带来生活便利的同时,也带来了不可忽视的安全隐患。家用燃气报警器应运而生,作为报警器的配套产品——管道切断阀,即可从源头上解决用气的安全问题。

实际上,由于民宅早期设计结构不尽合理或不宜破坏原有装修等原因,线控产品的安装多有不便。家用管道燃气安全遥控切断阀可较好地解决此类问题。该阀是管道燃气管路指令执行机构,在管道压力不大于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重返休眠。

燃气

附程序清单:

; 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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分