AnyMath 文档
Notebook

Arduino支持包:受电弓项目

让我们进行一个在Arduino爱好者圈子里知道的受电弓实验。 让我们组装一个模型,该模型将根据旋转编码器的位置控制伺服轴的位置。

导言

掌握[Arduino支持包文档]后(https://engee.com/helpcenter/stable/ru/engee-hardware/arduino-support-package.html )并使用基本集成块,您可以开始组装受电弓实验。

对于这个模型,您将需要一套旋转编码器,伺服,面包板和STM32Nucleo64F401RE。

图上的布局

image.png

工程师模型

模型的整个逻辑是读取编码器位置,将此位置转换为度,并将此值传输到伺服:

-Arduino-encoderRead-获取编码器位置的值
-ConvertToDegrees-将编码器值转换为从0到180范围内的值
-Arduino-servoWrite-根据ConvertToDegrees块的值设置伺服轴的位置

In [ ]:
amplitude = 36  # 编码器值的幅度

POS -编码器轴位置值

DEGREE -在舵机中设置的度数值

Снимок экрана_20260406_171707.png

编码器的位置可以从 -amplitude/2 以前 amplitude/2. 在我们的例子中,它来自 -18 以前 18 需要转换为从0到180的范围正是ConvertToDegrees子系统内部发生的情况。:

image.png
In [ ]:
BIASED = POS + (amplitude/2)  # 在添加块中

间隔移位幅度周期的一半。

In [ ]:
MULTIPLIED = BIASED * 5  # 在DSP产品块

我们拉伸所得到的间隔5次,得到一个新的,从0到180所需的一个。

结论

使用受电弓的简单示例,我们熟悉了Arduino-encoderRead和Arduino-servoWrite模块的功能,这使我们能够创建更复杂的控制模型。