首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >位置传感器电压与电机速度PWM的关系

位置传感器电压与电机速度PWM的关系
EN

Stack Overflow用户
提问于 2012-04-30 20:32:50
回答 1查看 418关注 0票数 0

这是一个一般性的问题,我相信这可能是一个数学问题,但它是针对Arduino平台的。

我正在做一个球悬浮项目,它将使乒乓球悬浮在试管中的设置点,球的位置由激光位置传感器读取,该传感器给出与球位置相关的模拟电压。传感器的输出对于管子长度的工作范围是非常线性的。

然后我有一个用PWM作为%控制的风扇,这是用一个锅手动调整的,我在管子上以一英寸的增量标记了一个刻度。

基本上,我制作了一个传感器电压输出值的表,与管中不同位置的电机的PWM%值相关。

我画了一张图,将这两个变量联系起来,结果出人意料的是,它是线性的。我在excel中做了趋势线,得到了直线方程Y= 3.0265X + 15.05

X是传感器位置(以伏为单位),Y是以%为单位的PWM值,

我遇到麻烦的部分是从模拟引脚获取模拟电压,它的值在arduino中为0到1023值,并将其与脉宽调制到analogWrite到电机(从0到255的值)相关联。

我知道analogRead()是和模数转换器,所以我用(5.0 *模拟值)/ 1023将0到1023值转换成电压;

这会给我电压,但我不明白如何将这与PWM联系起来,就像传感器电压的变化与电机PWM的变化一样。我认为我在正确的轨道上,但没有将这些点连接在一起。

任何帮助都将不胜感激!

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-01 10:30:26

一般而言,PWM百分比与电源电压的电压直接相关。也就是说,如果你有一个5伏的Arduino,并且PWM百分比是75%,那么输出应该是3.75伏,前提是你有一个能够“过滤”出单个脉冲的输出电路。

请记住,PWM值的范围是0到255,因此您需要将所需的"analogRead()“值除以4的因子,才能使用PWM产生正确的输出电压。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10383777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档