金牌会员
 
- 积分
- 1332
- 金钱
- 1332
- 注册时间
- 2021-1-2
- 在线时间
- 121 小时
|
1、用stm32f103ADC 测温度,用LM35DZ。 LM35DZ数据,其测温范围0~100℃,10mV/℃,LM35DZ校准在摄氏温度上,0℃时0V,100℃时1000mV,用stm32f103ADC 测温度,T=adc*3.3/4096*1000/10 (℃);
2、重庆目前室内 5~6℃,但测出来,简直不敢相信,差距接近10倍。程序应该没问题,是正点原子的ADC例程,就改了一个温度算法,就是 T=adc*3.3/4096*1000/10 (℃); 另外就是串口在电脑上显。
3、当然正点原子是测的0V,与3,3V。 我外接电阻分压(精密可调电阻)测试也是准的。也就是说,电阻分压来测ADC,stm32f103的精度是准的。但实际运用中,基本都是外接各种传感器,温度传感器是最基本的。
4、a: 最先用的板子是我自己画的开发板,发现测温数据和实际温度有近10差距,我怀疑是我的板子问题,换了一块网上买的系统板,都是stm32f103zet6 芯片。
b:网上买的系统板,测出来同样近10倍误差,我就干脆用正点原子的战舰V3开发板来测。
c:正点原子的战舰V3开发板来测,测出来同样近10倍误差。
5、以上三种板子,外接LM35DZ,ADC测温,实际上就是测电压,相互的差距也很大;我自己画的开发板 35.1℃;网上买的系统板,44.9℃;正点原子的战舰V3开发板,59.5℃。
6、我想,这不可能是 stm32f103的ADC精度问题,应该是LM35DZ采集电路的问题。我是把 LM35DZ的1脚VCC接5V,2脚OUT接PA1,3脚接VSSA。理由是LM35DZ,0~100℃,输出0~1000mV,在stm32f103ADC的0~3.3V内。
但实际情况,传感器的输出,不能直接,接到stm32f103的ADC。但到底应该怎么接,不知道,能看到的付费视频也没讲,顶多就是接个电位器,电阻分压测一下,ADC输入口有个103或104的滤波电容。
7、网上查,“电子设计工程--2017年-8月”,LM35是这么用的,LM35供电端,加有104uF,这一般都会这样;LM35输出端,并有 75欧+1uF;LM35输出端是接在一个用运放组成的低通滤波放大电路,其后再接stm32f103。
好复杂,据说是高精度。
8、那么,stm32f103ADC接电阻分压是准的,接传感器完全不准,是为什么。
|
|