【经验】如何通过超低成本MCU APM32F003F6P6和热敏电阻实现温度测量

2023-05-28 Geehy极海半导体公众号
MCU,APM32,APM32F003,APM32F003F6P6 MCU,APM32,APM32F003,APM32F003F6P6 MCU,APM32,APM32F003,APM32F003F6P6 MCU,APM32,APM32F003,APM32F003F6P6

极海APM32F003系列MCU在满足高性能与稳定性的同时,也具有小体积、小封装,低成本等优势,助力客户以更经济的成本获取更加复杂、创新的产品功能。由于其主要针对一些对成本比较敏感的应用,外设资源以常用为主,所以APM32F003系列MCU并没有集成内置的温度传感器的功能。在众多应用领域中,有时候也会遇到一些应用场景需要MCU的资源并不多,封装尽可能小,但是需要检测MCU工作环境的温度。这样的应用如果选择一颗集成温度传感器的MCU,势必会增加应用成本,并且造成资源浪费。此时,如果一颗低成本、高性能的MCU,再加一个热敏电阻测温,能同时满足低成本和测温的需求,这不妨是最佳的选择。


下面就给大家介绍一下使用APM32F003F6P6和一个热敏电阻实现测温的应用。


NTC介绍

NTC是负温度系数的简写,全称是Negative temperature coefficient,是一种随温度上升时,电阻值呈指数关系减小的热敏电阻,常用作温度传感器。这里有一个式子表示负温度系数的电阻值:RT=R0*exp(B (1/T-1/T0))


RT为周围温度为T (K) 时的电阻值,R0是周围温度为T0 (K) 时的电阻值,注意这里的温度是开尔文温度。B为常数,它也是材料常数,一般在25摄氏度下测得。


温度测量电路

如下图所示,温度测量常用电阻串联分压,ADC采样的方式进行。本例中APM32F6P6的供电电压VCC为5V,为了提高测温精度,串联电阻采用了15KΩ和4.3KΩ。



温度转换

通过ADC得到采样值后,如果转换得到温度呢?这里有两种计算方法,一种是公式法,一种是查表法,下面将一一介绍。


公式法

首先第一步是找到自己的热敏电阻的数据手册,查找B值和25℃的电阻值,本例中使用的热敏电阻型号是SDNT2012X473F4150FTF,25℃的阻值47KΩ,B值为4150,其温度-阻值特性曲线如下图所示。



然后我们在程序中定义好这些参数:

float ntc_series_resistance = 15000.0; //NTC的串联电阻

float ntc_b_value = 4150.0; //B值

float ntc_r25 = 47000.0; //25℃时的电阻

float kelvins_zero = 273.15; //绝对零度

uint16_t system_power_voltage = 5000; //系统参考电压是5V

float T25 = 298.15; //25 = kelvins_zero + 25


这里的计算逻辑就是先通过ADC采样得到NTC和4.3KΩ的电压推算出串联电阻15KΩ的分压,然后再计算出线路电流,再计通过欧姆定律从计算出热敏电阻和4.3KΩ之和的阻值,减去4.3KΩ后得到热敏电阻的阻值,最后通过公式计算出温度。务必注意,这些计算,需要引入math.h。

uint16_t adc_value;

uint32_t ntc_voltage;

float ntc_current;

float ntc_resistance;

float temperature;

adc_value = Get_Adc(); //获取ADC采样值

ntc_voltage = adc_value * 5000 / 4095; //采样值转换为电压(mV)

ntc_current = ((system_power_voltage- ntc_voltage) / ntc_series_resistance); //计算NTC的电流(mA)

ntc_resistance = (ntc_voltage / ntc_current) - 4300; //计算NTC电阻值(Ω)

temperature = (ntc_b_value * T25) / (T25 * (log(ntc_resistance) - log(ntc_r25)) + ntc_b_value);

temperature -= kelvins_zero; //计算最终温度

return temperature;


查表法

一般而言,厂家会提供NTC电阻的温度与电阻表,如下图所示,基于这个表,我们只需要计算出当前热敏电阻的阻值Rt,然后查照此表,得到最接近的温度值即可。



程序中我们使用二分法查表,程序实现如下:

/*!

* [url=home.php?mod=space&uid=247401]@brief[/url] Find_Table 二分查找算法->查温度表

*

* @param 表地址、表长度、要查找的数据

*

* @retval 数据在表中的位置

*

* [url=home.php?mod=space&uid=536309]@NOTE[/url] 查找数据在表中对应的位置 表中数据从大到小

*/

uint8_t Find_Table(float *table, uint8_t table_len, float data)

{

uint8_t st, ed, m;

uint8_t i = 0;

st = 0;

ed = table_len - 1;

if (data >= table[st]) return st;

else if (data <= table[ed]) return ed;

while (st < ed) {

m = (st + ed) / 2;

if (data == table[m] ) break;

if (data < table[m] && data > table[m+1]) {

if ((table[m] - data) > (data - table[m+1])) {

m = m + 1;

}

break;

}

if (data > table[m]) {

ed = m;

} else {

st = m;

}

if (i++ > table_len) break;

}

if (st > ed ) return 0;

return m;

}


首先我们需要通过ADC采样值计算后得到热敏电阻值,然后通过二分法查表函数找到当前热敏电阻值在表中的位置,从而得到对应的温度值,程序实现如下:

int8_t Get_Temperature_Value(void)

{

uint16_t any_value;

uint16_t ntc_voltage;

float ntc_res;

int8_t temp;

any_value = Get_Adc(); //获取ADC采样值

ntc_voltage = any_value * 5000 / 4095; //采样值转换为电压(mV)

ntc_res = ((ntc_voltage * 15000) / (5000 - ntc_voltage)) - 4300; //计算NTC电阻值(Ω)

ntc_res = ntc_res / 1000;//计算NTC电阻值(KΩ)

any_value = Find_Table(table_res, 152, ntc_res); //二分法查表

//通过热敏电阻在表中的位置得到对应的温度值

if (any_value < 151) {

temp = any_value - 30;

} else {

temp = 125;

}

return temp;

}


以上就是通过超低成本MCU APM32F003F6P6和热敏电阻实现温度测量的例程分享。


授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由玉鹤甘茗转载自Geehy极海半导体公众号,原文标题为:APM32芯得 EP.20 | APM32F003 NTC测温,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】如何在JFLASH中添加极海半导体Geehy APM32系列MCU

本文主要介绍极海半导体MCU产品如何使用第三方Segger公司的JFLASH配合J-Link仿真器对指定型号MCU的Flash进行擦除、写入及读取操作的目的。

2023-01-06 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】APM32F4 MCU在RT-Thread系统上添加以太网驱动和使用LwIP网络组件的方法

本文详细介绍了如何将极海半导体APM32F4 MCU在RT-Thread系统上添加以太网驱动和使用LwIP网络组件,其他APM32带有以太网控制器的MCU,在RT-Thread使用LwIP网络功能也是大同小异的,按照这个过程基本都可以把网络功能应用起来。

2023-08-25 -  设计经验 代理服务 技术支持 现货查询 批量订货

APM32芯得 | 基于极海APM32E103系列MCU的SPI转CAN芯片MCP2515移植测试

极海半导体APM32E103系列MCU支持CAN协议2.0A和2.0B,通信波特率最大为1Mbit/s,并且拥有双CAN接口,能适应更多的应用场合。将杜邦线按照引脚配置,接好线后仿真就能测试回环模式下收发数据了。可以看到断点打到接收部分,可以接收到CAN数据,与发送的数据一致。

2024-11-15 -  设计经验 代理服务 技术支持 现货查询 批量订货

tandby模式下,如何唤醒MCU APM32的RTC与WKUP?

APM32F103系列低功耗模式有三种:睡眠模式、停止模式和待机模式。通过关闭内核、时钟源、设置调压器来降低功耗。本文极海半导体解析了APM32的tandby模式下的RTC唤醒与WKUP唤醒功能如何实现。

2024-01-27 -  设计经验 代理服务 技术支持 现货查询 批量订货

极海半导体32位MCU-M0选型表

极海半导体的APM32系列是基于Arm® Cortex®-M0+/M3/M4内核的优质国产32位通用MCU,具有低功耗、高性能、高集成度以及快速移植等特性。凭借优异的系统性能、丰富的协处理功能以及灵活的使用体验,有助于用户缩短产品设计时间、降低开发成本、实现性能最优化。

产品型号
品类
内核
Frequency(MHz)
FLASH(KB)
SRAM(KB)
I/Os
Vmin(V)
Vmax(V)
GPTMR(16bit)
GP TMR(32bit)
Advanced TMR(16bit)
Basic TMR
Systick(24bit)
ADC 12-bit Cell
ADC 12-bit channels
DAC 12-bit Cell
DAC 12-bit channels
Analog Comparator
TSC (Channels)
SPI
I2S
I2C
U(S)ART
CAN
SDIO
USB Device
Package
对照型号
APM32F072V8T6
32位MCU
ARM Cortex-M0
48MHz
64KB
16KB
87
2V
3.6V
5
1
1
2
1
1
16
1
2
2
24
2
2
2
4
1
0
1
LQFP 100
-

选型表  -  极海半导体 立即选型

还可以这样玩?极海半导体APM32F411系列MCU与pyocd的火花

前段时间笔者学习了一下如何使用pyocd配合APM32F411VCTINY板在命令行下给它进行各种骚操作,在使用一段时间后就想着:pyocd是基于python的,那是不是也可以使用python脚本+pyocd使用起来呢?本文中极海半导体与大家分享能够自动化完成重复操作的设计经验。

2024-08-29 -  设计经验 代理服务 技术支持 现货查询 批量订货

【应用】极海半导体MCU APM32F103系列用于HMI人机界面,可满足HMI功耗调整、蓝牙通信等需求

本文推荐采用极海半导体推出的APM32F103系列MCU作为HMI人机界面的主控,最高96MHz工作频率,FLASH 256K,SRAM 64K,支持FPU单元;资源丰富,有CRC/RTC/DMA通道,两个DMA;通信接口丰富。

2023-05-25 -  应用方案 代理服务 技术支持 现货查询 批量订货

【经验】极海MCU APM32F103 IAP的实现方式

拿到了一块APM32F103VC的MINI开发板,在学习了一段时间后发现其有非常丰富的外设资源,主频能达到96Mhz。最近在项目中使用到了IAP(In Application Programming)功能,特来评估一下APM32F103的IAP实现方式。

2022-12-30 -  设计经验 代理服务 技术支持 现货查询 批量订货

极海联亮相2024全球MCU及嵌入式生态发展大会,展出新技术和产品并发表演讲

2024年7月25日,2024全球MCU及嵌入式生态发展大会在深圳君悦酒店举行,由AspenCore主办。极海作为特邀嘉宾在主论坛进行演讲,并展出新技术和产品,包括搭载Arm Cortex M52内核且采用Helium技术的G32R5系列实时控制MCU和针对电机市场的栅极驱动器与APM32M3514系列SoC等新品。

2024-07-29 -  原厂动态 代理服务 技术支持 现货查询 批量订货

极海半导体32位MCU-M3选型表

极海半导体的APM32系列是基于Arm® Cortex®-M0+/M3/M4内核的优质国产32位通用MCU,具有低功耗、高性能、高集成度以及快速移植等特性。凭借优异的系统性能、丰富的协处理功能以及灵活的使用体验,有助于用户缩短产品设计时间、降低开发成本、实现性能最优化。

产品型号
品类
内核
Frequency(MHz)
FLASH(KB)
SRAM(KB)
SDRAM
FPU
I/Os
Vmin(V)
Vmax(V)
GPTMR(16bit)
GP TMR(32bit)
Advanced TMR(16bit)
Basic TMR
Systick(24bit)
ADC 12-bit Cell
ADC 12-bit channels
DAC 12-bit Cell
DAC 12-bit channels
Analog Comparator
EMMC
SPI
I2S
I2C
U(S)ART
CAN
SDIO
Package
对照型号
APM32E103CET6
32位MCU
ARM Cortex-M3
120MHz
512KB
128KB
0
1
37
2V
3.6V
4
0
1
2
1
2
10
2
2
0
0
3
2
2
3
2
0
LQFP48
STM32F103RET6

选型表  -  极海半导体 立即选型

【应用】国产工业级高性能MCU APM32F407VGT6用于PLC工控板,主频168MHz,通信外设丰富

某客户主要做各种工业自动控制系统装置,其中一款国产PLC工控板主控要更换成国产物料,推荐极海工业级高性能MCU APM32F407系列,主频高达168MHz、通信外设资源丰富,工作温度范围-40℃到+85℃。

2023-03-14 -  应用方案 代理服务 技术支持 现货查询 批量订货

APM32F411xCxE Arm® Cortex®-M4F core-based 32-bit MCU User Manual

型号- APM32,APM32F411XCXE SERIES,APM32F411XCXE

2024.1.24  - 极海半导体  - 用户指南  - V 1.3 代理服务 技术支持 现货查询 批量订货

极海半导体32位MCU-M4选型表

极海半导体的APM32系列是基于Arm® Cortex®-M0+/M3/M4内核的优质国产32位通用MCU,具有低功耗、高性能、高集成度以及快速移植等特性。凭借优异的系统性能、丰富的协处理功能以及灵活的使用体验,有助于用户缩短产品设计时间、降低开发成本、实现性能最优化。

产品型号
品类
内核
Frequency(MHz)
FLASH(KB)
SRAM(KB)
SDRAM
Voltage
GPTMR(16bit)
GP TMR(32bit)
Advanced TMR(16bit)
Basic TMR
Systick
IWDG
WWDG
ADC 12-bit Cell
ADC 12-bit channels
DAC 12-bit channels
EMMC
SPI
I2S
I2C
U(S)ART
CAN
SDIO
USB OTG_FS
DCI
Ethernet
Package
对照型号
APM32F407IET6
32位MCU
ARM Cortex-M4
168MHz
512KB
192+4KB
1
1.8~3.6
8
2
2
2
1
1
1
3
24
2
1
3
2
3
4+2
2
1
1
1
1
LQFP176
STM32F407IET6

选型表  -  极海半导体 立即选型

极海半导体APM32F407系列MCU支持国密算法,助力国产安全可控,适用于新能源等领域

极海推出的APM32F407系列MCU,结合当前环境要求,设计出了支持国密算法(SM2,SM3,SM4)的IP, 符合国家密码管理局认定和公布的密码算法标准及其应用规范,并凭借显著的性能优势,已应用至新能源、工业控制、医疗设备等众多领域。

2023-01-07 -  原厂动态 代理服务 技术支持 现货查询 批量订货

APM32F103xCxDxE Arm® Cortex® -M3 based 32-bit MCU User Manual

型号- APM32F103XCXDXE,APM32F103XDXE,APM32F103XCXDXE SERIES,APM32F103XC,APM32F

May 30, 2024  - 极海半导体  - 用户指南  - V1.7 代理服务 技术支持 现货查询 批量订货
展开更多

电子商城

查看更多

品牌:极海半导体

品类:MCU

价格:¥2.7000

现货: 30

品牌:极海半导体

品类:MCU

价格:¥1.6200

现货: 100

品牌:极海半导体

品类:MCU

价格:¥14.9850

现货: 60

品牌:极海半导体

品类:MCU

价格:¥14.8500

现货: 51

品牌:极海半导体

品类:MCU

价格:¥13.5000

现货: 50

品牌:极海半导体

品类:MCU

价格:¥9.7200

现货: 50

品牌:极海半导体

品类:MCU

价格:¥12.1500

现货: 50

品牌:极海半导体

品类:MCU

价格:¥14.1750

现货: 50

品牌:极海半导体

品类:MCU

价格:¥12.4200

现货: 50

品牌:极海半导体

品类:MCU

价格:¥15.7950

现货: 50

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:RENESAS

品类:16-BIT MCU

价格:¥5.5190

现货:910,635

品牌:RENESAS

品类:MCU

价格:¥5.1500

现货:200,000

品牌:恒烁

品类:MCU

价格:¥1.0800

现货:154,600

品牌:Advanced Digital Chips

品类:MCU

价格:¥6.6000

现货:100,000

品牌:RENESAS

品类:MCU

价格:¥5.8041

现货:86,925

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥7.3800

现货:76,715

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥15.3000

现货:75,000

品牌:Advanced Digital Chips

品类:MCU

价格:¥9.0000

现货:64,841

品牌:ST

品类:MCU

价格:¥15.5600

现货:58,800

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥257.6400

现货:58,799

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

MCU烧录/Flash烧录/CPLD烧录

可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。

最小起订量: 1pcs 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面