Servo Driver Board
来自丢石头百科
| ||||||||||||||||||||||
| ||||||||||||||||||||||
|
目录
前言
本产品是通过PCA9685芯片扩展16路舵机控制或者PWM输出,每个通道12位分辨率。通过I2C接口控制,无需占用额外的引脚。不仅如此,还可以通过级联的方式最多级联62个驱动板,总共可以驱动992个舵机。适用于控制机械手臂,以及各种舵机机器人。
产品特性
- 输入电压VCC:2.3V-5.5V,最大耐压值5.5V
- 逻辑电压:3.3V
- 舵机电压:≤6V,一般为5V
- 驱动芯片:PCA9685(内置25MHz晶振,可不连接外部晶振,也可以连接外部晶振,最大50MHz)
- 控制接口:I2C(支持高达16路PWM输出,每路12位分辨率(4096级))
- 固定孔通径:3.0mm
硬件说明
- 控制引脚:
- GND:电源负极
- OE:使能端,一般不接
- SCL:IIC时钟线
- SDA:IIC数据线
- VCC:电源正极,电路板工作电压(主要是给驱动芯片供电)
- V+:舵机工作电压。当接入舵机数量较少时,可从此处供电
- 舵机供电端:舵机工作电压,与VCC相通
- 主控芯片:PCA9685,具备IIC通信,同时内置了PWM驱动器和一个时钟,最大支持16路舵机控制
- IIC地址选择:7位I2C地址为:0x80 + A5:A0+R/W,A5到A0如果不做任何处理的话是0,想要把哪一位置1就把那个引脚焊到一起。初始I2C地址是0x80(写入)
- 级联控制端;当多个驱动板级联时可通过该引脚扩展
- 舵机控制端/PWM输出端:16路舵机控制端,黄色为PWM控制线,红色为舵机电源线,黑色为地线。舵机编号从左开始,最左侧为一号舵机,以此类推共十六个舵机
使用说明
精度说明
- PCA9685的分辨率是12位,即占空比控制时,0-4096对应的占空比为0-100,在控制舵机的时候,控制信号是0.5ms-2.5ms,周期20ms,所以控制舵机角度不会有太高的分辨率,对舵机控制精度较高的地方不建议使用。
- 以舵机SG90为例,舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。那么对应的控制关系是这样的:
- 则对该舵机而言:
- 舵机控制的PWM周期为20ms
- 旋转x度是对应的高电平时间t1=0.5ms+(x/180)*(2.5ms-0.5ms)
- 旋转x度是对应的计数值t2=(4096*t1)/20ms
地址分配
- PCA9685的器件地址是由引脚A0,A1,A2,A3,A4,A5共同决定。由于有6个引脚共同决定器件地址,因此,可以有64个器件地址,但由于该IC上电便保留LED All Call address (0xE0,0111 0000)以及Software Reset address(0x06,0000 0110),实际仅有62个可用器件地址,因此,理论上,1个I2C接口可控制16*62=992路PWM。
- 根据芯片手册,地址位的寄存器一共8位,其中最高位固定是1,A0-A5这六位是用户可更改的,而其中最关键的一位是R/W位,这一位主要是决定了读还是写,置1时为读,置0时为写。所以在写程序的时候,PCA9685的地址应把R/W位加上。在写的时候,发送地址位是0x80,在读的时候,发送的地址位是0x81。
- 模块级联时每个驱动板都需要有一个唯一的访问地址。可以通过A5-A0的跳线修改I2C地址。用焊锡将一个跳线连上就表示一个二进制数字“1”,断开则表示二进制数字“0”。如下图所示,该驱动板的IIC地址应为0x82(写)/0x83(读)
接线说明
单个驱动板
- VCC引脚只是为芯片供电,如果要连接舵机或者LED灯,就使用V+引脚供电,V+引脚支持3.3-6V的电源
- 此驱动板采用IIC接线方式,实际使用时将驱动板的SCL、SDA引脚与MCU对应的IIC引脚相连即可
- 大多数舵机都是使用标准3线母插头连接,只要按照对应的引脚插入驱动板就可以了。(地线一般为黑色或棕色、信号线一般为黄色或白色)