Hallo liebe Community,
ich lese die PWM-Signale von 2 selbstkonfigurierten Beschleunigungssensoren über das NI 9403 und den FPGA des cRIO-9074 ein. Da das NI 9403 Modul die Methoden "Wait on rising/falling edge" nicht unterstützt, konnte ich keinen von den Beispielcountern zur PWM-Signaldecodierung verwenden.
Ich habe jetzt einen Counter gebastelt der in einer SCTL laufen kann, allerdings liefert dieser Counter unpräzise Messwerte.
Die Periodendauer der Sensorsignale ist auf 1,2ms konfiguriert also ca. 833,33Hz. Bei Messungen hat sich gezeigt, dass bei ruhenden Sensoren die Messwerte von regelmäßig auftretenden Artefakten durchsetzt sind.
Daraufhin habe ich das Messsystem an einen Signalgenerator angeschlossen, der mit der gleichen Konfiguration PWM-Signale generiert. Da ich mit angeschlossenem Signalgenerator die gleichen Artefakte gemessen habe, vermute ich, dass es einen Fehler in meinem Counteraufbau gibt.
Gemessen sehen die Artefakte so aus, dass z.B. bei 50% Duty Cycle der Counter 50 +-0,3% misst. Je nach eingestelltem Duty Cycle treten diese Messfehler häufiger oder weniger häufig auf - also anscheinend gibt es eine Frequenabhängigkeit.
Ich habe das VI mit einigen Beschreibungen versehen, so dass man schneller durchblickt. Vielleicht könntet ihr mal drüberschauen und mir sagen was daran falsch sein könnte, oder welche Fehlerquellen ich außer acht gelasseb habe.
Das VI ist mit LV 2009 SP1 geschrieben (FPGA-Module sollte nicht notwendig sein um das VI anzuschauen)
Vielen Dank für eure Anregungen & Tipps
FPGA_PWM_counter.vi (Größe: 536,14 KB / Downloads: 395)
Gruß Nico