这是一个普遍的问题,我相信这可能是一个数学问题,但它适用于 Arduino 平台。
我正在做一个球悬浮项目,该项目将使乒乓球悬浮在管中的设定点,使用激光位置传感器读取球的位置,该传感器提供与球位置相关的模拟电压。传感器输出对于管子长度的工作范围非常线性。
然后我有一个以 PWM 为百分比控制的风扇,这是用一个锅手动调节的,我在管子上以一英寸的增量标记了一个刻度。
基本上,我制作了一张传感器电压输出值表,与管中不同位置的电机 PWM% 值相关。
我制作了一个关于这两个变量的图表,它非常线性。我在 excel 中做了一个趋势线,得到了 Y = 3.0265X + 15.05 的直线方程
X 是传感器位置(以伏特为单位),Y 是以 % 为单位的 PWM 值,
我遇到问题的部分是从模拟引脚获取模拟电压,该电压在 arduino 中的值为 0 到 1023,并将其与 PWM 相关联以模拟写入电机(值从 0 到 255)。
我知道analogRead() 和ADC 所以我将0 到1023 的值转换为(5.0 * 模拟值)/ 1023 的电压;
这会给我电压,但我不明白如何将它与 PWM 联系起来,比如传感器电压的变化与电机的 PWM 变化。我认为我在正确的轨道上,但没有将这些点连接在一起。
任何帮助将不胜感激!
谢谢