搜索
bottom↓
回复: 3

智能充电器入门教程 八: 内部温度传感器

[复制链接]

出0入0汤圆

发表于 2009-11-23 22:03:30 | 显示全部楼层 |阅读模式
(一) STM32 内部温度传感器概要

STM32 芯片内部一项独特的功能就是内部集成了一个温度传感器, 因为是内置, 所以测试的是芯片内部的温度, 如果芯片外接负载一定的情况下, 那么芯片的发热也基本稳定, 相对于外界的温度而言, 这个偏差值也是基本稳定的. 也就是说用 STM32 内部传感器来测量外界环境的温度.

在一些恶劣的应用环境下面, 可以通过检测芯片内部而感知设备的工作环境温度, 如果温度过高或者过低了 则马上睡眠或者停止运转. 可以保证您的设备工作的可靠性.

1.  STM32内部温度传感器与ADC的通道16相连,与ADC配合使用实现温度测量;
2.  测量范围–40~125℃,精度±1.5℃。
3.  温度传感器产生一个随温度线性变化的电压,转换范围在2V < VDDA < 3.6V之间。

转换公式如下图所示:


(原文件名:3.jpg)

手册中对于公式中的参数说明:


(原文件名:4.jpg)

(二) 程序编写

写代码的时候, 在测量要求不怎么高的情况下, 公式可以简化.
简化的公式:  
Temperature= (1.42 - ADC_Value*3.3/4096)*1000/4.35 + 25;


程序编写:
1. 初始化ADC , 初始化DMA
可以参考贴子:
智能充电器入门教程 六:  基于 DMA 的 ADC


主意:  内部温度传感器是使用了 ADC1 的第 16 通道哦.

2.  ADC_TempSensorVrefintCmd(ENABLE);   
使能温度传感器和内部参考电压通道


3. 按照刚才列出的公式计算
Temperature= (1.42 - ADC_Value*3.3/4096)*1000/4.35 + 25;


第二步是做什么的呢?  参考下图:


(原文件名:5.jpg)



(三) 仿真调试

(1) 使用Keil uVision3 通过ULINK 2仿真器连接实验板,使用智能充电器附带的串口线,连接实验板上的 UART1 和 PC 机的串口,打开实验例程目录下的ADC.Uv2例程,编译链接工程;
(2) 在 PC 机上运行 windows 自带的超级终端串口通信程序(波特率115200、1位停止位、无校验位、无硬件流控制);或者使用其它串口通信程序;
(3) 点击MDK 的Debug菜单,点击Start/Stop Debug Session;
(4) 全速运行程序, 显示结果如下所示。


(原文件名:2.jpg)


基于 MDK3.50 以上版本工程文件下载:
点击此处下载 ourdev_506547.rar(文件大小:611K) (原文件名:Example8-Temperature.rar)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2009-11-24 10:13:27 | 显示全部楼层
这个内设功能挺实用的。AVR的一些芯片好像也有这个内置。

出0入0汤圆

发表于 2009-11-24 13:29:11 | 显示全部楼层
这个功能在要求不高的情况下还是不错的

出0入0汤圆

发表于 2009-11-24 13:32:18 | 显示全部楼层
外置的比较靠谱一些。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 08:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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