0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于GD32F190R8的厨房用气管理系统设计方案

基于GD32F190R8的厨房用气管理系统设计方案

来源: elecfans
2021-08-18
类别:工业控制
eye 9
文章创建人 拍明

原标题:基于GD32F190R8的厨房用气管理系统设计方案

  1设计思路

  利用热电偶传感器采集天然气燃烧时的火焰温度,一般天然气燃烧时的温度为600度——850度之间。考虑到天然气质量可能造成燃烧温度稍低,认为采集到的温度大于500度,则有火焰燃烧。

  利用气流传感器检测天然气管道中是否有天然气流动。

  利用2.4G无线模块将 状态上传到主机,和接收主机下发的指令。

  3完成功能

  当我们正常使用燃气时,燃气管道内有天然气流动,炉灶上有火焰燃烧,这时我们可以用来煮饭或烧水。但是发生故障时:比如长时间烧水或煮饭,无人看管,导致 沸水溢出,将火焰浇灭,致使天然气泄漏;天然气管道老化,致使天然气泄漏。这时通过检测是否有天然气流动和炉灶上是否有火焰燃烧来判断是否有故障发生,当有故障发生时驱动电动阀门切断天然气, 并将故障上发给主机,报警。

  可以定时用气,在主机上设置时间,主机将命令下发,时间到达后,切断天然气。

  4方案框图

  

1.png


  实物图(从机)

  安装于煤气灶上

  ***********************************

  *函 数 名: Relay_Switch()

  *功能说明: 电磁阀开关

  *形 参:0---关阀,1---开阀,

  *说明:若阀门新的状态与旧的状态不一样,则执行动作,并检测阀门反馈的位置信号

  若15s内阀门仍没有到达极限位置,则关闭阀门,认为阀门故障

  ************************************

  1. /////水阀 动作 状态 检测 /////

  2. if(Relay_kongzhi != 0)

  3. {

  4. Relay_kongzhi_time++; //气阀控制时间

  5. if(Relay_kongzhi_time == 400 ) //气阀控制时间 50ms一次 20s

  6. {

  7. Relay_kongzhi_time=0; //气阀控制时间清零

  8. Relay_kongzhi=0; //气阀控制标志,0不动作 1开阀 2关阀

  9. // Relay_kongzhi_ERR=1;//气阀控制状态 0阀无故障 1阀有故障

  10. }

  11. }else if(Relay_kongzhi == 0) //气阀控制标志,0不动作 1开阀 2关阀

  *************************

  *函 数 名: Air_Detec

  *功能说明: 气流检测

  *************************

  1. //主机下发火焰状态

  2. if( Air_Flow_Read() ) //读取气体状态 1为有气体

  3. //if( 1 )

  4. {

  5. Air_Flow_State=1; //有气体 气体流动标志为 1

  6.

  7. if(Fir_State==0) //若无火焰(则开始漏气计时);若10S内仍没火焰,则认为漏气

  8. AirTim++; //火焰状态 ,主机下发

  9. else

  10. AirTim = 0; //有火焰 ,漏气计时清零

  11.

  12. Air_0_time=0; //无气体流动时间

  13. }else

  14. {

  15. if(++Air_0_time>=2) //连续两次无气体流动,认为无气体

  16. {

  17. Air_0_time = 0; //无气体流动时间清零

  18. AirTim = 0; //漏气时间清零

  19. Air_Flow_State=0;//气体流动标志为 0 无气体

  20. if( (Air_Flow_State==1) && (Fir_State==0) && (AirTim>=100) )//有气体流动 并且连续10S内无火焰

  21. { //则开始报警

  22. Relay_State = 0x02;//阀状态,主动关阀

  23. Air_Flow_State=0x01;//微流量传感器状态

  24. LED_Con(ON);

  25. AirTim = 0;

  **********************************

  *函 数 名: Wireless_Detec

  *功能说明: 无线通讯数据处理

  **********************************

  1. case 0x03: //主机下发配置信息,

  2. {

  3. // Water_Num = RX_Buff[4];

  4. // WriteByte(Water_Lou_Addr,Water_Num); //记录水流瞬时流量值

  5. }break;

  6. case 0x04: //主机下发动作,本模块用

  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;//微流量传感器状态

  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个字节校验

  22. TX_Buff[5] = crcdat & 0xff;

  23. TX_Buff[6] = (crcdat >> 8) & 0xff;

  24. } break;

  25. case 0x05: //主机索要本模块状态

  26. {if( (i&0x02) != 0 )

  27. Relay_State=0x00

  28. TX_Buff[2] = 0; //子功能码

  29. TX_Buff[3] = Air_Flow_State;//微流量传感器状态

  30. TX_Buff[4] = Relay_State; //电磁阀状态

  31. // TX_Buff[3] = 0;//微流量传感器状态

  32. // TX_Buff[4] = 1; //电磁阀状态

  33. crcdat = getCRC16(TX_Buff,Modbus_Buff_Len - 2);//前5个字节校验

  34. TX_Buff[5] = crcdat & 0xff;

  35. TX_Buff[6] = (crcdat >> 8) & 0xff;


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案