用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、表示显示区中高亮的指令所在的行数
一种为MCU提供稳定电压的高效电压转换电路
无人机侦测防御系统的作用:可实现监控取证
微软Surface Laptop: 续航、性能和厚度玩爆苹果
没有5G的苹果产品,将会丢失中国高端市场的份额
经纬恒润业务分析:研发投入同比增49.9%,全面布局智能驾驶各细分领域
16路舵机驱动板程序使用说明
高通AI软件栈产品组合提供从边缘到云端的AI功能
中芯国际与ASML就EUV光刻设备进行谈判
可穿戴传感器有望应用于医疗行业
邦纳EZ-SCREEN LS系列安全光幕,在汽车刹车盘是汽车制动系统中的应用
MAX7370 8×8键盘开关控制器,具有更高的防静电保护
中移动遭反竞争调查 或因定制机限制"第二卡槽"
win8平板怎么安装安卓系统_win8平板应用商城用不了
L2级自动辅助驾驶车型试驾评测
stm32定时器中断配置
宽带压控式交流电流源
什么是区块链?区块链有什么用?
Llama 2 登陆 Azure 和 Windows,微软与 Meta 拓展人工智能合作伙伴关系
【TE Perspective】协作机器人在工厂自动化中日益增长的作用
Linux Fedora新版本愿景更新