找回密码
 注册
关于网站域名变更的通知
查看: 164|回复: 2
打印 上一主题 下一主题

红外额温枪软件算法 MCU程序分享

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-6-7 10:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
版本历史
8 c9 K8 t( n; E' ]! J4 _! e" E日期        版本    负责人         IAR     MDK         描述
9 [2 J( P7 a9 q! {2020-02-20  0.1      Lux           xxx     5.26       first version
& A& b2 B9 A, L+ D  c- E$ c================================================================================
  N* E8 Q" [% @3 ^% y: O功能描述% r- h+ H$ T' _; [8 \
================================================================================
( E1 f$ E+ B, f' s+ V& d+ K本额温枪样例为开发过程版本,旨在提供基本功能模块单元的操作及架构,为应用开发者提供快速原型构建,
: _; |1 Y) @: G: T) o将更多的精力用在业务开发上及系统调试上。2 X) K- M3 k8 ^, q6 y& t
6 O6 D" u2 Q9 g0 w3 a( r" ~  X  x
================================================================================
# E4 ?0 }4 f* `( R1 n2 z) |测试环境" T7 t- n" {. i! l# r  p9 B
================================================================================
/ f5 R! c2 d6 t9 ]- P8 x测试用板:+ ]3 T; t0 W: n5 J2 {  [8 ^
---------------------
% B" _0 I( |2 ], u& h. O7 z/ KHC32L13X_STK3 D0 z5 Z7 r. {) y
) w& e: a5 T% C7 p& ]% v3 g
辅助工具:
; k; \! w; m9 E% a9 G---------------------
9 p+ p0 }# x! f. K" X  N/ v1 {# ^1 I4 Y
配套硬件参考:
* l! ?9 [. n& I7 X1 Q---------------------4 y9 I! J) U9 O
“Hm-Meter-源文件.rar”及“Hm-Meter-PDF BOM.rar”8 T& P2 Z" i7 E2 t4 ~
/ z  S* H; d3 [$ K3 }( k" r+ f% |
================================================================================" |$ \8 O2 y9 k; T/ h
操作步骤
/ u7 N! @2 A5 c5 T% V- \+ @9 g0 d================================================================================' m* J8 ^. j" Z6 A+ M' B. Z2 H- P3 k# S
1) 程序编译后下载到HC32L13X_STK;' D. X- }7 D8 K+ Q- n
2) 复位或初次上电LCD全显闪烁两次,保持全显;- A, i  e" a+ K2 S3 P! x
3) 按下USER按键后进行数据采样(需外接参考电压及调理后的传感器信号)
4 {- N6 Y& u( |, D: a4 G4) LCD显示环境温度约1s,然后显示被测物温度约3s,最后LCD熄灭;
! o3 e% A' y: l/ W5) 可重复步骤3、4;9 Z* U) [# |8 O! c3 o6 r

# g0 f& i0 O2 h5 A4 e6 A$ A7 K) u================================================================================
  q6 a( [. ?) ?) Q8 M8 j+ h功能说明% g" q. o; P; U8 j) D& C
================================================================================" N% b$ f6 K) Q7 O9 B0 v" [6 t% d. d
1)打开工程编译并运行。7 W7 s' j" |; J$ I" n1 x
2)可根据不同的具体硬件功能修改"stkhc32l13x.h"板级接口文件,或自行定义功能。
/ q4 A1 Y( ?' E; w8 ^$ b3 m3)数据采集部分使用内部ADC连续16次采样取均值的方式采样外部经过OPA调理过的信号。! F% f) L+ _3 W) X, T
4) 显示部分提供了配套原理图“Hm-Meter-源文件.rar”及“Hm-Meter-PDF BOM.rar” 所使用LCD的数据结构及操作,同时包括HC32L13X_STK的LCD参考。
$ O+ i  {! b( G5) 数据处理部分算法仅针对当前实验室测试的一款传感器进行部分数据的简单整理,不代表通用算法。1 t, @( J7 m/ Z6 K9 z/ ~7 Z9 g
6) 按键及其他基础功能模块较为简单,通常为基本的IO操作,本应用提供了基本的初始化操作。& [0 @. m5 K' N6 f4 a: O. p  X3 y' |

  M5 X) @: [+ V2 K================================================================================
( O9 T/ C; ^8 d注意
8 F( P1 G8 `: H( w1 O) B5 H================================================================================2 O2 W' Z# E' k7 E
本样例实现了额温枪方案的基本方法及架构,基于华大mcu HC32L136进行构建,未经过充分产品级测试," Q# n( t' k# K( v" n
仅可为应用开发者提供快速原型参考,具体的端口、业务功能、数据处理应以实际采纳的硬件为准,进行程序修改及调试。4 j- |5 W3 M- M
================================================================================
9 Z1 s$ M: c( f  x+ l. m' u9 A2 H9 k8 j# ]* A0 b
单片机源程序如下:
2 z6 v; q; G; E7 d, ^7 @  Nint main(void)
/ l8 z  r! B/ Z{
3 m" z. ?- e- g7 \/ ?. _        /* 90379  s = 0.021052 室温25度,黑体30度 ADC 数据放大后得到 90379,计算出S校准系数
/ B# s: n6 d, C$ C3 {        这里放大多少倍都可以。主要是找到一个合适S值。但是这个指标必须准的。也就是所谓的校准
, U3 ^7 ~* U$ P0 j) W* g        */( r6 D0 t9 ~: i/ f( U( A8 v# _4 P% K
//        float V = 90379;   //红外ADC数据 4 w8 D" D* T6 D2 a; T1 l/ a7 h
//        float tt = 30;                  //目标温度
4 Z$ M) w2 U' ?2 w3 u; R+ v//        float ta = 25;                         //室温
4 |& W0 K2 \9 _: q2 e//        float s = 0.021052;  // 90379  s = 0.021052 S 校准系数3 m$ Y! a6 _6 l& i  h3 z
        " ?; m, v& B: R- n8 o3 R
//Tobj=(V/(s*5e-10*(1+2e-3*Tamb)+(Tamb+273.15)^4)^0.25-273.15;
. w. U) T: n" J9 y) M: M2 X. f  s4 k; U5 M. B6 _( L. r, z% S
         float Tobj = pow((tt + 273.15),4); 9 b7 J2 A# W0 c
        float Tamb = pow((ta + 273.15),4);
0 F3 i+ D* @2 X5 u: |7 a6 l4 R        float ee = 5e-10*(1+2e-3*Tamb);//0.0000000005*(1+0.002*Tamb)
" {# m! H/ W- J  double s = (V/(Tobj- Tamb))/ee; * Y' E& J8 [! v5 I
  printf("%1f\n", s);4 V# N' L1 D3 E
: t. U3 Y$ P; W
  double t = V / pow(s*ee+Tamb,0.25) - 273.15;
  j0 X$ Q# c8 a  printf("%1f\n", t);/ @5 b  j) u% R6 ]: P: }
}  E, @' A+ }9 U- ~

6 L! Z9 Q7 y% v* \$ P3 ?. h& J  x& }! R+ O. \! V( Y! ?
) A2 G  q) Z6 M0 X2 W

  T$ @0 t4 _/ o  `2 P5 E3 t0 {
" `4 d. i& d, g
' [7 l" u/ D7 n; j: S+ g5 B- ~) s" h
/ x: @! m; x( L+ y0 p) p

该用户从未签到

2#
发表于 2022-6-7 14:01 | 只看该作者
非常详细,感谢作者

该用户从未签到

3#
发表于 2022-6-7 15:47 | 只看该作者
非常详细,感谢作者
9 n  T' e! Y7 A, t
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-18 09:13 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表