ROS与RACECAR教程-舵机控制
ROS与RACECAR教程-舵机控制
说明:
- 介绍如何通过PCA9685伺服驱动器进行舵机控制
PCA9685硬件:
- PCA9685驱动板
- JHPWMDriver代码库,代码可用于NVIDIA Jetson TX1 / Jetson TK1
- steering servo(转向舵机)插入到PCA9685驱动板,PCA9685驱动板再通过I2C与开发板进行连接
- 需要注意转换后的电压值
硬件连线:
- TX1通过I2C连接硬件,可以参考文章
- TK1通过I2C连接硬件,可以参考文章
- 使用到the Jetson TX1 J21 pins 27 (SDA) and 28 (SCL).
- 在I2C bus 1分别有I2C_GP1_DAT and I2C_GP1_CLK
- 使用J21 Pin 1 作为3.3V提供和J21 Pin 6作为GND
- TX1的3.3V-> PCA9685的VCC
- TX1的GND -> PCA9685的GND
- TX1的SDA -> PCA9685的SDA
- TX1的SCL -> PCA9685的SCL
连线图:
相关工具:
- Battery Charger/电池充电器, 如SKYRC iMAX B6AC V2
- Multimeter/万用表
- PCA9685 Breakout Board/PWM驱动板,Adafruit16-Channel12-bit PWM/Servo Driver–I2Cinterface–PCA9685
- Breadboard/面包板
- Power Jack Adapter/电源适配器 (A female DC Power Jack 5.5mm x 2.1mm CCTV Power Jack Adapter)
- Power Adapter for Servo(s)/伺服电源,6V 1A AC Adapter To DC Power Adapter 5.5/2.1mm
软件及安装
(1)安装i2c:
- 安装i2c驱动:
$ sudo apt-get install libi2c-dev i2c-tools
- 执行检测:
$ sudo i2cdetect -y -r 1
- PCA9685的默认地址是0x40
(2)安装JHPWMDriver
- 下载编译
$ git clone https://github.com/jetsonhacks/JHPWMDriver.git
$ cd JHPWMDriver
$ cd example
- 修改‘servoExample.cpp’文件,去掉注释:
// int servoMin = 120 ;
// int servoMax = 720 ;
- 尝试找出合适的值
- 编译:
$ make
- 执行
$ sudo ./servoExample
- 需要使用sudo获取访问I2C权限
- 可以看到前轮从左转向右,并能获取从小到大的pwm值和停止点
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号