匿名
未登录
登录
丢石头百科
搜索
查看“Servo Driver Board”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
Servo Driver Board
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<div class="tabber"> {{Product |name = Servo Driver Board |images = [[File:Servo Driver Board_示意图.png|400px]] |categories= {{Category|舵机}} |brand=丢石头 |features= * 舵机控制/PWM输出 |interfaces= {{Category|I2C接口}} }} <div class="tabbertab" title="说明"> ==前言== 本产品是通过PCA9685芯片扩展16路舵机控制或者PWM输出,每个通道12位分辨率。通过I2C接口控制,无需占用额外的引脚。不仅如此,还可以通过级联的方式最多级联62个驱动板,总共可以驱动992个舵机。适用于控制机械手臂,以及各种舵机机器人。 ==产品特性== *输入电压VCC:2.3V-5.5V,最大耐压值5.5V *逻辑电压:3.3V *舵机电压:≤6V,一般为5V *驱动芯片:PCA9685(内置25MHz晶振,可不连接外部晶振,也可以连接外部晶振,最大50MHz) *控制接口:I2C(支持高达16路PWM输出,每路12位分辨率(4096级)) *固定孔通径:3.0mm ==硬件说明== *[[File:Servo Driver Board_模块说明.png|600px]] *控制引脚: **GND:电源负极 **OE:使能端,一般不接 **SCL:IIC时钟线 **SDA:IIC数据线 **VCC:电源正极,电路板工作电压(主要是给驱动芯片供电) **V+:舵机工作电压。当接入舵机数量较少时,可从此处供电 *舵机供电端:舵机工作电压,当接入舵机数量较多时,必须从此处供电 *主控芯片:PCA9685,具备IIC通信,同时内置了PWM驱动器和一个时钟,最大支持16路舵机控制 *IIC地址选择:级联时可通过A5-A0更改模块IIC地址,初始I2C地址是0x40 *级联控制端;当多个驱动板级联时可通过该引脚扩展 *舵机控制端/PWM输出端:16路舵机控制端,黄色为PWM控制线,红色为舵机电源线,黑色为地线。舵机编号从左开始,最左侧为一号舵机,以此类推共十六个舵机 == 使用说明 == === 地址分配 === *PCA9685的器件地址是由引脚A0,A1,A2,A3,A4,A5共同决定。由于有6个引脚共同决定器件地址,因此,可以有64个器件地址,但由于该IC上电便保留LED All Call address (0xE0,0111 0000)以及Software Reset address(0x06,0000 0110),实际仅有62个可用器件地址,因此,理论上,1个I2C接口可控制16*62=992路PWM。 *模块级联时每个驱动板都需要有一个唯一的访问地址。每个驱动板的初始I2C地址是0x40,可以通过A5-A0的跳线修改I2C地址。用焊锡将一个跳线连上就表示一个二进制数字“1”,断开则表示二进制数字“0”。如下图所示,该驱动板的IIC地址应为0x41 **[[File:Servo Driver Board_使用说明1.png|500px]] === 接线说明 === ==== 单个驱动板 ==== *此驱动板采用IIC接线方式,实际使用时将驱动板的SC ==== 驱动板级联(以Arduino UNO为例) ==== *多驱动板级联:最多可级联62个 *[[File:Servo Driver Board_使用说明3.png|600px]] =树莓派使用= 提供python控制,功能包括简单的PCA9685库测试程序,wifi遥控程序以及蓝牙遥控程序。<br /> {{RPI_open_i2c}} ==安装库== <pre> sudo apt-get updata sudo apt-get install python-pip sudo pip install RPi.GPIO sudo apt-get install python-smbus </pre> ==下载示例程序,并解压到指定目录== <pre> sudo apt-get install p7zip-full wget http://wiki.diustou.com/w/upload/6/6c/Servo_Driver_HAT.7z 7zr x Servo_Driver_HAT.7z -r -o./Servo_Driver_HAT sudo chmod 777 -R Servo_Driver_HAT cd Servo_Driver_HAT/Raspberry\ Pi/ </pre> ==运行测试例程== ==python例程== <pre> #如果你是python2,树莓派默认是python2.7 cd python/ sudo python PCA9685.py #如果你是python3 cd python3/ sudo python3 PCA9685.py </pre> 实验现象:将舵机接到0号通道,0号通道的舵机从0度转到180度,然后又从180度转动到0度,不断重复循环。<br /> ===wifi遥控程序=== <pre> cd Wifi-Control/ sudo python main.py </pre> 操作与现象:发送端(手机或者电脑)和接收端(树莓派),需要连接到同一个局域网。程序是通过TCP协议传输数据,程序运行后会显示树莓派IP,服务器端口号是8000.<br /> 手机打开APP,选择Wifi遥控,输入对应的IP地址和端口号,点击连接.<br /> [[file:servo_driver_hat_wifi.png|900px]]<br /> 连接成功进入控制界面,点击按键可以控制0~4号通道的舵机正反转。<br /> [[file:servo_driver_hat_wifi1.png|900px]]<br /> 也可在电脑上运行Qt软件控制,如下图<br /> [[file:servo_driver_hat_wifi2.png|900px]]<br /> ===蓝牙遥控程序=== 执行:<br /> <pre> sudo apt-get update sudo apt-get upgrade -y sudo apt-get dist-upgrade -y sudo apt-get install pi-bluetooth bluez bluez-firmware blueman sudo usermod -G bluetooth -a pi sudo vi /etc/systemd/system/dbus-org.bluez.service sudo reboot </pre> 启动/增加SPP,开启蓝牙设备<br /> <pre> sudo vi /etc/systemd/system/dbus-org.bluez.service </pre> [[file:servo_driver_hat_bt.png|900px]]<br /> 重启树莓派后,输入hciconfig命令(类似ifconfig命令)查看蓝牙服务<br /> [[file:servo_driver_hat_bt2.png|900px]]<br /> 如果有看到hci0设备则蓝牙已经开启工作。如果没有则没有识别到蓝牙设备<br /> 运行如下命令启动程序<br /> <pre> cd Servo_Driver_HAT/python/Bluetooth-Control sudo ./Bluetooth.sh </pre> 操作与现象:程序运行后会提示等待蓝牙连接,手机App选择蓝牙遥控,点击扫描,发现raspberrypi设备并连接。<br /> [[file:servo_driver_hat_bt3.png|900px]]<br /> 连接程序后进入控制界面,点击按键可以遥控0~4通道的舵机正反转了。<br /> [[file:servo_driver_hat_bt4.png|900px]]<br /> 注意:如果接收到的命令不对,可能需要在APP中config一下对应按键按下和松开时发送的命令。<br /> [[file:servo_driver_hat_bt5.png|900px]]<br /> 注意:树莓派默认是只有180s的发现时间,如果想一直可以发现和配对,如果通过修改下面的文件配置。<br /> <pre> sudo vi /etc/bluetooth/main.conf </pre> 找到下面两个语句并去掉注释。<br /> [[file:servo_driver_hat_bt6.png|900px]]<br /> 程序兼容python3 ,运行的时候将python替换成python3即可。<br /> 更多关于树莓派wifi和蓝牙遥控可以参考AlphaBot2:<br /> [[AlphaBot2]] =Jetson nano= 提供python控制<br /> ==安装库== {{JetsonNano python lib}} ==下载示例程序,并解压到指定目录== <pre> sudo apt-get install p7zip wget http://wiki.diustou.com/w/upload/6/6c/Servo_Driver_HAT.7z 7zr x Servo_Driver_HAT.7z -r -o./Servo_Driver_HAT sudo chmod 777 -R Servo_Driver_HAT cd Servo_Driver_HAT/Jetson\ Nano/ </pre> ==运行测试例程== *python2 <pre> cd python2/ sudo python test.py </pre> *python3 <pre> cd python3/ sudo python3 test.py </pre> </div> <div class="tabbertab" title="资料"> ===文档=== *[https://{{SERVERNAME}}/w/upload/a/a2/Servo_Driver_HAT_Schematic_.pdf 原理图] ===程序=== *[https://{{SERVERNAME}}/w/upload/6/6c/Servo_Driver_HAT.7z 示例程序] ===软件=== *[https://{{SERVERNAME}}/w/upload/a/a9/AlphaBot_Qt.7z Windows Qt 客户端] *[https://{{SERVERNAME}}/w/upload/8/8f/AlphaBot_LITE.apk 安卓App控制客户端] *[https://{{SERVERNAME}}/w/upload/3/39/AlphaBot_LITE_Code.7z 安卓App控制客户端源码] ===数据手册=== *[https://{{SERVERNAME}}/w/upload/6/68/PCA96_datasheet.pdf PCA9685] *[https://{{SERVERNAME}}/w/upload/d/d3/MP1584.pdf MP1584] *[https://{{SERVERNAME}}/w/upload/f/f6/RT9193.pdf RT9193]
该页面使用的模板:
模板:Category
(
查看源代码
)
模板:Product
(
查看源代码
)
模板:Tag
(
查看源代码
)
返回至
Servo Driver Board
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志