pca9685的舵机控制

pca9685的舵机控制舵机角度一个周期为 20ms 的脉冲里面高电平持续的时间决定了舵机转动的角度 180 度舵机对应关系如下 0 5ms0 度 1ms45 度 1 5ms90 度 2ms135 度 2 5ms180 度 nbsp 16 路舵机驱动控制模块 pca9685pw 通过 IIC 内置 PWM 驱动和一个时钟 协议可以控制 16 个舵机 nbsp 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+单纯只是供电,在驱动大功率舵机时不接,但是外接电源的两个端口要接上正负极,否则无法供电。

pca9685的舵机控制

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

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

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

pca9685的舵机控制

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

void setPWMFreq(float freq)

pca9685的舵机控制

设置角度

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

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

实物连接图

pca9685的舵机控制

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

pca9685的舵机控制

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220060.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午9:20
下一篇 2026年3月17日 下午9:20


相关推荐

  • 用Python分析2000款避孕套,得出这些有趣的结论

    用Python分析2000款避孕套,得出这些有趣的结论到现在为止,我们的淘宝教程已经写到了第四篇,前三篇分别是:第一篇:Python模拟登录淘宝,详细讲解如何使用requests库登录淘宝pc端。第二篇:淘宝自动登录2.0,新增Cookies序列化,教大家如何将cookies保存起来。第三篇:Python爬取淘宝商品避孕套,教大家如何爬取淘宝pc端商品信息。今天,我们来看看淘宝系列的第四篇我们在上一篇的时候已经将淘宝数据爬取下来了,…

    2022年5月25日
    53
  • json字符串数组转json数组

    json字符串数组转json数组当需要把一串字符串转成一个json数组,并遍历其中的内容时。首先要导入net.sf.json.JSONArray和net.sf.json.JSONObject两个jar包<dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><version>2.4</version><c

    2022年6月21日
    106
  • Linux04:(4.6k)vim编辑器「建议收藏」

    Linux04:(4.6k)vim编辑器「建议收藏」文章目录Linux_day04一.vim编辑器vim的三种模式1.命令模式2.末行模式3.编辑模式实用功能扩展内容==1.vim的配置文件==2.异常退出问题3.别名机制4.退出方式补充一些win10下的快捷键Linux_day04一.vim编辑器vim的三种模式命令模式不能对文件直接编辑,但可以通过快捷键删除行,复制,粘贴,移动光标等编辑模式-输入末行模式可以在末行输入命令:搜索,替换,保存,退出,撤销vim打开文件的方式:1.#vim 文件路径——直接打开文件(光

    2022年8月9日
    6
  • ubuntu设置虚拟显示器且远程连接[通俗易懂]

    ubuntu设置虚拟显示器且远程连接[通俗易懂]ps:如果需要再用显示器,需要删除或者重命名“xorg.conf”文件,后缀名改掉即可,如.conf_bak。虽然配置上面写了“1920×1080”,但是实际上最大支持“1360×768”,重启即可生效。重启计算机后,系统会默认使用虚拟显示器,即使接入了显示器,也不会输出信号到显示器上!使用teamviewer、todesk或者向日葵等远程工具实现远程连接即可。…

    2022年8月21日
    23
  • linux awk数组长度,linux awk数组操作详细介绍[通俗易懂]

    linux awk数组长度,linux awk数组操作详细介绍[通俗易懂]linuxawk数组操作详细介绍用awk进行文本处理,少不了就是它的数组处理。那么awk数组有那些特点,一般常见运算又会怎么样呢。我们先看下下面的一些介绍,结合例子我们会讲解下它的不同之处。在awk中数组叫做关联数组(associativearrays),因为下标记可linuxawk数组操作详细介绍用awk进行文本处理,少不了就是它的数组处理。那么awk数组有那些特点,一般常见运算又…

    2022年7月19日
    135
  • 2025 AI 架构演进:从 Open Claw 到 GPT-5.3,如何用“向量引擎”解决大模型调用的“最后一公里”?

    2025 AI 架构演进:从 Open Claw 到 GPT-5.3,如何用“向量引擎”解决大模型调用的“最后一公里”?

    2026年3月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号