16路舵机驱动板程序使用说明

实时应用开发

5人已加入

描述

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

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

  供电部分

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

  

  连接舵机

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

  

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

  

  驱动板级联

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

  

  为驱动板分配地址

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

  

  Address = C X 40

  Board 0:

  Offset = binary 00000 (默认)

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

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

  Board 3: Address= C x43 Offset= binary 00011(接上AO和A1)

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

  以此类推

  代码示例:

  #include 《Wire.h》

  #include

  《Adafrui t_PWMServoDriver.h》

  Adafrui t_PWMServoDriver pwm1二

  Adafrui t_PWMServoDriver (0 X 40);

  Adafruit_PWMServoDriver pwm2 =

  Adafrui t_PMServoDriver (0 X 41);

  void setup() {

  Serial.begin(9600);

  Serial.println(“16 chanel

  PWM test!”);

  pwm1.begin();

  //

  pwm1.setPWMFreq(1600);

  Thi s is the maximum PWM[ frequency

  pwm2.begi n();

  pwm2.setPWMFreq(1600); //

  Thi s is the maximum PWM[ frequency

  串口指令说明:

  舵机移动指令

  指令格式:#(舵机号)P(脉冲宽度)………#(舵机号)P(脉冲宽度)T(移动时间)

  舵机号:1~16

  脉冲宽度:500~2500,对应角度0~180度

  移动时间:从现在位置移动到指定位置所需的时间,单位ms,时间越短舵机反应越快,但过快舵机则反应不过来,一般在定在100ms以上

   :回车符,指令结束符,也可写成0x0d,0x0a

  例如:#1P1000T300

  表示让第1路舵机移动到1000us脉宽的位置,即45度,使用的时间为300ms

  #1P500#2P1000#3P1500T200

  表示让第1路,第2路和第3路分别移动到500us脉宽,1000us脉宽,1500us脉宽的位置上,

  即0度,45度,90度,各自使用的时间为200ms

  动作组指令

  指令格式:#(组号)G(循环次数)C

  例如:#1G3C

  表示按顺序依次执行动作组1,动作组2,和动作组3,这个过程循环3次完毕

  以上指令注意大小写

  舵机接线注意事项

  

  舵机的接头从左到右依次为信号线,VCC,GND。

  

  舵机接上舵机控制板时就按图上所示,两边信号线都朝里面。

  16路舵机调试软件使用说明

  使用USB转串口模块连接调试方法:

  1,首先需要用usb转串口模块连接舵机控制板,用长的3P连接线分别GND对应GND,TXD对应RXD,RXD对应TXD连接。如图,(套件里配的线颜色是随机的)

  舵机

  2,接着在“STC扩展板使用资料”压缩包里找到“CP210x_VCP_Win2K_XP_S2K3”安装usb转串口的驱动,安装完成后,插上usb转串口模块,在设备管理器——端口(COM和LPT)里确认串口号(如图)。

  舵机

  3,给舵机控制板供电,D2电源指示灯会亮起来。不要试图用USB供电来测试舵机,usb的电流只有500ma,一个舵机的电流需求就在500~1000ma了,用usb供电结果只会烧板子。

  4,打开16路舵机调试软件,串口选择成刚才确认的串口号,波特率默认固定为115200,这时软件会自动打开对应串口,调试软件跟舵机控制板的通讯就开始了(如图)。

  舵机

  单路舵机调试窗口:

  下面的拉杆是可以拉动的,上方左边是角度值,右边是脉宽值,随着拉杆的移动而变动,角度范围0~180度,脉宽范围是500~2500。脉宽值是可以直接输入指定值的,比如输入2500,当前小窗口里角度会变成180度,下方拉杆上的滑块会移到最右边,同时对应的舵机也会转到180度位置。

  舵机

  动作调试区

  单个动作的移动时间,时间框里的数值可以改写,默认为300ms

  舵机

  动作指令显示区

  添加:将当前调试的舵机指令添加到显示区

  插入:将当前调试的舵机指令插入到显示区中高亮指令的下方

  删除:将显示区中高亮指令删除

  舵机

  保存:将显示区的所有动作指令保存为txt格式的文本文档,格式为**.txt例如001.txt,注意后缀txt一定要写

  导入:将保存的动作指令文本导入到显示区中

  移除:将显示区中的所有动作指令删除,清空

  舵机

  运行:从上到下依次按单个动作的移动时间发送给舵机板单个动作指令,显示区就会高亮显示正在运行的指令

  暂停:在运行时点击将会暂停运行动作指令循环运行:前面方框内打勾表示运行会一直循环下去,默认不打勾

  4、表示显示区中高亮的指令所在的行数

  舵机

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分