模拟舵机调试(I2C转PWM输出 )

本文介绍了如何在MT6737M平台上通过PCA9685芯片解决缺少PWM接口的问题,实现对模拟舵机的控制。首先解释了舵机的工作原理,然后详细说明了PCA9685的初始化和配置过程,包括设置PWM频率、唤醒模式和通道PWM脉宽。最后讨论了舵机控制算法的基本思想,提出了两种不同的角度调整策略,并邀请读者分享更多优化算法。
摘要由CSDN通过智能技术生成

平台:MT6737M

舵机:模拟舵机

--------------------------------------------------------------------------------------------------

知识储备:

舵机:

接口:VCC,GND,信号

原理:一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围内的角度控制脉冲。

简单讲,就是一个50hz的PWM波形,脉宽(高电平)范围在0.5~2.5ms变化,控制角度的变化。

-------------------------------------------------------------------------------------------------------------------------------------

我们平台用了10个舵机,MTK平台没那么多PWM输出接口,怎么办?

1、硬件接口,需要10路PWM输出(10个舵机角度控制一致,那全部挂一路没问题,好像没这种需求吧)

在android平台用的最多的设备就是I2C了,也相对比较好调,所以找了一款IC,I2C转PWM输出,IC:PCA9685。

值得庆幸的是,这款IC linux有支持。\kernel-3.18\drivers\pwm\pwm-pca9685.c

2、又是俗套的I2C设备,驱动注册过程了。此处不表。

3、看datasheet,初始化,工作过程等等。

好多人估计要找PCA9685的初始化代码,记录一下吧。&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值