1設(shè)計(jì)思路
利用熱電偶傳感器采集天然氣燃燒時(shí)的火焰溫度,一般天然氣燃燒時(shí)的溫度為600度——850度之間。考慮到天然氣質(zhì)量可能造成燃燒溫度稍低,認(rèn)為采集到的溫度大于500度,則有火焰燃燒。
利用氣流傳感器檢測天然氣管道中是否有天然氣流動(dòng)。
利用2.4G無線模塊將 狀態(tài)上傳到主機(jī),和接收主機(jī)下發(fā)的指令。
3完成功能
當(dāng)我們正常使用燃?xì)鈺r(shí),燃?xì)夤艿纼?nèi)有天然氣流動(dòng),爐灶上有火焰燃燒,這時(shí)我們可以用來煮飯或燒水。但是發(fā)生故障時(shí):比如長時(shí)間燒水或煮飯,無人看管,導(dǎo)致 沸水溢出,將火焰澆滅,致使天然氣泄漏;天然氣管道老化,致使天然氣泄漏。這時(shí)通過檢測是否有天然氣流動(dòng)和爐灶上是否有火焰燃燒來判斷是否有故障發(fā)生,當(dāng)有故障發(fā)生時(shí)驅(qū)動(dòng)電動(dòng)閥門切斷天然氣, 并將故障上發(fā)給主機(jī),報(bào)警。
可以定時(shí)用氣,在主機(jī)上設(shè)置時(shí)間,主機(jī)將命令下發(fā),時(shí)間到達(dá)后,切斷天然氣。
4方案框圖
實(shí)物圖(從機(jī))
安裝于煤氣灶上
***********************************
*函 數(shù) 名: Relay_Switch()
*功能說明: 電磁閥開關(guān)
*形 參:0---關(guān)閥,1---開閥,
*說明:若閥門新的狀態(tài)與舊的狀態(tài)不一樣,則執(zhí)行動(dòng)作,并檢測閥門反饋的位置信號
若15s內(nèi)閥門仍沒有到達(dá)極限位置,則關(guān)閉閥門,認(rèn)為閥門故障
************************************
1. /////水閥 動(dòng)作 狀態(tài) 檢測 /////
2. if(Relay_kongzhi != 0)
3. {
4. Relay_kongzhi_time++; //氣閥控制時(shí)間
5. if(Relay_kongzhi_time == 400 ) //氣閥控制時(shí)間 50ms一次 20s
6. {
7. Relay_kongzhi_time=0; //氣閥控制時(shí)間清零
8. Relay_kongzhi=0; //氣閥控制標(biāo)志,0不動(dòng)作 1開閥 2關(guān)閥
9. // Relay_kongzhi_ERR=1;//氣閥控制狀態(tài) 0閥無故障 1閥有故障
10. }
11. }else if(Relay_kongzhi == 0) //氣閥控制標(biāo)志,0不動(dòng)作 1開閥 2關(guān)閥
*************************
*函 數(shù) 名: Air_Detec
*功能說明: 氣流檢測
*************************
1. //主機(jī)下發(fā)火焰狀態(tài)
2. if( Air_Flow_Read() ) //讀取氣體狀態(tài) 1為有氣體
3. //if( 1 )
4. {
5. Air_Flow_State=1; //有氣體 氣體流動(dòng)標(biāo)志為 1
6.
7. if(Fir_State==0) //若無火焰(則開始漏氣計(jì)時(shí));若10S內(nèi)仍沒火焰,則認(rèn)為漏氣
8. AirTim++; //火焰狀態(tài) ,主機(jī)下發(fā)
9. else
10. AirTim = 0; //有火焰 ,漏氣計(jì)時(shí)清零
11.
12. Air_0_time=0; //無氣體流動(dòng)時(shí)間
13. }else
14. {
15. if(++Air_0_time>=2) //連續(xù)兩次無氣體流動(dòng),認(rèn)為無氣體
16. {
17. Air_0_time = 0; //無氣體流動(dòng)時(shí)間清零
18. AirTim = 0; //漏氣時(shí)間清零
19. Air_Flow_State=0;//氣體流動(dòng)標(biāo)志為 0 無氣體
20. if( (Air_Flow_State==1) && (Fir_State==0) && (AirTim>=100) )//有氣體流動(dòng) 并且連續(xù)10S內(nèi)無火焰
21. { //則開始報(bào)警
22. Relay_State = 0x02;//閥狀態(tài),主動(dòng)關(guān)閥
23. Air_Flow_State=0x01;//微流量傳感器狀態(tài)
24. LED_Con(ON);
25. AirTim = 0;
**********************************
*函 數(shù) 名: Wireless_Detec
*功能說明: 無線通訊數(shù)據(jù)處理
**********************************
1. case 0x03: //主機(jī)下發(fā)配置信息,
2. {
3. // Water_Num = RX_Buff[4];
4. // WriteByte(Water_Lou_Addr,Water_Num); //記錄水流瞬時(shí)流量值
5. }break;
6. case 0x04: //主機(jī)下發(fā)動(dòng)作,本模塊用
7. {
8. i = RX_Buff[3]; //氣閥的控制if(i==0x00)
9. {
10. Relay_State = 0x00;
11. }
12. else
13. {
14. Relay_State = 0x01;
15. Air_Flow_State=0x01;//微流量傳感器狀態(tài)
16. }
17. TX_Buff[2] = 0x02;
18. TX_Buff[3] = Relay_State;
19. // TX_Buff[3] = 0x0;
20. TX_Buff[4] = 0x00;
21. crcdat = getCRC16(TX_Buff,Modbus_Buff_Len - 2);//前5個(gè)字節(jié)校驗(yàn)
22. TX_Buff[5] = crcdat & 0xff;
23. TX_Buff[6] = (crcdat >> 8) & 0xff;
24. } break;
25. case 0x05: //主機(jī)索要本模塊狀態(tài)
26. {if( (i&0x02) != 0 )
27. Relay_State=0x00
28. TX_Buff[2] = 0; //子功能碼
29. TX_Buff[3] = Air_Flow_State;//微流量傳感器狀態(tài)
30. TX_Buff[4] = Relay_State; //電磁閥狀態(tài)
31. // TX_Buff[3] = 0;//微流量傳感器狀態(tài)
32. // TX_Buff[4] = 1; //電磁閥狀態(tài)
33. crcdat = getCRC16(TX_Buff,Modbus_Buff_Len - 2);//前5個(gè)字節(jié)校驗(yàn)
34. TX_Buff[5] = crcdat & 0xff;
35. TX_Buff[6] = (crcdat >> 8) & 0xff;
-
管理系統(tǒng)
+關(guān)注
關(guān)注
1文章
2521瀏覽量
35953 -
無線模塊
+關(guān)注
關(guān)注
12文章
624瀏覽量
48537
發(fā)布評論請先 登錄
相關(guān)推薦
評論