Y_G_G 发表于 2022-4-24 16:22 等我认真看了再请教你。 |
黄冬梅 发表于 2022-4-22 21:26 你的光强值是什么意思?是当前环境的光照强度?还是经过你自己的电路最终计算出来并显示的光强值? 做表格,你要有一个完整的系统的表格,这样才能看到问题所在 至少要有: 1,实际测量的光电电池的电流 2,这个电流下,理论上运放应该输出的电压 3,实际上运放输出的电压 4,当前电压理论的STM32ADC值应该是多少 5,实际STM32ADC值是多少 6,当前环境的光值和你自己设计电路的测量出来的数据 理论数据和实际数据的误差,一般一对比,就能看到问题所在了 误差估算是一个很简单的东西 比如电流在1.699uA时,按照你的电路,输出应该是84.95mV,但你测量的电压是87mV,这误差不是就是87-84.95=2.05mV,这不就是2.4%误差了吗?再加上其它误差,这误差不就大了吗? STM32的ADC是12位的,它本身也会有一定的误差的,可能也是几mV,这小小的几mV对于你这电路,误差就是大的了 |
Hephaestus 发表于 2022-4-22 23:03 好的,谢谢! |
![]() 可以了,我用Excel算了下你的数据的线性相关系数,99.88%,这个线性度已经很不错了。 |
Y_G_G 发表于 2022-4-22 21:11 照你这么说,我直接用I/V得到的电压直接送到32的AD采集里,就不用到第二级放大,误差是不是会小很多? |
Y_G_G 发表于 2022-4-22 21:11 请教一下,你是怎么估计大概的误差的,我咋看不明白…… |
Y_G_G 发表于 2022-4-22 21:11 我那表的数据(根据那个电路测的)。就是光强值,AD采集的电压(电路图的AD1节点),然后就是I/V转换后的电压(I-V节点),最后一行就是光电池的光电流。 |
黄冬梅 发表于 2022-4-22 19:11 光电池的电流在小于2uA的情况下,输出的的电压和实际值就开始有1%以上的误差了 STM32的ADC参数我没有去认真看,但是,5个数字量的误差估计是少不了的,以3.3V的参考电压来计算3.3mV的误差就在这里了 再加上后面一级的放大电路,大概有5mV的误差 能看到的误差整体计算就接近10%了 你的表我看不明白是什么意思,能分析的也就这点了 |
Y_G_G 发表于 2022-4-22 11:25 硬件定了,现在有没有软件的方法补救一下,让显示的光强值误差没那么大 |
Y_G_G 发表于 2022-4-22 11:25 现在是硬件已经定了,只有一个50K的可调电阻,可以改变I/V转换的放大倍数。现在就是不成线性,不知道怎么去显示光强值了,误差会差很远。 |
不用修正什么 因为你电流是很小的,IV转换出来的数据是有一定误差的,而且,你用的是LM324,在小于2uA的电流下,输入失调电压对于整个运算的结果影响是很大的 就算是在最大电流(7.1u)的情况下,IV出来的电压也就0.36V,理论值应该是0.355 这其中就是有误差的,有电阻的误差,ADC的误差,ADC参考电压的误差 当你把电路中所有的参数都按实际值精确的计算,结果也就差不多是这个样子的了 想要更高精度,就要用低输入失调电压的运放,电阻要用高精度的,如果没有,那就先用万用表测量,优先选择接近要求的参数 |
查表,线性修正。。。 |
这货是在理想条件下测得的数据,楼主的不成正比应该是受环境和人为因素影响造就的结果吧 |
顶一下 |