你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】stm32g030内部温度计算

[复制链接]
STMCU小助手 发布时间:2021-11-8 01:02

20210625195745385.png

  1. <p>计算公式</p><p>温度= ((TS_ADC_DATA - TS_CAL1)) * ( TS_CAL2_TEMP - TS_CAL1_TEMP))  / ( TS_CAL2 - TS_CAL1) + TS_CAL1_TEMP</p>
复制代码
其中:
TS_ADC_DATA =温度传感器通过ADC测量的原始数据
Avg_Slope = (TS_CAL2 - TS_CAL1) / ( TS_CAL2_TEMP - TS_CAL1_TEMP) = 2.5(数据手册有)

TS_CAL1 =等效在温度的TS_ADC_DATA(ADC转换的AD数值)
TEMP_DEGC_CAL1(出厂校准)
TS_CAL2 =等效在温度的TS_ADC_DATA
TEMP_DEGC_CAL2(工厂校准)

2021062520210472.png

所以上面的公式为

  1. <p>温度=(TS_ADC_DATA - TS_CAL1)*(1/2.5)+TS_CAL1_TEMP</p><p>
  2. </p><p>       =(TS_ADC_DATA - TS_CAL1)*(1/2.5)+30</p>
复制代码

上面说
  1. <p>   TS_ADC_DATA =温度传感器通过ADC测量的原始数据</p><p>   (也就是芯片出厂时原始AD值,比如12位AD,1.43v对应1774AD值)</p><p>   (4095/3.3)*1.43 = 1774(AD值)</p><p>   (2.5V对应1774,这是芯片内部电阻分压读的AD值对应1.43V,这里不做解释)</p>
复制代码


TS_CAL1 =等效在温度的TS_ADC_DATA(ADC转换的AD数值)
TS_CAL1就是为自己捕抓到的当前AD值

所以最终温度式子为:

  1. <p>温度=(TS_ADC_DATA - TS_CAL1)*(1/2.5)+30</p><p>   = (1774 - 当前温度捕抓到的AD值)*(1/2.5)+30</p><p>   =(1774 - g_stADC.uiADTemp)*(1/2.5)+30</p><p>   注: g_stADC.uiADTemp为你捕抓到的当前温度的AD值</p>
复制代码



收藏 评论1 发布时间:2021-11-8 01:02

举报

1个回答
269587732 回答时间:2021-12-3 13:09:39

计算结果是错的

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版