pca9685的舵机控制

舵机角度

一个周期为20ms的脉冲里面高电平持续的时间决定了舵机转动的角度,180度舵机对应关系如下:0.5ms--0度,1ms--45度,1.5ms--90度,2ms--135度,2.5ms--180度。

 

16路舵机驱动控制模块pca9685pw通过IIC(内置PWM驱动和一个时钟)协议可以控制16个舵机

 

pca9685设备地址

其地址的分配是通过模块右上方的短接焊盘来确定的,从A0-A5表示地址的最低位到最高位,也就是最多可级联2^5=32个模块,地址为: 1+A5+A4+A3+A2+A1+A0+rw。如果不用短接的话Ax=0;短接的话Ax=1;rw为写的话rw=0;rw为读的话rw=1;所以写入数据不做短接则地址应该为1000 0000 =0x80

 

 

IIC通信

SCL接PH4,SDA接PH5,VCC接3.3V,GND接,V+单纯只是供电,在驱动大功率舵机时不接,但是外接电源的两个端口要接上正负极,否则无法供电。

其中每个输出管脚拥有4个寄存器,每隔寄存器存储8位2进制数据,每个输出管脚需要存储上升时间和下降时间

void setPWM(uint num, uint on, uint off)//其中开始一般设置为0,只需要取下降时间就行

该函数为设置PWM波的占空比,一般都以4096为一个PWM波周期

MODE1寄存器用来重设板子,PRE_SCALE用来设置控制周期的寄存器,要在进入睡眠后修改时钟周期寄存器

void setPWMFreq(float freq)

设置角度

60度=0.5ms+(60/180)*(2.5ms-0.5ms)=1.1666ms

利用占空比=1.1666ms/20ms=off/4096,off=239,50hz对应周期20ms

实物连接图

pca9685分为控制电和驱动电两个电源,其中控制电接3.3V,一般由单片机开发板提供,同时SCL和SDA和单片机的数据信号和时钟信号相连;而驱动电为中间绿色的装置,需接5v电压

这里驱动电我使用了网购的另一个5v直流电源

  • 17
    点赞
  • 160
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值