Pico-Servo-Driver

来自Waveshare Wiki
跳转至: 导航搜索
Pico Servo Driver
{{{name2}}}
{{{name3}}}
功能简介
特性 Sensors
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 I2C

说明

产品简介

专为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-Servo-Driver-details-5.jpg

产品尺寸

Pico-Servo-Driver-details-size.jpg

使用

硬件连接

连接Pico的时候,请注意对应方向不要接反。可以观察模块上有USB丝印的一端与Pico的USB接口一端来判断方向(也可以根据模块上的排母的引脚标号与Pico的引脚标号判断)
Pico-Servo-Driver-details-3.jpg

程序下载

一:树莓派上直接下载 打开树莓派终端,执行:

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端口
如图所示:
Pico-lcd-0.96-img-config2.png
如果你当前的Thonny版本没有pico支持包,输入以下指令来更新Thonny IDE

sudo apt upgrade thonny

3.点击File->Open...->python/Pico_Servo_Driver_Code/python/servo.py,运行脚本即可
实验现象通道一接上舵机,将会从0度旋转到180度,循环三次

Windows环境使用

c

Windows环境按装

下载例程

Pico_Servo_Driver例程

使用例程

注意:下面的图片仅供参考,步骤是一样的。
1. 打开对应C程序文件夹
Pico Servo Driver 1.jpg
2. 通过Vs coed打开,并选择对应编译工具
Pico-Eval-Board-win-3.jpg
3. 点击编译按键进行编译
Pico-Eval-Board-win-4.jpg
4.Pico-Eval-Board上的Reset按键按下可复位Pico,先按下BOOTSEL按键再按下RUN按键后释放Reset按键,Pico可进入磁盘模式无需插拔Pico,并将build文件下的UF2文件拖拽到RPI-RP2盘符中
Pico-Eval-Board-win-5.jpg
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及对应的端口

Pico-lcd-0.96-img-config.png

  • 5.文件->打开->servo.py,点击运行即可,如图所示说明程序已经运行:

Pico-lcd-0.96-img-run.png
实验现象与c程序完全相同,这里不再重复

Pico快速上手

固件下载

MicroPython固件下载
Pico MicroPython.gif
C_Blink固件下载
Pico Blink.gif
教程名3
列表3
教程名4
列表4
教程名5
列表5
教程名6
列表6
教程名7
列表7
教程名8
列表8

视频教程

PICO系列教程1——基础介绍

PICO系列教程2——外设GPIO

PICO系列教程3——PWM(脉冲宽度调制)

PICO系列教程4——ADC(模拟数字转换器)

PICO系列教程5——UART (异步收发传输器)

PICO系列教程6——I2C(集成电路总线)

PICO系列教程7——SPI(串行外设接口)

PICO系列教程8——PIO(可编程输入输出端口)

文字教程

基础介绍

Raspberry Pi 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

  1. 首先到Arduino官网下载Arduino IDE的安装包。
    Arduino下载2.0版本.jpg
  2. 这里选择仅下载就可以了。
    仅下载不捐赠.png
  3. 下载完成后,点击安装。
    IDE安装水印-1.gif
    注意:安装过程中会提示你安装驱动,我们点击安装即可
    Arduino驱动安装水印.jpg

Arduino IDE中文界面

  1. 第一次安装完成后,打开Arduino IDE全是英文界面,我们可以在File>Preferences切换成简体中文。
    首选项-简体中文.jpg
  2. 在Language里面选择简体中文,点击OK。
    首选项-简体中文ok.jpg

在Arduino IDE中安装Arduino-Pico Core

  1. 打开Arduino IDE,点击左上角的文件,选择首选项
    首选项水印-1.png
  2. 在附加开发板管理器网址中添加如下链接,然后点击OK
    https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

    Pico首选项.png
    注意:如果您已经有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
  3. 点击工具>开发板>开发板管理器>搜索pico,由于我的电脑已经安装过了,所以显示已安装
    开发板管理器.png
    开发板管理器-1.png
国内用户
  • 因为网络原因,国内用户连接github并不稳定,我们另外提供了一份安装包,可以跳过在线的过程
  • 若已经成功配置了pico环境,可以直接跳过本章
  1. 下载rp2040压缩包,将解压的rp2040文件夹复制到如下路径下
    C:\Users\[username]\AppData\Local\Arduino15\packages

    Rp2040包.png
    注意:将里面用户名:[username]替换成自己的用户名

第一次上传程序

  1. 按住Pico板上的BOOTSET按键,将pico通过Micro USB线接到电脑的USB接口,待电脑识别出一个可移动硬盘(RPI-RP2)后,松开按键。
    Pico连接数据线.gif


  1. 下载程序,打开arduino\PWM\D1-LED路径下的D1-LED.ino
  2. 点击工具>端口,记住已有的COM,不需要点击这个COM(不同电脑显示的COM不一样,记住自己电脑上已有的COM)
    Pico连接前端口.png
  3. 用USB线将驱动板和计算机连接起来,再点击工具>端口,第一次连接选择uf2 Board,上传完成后,再次连接就会多出一个COM口
    Pico连接后uf2.png
  4. 点击工具>开发板>Raspberry Pi Pico/RP2040>Raspberry Pi Pico
    工具pico开发板.png
    Arduono-Raspberrypi pico.png
  5. 设置完成后,点击向右箭头上传将程序
    Pico上传程序.png
  • 如果期间遇到了问题,需要重新安装或者更换Arduino IDE版本时,卸载Arduino IDE需要卸载干净,卸载软件后需要手动删除C:\Users\[name]\AppData\Local\Arduino15这个文件夹内的所有内容(需要显示隐藏文件才能看到) 再重新安装

Pico-W系列教程(即将上线)

  • 敬请期待

开源例程

MircoPython视频例程(github)
MicroPython固件/Blink例程(C)
树莓派官方C/C++示例程序 (github)
树莓派官方micropython示例程序 (github)
Arduino官方C/C++示例程序 (github)

FAQ


技术支持


联系人:彭工
EMAIL:2851966006@qq.com
电话:0755-83040712
QQ:2851966006
微信:扫下方二维码添加
Pqy.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证