Forum: Mikrocontroller und Digitale Elektronik S: Langzeit-"Oszi" 8bit/10kHz/5min


von Blase (Gast)


Lesenswert?

Hallo Tüftler!

Gesucht wird ein System um ein 0,5kHz-Analog-Signal zu erfassen und 
darzustellen.

Signal:     PWM mit ca. 500Hz und wohl sehr verschliffen
Auflösung:  8Bit
Abtastung:  5kHz (besser 10kHz)
Messdauer:  5min (!)
Auswertung: am PC -> WOMIT ???

Das Signal per ADC+µC -> UART -> PC zu übertragen ist bei 10kHz nicht 
das Problem.
Die Auswertung/Darstellung der Daten ist die Hürde.
Wie stelle ich die Daten in brauchbarer Form dar?


Bisherige Ansätze:
------------------
PulseView von SigRok (Daten-Format ist ja einfach und offen), aber da 
gehen z.Z. wohl nur digitale Signale.

Darstellung in Audacity o.ä. Audio-Programmen setzt Umwandlung in ein 
Audio-Format um. -> ufff

USB-Soundkarte als OSZI zu vergewaltigen wäre auch denkbar, aber da 
scheint es Probleme wegen fehlender DC-Fähigkeit zu geben.

Kann mir jemand von Euch einen Denkanstoss, Lösungsansatz o.a. geben?


Danke!

von MiWi (Gast)


Lesenswert?

Blase schrieb:
> Hallo Tüftler!
>
> Gesucht wird ein System um ein 0,5kHz-Analog-Signal zu erfassen und
> darzustellen.
>
> Signal:     PWM mit ca. 500Hz und wohl sehr verschliffen
> Auflösung:  8Bit
> Abtastung:  5kHz (besser 10kHz)
> Messdauer:  5min (!)
> Auswertung: am PC -> WOMIT ???
>
> Das Signal per ADC+µC -> UART -> PC zu übertragen ist bei 10kHz nicht
> das Problem.
> Die Auswertung/Darstellung der Daten ist die Hürde.
> Wie stelle ich die Daten in brauchbarer Form dar?

GTK-View

von Bla (Gast)


Lesenswert?

Als CSV speichern und in Excel anzeigen. Alternativ GNU Octave mit etwas 
mehr Komfort und Performance.

von 2⁵ (Gast)


Lesenswert?

Blase schrieb:
> Darstellung in Audacity o.ä. Audio-Programmen setzt Umwandlung in ein
> Audio-Format um. -> ufff

sox http://sox.sourceforge.net/ kann das. z.B.

sox −r 10k −e signed −b 8 −c 1 messdaten.raw messdaten.wav

(Abtastrate: -r 10k bedeute 10KHz)

von Wolfgang (Gast)


Lesenswert?

Blase schrieb:
> Wie stelle ich die Daten in brauchbarer Form dar?

Wenn du ein Signal mit 5kHz über 5min Samplest, sind das 300000 
Datenpunkte. Für eine anständig aufgelöste Darstellung benötigst du 
vielleicht 1000 Datenpunkte. Da kannst du dir selber ausrechnen, wie 
breit die Darstellung einer vernünftig lesbaren Zeitserie wäre.

m.a.W - was willst du aus der Darstellung sehen. Davon hängt die 
benötigte Form ab. Per FFT oder AKF ließe sich das schon kompakter 
erfassen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Blase schrieb:
> Darstellung in Audacity o.ä. Audio-Programmen setzt Umwandlung in ein
> Audio-Format um. -> ufff

Audacity kann durchaus auch selber aufnehmen. Du bräuchtest also 
lediglich einen AD Wandler am PC, der sich als Aufnahmegerät ausgibt. 
Die Aufnahme ist nur durch den Platz auf der Festplatte begrenzt.

von S. R. (svenska)


Lesenswert?

Blase schrieb:
> Darstellung in Audacity o.ä. Audio-Programmen setzt Umwandlung in ein
> Audio-Format um. -> ufff

Audacity sollte auch Rohdaten öffnen können.

Matthias S. schrieb:
> Du bräuchtest also lediglich einen AD Wandler am PC, der sich als
> Aufnahmegerät ausgibt.

Der nennt sich "Soundkarte". :-)

von Blase (Gast)


Lesenswert?

Upps... es gibt schon Antworten.
Danke! :-D

@MiWi(Gast)
GTV-View -> schau ich mir an!

@Bla(Gast)
Öxle habe ich probiert.
Anständig zoomen und verschieben ist mir nicht gelungen.
Vielleicht bin ich auch zu ... blond es richtig zu bedienen - bin Löter.
GNU Octave -> werd ich anschauen!

@2³(Gast)
sox -> Werd ich mir auch ansehen!

@Wolgang(GasT)
5khz  60  5 -> 1,5Ms bei 10kHz sind es 3Ms ;-)
Die Darstellung ist das Problem (für mich als Löti).
Hintergrund:
Scheinbar gehen Impulse verloren, oder werden nicht sauber erkannt.
- Werden die Impulse überlagert/verschliffen?
- Ist die PWM-Zeitbasis konstant?
Aber FFT wäre natürlich DIE Schnellübersicht!
Dürfte ja nur bei einer Frequenz einen Peek geben.

@Matthias + S.R.
Ihr schlagt also im Prinzip eine Soundkarte vor.
Die macht doch "nur" AC.
Müßte ich nicht DC messen?
Andererseits... 500Hz liegen ja als AC an.
Schwankungen in der Amplitude könnten auf DC-Anteil bzw. niederfrequente 
Überlagerung hindeuten. Naja, trotzdem besser als vor einem CSV-Wald zu 
stehen und garnull zu erkennen.

@all
Danke! Jetzt nimmt die Sache wieder Fahrt auf!

von WaMin (Gast)


Lesenswert?


von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Blase schrieb:
> Müßte ich nicht DC messen?
> Andererseits... 500Hz liegen ja als AC an.

Im Prinzip ist da schon ein Hochpass am Eingang einer 'Soundkarte' (kann 
aber auch ein USB Device sein). Aber die Dachschräge eines Rechtecks mit 
500 Hz wäre bei einer unteren Grenzfrequenz von z.B. 20Hz minimal.
Sollte es so ab 30 Euro aufwärts geben:
https://www.thomann.de/de/usb_audio_interfaces.html?oa=pra

von Lutz (Gast)


Lesenswert?

> Gesucht wird ein System um ein 0,5kHz-Analog-Signal zu erfassen und
> darzustellen.

> Signal:     PWM mit ca. 500Hz und wohl sehr verschliffen
> Auflösung:  8Bit
> Abtastung:  5kHz (besser 10kHz)
> Messdauer:  5min (!)
> Auswertung: am PC -> WOMIT ??

> Bisherige Ansätze:
> ------------------
> PulseView von SigRok (Daten-Format ist ja einfach und offen), aber da
> gehen z.Z. wohl nur digitale Signale.

Leider hast du nix zur Spannung des Messsignals gesagt. Kauf dir für 10 
€ einen 8 Kanal Logiganalyzer und benutze sigrok und pulseview. Den 
kannst du später für alles Mögliche benutzen. Kann bis 24 MHz und über 
USB stundenlang aufzeichnen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Lutz schrieb:
>> PulseView von SigRok (Daten-Format ist ja einfach und offen), aber da
>> gehen z.Z. wohl nur digitale Signale.
>
> Leider hast du nix zur Spannung des Messsignals gesagt. Kauf dir für 10
> € einen 8 Kanal Logiganalyzer und benutze sigrok und pulseview.

Der TE hat doch gesagt, das er eben keinen LA möchte.
Ich könnte jetzt noch ein Device a là Cebo-LC vorschlagen, das ist aber 
recht teuer:
https://www.cesys.com/en/our-products/daq-devices/cebo-lc.html

Kann man dann aber auch für eine Vielzahl anderer Aufgaben benutzen.

von H.Joachim S. (crazyhorse)


Lesenswert?

Blase schrieb:
> 0,5kHz-Analog-Signal zu erfassen und
> darzustellen.
>
> Signal:     PWM mit ca. 500Hz und wohl sehr verschliffen

Ein PWM-Signal ist prinzipiell kein Analogsignal.
Ist es ein PWM-kodiertes ehemaliges Analogsignal?  Steckt in den 
verschliffenen Flanken ein auswertbarbarer Informationsgehalt oder ist 
das nur störendes Beiwerk? Mir ist irgendwie nicht klar, was du 
tatsächlich erreichen willst.

von Rainer V. (Gast)


Lesenswert?

Hallo,

ich würde dir auch empfehlen, dich mit Audacity zu beschäftigen. Dein 
Aufnahmegerät ist das On-Board-Soundsystem. Du mußt nur sicherstellen, 
dass du die Eingänge nicht übersteuerst! Sonst stirbt die Hardware ganz 
schmell. Infos, wie man mit Audacity arbeitet gibts tonnenweise im Netz.
GNU-Octave ist auf den ersten Blick attraktiv, erfordert aber einiges an 
Einarbeitung. Mir ist es unter Ubuntu trotzdem nicht gelungen, ein 
simples Record oder Play ans Laufen zu kriegen. Dafür haben meine 
Programmierversuche aber das Betriebssystem gehörig durcheinander 
gebracht. Was natürlich nur an meinem Unvermögen gelegen hat...
Wünsche viel Erfolg.
Rainer

von Axel R. (Gast)


Lesenswert?

Mit LTSpice...
Dort kann die Spannungsquelle durchaus eine Wavedatei sein. einfach 
plotten.

StromTuner

von Lutz (Gast)


Lesenswert?

Matthias S. schrieb:
> Der TE hat doch gesagt, das er eben keinen LA möchte.

Kannst du mir die Stelle mal zeigen?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Lutz schrieb:
> Kannst du mir die Stelle mal zeigen?

Hatte ich direkt dadrüber zitiert (und du übrigens auch) - aber hier 
ists nochmal:

Blase schrieb:
> Bisherige Ansätze:
> ------------------
> PulseView von SigRok (Daten-Format ist ja einfach und offen), aber da
> gehen z.Z. wohl nur digitale Signale.
Da steht ausdrücklich, das er Pulseview mit Sigrok nicht möchte. Es geht 
also nicht nur um Logiksignale, sondern auch um deren analoge Form.

: Bearbeitet durch User
von Jemand (Gast)


Angehängte Dateien:

Lesenswert?

Kst2 kann Daten aus z.B. einer CSV-Datei lesen und vollautomatisch neu 
angefügte Daten einlesen und darstellen. Eine Menge Analyse- und 
Filterwerkzeuge gibt es obendrauf dazu. Funktioniert auch noch gut mit 
Datensätzen >1 GiB.

Blase schrieb:
> PulseView von SigRok (Daten-Format ist ja einfach und offen), aber da
> gehen z.Z. wohl nur digitale Signale.

Habe zwar keine Hardware zum testen, PulseView scheint mir aber Analog 
zu unterstützen?

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Blase schrieb:
> Kann mir jemand von Euch einen Denkanstoss, Lösungsansatz o.a. geben?

Hmm, wenn du das nach Analog wandeln möchtest oder musst, dann könntest 
du das PWM über einen aktiven Tiefpass ziehen und das Analog-Signal dann 
mit Audacity digitalisieren :)

Das wäre so die brute-force-Methode ohne viel darüber nachdenken zu 
müssen :)

von Lutz (Gast)


Lesenswert?

Matthias S. schrieb:
> Blase schrieb:
>> Bisherige Ansätze:
>> ------------------
>> PulseView von SigRok (Daten-Format ist ja einfach und offen), aber da
>> gehen z.Z. wohl nur digitale Signale.
> Da steht ausdrücklich, das er Pulseview mit Sigrok nicht möchte. Es geht
> also nicht nur um Logiksignale, sondern auch um deren analoge Form.

Das kann man jetzt so interpretieren, daß er auch analoge Signale 
messen will. Die Frage hier war eingangs aber die Messung eines 
PWM-Signals, und da braucht es nichts analoges. Da muß das 
Eingangssignal evtl. noch mit einer geeigenten Schaltung auf die 
entsprechenden Schwellwertpegel gebracht werden.

Nebenbeibemerkt kann pulseview "natürlich" auch analoge Signale 
darstellen. Habe da schon sehr lange nichts mehr mit gemacht, da ich nun 
ein Oszi mit Protokolldecoder habe.

Für ein 500 Hz-Signal kann man (mit entsprechender Eingangsschaltung) 
aber durchaus eine Soundkarte nehmen.

von Blase (Gast)


Lesenswert?

Hallo Leute!

Wie ich sehe, seid Ihr wieder fleißg gewesen.
Tolles Forum!

Um die Verwirrung etwas zu entwirren:
- PWM-Signal hat 12V und geht über ca. 30m Erdkabel
- dadurch (in meinen Augen) kein digitales Signal mehr
- dieses verrauschte (?) Signal geht nun zur Trennung über einen 
Optokoppler
- Optokoppler liefert (angeblich) brauchbare TTL-Signale mit 5V

Ich zweifle die Qualität des Signals vor (und erst recht nach) dem 
Optokoppler an und würde es gern SEHEN - Kumpel meint aber "Alles 
prima!".

Unterm Strich geht es also um Theorie vs. Praxis. ;-)

Einen 16Ch-LA (mit FX2) für SigRoc habe ich, aber der kann mir das 
verunfallte (?) Signal so auch nicht zeigen.


Plan-A:
5k-Poti -> Mic von USB-Soundkarte -> Audacity


Plan-B:
ADC von µC (10kHz Abtastung) -> UART 460kBps -> PC -> sox -> Audacity


Auf jeden Fall möchte ich mich bei Euch für die Ideen bedanken!
Hat mir doch etwas den Horizont erweitert. :-D


Gruss - Blase

von 2⁵ (Gast)


Angehängte Dateien:

Lesenswert?

Blase schrieb:
> Plan-B:
> ADC von µC (10kHz Abtastung) -> UART 460kBps -> PC -> sox -> Audacity

Habe gerade bemerkt, dass Audacity direkt Rohdaten importieren kann.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

2⁵ schrieb:
> Blase schrieb:
>> Plan-B:
>> ADC von µC (10kHz Abtastung) -> UART 460kBps -> PC -> sox -> Audacity
>
> Habe gerade bemerkt, dass Audacity direkt Rohdaten importieren kann.

Ja, aber du musst sowas wie eine Seriel-Parallel-Wandlung vorher 
durchführen.

Mit 1Bit PWM kann Audacity nichts anfangen.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Blase schrieb:
> 5khz  60  5 -> 1,5Ms bei 10kHz sind es 3Ms ;-)

ok, ok

Bei einem 8-Bit PWM-Signal mit 500Hz kannst mit den paar Samples noch 
nicht viel über die Signalqualität sagen.

Blase schrieb:
> Hat mir doch etwas den Horizont erweitert. :-D

Wenn dein Signal durch die Übertragung auf der Leitung verschliffen sind 
und/oder Rauschen drauf ist, brauchst man dafür keine 5 Minuten 
aufzuzeichen. Das siehst du nach wenigen PWM-Zyklen auf dem Oszi.

Ob es verschliffen ist, sieht man auch an der Amplitudenverteilung - ein 
bisschen Statistik schafft da Klarheit (z.B. Persist-Darstellung auf 
einem Oszi oder sonstwomit).
Wenn du nicht eckige Augen beim durchscrollen durch deine 
Signalaufzeichnung bekommen möchtest, überlege dir erstmal, was du aus 
so einer Aktion lernen möchtest. Wie man das ggf. realisiert, kann man 
sich immer noch fragen, wenn sich herausstellt, dass man davon 
irgendeinen Nutzen hätte.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Blase schrieb:
> Plan-A:
> 5k-Poti -> Mic von USB-Soundkarte -> Audacity

Klingt doch schon ganz gut, schau aber mal, ob du nicht auch einen 
Line-In hast. Dann musst du nicht ganz so viel abschwächen und wieder im 
Mic Amp verstärken.
Poti kann auch 10k oder 22k haben. Viele Mic Eingänge liefern eine 
Speisespannung für Elektret Kapseln - Koppel-C kann also nicht schaden.

von 2⁵ (Gast)


Lesenswert?

Mampf F. schrieb:
> Mit 1Bit PWM kann Audacity nichts anfangen.

Nun, ich bin immer noch von den ursprünglichen Angaben ausgegangen ;-)

Blase schrieb:
> Signal:     PWM mit ca. 500Hz und wohl sehr verschliffen
> Auflösung:  8Bit
> Abtastung:  5kHz (besser 10kHz)

von Andrea B. (stromteam)


Lesenswert?

sowas Beitrag "Basteltip USB / Oszi"
mit audacity würd ich versuchen

von Mampf F. (mampf) Benutzerseite


Lesenswert?

2⁵ schrieb:
> Mampf F. schrieb:
>> Mit 1Bit PWM kann Audacity nichts anfangen.
>
> Nun, ich bin immer noch von den ursprünglichen Angaben ausgegangen ;-)
>
> Blase schrieb:
>> Signal:     PWM mit ca. 500Hz und wohl sehr verschliffen
>> Auflösung:  8Bit
>> Abtastung:  5kHz (besser 10kHz)

Die 8Bit der PWM kommen normalerweise hintereinander auf einer Leitung 
... Man müsste erstmal den seriellen Datenstrom in 8Bit Parallel 
umwandeln bevor Audacity damit etwas anfangen kann.

von Klaus (Gast)


Lesenswert?

Blase schrieb:
> Hintergrund:
> Scheinbar gehen Impulse verloren, oder werden nicht sauber erkannt.
> - Werden die Impulse überlagert/verschliffen?
> - Ist die PWM-Zeitbasis konstant?
> Aber FFT wäre natürlich DIE Schnellübersicht!
> Dürfte ja nur bei einer Frequenz einen Peek geben.

Die Diskussion hier ist ja ganz interessant, wird aber bei der Suche 
nach dem wirklichen Problem nicht helfen. Eine Nadel, einen verlorenen 
Puls, in dem Heuhaufen von Daten zu finden ist ziemlich aussichtslos. 
Schon gar nicht, wenn man tausende von Pulsen auf dem Bildschirm 
anstarrt.

Da muß man schon bessere Fallen für den Fehler bauen. Fehlende Pulse 
könnte man mit einer Art retrigerable Monoflop fangen. Und verformte 
Pulse fängt man mit einem Scope, das eine Pulsmaske auswerten kann und 
darauf triggert.

MfG Klaus

von Christopher J. (christopher_j23)


Lesenswert?

Blase schrieb:
> Die Auswertung/Darstellung der Daten ist die Hürde.

Für die Auswertung würde ich Python inkl. Numpy oder Julia vorschlagen. 
Für die Darstellung Matplotlib (Python) oder Plots.jl (Julia). Julia ist 
sehr nah an Matlab angelehnt aber wenn du nicht sonst sowieso Matlab 
nutzt bzw. dir dessen Syntax schon geläufig ist, dann würde ich zu 
Python greifen. Für Windows gibt es Anaconda als all-inclusive 
Distribution und unter irgendeinem *nix kannst du die Pakete im 
Handumdrehen mit Pip installieren.

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
Noch kein Account? Hier anmelden.