OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 243|回复: 4

光敏电阻的标定,光强和电压ADC值曲线拟合归一化处理(解决光敏电阻灵敏度不一致的问题,重复性和一致性)

[复制链接]

190

主题

245

帖子

0

精华

高级会员

Rank: 4

积分
698
金钱
698
注册时间
2021-11-23
在线时间
56 小时
发表于 2025-4-24 18:48:33 | 显示全部楼层 |阅读模式
1金钱
光敏电阻的标定,光强和电压ADC值曲线拟合归一化处理(解决光敏电阻灵敏度不一致的问题,重复性和一致性)

选择哪个公式才更合理呢?光敏电阻在不同的标准光源光照下的分压电阻的电压ADC值生成一个公式之后单片机软件那边具体要怎么处理?按这种方式标定是否可以解决不同光敏电阻反应灵敏度不一致的问题?
光敏电阻光强和电压ADC值曲线拟合归一化处理.zip (14.07 KB, 下载次数: 2)

选择哪个公式才更合理呢?.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

1446

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2246
金钱
2246
注册时间
2010-12-16
在线时间
202 小时
发表于 2025-4-24 23:51:41 | 显示全部楼层
光强单位怎么是k呢不理解。如果是色温的话,应该考虑它的光谱响应。如果是lx的话,光敏电阻无论线性度和一致性都不太行,如果要求高的话,换个方案吧。
回复

使用道具 举报

0

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2019-11-9
在线时间
15 小时
发表于 2025-4-25 09:43:08 | 显示全部楼层
曲线拟合一般不都是指的非线性转线性归一吗?最小二乘法里要求是多项式计算。
回复

使用道具 举报

4

主题

912

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4518
金钱
4518
注册时间
2019-9-4
在线时间
915 小时
发表于 2025-4-25 16:33:40 | 显示全部楼层
AI大法好啊,脑子删除术

楼主你好,
你提出的光敏电阻标定问题很有代表性,通过数据采集和曲线拟合来建立光强与 ADC 值之间的关系,是提高测量准确性的常用方法。针对你的疑问,分享一些看法:
  • 关于公式选择与合理性:
    • 你得到的对数拟合公式 y = -204.8 * ln(x) + 4537.6 以及 R² = 0.9646,表明这个模型对你的数据有一定的解释力(R² 越接近 1 越好)。
    • 光敏电阻的特性通常不是简单的线性关系,对数或幂函数拟合是常见的选择。你可以尝试一下其他的拟合模型,比如多项式拟合 (y = ax² + bx + c ...) 或者更符合物理模型的幂函数关系拟合,看看哪个模型的 R² 值更高,并且在整个测量范围内的预测误差更小。
    • 关键点: 像楼上 shihantu 提到的,需要首先明确你数据表格中光强 'K' 的确切单位。是 Kilo Lux (Klux) 吗?单位的明确性对公式的物理意义和后续计算至关重要。不同的标准光源也可能影响其光谱成分,这也会对光敏电阻的响应产生影响。

  • 关于单片机软件处理:
    • 选定最合适的拟合公式后,你需要:
      • 将公式中的系数(例如 a = -204.8, b = 4537.6)存储在单片机的程序存储器 (Flash) 或非易失性存储器 (EEPROM) 中。
      • 在程序运行时,读取光敏电阻分压电路的 ADC 值 (y)
      • 核心步骤是根据拟合公式反解出光强 (x)。对于你给出的对数公式 y = a * ln(x) + b,其反解公式为 x = exp((y - b) / a)。这里的 exp() 是自然指数函数。
      • 单片机需要执行这个反解运算。这通常需要包含数学库(如 math.h)并进行浮点数运算。如果使用的单片机浮点运算性能较弱或没有硬件 FPU,可以考虑使用查找表 (Look-Up Table, LUT) 的方式来近似计算 exp() 函数或者整个反解结果,以提高效率。


  • 关于解决一致性问题:
    • 对单个传感器有效: 这种标定方法对于你进行标定的那一个特定的光敏电阻是非常有效的,可以很好地补偿其非线性和个体差异,从而在该传感器上获得相对准确的光强读数。
    • 难以解决批量一致性: 光敏电阻这种元器件本身就存在较大的个体差异(不同电阻之间在相同光照下的阻值可能相差很大)。如果你将这条通过一个样本标定得到的曲线(公式)应用到所有的产品上,那么不同产品之间的读数一致性问题仍然会很显著。这种标定只能解决“非线性”问题,但不能解决“个体差异”导致的“一致性”问题。
    • 解决方案:
      • 逐个标定: 如果确实需要使用光敏电阻且对一致性有要求,最可靠但成本最高的方法是对每个产品上的光敏电阻都进行单独标定,并将各自的标定系数存入对应的设备中。
      • 更换传感器: 正如 shihantu 所建议的,如果应用对精度、重复性和一致性要求较高,更推荐更换传感器类型。可以考虑使用集成光强传感器(如 BH1750、TSL2561 等),它们通常具有更好的线性度、一致性,并且很多直接提供数字输出,能大大简化处理流程。



总结来说,你的标定思路是正确的,但需要选择最优拟合模型并明确单位。单片机处理主要是实现反解公式。最关键的是要认识到这种方法对提高单个传感器的准确性有效,但难以解决光敏电阻本身的批量一致性问题。
希望以上分析对你有帮助!

回复

使用道具 举报

2

主题

1446

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2246
金钱
2246
注册时间
2010-12-16
在线时间
202 小时
发表于 2025-4-25 17:37:51 | 显示全部楼层
本帖最后由 shihantu 于 2025-4-25 17:43 编辑
hjl2832 发表于 2025-4-25 09:43
曲线拟合一般不都是指的非线性转线性归一吗?最小二乘法里要求是多项式计算。

最小二乘不要求是多项式,这种问题一般是选定一个拟合式,无论是多项式还是幂次函数都无所谓,定拟合式后用要计算拟合式的系数,这时一般会用最小二乘,但也不单是这种方法,说白了最小二乘只是其中一种求解方法而已。
当然,现在是成年人全都要,什么拟合式都算一遍,然后择优录取。
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-2 20:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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