管道燃氣進入城鄉給尋常百姓帶來生活便利的同時,也帶來了不可忽視的安全隱患。家用燃氣報警器應運而生,作為報警器的配套產品——管道切斷閥,即可從源頭上解決用氣的安全問題。
實際上,由于民宅早期設計結構不盡合理或不宜破壞原有裝修等原因,線控產品的安裝多有不便。家用管道燃氣安全遙控切斷閥可較好地解決此類問題。該閥是管道燃氣管路指令執行機構,在管道壓力不大于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
-
報警器
+關注
關注
12文章
927瀏覽量
108851 -
燃氣
+關注
關注
0文章
57瀏覽量
14818
發布評論請先 登錄
相關推薦
評論