Pico-Servo-Driver
| ||||||||||||||||||||
| ||||||||||||||||||||
说明
产品简介
专为Raspberry Pi Pico 设计的一款舵机控制拓展板,板载16通道舵机控制接口。
产品特性
- 板载 Raspberry Pi Pico 接口,适用于 Raspberry Pi Pico 系列主板
- 支持高达 16 路舵机或 PWM 输出,每路支持高达 16 位分辨率
- 板载 5V 稳压芯片,输出电流可达 3A,可通过 VIN 端子接入电池供电
- 板载标准舵机接口,可接入 SG90、MG90S、MG996R 等常用舵机
- 引出 Pico 未占用的引脚,方便扩展
- 提供完善的配套资料手册 (Raspberry Pi Pico C/C++ 和 MicroPython 等示例程序)
产品参数
- 工作电压 5V(Pico) 或 6~12V(VIN 端子)
- 舵机电压 5V
- 逻辑电压 3.3V
- 控制接口 GPIO
- 过孔直径 3.0mm
- 产品尺寸 65 × 56mm
引脚分布
产品尺寸
使用
硬件连接
连接Pico的时候,请注意对应方向不要接反。可以观察模块上有USB丝印的一端与Pico的USB接口一端来判断方向(也可以根据模块上的排母的引脚标号与Pico的引脚标号判断)
程序下载
一:树莓派上直接下载
打开树莓派终端,执行:
sudo apt-get install p7zip-full cd ~ sudo wget https://www.waveshare.net/w/upload/3/31/Pico_Servo_Driver_Code.7z 7z Pico_Servo_Driver_Code.7z -o./Pico_Servo_Driver_Code.7z cd ~/Pico_Servo_Driver_Code
二:在资料栏下点击示例程序直接下载即可
树莓派环境使用
c
- 以下教程为在树莓派上操作,但由于cmake的多平台、可移植的特点,在PC上也是能成功编译,但操作略有不同,需用户自行判断。
进行编译,请确保在c目录:
cd ~/Pico_Servo_Driver_Code/c/
在文件夹中创建并进入build目录,并添加SDK: 其中 ../../pico-sdk 是你的SDK的目录。 我们示例程序中是有build的,直接进入即可
cd build export PICO_SDK_PATH=../../pico-sdk (注意:务必写对你自己的SDK所在路径)
执行cmake自动生成Makefile文件
cmake ..
执行make生成可执行文件,第一次编译时间比较久
make -j9
编译完成,会生成uf2文件。 按住Pico板上的按键,将pico通过Micro USB线接到树莓派的USB接口,然后松开按键。接入之后,树莓派会自动识别到一个可移动盘(RPI-RP2),将build文件夹下的main.uf2 文件复制到识别的可移动盘(RPI-RP2)中即可。
cp main.uf2 /media/pi/RPI-RP2/
python
树莓派环境下的使用
- 1.刷好Micropython的固件,将pico_micropython_xxxxx.uf2 文件拷入pico中(下面Windows教程中有详细介绍)。
- 2.在树莓派上打开Thonny IDE (点击树莓派logo -> Programming -> Thonny Python IDE ),你可以在Help->About Thonny查看版本信息
以确保你的版本是有Pico支持包的,同样你可以点击Tools -> Options... -> Interpreter选择MicroPython(Raspberry Pi Pico 和ttyACM0端口
如图所示:
如果你当前的Thonny版本没有pico支持包,输入以下指令来更新Thonny IDE
sudo apt upgrade thonny
3.点击File->Open...->python/Pico_Servo_Driver_Code/python/servo.py,运行脚本即可
实验现象通道一接上舵机,将会从0度旋转到180度,循环三次
Windows环境使用
c
下载例程
使用例程
注意:下面的图片仅供参考,步骤是一样的。
1. 打开对应C程序文件夹
2. 通过Vs coed打开,并选择对应编译工具
3. 点击编译按键进行编译
4.Pico-Eval-Board上的Reset按键按下可复位Pico,先按下BOOTSEL按键再按下RUN按键后释放Reset按键,Pico可进入磁盘模式无需插拔Pico,并将build文件下的UF2文件拖拽到RPI-RP2盘符中
5.此时Pico开始运行对应程序
代码简析
底层硬件接口
我们进行了底层的封装,由于硬件平台不一样,内部的实现是不一样的,如果需要了解内部实现可以去对应的目录中查看
在DEV_Config.c(.h)可以看到很多定义,在目录:...\c\lib\Config
- 数据类型:
#define UBYTE uint8_t #define UWORD uint16_t #define UDOUBLE uint32_t
- 模块初始化与退出的处理:
void DEV_Module_Init(void); void DEV_Module_Exit(void);
- PWM初始化处理:
void PWM_initialization();
- 中断处理函数:
void on_pwm_wrap();
- 定义使用的通道
#define CHANNE_N 0xFFFF // 0x0001表示0通道开启,0x0000表示通道全部关闭
- 旋转的角度
#define ROTATE_0 1700 //旋转到0°的位置 #define ROTATE_45 3300 //旋转到45°的位置 #define ROTATE_90 4940 //旋转到90°的位置 #define ROTATE_135 6600 //旋转到135°的位置 #define ROTATE_180 8250 //旋转到180°的位置
python
windows环境下的使用
- 1.按住Pico板上的BOOTSET按键,将pico通过Micro USB线接到电脑的USB接口,待电脑识别出一个可移动硬盘(RPI-RP2)后,松开按键。
- 2.下载pico_micropython_xxxxx.uf2 文件,复制到识别的可移动盘(RPI-RP2)中
- 3.打开Thonny IDE(注意:要使用最新版本的Thonny,否则是没有Pico的支持包的,当前Windows下的最新版本为v3.3.3)
- 4.点击工具->设置->解释器,如图所示选择Pico及对应的端口
- 5.文件->打开->servo.py,点击运行即可,如图所示说明程序已经运行:
资料
配套资料
文档
程序
开发软件
Pico快速上手
固件下载
| ||
|
文字教程
基础介绍
MicroPython系列
【MicroPython】machine.Pin类函数详解
【MicroPython】machine.PWM类函数详解
【MicroPython】machine.ADC类函数详解
【MicroPython】machine.UART类函数详解
【MicroPython】machine.I2C类函数详解
【MicroPython】machine.SPI类函数详解
【MicroPython】rp2.StateMachine类函数详解
C/C++系列
【C/C++】 Windows教程1——环境搭建
【C/C++】 Windows教程2——创建工程
Arduino IDE 系列
安装Arduino IDE
-
首先到Arduino官网下载Arduino IDE的安装包。
-
这里选择仅下载就可以了。
-
下载完成后,点击安装。
注意:安装过程中会提示你安装驱动,我们点击安装即可
Arduino IDE中文界面
在Arduino IDE中安装Arduino-Pico Core
-
打开Arduino IDE,点击左上角的文件,选择首选项
-
在附加开发板管理器网址中添加如下链接,然后点击OK
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
注意:如果您已经有ESP32板URL,您可以使用逗号分隔 URL,如下所示:https://dl.espressif.com/dl/package_esp32_index.json,https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
-
点击工具>开发板>开发板管理器>搜索pico,由于我的电脑已经安装过了,所以显示已安装
国内用户
- 因为网络原因,国内用户连接github并不稳定,我们另外提供了一份安装包,可以跳过在线的过程
- 若已经成功配置了pico环境,可以直接跳过本章
-
下载rp2040压缩包,将解压的rp2040文件夹复制到如下路径下
C:\Users\[username]\AppData\Local\Arduino15\packages
第一次上传程序
- 下载程序,打开arduino\PWM\D1-LED路径下的D1-LED.ino
-
点击工具>端口,记住已有的COM,不需要点击这个COM(不同电脑显示的COM不一样,记住自己电脑上已有的COM)
-
用USB线将驱动板和计算机连接起来,再点击工具>端口,第一次连接选择uf2 Board,上传完成后,再次连接就会多出一个COM口
-
点击工具>开发板>Raspberry Pi Pico/RP2040>Raspberry Pi Pico
- 设置完成后,点击向右箭头上传将程序
- 如果期间遇到了问题,需要重新安装或者更换Arduino IDE版本时,卸载Arduino IDE需要卸载干净,卸载软件后需要手动删除C:\Users\[name]\AppData\Local\Arduino15这个文件夹内的所有内容(需要显示隐藏文件才能看到) 再重新安装
开源例程
MircoPython视频例程(github)
MicroPython固件/Blink例程(C)
树莓派官方C/C++示例程序 (github)
树莓派官方micropython示例程序 (github)
Arduino官方C/C++示例程序 (github)
FAQ