树莓派 Pico + Scoppy 实现 200kHz 示波器

MAKER: sainisagar7294/译:趣无尽(转载请注明出处)

大家好!你一定知道,示波器是每个电子系学生或业余爱好者的必备品。为了节省成本,我建议使用手机等移动设备作为示波器。由于不能把信号直接传输到手机上,所以我们使用树莓派 Pico 来中转信号。我们使用 USB 接口来传输数据,这样能形成更好的波形。下面请跟着我的步伐一起来完成这个项目吧!

注: 本项目仅用于教育目的,只是一个让你深入了解树莓派 Pico 功能的项目,它只能测量较小的信号,因此我并不建议将其用于商业目的。

特性
– 200 kHz 带宽
– 双通道支持
– 500KS/s 采样率
– 扫描速率:5 μs ~ 20 s
– 精度:±10%
– 板载 1kHz 波
– 低功耗
– USB 接口

组件清单

– 智能手机(作为示波器的屏幕) × 1
– 树莓派 Pico × 1
– 1kΩ、100kΩ 电阻 × 1
– 面包板、跳线和 USB 数据线 × 1
– PCB 板和焊接设备(可选) × 1
– OTG 线 × 1

材料清单

– 智能手机(作为示波器的屏幕)
– 树莓派 Pico
– 1kΩ、100kΩ 电阻
– 面包板、跳线和 USB 数据线
– PCB 板和焊接设备(可选)
– OTG 线

树莓派 Pico 简介

树莓派 Pico 采用 RP2040 ARM Cortex-M0 双核处理器,频率可灵活调整至 133 MHz。它拥有 264 KB 静态随机存取存储器(SRAM),共提供了 26 个 GPIO 引脚,其中 3 个为模拟引脚。此外,该微控制器还配备有 2 个UART、2 个 SPI、2 个 I2C 和 16 个 PWM 通道,并内置时钟和温度传感器。其供电电压范围为 1.8 V ~ 5.5 V。

引脚排列

如图所示

刷写固件

首先,把树莓派 Pico 连上电脑,然后按住引导按钮开机。这时资源管理器会出现一个名为“RPI-RP2”的磁盘。你只需在 https://github.com/fhdm-dev/scpdl1/raw/master/a/v15/scoppy-pico-v15.uf2 下载固件(`uf2` 格式),并将其复制到树莓派 Pico 的磁盘中。当你看到板载指示灯开始闪烁,就表明完成了。

电路图

如图所示,GPIO26 是通道 1,而 GPIO27 是通道 2。向任意通道提供 0 ~ +3 V 信号,并将该信号的 GND 接到树莓派的 GND 接口上,再通过 USB 接口连接手机即可完成所有连接。

对于高电压,我们可以在通道引脚上添加一个100 kΩ 电阻。如果需要测量负电压和信号(例如 -3.3 V ~ +3.3 V),你可以使用 1.3 V 电阻在 3.3 V 和地之间组成电阻分压网络,这样就可以完美地完成相关工作了。

示波器屏幕

为了方便使用,我们提供了一个专用的 App 来显示树莓派 Pico 收到的波形和信号。我们把它命名为 `Scoppy`,每个人都可以免费使用它。通过此 App,你可以访问第一个通道,但第二个通道需要付费才能使用。

https://play.google.com/store/apps/details?id=xyz.fhdm.scoppy

这个 App 拥有易于使用的用户界面,我相信这一定能为分析波形带来便利。我们可以调整波在 X-Y 方向上的位置,也可以增加或减少每个区域的时间或电压。此 App 可以在安卓手机上运行,最低系统要求为 Android 5.0。

其他特性

本 App 提供了一个占空比为 50% 的正弦 50Hz 演示信号,用于检查通道或进行校准。

此外,左下角显示信号的实时值,包括电压、频率、时间和占空比。

另外,本 App 还具有信号发生器和逻辑分析仪功能,这些功能为你免费提供。请注意,信号发生器仅支持 1.25MHz 频率范围内的正弦波和方波。

连接手机

由于树莓派 Pico 有 Micro USB 接口,而手机并没有标准 USB 接口,所以我们需要借助 OTG 线来连接树莓派和手机。连上后,选择“USB”作为信号的输入源。

示波器测试

这里我测试一些信号,如图所示,它能显示高达 100MHz 的波形。借助这个 App,我们可以测量高达250KHz的信号的频率和占空比。

我们 DIY 的示波器虽然无法处理更高频率的信号,但出于成本考虑,我觉得它还是不错的。

若要了解更多细节,请查看本项目的 GitHub 页面:
https://github.com/fhdm-dev/scoppy/

扩展板

资源文件可在本项目文件库中下载:
https://make.quwj.com/project/465

via



坐沙发

发表评论

你的邮件地址不会公开


*