Rotation Sensor

来自Waveshare Wiki
跳转至: 导航搜索
Rotation-Sensor
{{{name2}}}
{{{name3}}}
功能简介
特性 旋转编码器
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 I/Os

说明

产品特性

参数名称 参数
工作电压 3.0V-5.3V
旋转一圈脉冲数 20
产品尺寸 32.0mm*15.0mm
固定孔尺寸 2.0mm

原理:增量编码器是一种将旋转位移转换为一连串数字脉冲信号的旋转式传感器。通过旋转可以计数正方向和反方向转动过程中输出脉冲的次数,旋转计数不像电位计,这种转动计数是没有限制的。配合旋转编码器上的按键,可以复位到初始状态,即从0开始计数。

主要用途

解决工业控制中的定位问题

接口说明

引脚 功能
SIA 与SIB组合判断编码器的旋转方向
SIB 与SIA组合判断编码器的旋转方向
SW 读取编码器的按键是否按下
GND 电源地
VCC 电源正(3.0V-5.3V)

编码器状态

把模块的SIA,SIB,SW端口分别连接逻辑分析仪的CH5,CH6,CH7。
正向旋转编码器,波形输出如下图所示:

Rotation Sensor- (1).png

图1. 正向旋转编码器对应波形


反向旋转编码器,波形输出如下图所示:

Rotation Sensor- (2).png

图2. 反向旋转编码器对应波形


按下编码器上的按键,波形输出如下图所示:

Rotation Sensor- (3).png

图3. 按下编码器上的按键对应波形

Pico使用教程

提供Python、C例程

Pico 快速上手

硬件连接

您可以对照以下表格连线。

Pico连接引脚对应关系
Rotation Pico 功能
VCC 3.3V 电源输入
GND GND 电源地
SW GP22 读取编码器的按键是否按下
SIB GP27 与SIA组合判断编码器的旋转方向
SIA GP26 与SIB组合判断编码器的旋转方向

Rotation Pico 2.jpg

环境设置

正在整理
请参照树莓派官方网站的Pico专题:https://www.raspberrypi.org/documentation/pico/getting-started/

程序下载

打开树莓派终端,执行以下命令:

sudo apt-get install p7zip-full
cd ~
sudo wget  https://www.waveshare.net/w/upload/a/a8/Rotation-Sensor-code.7z
7z x Rotation-Sensor-code.7z -o./Rotation-Sensor-code
cd ~/Rotation-Sensor-code
cd Pico/c/build/

例程使用

C部分

  • 以下教程为在树莓派上操作,但由于cmake的多平台、可移植的特点,在PC上也是能成功编译,但操作略有不同,需用户自行判断。

进行编译,请确保在c目录:

cd ~/Rotation-Sensor-code/Pico/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部分

windows环境下的使用

  • 1.按住Pico板上的BOOTSET按键,将pico通过Micro USB线接到电脑的USB接口,待电脑识别出一个可移动硬盘(RPI-RP2)后,松开按键。
  • 2.将python目录中rp2-pico-20210418-v1.15.uf2 文件复制到识别的可移动盘(RPI-RP2)中
  • 3.打开Thonny IDE(注意:要使用最新版本的Thonny,否则是没有Pico的支持包的,当前Windows下的最新版本为v3.3.3)
  • 4.点击工具->设置->解释器,如图所示选择Pico及对应的端口

Pico-lcd-0.96-img-config.png
本例程提供了一个程序:

  • 5.文件->打开->Rotation Sensor.py,点击运行即可,如下图所示:

Pico-lcd-0.96-img-run.png

树莓派环境下的使用

  • 1.刷固件的过程与Windows上一样,你可以选择在PC或者树莓派上将rp2-pico-20210418-v1.15.uf2 文件拷入pico中。
  • 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/Rotation Sensor.py,运行脚本即可

现象

C

打开SSCOM,连接Pico,旋转编码器,即可看到传感器的状态变化。
Rotation Pico 1.jpg

python

可直接通过Thonny查看传感器状态。
Rotation Pico Python 1.jpg

STM32使用教程

我们提供的例程是基于STM32F103RBT6跟STM32H743的,提供的连接方式是对应的STM32F103RBT6的引脚为例,如果有需要使用其他STM32,请按实际引脚连接

硬件连接

STM32F103RB连接引脚对应关系
Rotation STM32 功能
VCC 3.3V 电源输入
GND GND 电源地
SW PA4 读取编码器的按键是否按下
SIB PA1 与SIA组合判断编码器的旋转方向
SIA PA0 与SIB组合判断编码器的旋转方向

Rotation STM32 2.jpg

软件说明

例程是基于HAL库进行开发的。 请在资料里面下载程序,找到STM32程序文件目录,打开Rotation-Sensor-code\STM32\STM32F103RB\MDK-ARM
目录下的Rotation Sensor.uvprojx,即可看到程序。
STM32 Sound 2.png

打开main.c,重新编译下载即可。
MQ5 STM32 2.jpg

下载成功后,运行SSCOM连接MQ5模块,就可以实时查看传感器的状态啦。
Rotation STM32 1.jpg

Arduino使用教程

本例程已经在Arduino uno上测试通过,直接按下表连接Arduino uno即可

硬件连接

您可以对照以下表格连线。

Arduino连接引脚对应关系
Rotation Arduino 功能
VCC 5V 电源输入
GND GND 电源地
SW D4 读取编码器的按键是否按下
SIB D3 与SIA组合判断编码器的旋转方向
SIA D2 与SIB组合判断编码器的旋转方向

Rotation Arduino 2.jpg

安装编译软件(Windows教程)

arduino IDE 安装教程

运行程序

在我们提供的资料里面下载程序,并解压,再进入Rotation-Sensor-code/Arduino/Rotation_Sensor目录下
双击打开Rotation_Sensor.ino文件。
选择你的开发板,跟对应的端口。

Arduino Sound 2.jpg

进行编译下载,如下图:
MQ5 Arduino 2.jpg

下载成功后,运行SSCOM连接MQ5模块,就可以实时查看传感器的状态啦。
Rotation Arduino 1.jpg

资料

文档

视频

程序

软件


FAQ


技术支持


联系人:黄工
QQ:2850151199
EMAIL:2850151199@qq.com
电话:0755-83040712
微信:扫下方二维码添加
Service20-Weichat.png

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