https://embed.notionlytics.com/wt/ZXlKd1lXZGxTV1FpT2lKbFpEQTJNbUk0TnpRME5UTTBNVGd4T1RrNFpURXhZbVF6WW1OallUbGpaaUlzSW5kdmNtdHpjR0ZqWlZSeVlXTnJaWEpKWkNJNklsZHNTR2hsVEZSUFdXeHpaVmRhUW1ZNU1YQmxJbjA9
在此示例中,我们将使用Arduino和电机驱动器控制线性执行器的速度。
线性执行器中的直流电动机需要大电流(高达5A),如果我们将线性执行器直接连接到Arduino,则此高电流消耗会破坏Arduino数字引脚,因为它们每个仅额定40mA。 因此,我们使用的电动机驱动器可以从Arduino板上获取低电流PWM(脉冲宽度调制)信号,并向线性执行器输出高电流PWM信号。
电机驱动器连接到两个PWM数字引脚(Arduino Uno上的引脚10和11)。 通过将其中一个引脚设置为低电平,将另一个引脚设置为高电平(请参见下面代码中的第18和19行),我们可以以最大速度扩展执行器。 为了停止执行器,我们将两个引脚都设置为LOW(参见下面代码中的第21和22行),并反转运动方向,我们可以颠倒HIGH和LOW引脚的顺序(参见下面代码中的第24和25行)。 我们还可以通过将变量“ Speed”更改为[0,255]范围内的任何值来调整速度。 请参阅下面的代码中的第17行。
在上面的示例中,我们在代码的第17行中手动设置了速度。 但是,在某些情况下,我们可能希望及时更改执行器的速度。 最简单的方法是使用电位计。 电位器是一个三端可变电阻器,可以用作分压器。 通过旋转电位器的旋钮,输出电压将发生变化,我们可以将其连接至Arduino上的模拟引脚以设置可变速度。
如上所述,电位计是一种旋转装置,当旋转旋钮时会改变电阻。 通过将电位器的两个外部引脚连接到5V和GND,并将中间引脚连接到Arduino模拟引脚A0,创建了一个分压器。 旋转旋钮时,Arduino将读取范围为[0,1023]的模拟读数。
对于[512,1023]范围内的值,我们希望执行器伸展,对于[0,511]范围值,我们希望执行器缩回,这可以通过简单的if()/ else 语句来实现。
在此示例中,我们将演示如何使用Arduino读取反馈杆执行器的信号,并将其转换为杆延伸到多远的距离测量。