Hallo Ihr lieben, ich habe mal wieder ein kleines UTS (user to stupid) problem. Und zwar habe ich einen STM32 und habe mir meine ADC Schnittstelle über DMA programmiert. Funktioniert auch super. Bei der Datenauswertung bin ich jetzt auf folgendes Problem gestoßen, da mein ADC natürlich recht schnell arbeitet und meine USART-Schnittstelle wesentlich langsamer fange ich im Prinzip mit den ADC Werten nichts an. Jetzt ist mir die Idee gekommen, dass ich ja jedem ADC Wert einen Zeitstempel geben kann. Nur wie kann ich den mit einem uC realisieren? ODer gibt es da eine andere Möglichkeit? Gruß und Danke für Eure Hilfe. Tentone
Wofür denn die Zeitstempel? Schreibe doch einfach Deine ADC-Werte in ein Array und lies dieses dann Wert für Wert bei der UART-Kommunikation wieder aus. Oder habe ich das Problem ev. falsch verstanden? Brauchst Du jeden Wert? Falls Du gar nicht soviele Werte vom ADC brauchst wie Du kriegst gibts noch zwei weitere Möglichkeiten: a) Löse nur dann eine AD-Wandlung aus, wenn Du auch wirklich einen Wert brauchst. Du kannst die AD-Wandlung somit auch langsamer = rauschfreier = stromsparender laufen lassen. b) Schreibe die Werte in ein Array und mittle jeweils über mehrere Werte, so kriegst Du ein geringeres Rauschen. Theoretisch kannst Du so sogar noch zusätzliche Bits an Auflösung gewinnen, wenn Du z.B. 4 Werte addierst und dann nur durch 2 rechnest kriegst Du ein Bit mehr. Dieses Verfahren nennt sich Oversampling-Verfahren. Gruss Simon
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.