37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百六十一:16路PWM Servo舵机驱动板 机器人控制器IIC接口驱动器模块 PCA9685



知识点:PCA9685芯片
PCA9685是一款基于I²C总线通信的12位精度16通道PWM波输出的芯片,该芯片最初由NXP推出时主要面向LED开关调光,同样可用于控制舵机、电机等任何可以适用PWM控制的电气设备。

利用I²C总线通信的功能特性,使其常用于拓展主控芯片的控制能力,因为其仅需两根线同主机芯片建立I²C通信,即可替代主控芯片的GPIO引脚来输出PWM波,节省主控芯片资源,这项特点在需要控制的设备数量超过主控芯片的可用GPIO引脚数量时将尤为突出。




PCA9685是一款I2C总线控制的16通道LED控制器,专为红/绿/蓝/琥珀(RGBA)彩色背光应用而优化。每个LED输出都有自己的12位分辨率(4096步)固定频率单独PWM控制器,可在可编程频率下工作,典型频率为24 Hz到1526 Hz,占空比可调节从0%到100%,以使LED达到特定的亮度值。所有输出的PWM频率都设置为相同。
每个LED输出可以关闭或打开(无PWM控制),或设置为其单独的PWM控制器值。LED输出驱动器被编程为开漏,带有在5V时25mA的电流下沉能力,或者是totem极,带有在5V时25mA的下沉和10mA的源能力。PCA9685的工作电压范围为2.3V至5.5V,输入和输出均可容忍5.5V。LED可以直接连接到LED输出(高达25mA,5.5V),或通过外部驱动器和最少量的离散元件控制更大电流或更高电压的LED。
PCA9685处于新的快速模式Plus(Fm +)系列中。 Fm +设备提供更高的频率(高达1MHz)和更密集的总线操作(高达4000pF)。
虽然PCA9635和PCA9685具有许多相似的特性,但PCA9685具有一些独特的特点,使其更适合于LCD或LED背光和Ambilight等应用:
• PCA9685允许交替的LED输出开启和关闭时间以最小化电流浪涌。每个16个通道的开启和关闭时间延迟可以独立编程。这个特性在PCA9635中不可用。
• PCA9685具有4096个步骤(12位PWM)的单独LED亮度控制。PCA9635仅具有256个步骤(8位PWM)。
• 当在系统中合并多个LED控制器时,如果使用PCA9635,多个设备之间的PWM脉冲宽度可能会有所不同。PCA9685具有可编程分频器,以调整多个设备的PWM脉冲宽度。
• PCA9685具有外部时钟输入引脚,可接受用户提供的时钟(最大50 MHz)代替内部25 MHz振荡器。此功能允许多个设备同步。PCA9635没有外部时钟输入功能。
• 与PCA9635一样,PCA9685也具有用于PWM控制的内置振荡器。但是,与PCA9635的典型频率97.6kHz相比,PCA9685用于PWM控制的频率可调节约为24 Hz至1526 Hz。这允许使用PCA9685与外部电源控制器。所有位都以相同的频率设置。
• LEDn输出引脚的上电复位(POR)默认状态在PCA9685的情况下为LOW。而对于PCA9635,则为HIGH。

PCA9685的技术规格:
◆16个LED驱动程序。EATH EACTER EUTPENT可编程::
离开

可编程的LED亮度
可编程的LED转折时间来帮助减少EMI
◆1MHz快速模式加上兼容的I2C总线接口,具有30mA高驱动能力在SDA输出上,用于驾驶高电容性总线。
◆每个LED输出的4096步(12位)线性可编程亮度从完全关闭(默认值)到最大亮度不等
◆LED输出频率(所有LED)通常从24Hz到1526Hz(pre_scale寄存器中的1EH默认值为1EH,导致振荡器时钟为25MHz的200Hz刷新率)。
◆具有软件可编程的开放式LED输出选择(Totem Pole的默认值)的16个图腾杆输出(接收器25mA和源10mA)。无输入功能。
◆输出状态更改可在确认或停止命令上编程,以同时更新输出字节或全部(默认为停止更改)。
◆主动低输出启用(OE)输入PIN。LEDN输出可编程为逻辑1,逻辑0(默认电源时)或高阻抗当OE高。
◆6个硬件地址引脚允许将62个PCA9685设备连接到同一I2C-BUS。
◆切换OE允许硬件LED闪烁。
◆4个软件可编程的I2C-BUS地址(一个LED所有呼叫地址和三个LED子呼叫地址)允许在任何组合中同时对设备组进行地址(例如,一个用于所有呼叫的寄存器,以便所有PCA9685S 可以同时解决I2C-BUS,以及用于三个不同地址的第二个寄存器,以便可以在组中同时处理总线上的所有设备中的1/3个设备)。 软件启用并禁用这些I2C总线地址。
◆软件重置功能(SWRST一般呼叫)允许通过I2C-BUS重置设备
◆25MHz典型的内部振荡器不需要外部组件。
◆外部50MHz(最大)时钟输入。
◆内部电力重置。
◆SDA/SCL输入上的噪声过滤器。
◆输出的边缘速率控制。
◆上电上没有输出故障。
◆支持热插入。
◆低备用电流。
◆操作电源电源电压范围为2.3V至5.5V。
◆5.5V耐受输入。
◆40℃至 +85℃操作。
◆ESD保护超过JESD22-A114,每JESD22-A115和1000V CDM PER JESD222222-C101。
◆对超过100mA。的JEDEC Standard Jesd78进行了闩锁测试
◆提供的包装:TSSOP28,HVQFN28。

简述I²C#
I²C(Inter-Integrated Circuit)字面上的意思是集成电路之间,它其实是I²C Bus简称,所以中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构,由飞利浦公司在1980年代为了让主板、嵌入式系统或手机用以连接低速周边设备而发展。

I²C只使用两条双向漏极开路(Open Drain)线,其中一条线为传输数据的串行数据线(SDA),另一条线是启动或停止传输以及发送时钟序列的串行时钟线(SCL),这两条线上都有上拉电阻。I²C允许相当大的工作电压范围,但典型的电压准位为+3.3V或+5v。

I²C的参考设计使用一个7比特长度的地址空间(2^7=128),但保留了16个地址,所以在一组总线最多可和112个节点通信。虽然最大的节点数目是被地址空间所限制住,但实际上也会被总线上的总电容所限制住,一般而言为400 pF,这限制了实际通信时的线路长度只有几米。

16路PWM舵机驱动板PCA9685模块



16路PWM舵机驱动板特性:
1、PCA9685芯片被包裹在小板的中央
2、电源输入端子
3、绿色电源指示灯
4、在4组3针连接器中方便你一次插入16个伺服电机(伺服电机的插头稍宽于0.1",所以你可以放4对0.1"的接头)
5、接线板上输入的反向极性保护
6、级联设计
7、V+线上放置一个大电容(在某些场合你会需要) 外围输入最大电压取决于这个10V1000uf的电容。
8、所有PWM输出线上都放一个220欧姆系列电阻器来保护他们,并能轻易的驱动LED。





16路PWM舵机驱动板模块参考电原理图







【雕爷学编程】Arduino动手做(161)---16路PWM舵机驱动板PCA9685相关推荐

  1. 【雕爷学编程】Arduino动手做(16)---数字触摸传感器

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  2. 树莓派python控制舵机_使用树莓派控制16路舵机驱动板(pca9685)

    使用树莓派控制16路舵机驱动板(pca9685) 在树莓派上,可以通过RPI.GPIO方便地输出PWM进行舵机控制. 使用RPI.GPIO 创建一个 PWM 实例: 1 p =GPIO.PWM(cha ...

  3. 「雕爷学编程」Arduino动手做(15)——手指侦测心跳模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  4. 《花雕学AI》01:尝试使用新必应制作《雕爷学编程》的栏目介绍

    跨年头尾三个月,花雕走完塔克拉玛干沙漠回来后,突然发现世界变了,微软投资的ChatGPT火起来了,特别是升级的ChatGPT4.0,更是异常火热!这一个多月来,人工智能AI突然爆发,能做的事情太多了, ...

  5. arduino 舵机接线图_arduino+16路舵机驱动板连接测试

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

  6. arduino 舵机接线图_arduino+16路舵机驱动板连接测试(示例代码)

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

  7. PCA9685:I2C转16路PWM,助力你的系统

    PCA9685:I2C转16路PWM,助力你的系统 1 基本介绍 1.1 该IC主要参数特征如下: I2C接口,支持高达16路PWM输出,每路12位分辨率(4096级) 内置25MHz晶振,可不连接外 ...

  8. Baize_ServoDriver_esp32——arduino 32路舵机驱动板(esp32主控,免费开源,附程序、固件)

     该机器人开发板的用法和介绍以本文章为准. 最新的代码github仓库为准:https://github.com/Allen953/Baize_ServoDriver_esp32 介绍 仓库总是存放最 ...

  9. STM32F103单片机生成16路PWM波

    单片机输出pwm波在项目中是恨常用的一个功能,今天就总结一下用STM32F103C8T6单片机输出16路 pwm波. 使用keil5软件,用标准库函数来实现. 首先看定时器初始化 void TIM1_ ...

最新文章

  1. jquery ajax error但状态是200,jQuery $ .ajaxError()在200上运行 - 好的
  2. linux 定义快捷命令,Linux系统自定义快捷命令的详细说明
  3. Effective C++学习第八天
  4. 单行文本与多行文本省略文本
  5. (BFS)Meteor Shower (poj3669)
  6. Django 安装使用
  7. 算法学习(二)——Alpha-Beta剪枝算法
  8. 清理电脑C盘的方法汇总
  9. 离散数学-各种关联词的符号化
  10. 孤儿文档是怎样产生的(MongoDB orphaned document)
  11. 3dmax2014【3dsmax2014】官方简体中文(64位)安装图文教程、破解注册方法
  12. 罗克韦尔(AB)PLC与MySQL/SQLServer/PostgreSQL数据库对接
  13. 不知道如何选用笔记本电脑的快来看看
  14. 小学英语词汇量测试软件好,Test Your Vocabulary:号称是最准的英语词汇量测试网站...
  15. Hbase教程(二) Hbase数据库Shell命令
  16. 隐式转换、IF判断、逻辑【与、或、非】、三目运算的用法(基础)
  17. xm在线转换成mp3_也就索尼敢了!4000多卖QQ音乐还不送会员,安卓MP3咋这么贵?...
  18. (4道全A)拼多多2021届提前批-服务端研发工程师笔试
  19. 三方登录---新浪微博登录
  20. “你尝试连接的远程计算机需要网络级身份验证NLA“处理办法

热门文章

  1. python如何清空数组_python中如何清空数组(列表)元素
  2. [月份维度]日志数据提取包含关键词的事件,解析落入的月份计数,matplotlib绘制统计图,python
  3. Android实现查询数据库,把数据库内容显示到屏幕
  4. 小白学习日记4_Python爬虫(requests/get)方式_2020年5月24日
  5. 成都榆熙:转化率的定义是什么?如何提升?
  6. android edittext控件常用属性,Android_Android EditText常用属性功能汇总,本文总结分析了Android EditText常 - phpStudy...
  7. 为什么妈妈带娃容易崩溃,托班老师带那么多娃却不会?
  8. 一直以为他们都退出影视圈了,原来他们都去演“爸爸”了
  9. 博客虚拟主机的购买技巧
  10. oracle中的checkpoint,Oracle checkpoint详解