主要内容

控制伺服电机

这个例子展示了如何使用Arduino硬件的MATLAB®支持包来控制业余伺服电机。

硬件设置

将FS5106B伺服电机连接到Arduino硬件,

  1. 将电源线(通常是红色)连接到5V引脚上。

  2. 将地线(通常为黑色)连接到接地引脚。

  3. 将信号线(通常为橙色)连接到数字引脚4。

创建伺服对象并校准电机

创建一个arduino对象,包括伺服库。

A = arduino();

或者,您可以在创建arduino对象时显式地在Libraries Name-Value对中指定它。

清晰的一个;A = arduino(“COM4为”“Uno”“库”“伺服”);

创建一个Servo对象。

S =伺服(a,“D4”
s =伺服属性:引脚:'D4' MinPulseDuration: 5.44e-04(秒)MaxPulseDuration: 2.40e-03(秒)

检查伺服电机的数据表脉冲宽度范围值,以校准电机在预期范围内旋转。这个例子使用700*10^-6和2300*10^-6使电机从0移动到180度。

清晰的年代;S =伺服(a,“D4”“MinPulseDuration”700 * 10 ^ 6,“MaxPulseDuration”, 2300 * 10 ^ 6)
s =伺服属性:引脚:'D4' MinPulseDuration: 7.00e-04(秒)MaxPulseDuration: 2.30e-03(秒)

伺服位置

将伺服电机的轴位置从0(最小值)改变为1(最大值),增量为0.2,例如36度。每次位置改变时显示当前位置。

写入位置(s,角度);current_pos = readPosition(s);Current_pos = Current_pos *180;流('当前电机位置为%d度\n', current_pos);暂停(2);结束
当前电机位置为0度当前电机位置为36度当前电机位置为72度当前电机位置为108度当前电机位置为144度当前电机位置为180度

清理

一旦不再需要连接,清除关联对象。

清晰的年代一个
Baidu
map