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程序完全相同,这里不再重复

FAQ


技术支持


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

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