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!
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
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.
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.
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". :-)
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!
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
> 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.
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.
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.
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
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.
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?
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 :)
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.
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
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.
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.
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.
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)
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.
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
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.