导航菜单
Toggle navigation
微雪商城
微雪课堂
Raspberry Pi
主板/套件
显示屏
摄像头
扩展板
笔记本
机器人
游戏机
Android/Linux主板
人工智能
主板/套件
显示屏
摄像头
扩展板
机器人
显示屏
LCD/OLED
e-Paper
模块
远距离无线通信
近距离无线通信
有线通信/接口转换
摄像头/音视频
传感器
电机/舵机
大杂烩
机器人
智能车
驱动器/传感器
机械手/云台控制
MCU/FPGA
Arduino
micro:bit
LPC
FPGA
查看“Servo Driver HAT”的源代码
←
Servo Driver HAT
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
<div class="tabber"> {{扩展板|colorscheme=blue |name = Servo Driver HAT |img = [[File:Servo-Driver-HAT-intro.jpg|360px |alt=Servo Driver HAT|link=http://{{SERVERNAME}}/shop/Servo-Driver-HAT.htm | Servo Driver HAT]] |category1=树莓派 |brand=Waveshare |feature = 舵机控制/PWM输出 |interface1 = RPi |interface2 = I2C }} <div class="tabbertab" title="说明"> ==前言== 本产品是基于树莓派而设计的PWM/舵机扩展板,通过PCA9685芯片扩展16路舵机控制或者PWM输出,每个通道12位分辨率。通过I2C接口控制,无需占用额外的引脚。板载5V稳压芯片,可接电池供电,最大输出3A电流。适用于控制机械手臂,以及各种舵机机器人。<br /> ==产品特性== *输入电压VIN:6V~12V *舵机电压:5V *逻辑电压:3.3V *驱动芯片:PCA9685 *控制接口:I2C *产 品 尺 寸:65mm x 30mm *固定孔通径:3.0mm ==硬件说明== [[file:servo_driver_hat.png|700px]]<br /> 板子可以从树莓派上取电不需要额外供电。<br /> 也可以通过右边绿色端子VIN接电池供电,输入电压范围6V~12V。经过板载的5V稳压芯片输出5V电源给舵机和树莓派供电,最大输出电流3A。<br /> A0~A4可以设置PCA9685芯片的I2C设备地址,可以同时接多个Servo Driver HAT<br /> 最上面的排针是舵机接口,黑色排针是GND(大部分舵机对应的是褐色线), 红色排针是5V电源,黄色排针是PWM信号线,有0~15个通道,可以同时接16个舵机。注意舵机线不要接反,否则舵机不会转动。<br /> <font color="#FF0000"> 注意:<br /> 如果接大功率的舵机可能会出现供电不足的现象,需要接更多的电源<br /> </font> =树莓派使用= 提供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 wget http://www.waveshare.net/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 /> http://www.waveshare.net/wiki/AlphaBot2<br /> https://www.waveshare.com/wiki/AlphaBot2<br /> =Jetson nano= 提供python控制<br /> ==安装库== {{JetsonNano python lib}} ==下载示例程序,并解压到指定目录== <pre> sudo apt-get install p7zip wget http://www.waveshare.net/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="资料"> ===文档=== *[http://www.waveshare.net/w/upload/a/a2/Servo_Driver_HAT_Schematic_.pdf 原理图] ===程序=== *[http://www.waveshare.net/w/upload/6/6c/Servo_Driver_HAT.7z 示例程序] ===软件=== *[http://{{SERVERNAME}}/w/upload/a/a9/AlphaBot_Qt.7z Windows Qt 客户端] *[http://{{SERVERNAME}}/w/upload/8/8f/AlphaBot_LITE.apk 安卓App控制客户端] *[http://{{SERVERNAME}}/w/upload/3/39/AlphaBot_LITE_Code.7z 安卓App控制客户端源码] ===数据手册=== *[http://{{SERVERNAME}}/w/upload/6/68/PCA96_datasheet.pdf PCA9685] *[http://{{SERVERNAME}}/w/upload/d/d3/MP1584.pdf MP1584] *[http://{{SERVERNAME}}/w/upload/f/f6/RT9193.pdf RT9193] <br /><big>批量下载教程——请戳<big><big><big>☛</big></big></big></big>[[File:download-icon.png|link=批量下载教程]] <!--{{Join_us}}--> </div> <div class="tabbertab" title="FAQ"><br /> {{FAQ| 能否精密控制转动角度?| *无法做到精密控制,这个只是入门级的。 |||}} {{FAQ| 为什么抖动?| *轻微的抖动是正常的,由于舵机转动的实际角度小于舵机转动的最小物理角度,此时会有电流维持他的角度,就会引起抖动。 |||}} {{FAQ| 控制大的舵机为什么树莓派重启?| *由于默认是使用树莓派的5V给模块供电,如果控制的舵机功率太大(栗子:MG996R ),会拉低树莓派的5V,可以将板上的这个0R电阻移除。然后VIN端子供6-12v的电压 [[file:servo_driver_hat_faq1.png|900px]] |||}} {{FAQ| 能否用来控制步进电机?| *不可以,这个输出的是PWM,无法控制步进电机。 |||}} {{FAQ| 舵机吱吱吱响,并伴随发热?| *SG90是入门级别舵机,主要是里面的电位器不准的原因,使用一段时间就发生了松动,于是就导致了齿轮与理论上转的角度不一致,导致响声并发热。 |||}} </div> <div class="tabbertab" title="售后"><br />{{Service08}}</div>
该页面使用的模板:
模板:FAQ
(
查看源代码
)
模板:JetsonNano python lib
(
查看源代码
)
模板:Note
(
查看源代码
)
模板:Note/styles.css
(
查看源代码
)
模板:RPI open i2c
(
查看源代码
)
模板:Service17
(
查看源代码
)
模板:扩展板
(
查看源代码
)
返回至
Servo Driver HAT
。