×

监控正在构建的电路电信号

消耗积分:0 | 格式:zip | 大小:0.01 MB | 2023-02-10

h1654155275.3139

分享资料个

描述

我希望能够监控我正在构建的电路的电信号,因此我需要一台示波器。我构建的解决方案结合使用 Arduino UNO 和在 PC 上运行的 Processing。

示波器具有 6 通道可选输入(Arduino 上的 A0-A5 引脚)、带上升沿或下降沿触发设置的独立触发输入、连续或单次扫描模式、可调时基 (100us-200s/div) 以及可调灵敏度和每个通道的偏移量。它还具有频率计数器模式,可测量触发输入信号的频率。

请注意,我正在直接使用我的 Arduino UNO 的定时器和中断寄存器,绕过 Arduino API,因此如果不进行更改,代码将无法在其他 Arduino 版本上运行。在调整代码之前,请确保您熟悉定时器和中断。

警告:不要将 0-5V 范围之外的信号直接连接到您的 Arduino 输入,因为这可能会损坏您的设备而无法修复!

下图为示波器在计算机上的图形用户界面。右侧的按钮控制示波器的设置。按下数字将更改活动输入通道,按下彩色框将打开和关闭相应通道轨迹的可见性。要开始/停止测量,请按“开始/停止”。在单次扫描模式下,每次要开始新的扫描都需要按“开始/停止”。

 
scope_GxvPvruEcY.png?auto=compress%2Cformat&w=740&h=555&fit=max
示例:基于 4kHz NE555 的波发生器信号(RC 充电/放电周期)
 

您可以在互联网上的许多地方找到 NE555 波发生器电路的原理图,

注意:快速时基中的采样数是有限的,以实现精确的高速采样。这解释了信号轨迹的低分辨率。在较慢的时基上,分辨率更好(见下文)。

 
scope500hz_Tg8F6vSqNW.png?auto=compress%2Cformat&w=740&h=555&fit=max
示例:较慢时基上的 500Hz 信号
 

 

 
pwm_A2rwXDAo4m.png?auto=compress%2Cformat&w=740&h=555&fit=max
示例:7.8kHz 的 Arduino PWM 信号
 

 

 
counter_rzQqx49ovJ.png?auto=compress%2Cformat&w=740&h=555&fit=max
示例:触发输入上 Arduino PWM 信号的频率计数
 

可以通过按“Time-”和“Time+”按钮来更改计数的时间段。“Time+”将增加频率平均的周期数 (T) 或更改决定分辨率的时钟分频因子(“/1024”、“/256”或“/64”)。“/64”提供最佳分辨率,但对于较低频率的信号可能会导致定时器溢出,导致读数错误。“时间-”则相反。

为了进行测试,您可以通过在 PC 上按“-”和“+”来更改 Arduino PWM 信号的占空比。如果将 LED 连接到 PW 引脚,您会注意到 LED 的亮度发生变化。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !