【发布时间】:2012-04-30 12:32:50
【问题描述】:
这是一个普遍的问题,我相信它可能是一个数学问题,但它适用于 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 变化。我认为我在正确的轨道上,但没有将这些点连接在一起。
任何帮助将不胜感激!
谢谢
【问题讨论】: