6.5 基于Arduino控制6自由度机械臂
6.5.1 实现的功能
本节将使用LabVIEW设计实现基于Arduino的6自由度机械臂控制。本节中设计的机械臂控制主要演示Arduino在多自由度Servo控制中的应用,并未包含复杂的轨迹生成及控制算法的实现。当然,LabVIEW软件本身非常强大,可以完成一些复杂的控制算法,用户可以根据自己的需求设计自己的算法。
6.5.2 所需硬件
Arduino Uno R3、Arduino V5I/O扩展板、6自由度机械臂。6自由度机械臂如图6-24所示。因为舵机驱动需要较大电流,而且要同时驱动6个舵机,仅使用USB供电将无法满足驱动6个舵机的需求,所以Arduino V5I/O扩展板要使用外部电源供电,来驱动舵机工作。

图6-24 6自由度机械臂
多自由度机械臂的6个舵机分别控制爪子抓放、腕部旋转、腕部上下、肘部上下、臂部上下和臂部旋转,这些部位的舵机按照从爪子到塔台的顺序,分别通过控制线接到舵机控制板的通道上,通道编号为M6、M5、M4、M3、M2、M1,所有舵机在安装前要调整到90°。
多自由度机械臂上的6个舵机都支持180°转角,舵机的转动角度是通过调节PWM(脉冲宽度调制)