RPi-Pico USB-Oszilloskop                 

              

Elektronik-Labor  Projekte  Mikrocontroller  Raspberry            


Aus RPi Pico Schaltungen und Projekte Kap. 23

Der AD-Wandler des Rpi Pico erreicht eine Abtastrate bis zu 500 kHz. Wenn man diese Geschwindigkeit voll ausnutzen will, muss man Direct Memory Access (DMA) einsetzen, was relativ kompliziert ist. Mit sehr einfachen Mitteln werden hier immerhin 200 kHz erreicht. Eine Schleife mit 500 Messpunkten läuft im Core1 und wird über den Mikrosekunden-Timer in einen Takt von 200 kHz gebracht. Die Zeitspanne zwischen zwei Messpunkten beträgt also 5 µs. Nach der Erfassung der Messwerte werden sie an den PC geschickt. Im seriellen Plotter erhält man Oszillogramme mit einer Zeitachse von 500 µs pro Skalenteil. Die höchste messbare Frequenz ist 100 kHz.

//Pico_Scope2 
#include "pico/stdlib.h"
#include "hardware/adc.h
#include "hardware/pwm.h"
#include "pico/multicore.h"

void setup() {
  Serial.begin(115200);
}

void loop() {
}

void setup1() {
  unsigned int scope[1000];
  gpio_set_function(0, GPIO_FUNC_PWM);
  pwm_set_wrap(0, 62499);  //PWM 2 kHz, 50%
  pwm_set_gpio_level(0, 31250);
  pwm_set_enabled(0, true);
  adc_init();
  adc_gpio_init(26);
  adc_select_input(0);
  while (true) {
    uint32_t t = time_us_32();
    for (int n = 0; n < 500; n++){
      scope[n]=adc_read();
      t+=5; while (t>time_us_32());  //200 kHz
    }
    for (int n = 0; n < 500; n++){
      Serial.println ((int) scope[n]*3300/4095);
   
}
    sleep_ms(1000);
  }
}

void loop1() {
}

 
Das Oszilloskop enthält einen Testausgang mit einem Rechtecksignal von 2 kHz. Der analoge Eingang sollte mit einem Widerstand von 1 kΩ geschützt werden. Zusammen mit dem parallelen Kondensator von 10 nF erhält man ein Tiefpassfilter mit einer Grenzfrequenz von 16 kHz, das insbesondere bei Untersuchungen im NF-Bereich sinnvoll ist. Für höhere Signalfrequenzen sollte man den Kondensator weglassen.

Das Beispiel zeigt das 2-kHz-Testsignal am Ausgang des RC-Tiefpassfilters. Eine Schwingung passt genau in ein Skalenteil mit 100 Messpunkten. Das bestätigt die genaue Abtastrate von 200 kHz.  Man sieht die typische Abrundung der Flanken durch das Tiefpassfilter. Das zweite Beispiel zeigt ein Sinussignal mit rund 5 kHz.


Elektronik-Labor  Projekte  Mikrocontroller  Raspberry