背景

这学期快要结束了,要上交一个模拟电子技术基础的课程设计。调试的过程中需要用到示波器,但我又懒得去电工实验室借用示波器。在@张世博 的提醒下,尝试使用手头闲置已久的Arduino Uno做一个示波器。

基本原理

信号源 -> Arduino 电压模拟输入 -> 串口输出 -> PC端串口工具显示波形

实验器材及软件

  • 恒压源

  • 自己做的信号发生器(待测试)

  • Arduino Uno

  • Serial Debug Assistant (串口调试助手。我在Windows应用商店下载的UWP版,一个国人开发的软件,如果需要绘制图形,必须购买pro版。也不是很贵,几十块钱的样子)

测试视频

测试说明

  • 信号发生器理论上产生三角波信号

  • Arduino的主要代码如下:

    1
    2
    3
    4
    5
    6
    while (1)
    {
    Serial.print("Valtage = "); //此处配合Serial Debug Assistant的图形绘制接口
    Serial.println(analogRead(PIN)*5.0/1024.0); //换算成伏特
    delay(0.1);
    }
  • 由于可能产生超过5V或低于0V的电压,故我将Arduino的GND接至待测电路的-12V电源,并将信号输出使用4个100kΩ电阻分压,测量输出电压1/4的量。

  • 三角波的频率可调,实际上,只有在把调试软件的时间分度和三角波周期调整至同一数量级才可显示出清晰波形。

后记

emmm,怎么说呢,这个示波器其实没什么卵用,不能很方便地调幅调频,而且对于高频信号完全无法胜任(测试2000Hz已经很吃力了)。

乖乖去实验室吧。