当前位置: 首页 > article >正文

【STM32-HAL库】火焰传感器(STM32F407ZGT6)(附带工程下载链接)

一、TEMT6000光照强度传感器

火焰传感器是一种能够检测火焰的传感器,它通过检测空气中的特定波长的光线来检测火焰的存在,并输出一个信号来通知系统发生了火灾

工作原理

火焰传感器的工作原理基于光学检测技术。当火焰燃烧时,会产生一些特定波长的光线,这些光线可以被称为“火焰光谱”。火焰传感器利用光电效应,将这些特定波长的光线转换成电信号,从而检测火焰的存在。

火焰传感器的类型

  1. 紫外线检测原理:紫外线火焰传感器使用一种叫做“窗口”的玻璃来过滤掉可见光和红外线,只允许紫外线透过。当火焰燃烧时,会产生大量的紫外线,紫外火焰传感器可以用探测火源发出的400纳米以下热辐射,这些紫外线会被传感器检测到,并将其转换成电信号。紫外线火焰传感器检测到的是火焰产生的紫外线辐射能量,因此它的检测速度非常快,适用于需要快速响应的场合。

  2. 红外线检测原理:红外线火焰传感器则利用火焰产生的红外辐射能量来检测火焰的存在。红外线火焰传感器使用一种特殊的光学滤波器,只允许特定波长的红外线透过。当火焰燃烧时,会产生大量的红外线,红外火焰传感器能够探测到波长在700纳米~1000纳米范围内的红外线,这些红外线会被传感器检测到,并将其转换成电信号。红外线火焰传感器对于不同类型的火焰都具有很好的响应能力,因此适用于各种不同的应用场景1。

  3. 热电偶:热电偶是由两块金属制成的传感器,用于测量温度。这两块金属在一端焊接在一起,形成一个测量温度的结点。对于火焰感应,它广泛用于燃烧加热系统,以在火焰失效时切断燃料1。

火焰传感器的应用实例

火焰传感器在多个领域中发挥着重要作用:

  1. 火灾报警系统:作为火灾预警系统的关键组件,火焰传感器能够及时发现火焰并发出警报,从而采取相应的应对措施,保护人身和财产安全5。

  2. 工业安全:在工厂和实验室等场所,火焰传感器可以监测设备运行状态,防止因设备故障引发的火灾5。

  3. 智能家居:随着物联网技术的发展,火焰传感器与智能家居系统的结合越来越紧密,能够实现远程监控和早期火灾预警5。

  4. 森林防火:在森林中安装火焰传感器,可以实时监测森林火情,及时报警,减少火灾带来的损失5。

火焰传感器的技术细节

火焰传感器的技术细节包括其探测角度、探测距离、工作电压等。例如,一种火焰传感器可以检测火焰或波长在760-1100纳米范围内的光源,探测角度为60度,对火焰光谱特别灵敏。其探测距离和火焰的强度有关,例如以打火机测试,在半米内可检测到打火机的火焰。工作电压为3.3V-5V

本次所使用到的火焰传感器主要组成由一个火焰传感器以及一个比较器组成。

该模块有模拟信号和一个数字信号(离散信号)输出

模块介绍

1、可以检测火焰或者波长在760纳米~1100纳米范围内的光源,打火机测试火焰距离为80cm,对火焰越大,测试距离越远
2、探测角度60度左右,对火焰光谱特别灵敏
3、灵敏度可调(图中蓝色数字电位器调节)
4、比较器输出,信号干净,波形好,驱动能力强,超过15mA
5、配可调精密电位器调节灵敏度
6、工作电压3.3V-5V
7、输出形式:DO数字开关量输出(0和1)和AO拟电压输出
8、设有固定螺栓孔,方便安装
9、使用宽电压LM393比较器

实物图

 电路原理图

二、cubeMX配置

 1、新建工程

 可以参考我的新建工程系列教程

stm32-HAL库+cubeMX新建工程教程系列https://blog.csdn.net/qq_39150957/article/details/143087351?fromshare=blogdetail&sharetype=blogdetail&sharerId=143087351&sharerefer=PC&sharesource=qq_39150957&sharefrom=from_linkicon-default.png?t=O83Ahttps://blog.csdn.net/qq_39150957/article/details/143087351?fromshare=blogdetail&sharetype=blogdetail&sharerId=143087351&sharerefer=PC&sharesource=qq_39150957&sharefrom=from_link

2、配置ADC

 3、配置串口

 可以参考我的文章,配置串口教程以及如何重定向串口。重定向串口之后即可直接使用【printf】函数直接向串口发送数据

【STM32-HAL库】串口配置、printf函数重定向https://blog.csdn.net/qq_39150957/article/details/136638229?fromshare=blogdetail&sharetype=blogdetail&sharerId=136638229&sharerefer=PC&sharesource=qq_39150957&sharefrom=from_linkicon-default.png?t=O83Ahttps://blog.csdn.net/qq_39150957/article/details/136638229?fromshare=blogdetail&sharetype=blogdetail&sharerId=136638229&sharerefer=PC&sharesource=qq_39150957&sharefrom=from_link

三、编写代码

main函数中

 /* USER CODE BEGIN 2 */

int ADC_value = 0 ;
 
float voltage = 0 ;




  /* USER CODE END 2 */

while中

HAL_ADC_Start(&hadc1); //开始ADC转换

HAL_ADC_PollForConversion(&hadc1,100); //等待ADC转换完成,第二个参数表示超时时间,单位ms

ADC_value = HAL_ADC_GetValue(&hadc1);//获取ADC采样值

voltage = (float)(ADC_value *3.3/4096);//ADC采样值到电压的转换

printf("火焰:%.3f\r\n",voltage);

HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_8);

HAL_Delay(200);

四、运行效果

有火焰靠近(绿色LED亮起)

 无火焰(绿色LED熄灭)

可以看到,当有火焰时候,数值会变低

下载工程

提取码:6666icon-default.png?t=O83Ahttps://pan.baidu.com/s/1dRjRRREFi7asZRieYwUsrA?pwd=6666


http://www.kler.cn/a/370187.html

相关文章:

  • P8738 [蓝桥杯 2020 国 C] 天干地支
  • STM32 FreeRTOS 任务挂起和恢复---实验
  • Java高频面试之SE-15
  • 解锁Java中的国密算法:安全保障的密钥
  • 故障诊断 | BWO白鲸算法优化KELM故障诊断(Matlab)
  • MongoDB vs Redis:相似与区别
  • spring-第十二章 GoF代理模式
  • Android Studio安装完成后,下载gradle-7.4-bin.zip出现连接超时
  • 将 Logstash 管道转换为 OpenTelemetry Collector 管道
  • JavaScript如何判断变量数据类型 - 2024最新版前端秋招面试短期突击面试题【100道】
  • SpringBoot 集成RabbitMQ 实现钉钉日报定时发送功能
  • [LeetCode] 526. 优美的排列
  • Docker | 校园网上docker pull或者docker run失败的一种解决方法
  • 探索C嘎嘎:认识string类
  • 【大数据分析与挖掘模型】matlab实现——非线性回归预测模型
  • 【计算机网络 - 基础问题】每日 3 题(五十七)
  • 《等保测评:安全与发展的双轮驱动》
  • 14 C语言中的关键字
  • Prometheus+Telegraf实现自定义监控项配置
  • RDD的常用转换算子
  • Qt实现播放器顶部、底部悬浮工具栏
  • typescript学习计划(一)--简单介绍typescript
  • VUE组件学习 | 六、v-if, v-else-if, v-else组件
  • OpenAI否认今年将发布“Orion”模型,其语音转写工具Whisper被曝存在重大缺陷|AI日报
  • 【C++】--------- 内存管理
  • 【spark】spark structrued streaming读写kafka 使用kerberos认证