舵机控制中PCA9685控制芯片的运用航天工程论文工程论文.docx
- 文档编号:24296783
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:6
- 大小:17.73KB
舵机控制中PCA9685控制芯片的运用航天工程论文工程论文.docx
《舵机控制中PCA9685控制芯片的运用航天工程论文工程论文.docx》由会员分享,可在线阅读,更多相关《舵机控制中PCA9685控制芯片的运用航天工程论文工程论文.docx(6页珍藏版)》请在冰豆网上搜索。
舵机控制中PCA9685控制芯片的运用航天工程论文工程论文
舵机控制中PCA9685控制芯片的运用-航天工程论文-工程论文
——文章均为WORD文档,下载后可直接编辑使用亦可打印——
摘要:
文章采用I2C总线通信方式,将PCA9685LED控制芯片应用在舵机控制中。
PCA9685接收主控芯片的指令,通过输出PWM脉冲信号的方式用以控制最多不超过16路舵机或其他输出通道,最终实现了舵机控制的功能。
关键词:
I2C总线;PCA9685;PWM;舵机控制;
Abstract:
Inthispaper,theI2Cbuscommunicationmodeisadopted,andthePCA9685LEDcontrolchipisappliedtothecontrolofthesteeringgear.ThePCA9685receivestheinstructionofthemaincontrolchipandusesthewayofoutputtingthePWMpulsesignaltocontrolthesteeringgearupto16channelsorotheroutputchannels,andfinallyrealizesthecontrolfunctionoftheservogear.
Keyword:
I2Cbus;PCA9685;PWM;servocontrol;
在自驾仪中,舵机是决定飞机舵面偏转角度的执行机构,一般的无人机需要四个舵机用于控制无人机的俯仰、偏航和滚转,通常由PWM信号进行控制[1]。
PCA9685是一款用于产生16路PWM信号的LED控制芯片,采用I2C总线与主控芯片进行通信[2]。
由于PCA9685具有可以产生16路PWM脉冲、控制精准、编程简单灵活等特点,以其为基础实现的舵机控制能够有限减少硬件和软件设计的复杂度,具有高可靠性[3-4]。
1、I2C总线协议
自驾仪的主控芯片一般具有多种资源与传感器或其他外设进行通信,包括串口、I2C、SPI、QSPI等。
I2C总线具有简单、有效的特点,能够有效减少芯片管脚和线路连接的数量,本文介绍的PCA9685舵机控制器就是采用I2C与主控芯片进行通信的[5]。
I2C总线是由Philips公司开发的,是一种简单的双向二线制同步串行总线。
它只需要两根线即可在连接于总线上的器件之间传送信息。
I2C总线一般由两根数据传输线构成:
一根时钟线(SCL)、一根数据线(SDA)。
I2C总线协议一般要求每次发送字节的长度必须为8位,每次通信由主机、从机两端完成。
整个通信过程如图1所示[6]。
I2C写操作流程为:
(1)主机发起开始信号;
(2)主机发送I2C地址(7位)和写操作0(1位),等待确认;
(3)从机发送确认;
(4)主机发送寄存器地址(8位),等待确认;
(5)从机发送确认;
(6)主机发送数据(8位),即要向寄存器中写入的数据,等待确认;从机发送确认;
(7)主机发起停止。
I2C读操作流程为:
(1)主机发送I2C地址(7位)和写操作0(1位),等待确认;
(2)从机发送确认;主机发送寄存器地址(8位),等待确认;
(3)主机发送开始;主机发送I2C地址(7位)和读操作(1位),等待确认;
(4)从机发送确认;从机发送数据(8位)。
(5)主机发送确认。
从以上分析可以看出,I2C总线通信只需要两根线(SCL和SDA),可并联多个外设使用,通过每个外设的I2C地址区分不同外设。
从机的I2C地址最低位代表读
(1)或写(0)操作。
2、PCA9685的用途及特点
PCA9685是一款基于I2C总线控制的16路LED背光调节控制芯片。
每一路LED输出端均可自由调节PWM波的频率(40~1000Hz)和占空比(0%~100%)。
这款芯片主要通过输出不同占空比的PWM脉冲信号来控制舵机转动的角度,其主要特点如下[7]:
(1)PCA9685可编程调节16路PMW脉冲的占空比以及高电平到来的时刻,分辨率为12位(4096)。
(2)在快速模式下I2C总线的速率可以达到1MHz,此外SDA端口30mA的驱动能力可以在高总线负荷上使用。
(3)PCA9685的PWM脉冲输出频率范围为40~1000Hz,它内置的25MHz振荡器和外部时钟可以选择使用。
(4)PCA9685的硬件地址被设计为6位,这样在同一个I2C总线上可以连接62个同一芯片;每个芯片有4个基于I2C总线的软件可编程地址,并且任一芯片可以被同时或单独寻址。
(5)PCA9685的电压工作范围为2.3~5.5V,使用温度为-40℃~+85℃。
3、PCA9685舵机控制的实现
通常PCA9685与舵机连接需要三根线,分别是电源线、控制线和地线,其中控制线是PWM脉冲的输出端,电源线和地线为舵机内部的直流电机供电。
舵机转动的角度和控制线PWM脉冲的宽度(占空比)成正比,1ms对应0,2ms对应180,并且脉宽在1~2ms之间变化时,舵机角度从0~180线性增长。
因此,要实现对舵机的控制,需要在PCA9685正确的地址设工作模式、PWM脉冲的频率及占空比即可。
(1)芯片访问地址的确认。
PCA9685的访问地址由芯片的6位硬件地址引脚连接电平决定,最高位为1不变,最低位用于区分I2C通信的读写模式,主控芯片通过该地址向PCA9685的不同寄存器写入不同数据,就可以控制PCA9685向舵机发送想要的PWM脉冲。
(2)PMW脉冲频率的设置。
PCA9685脉冲输出频率的范围为40~1000Hz,一般舵机控制需要的频率为50Hz。
计算公式为:
其中prescal为向频率设定寄存器(地址为0XFEH)中写入的值,EXTCLK为主控芯片的时钟信号,refresh_rate为期望得到的PWM脉冲频率,这里为50。
实现代码为:
(3)脉冲宽度的设置。
PCA9685的任一通道均有4个寄存器用于设置12位计数器以此来实现脉宽调节,分别用于控制高电平开始到结束的时刻,一般将LEDn_ON设置为0,如果脉宽为duty,则LEDn_OFF的计算公式如下:
实现代码为:
4、结束语
本文在PCA9685LED控制芯片的基础上,通过I2C总线协议,设计了一种可产生16路PWM脉冲,并可灵活设置频率及占空比的舵机控制实现途径。
经过本文的分析及设计,最终从原理上实现了这一应用,有效减轻了硬件设计和软件设计的工作量,是一种行之有效的解决办法。
参考文献
[1]梁锋,王志良,解仑,等。
多舵机控制在类人机器人上的应用[J].微计算机信息,2008
(2):
242-243.
[2]周英路,王志亮,朱松青,等。
基于PCA9685的多路舵机控制器设计[J].南京工程学院学报(自然科学版),2017,15(04):
26-31.
[3]韩玉龙,赵瑾,申忠宇,等。
竞赛机器人多舵机控制方法的研究与实现[J].自动化仪表,2016,37(07):
46-49.
[4]吴清,刘红周,郑建荣。
分时复用PWM模块的多舵机控制信号的实现[J].微特电机,2016,44(08):
113-116.
[5]张军才,茹伟,赵腊才,等。
I~2C总线测试系统的设计与实现[J].仪表技术与传感器,2016(12):
118-120.
[6]林倩。
I2C协议解析及实测波形[J].数字技术与应用,2016(11):
57-58.
[7]冯月芹。
4位RGBLED彩灯控制器PCA9633的应用[J].微型机与应用,2015,34(07):
30-33.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 舵机 控制 PCA9685 芯片 运用 航天 工程 论文