分享

16路PWM舵机驱动板的使用说明

 魅影苍穹 2016-05-16

 

概述

adafruit_products_ID815servo_LRG.jpg

Arduino类库驱动舵机并不是一件难事,如果需要驱动很多电机,就需要要占用更多的引脚,也会影响到Arduino的处理能力。专门的舵机驱动板很好的解决了这个问题。

此舵机驱动板使用PCA9685芯片,是16通道12bit
PWM
舵机驱动,用2个引脚通过I2C就可以驱动16个舵机。不仅如此,你还可以通过级联的方式最多级联62个驱动板,总共可以驱动992个舵机!

 

adafruit_products_hexapod.jpg

驱动板与Arduino连接

PWM驱动板采用I2C方式,所以只需要4根线就可以连接到Arduino设备:

“Classic” Arduino 引脚方式:

  • +5v -> VCC
  • GND -> GND
  • Analog 4 -> SDA
  • Analog 5 -> SCL

老版Mega 引脚方式:

  • +5v -> VCC
  • GND -> GND
  • Digital 20 -> SDA
  • Digital 21 -> SCL

R3 and later Arduino 引脚方式(Uno, Mega &
Leonardo):

(这些板子都有专用的SDA SCL 引脚)

  • +5v -> VCC
  • GND -> GND
  • SDA -> SDA
  • SCL -> SCL

adafruit_products_I2C_bb-1024.jpg

VCC引脚只是为芯片供电,如果要连接舵机或者LED灯,就使用V+引脚供电,V+引脚支持3.3~6V的电源(芯片的安全电压时5V)。 我们建议通过电源接线柱外接电源供电。

供电部分

大多数的舵机设计电压都是在5~6V,尤其在多个舵机同时运行时,跟需要有大功率的电源供电。如果直接使用Arduino 5V引脚直接为舵机供电,会出现一些难以预测的问题,所以我们建议你能有个合适的外部电源为驱动板供电。

adafruit_products_Connections_bb-1024.jpg

连接舵机

大多数舵机都是使用标准3线母插头连接,只要按照对应的引脚插入驱动板就可以了。(地线一般为黑色或棕色、信号线一般为黄色或白色)

adafruit_products_Servo_bb-1024.jpg

一个驱动板上最多可以添加16个舵机。

adafruit_products_AllServos_bb-1024.jpg

驱动板级联

多驱动板级联 (最多可级联62)为你提供更大的扩展性,连接方式如下图所示。

adafruit_products_MultiBoard_bb-1024.jpg

为驱动板分配地址

级联的每个驱动板都需要有一个唯一的访问地址。每个驱动板的初始I2C地址是0×40,可以通过右上角的跳线修改I2C地址。用焊锡将一个跳线连上就表示一个二进制数字“1”。

adafruit_products_2012_10_13_IMG_0692-1024.jpg

Board 0:  Address = 0×40
Offset = binary 00000 (
默认)

Board 1:  Address = 0×41  Offset = binary 00001 (如上图,接上A0)

Board 2:  Address = 0×42  Offset = binary 00010 (接上A1)

Board 3:  Address = 0×43  Offset = binary 00011 (接上A0A1)

Board 4:  Address = 0×44  Offset = binary 00100 (接上A2)

以此类推。。。

代码示例:

#include <Wire.h>

#include
<Adafruit_PWMServoDriver.h>

 

Adafruit_PWMServoDriver pwm1 =
Adafruit_PWMServoDriver(0×40);

Adafruit_PWMServoDriver pwm2 =
Adafruit_PWMServoDriver(0×41);

 

void setup() {

  Serial.begin(9600);

  Serial.println(“16 channel
PWM test!”);

 

  pwm1.begin();

  pwm1.setPWMFreq(1600);  //
This is the maximum PWM frequency

 

  pwm2.begin();

  pwm2.setPWMFreq(1600);  //
This is the maximum PWM frequency

}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多