Frequenzmessung mit Arduino Mega2560

#6683402
Lesenswert?

Hallo Zusammen,

ich versuche mit meinem Arduino Mega2560 einen Sinus zu messen (50Hz) 
und die Daten anschließend per fft am PC auszuwerten.

Das Signal wird von meinem Oszi/Frequenzgenerator erzeugt

Leider kommt immer eine Grundfrequenz von 30HZ raus.

Hat jemand eine Idee wo mein Denkfehler liegt?

Hier mal der Code vom Arduino:
1
int analogPin = A0; // Pin, der gelesen werden soll: Pin A3
2
int val = 0; // Variable, die den gelesenen Wert speichert
3
int out = 0; // Variable, die den gelesenen Wert speichert
4
int Data[1000];
5

6
void setup() {
7
  Serial.begin(115200); // Setup der seriellen Verbindung
8
  analogReference(INTERNAL1V1);
9
}
10

11
void loop() {
12

13
    for (int i = 0; i <= 1000; i = i + 1) {
14
    Data[i] = analogRead(analogPin); // Pin einlesen
15
    delay(0.2);
16
    }  
17

18

19
    
20
    
21
   
22
    for (int i = 0; i <= 1000; i = i + 1) {
23
    Data[i] = ((Data[i]-581)*1.0742*679/1000);
24
    
25
    Serial.println(Data[i]);
26
    } 
27

28
    delay(5000);
29
    
30
}
#6683410
Lesenswert?

Du hast so keine gut definierte Abtastrate. Die Laufzeit des analogRead 
(typ 100µs) kommt zu der Verzögerung per delay hinzu. Wenn du eine 
stabile Abtastung brauchst, dann "musst" du den ADC mit einem Timer 
laufen lassen.

Edit:
hmmmmm, wenn du bei der Auswertung auf dem PC von der eingestellten Rate 
(1/delay) ausgehst, in Wirklichkeit wegen der Laufzeit des analogread 
langsamer abgetastet wird, dann müsste die Frequenz höher erscheinen, 
nicht niedriger. Oder?
Gast #6683497
Lesenswert?

Jawoll:

FFT gibt's als Bibliotheksfunktion, dafür braucht's ein paar Samples.
Jetzt noch einen µC mit ADC, dazu eine schlampige Abtastroutine
und schon ist man der König im Messlabor! HAAHA!!!

Auch wenn man eine Bib-Funktion nutzen kann, sollte man die
Bedingungungen für die Qualität dessen, womit man sie füttert
kapiert haben - SONST WIRD DAT NIX!

Wahrscheinlich wurde da zusätzlich auch NULL Gedanke an die
Nyquist-Frequenz, die Quellimpedanz für S&H, oder andere altbackene 
Einschränkungen verschwendet.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren