Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 将位置传感器电压与电机速度PWM相关联_Math_Arduino - Fatal编程技术网

Math 将位置传感器电压与电机速度PWM相关联

Math 将位置传感器电压与电机速度PWM相关联,math,arduino,Math,Arduino,这是一个一般性的问题,我相信它可能是一个数学问题,但它是针对Arduino平台的 我正在做一个球悬浮项目,将乒乓球悬浮在一个设定点的管中,球的位置由一个激光位置传感器读取,该传感器提供与球位置相关的模拟电压。传感器输出与管子长度的工作范围呈线性关系 然后我有一个用PWM控制的风扇,它是用锅手动调节的,我在管子上以1英寸的增量标记了一个刻度 基本上,我制作了一个传感器电压输出值表,与管中不同位置的电机PWM%值相关 我画了一张把这两个变量联系起来的图表,它惊人的线性。我在excel中绘制了一条趋势

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

我正在做一个球悬浮项目,将乒乓球悬浮在一个设定点的管中,球的位置由一个激光位置传感器读取,该传感器提供与球位置相关的模拟电压。传感器输出与管子长度的工作范围呈线性关系

然后我有一个用PWM控制的风扇,它是用锅手动调节的,我在管子上以1英寸的增量标记了一个刻度

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

我画了一张把这两个变量联系起来的图表,它惊人的线性。我在excel中绘制了一条趋势线,得到了Y=3.0265X+15.05的直线方程

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

我遇到问题的部分是从arduino中的模拟引脚获取模拟电压,其值为0到1023,并将其与PWM关联,以模拟写入电机(值为0到255)

我知道analogRead()是ADC,所以我将0到1023的值转换为(5.0*analogvalue)/1023的电压

这将给我电压,但我不知道如何将其与PWM联系起来,比如传感器电压的变化与电机PWM的变化。我想我的思路是对的,但没有把这些点连在一起

任何帮助都将不胜感激


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

请记住,PWM值在0到255的范围内,因此需要将0到1023范围内的所需“analogRead()”值除以四倍,以使用PWM产生正确的输出电压