掌握硬件电路的设计方法。
1、万用板在STM32F103平台下,通过温度传感器DS18B20和湿度传感器DHT11实现环境温湿度信息的采集。
2、将温度传感器和湿度传感器所采集的数据在LCD液晶屏幕上显示出来,超过范围实现声光报警,声音报警为启动无源蜂鸣器播放音乐,光源报警采用LED灯闪烁的方式。
可以用恒流源过PT100,得到一个电压值,根据电压值和恒流源的电流值可以计算得到PT100的阻值,再根据阻值换算出温度值,PT100有公式的,可以网上搜一下。需要注意电流通过PT100时也会发热,所以恒流源的电流值不能太大。另外,恒流源的输出电流精度也要考虑,可以用一个高精度低温漂的电阻来标定恒流源的实际输出电流。
抛开应用谈精度没什么意义,如果你应用要求低,比如精度要求1℃,那自带的ADC妥妥够用;如果应用要求高,那就需要额外的ADC,并且需要降低恒流源的输出电流以及额外的放大电路来放大电压信号。
说点题外的,如果应用要求不是很高,又懒得自己搭电路的话,美信有PT100转温度的芯片,SPI通讯方式,参考电路和PCB布局手册上都有,不介意价格的话可以看下。
我觉得那个不稳定也很正常把。。。我上次试了下,好像波动也就零点几度啊。。。而且那个芯片内部的温度本来就不会那么的恒定!!同求解释
读取内部温度传感器的ADC值,不需要配置GPIO。
别人的代码不一定都对的。
STM32的内部温度传感器和ADCx_IN16相连接,使用的时候要先执行:
ADC_TempSensorVrefintCmd(ENABLE);
来开启内部温度传感器。
接着就按照正常的ADC进行电压采样,根据一下信息进行温度计算:
T(℃)={(V25-Vsense)/Avg_Slope}+25
V25=Vsense在25度时的数值(典型值为:1.43)。
Avg_Slope=温度与Vsense曲线的平均斜率(单位为mv/℃或uv/℃)(典型值为4.3Mv/℃)。
本文标签:stm32f103读取内部温度