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快速上手
Pico百科
树莓派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——创建工程
Pico-W系列教程(即将上线)
- 敬请期待
开源例程
MircoPython视频例程(github)
MicroPython固件/Blink例程(C)
树莓派官方C/C++示例程序 (github)
树莓派官方micropython示例程序 (github)
FAQ