Hi, ich bin noch neu bei Mikrocontrollern und frage mich, ob man Pwm als Audio Datei abspeichern kann. Vlt. hat das jmd. schon einmal ausprobiert? Liebe Grüsse, Pio
Pio schrieb: > Hi, ich bin noch neu bei Mikrocontrollern und frage mich, ob man Pwm als > Audio Datei abspeichern kann. Audio ist gewöhnlich gleichspannungsfrei, PWM ist es nicht. Abgesehen von der Bandbreitet kommt es also drauf an, welchen Sinn und Zweck du damit verfolgst.
Ich hätte gern zwei Servos verfahren über den linken und den rechten Kanal. Liebe Grüsse
Gehen tut das schon, wenn du nur genügend Bandbreite spendierst, damit die Flanken des Rechteck steil genug aufgezeichnet und wiedergegeben werden. Da du zwei Servos hast, solltest du ein Stereosignal verwenden. Wenn du einen Dekoder auf der Seite der Servos hast, reicht auch ein Summensignal. Das kann man an der Schüler/Lehrerbuchse einiger Modellfernbedienungen abzapfen. Damit die Rechtecke noch zu erkennen sind, eher mit 44kHz samplen als mit 22kHz. Und du musst das Signal bei Wiedergabe wieder auf einen Pegel anheben, den die Servos erkennen. Und das Signal muss 0V als Basis haben und dann eben auf mindestens 3-5V gehen. Es darf also nicht einfach AC gekoppelt werden.
:
Bearbeitet durch User
Was meinen Sie mit Bandbreite? Folgendes, kann ich nicht folgen: Damit die Rechtecke noch zu erkennen sind, eher mit 44kHz samplen als mit 22kHz. Und du musst das Signal bei Wiedergabe wieder auf einen Pegel anheben, den die Servos erkennen.
Ist mit Bandbreite die Auflösung der Audiodatei gemeint? Und du musst das Signal bei Wiedergabe wieder auf einen Pegel anheben, den die Servos erkennen. Ist damit die Lautstärke meiner Audiodatei gemeint? Damit die Rechtecke noch zu erkennen sind, eher mit 44kHz samplen als mit 22kHz. Was meinen Sie damit?
Matthias S. schrieb: > Damit die Rechtecke noch zu erkennen sind, eher mit 44kHz samplen als > mit 22kHz. Modellbauservos werden mit 50 Hz bei Pulsbreiten zwischen 0.5 und 2.5 ms von angesteuert ...
Was soll das werden? Kein Servo reagiert auf eine Frequenz von 22kHz oder 44kHz (eher so 50Hz). Ein digitales Signal mit der Auflösung zu speichern ist Platzverschwendung.
Pioo schrieb: > Damit die Rechtecke noch zu erkennen sind, eher mit 44kHz samplen als > mit 22kHz. Audiodateien werden mit einer Samplerate eingelesen und wiedergegeben. Das sind die 'Proben', die pro Sekunde genommen werden. Eine Samplerate von Stereo/44kHz (meist 44,1 kHz) bedeutet, das pro Sekunde von jedem Kanal 44100 Abtastungen gespeichert werden. Je höher die Samplerate, umso besser ist die Qualität der Aufzeichnung. Da Servosignale steilflankige Rechtecke sind, ist zur Erhaltung der steilen Flanken eine hohe Abtastrate sinnvoll. Pioo schrieb: > Und du musst das Signal bei Wiedergabe wieder auf einen Pegel anheben, > den die Servos erkennen. > > Ist damit die Lautstärke meiner Audiodatei gemeint? Eher die Lautstärke der Wiedergabe. So ein Servosignal erfordert einen Pegel zwischen 0 und mindestens etwa 3-4V, damit die Servos das Signal erkennen.
Claus schrieb: > Matthias S. schrieb: >> Damit die Rechtecke noch zu erkennen sind, eher mit 44kHz samplen als >> mit 22kHz. > > Modellbauservos werden mit 50 Hz bei Pulsbreiten zwischen 0.5 und 2.5 ms > von angesteuert ... Kommt drauf an, manche können auch deutlich schneller. Jedoch kann keine Audiokarte DC und der Vorschlag schnell zu sampeln ist für die Flanken schon förderlich. Darf auch 96 oder 192KS sein. Zudem ist ja die Auflösung eben bei der 1.5ms Pulse zu betrachten. Da möchte man das Servo ja in feinen Schritten verfahren, als mal 1.51ms ..1.504ms, etc pp
Ich habe übrigens nicht behauptet, das das Vorhaben sinnvoll ist. Ich programmiere mir einen MC, wenn ich sowas brauchen würde.
Matthias S. schrieb: > Da Servosignale steilflankige Rechtecke sind, ist zur Erhaltung der > steilen Flanken eine hohe Abtastrate sinnvoll. Meiner Einschätzung nach ist das nicht so wichtig. Eher wichtig ist, dass die untere Grenzfrequenz niedrig genug ist; wie schon gesagt wurde: 50Hz ist die Wiederholrate des Telegrams. Im Anhang ein in einer DAW gefiltertes Beispiel mit 3kHz Bandbreite. Der Einfluss ist gering, klar, die Flanken werden weniger steil. Das Ausgangssignal eines Audiowiedergabegerätes muss man aber eh aufbereiten, z.B. mit einem Komparator.
Pioo schrieb: > Ist mit Bandbreite die Auflösung der Audiodatei gemeint? Die zeitliche Auflösung (AKA: Samplerate) bestimmt hier die mögliche Bandbreite. Zumindest zum Teil. > Und du musst das Signal bei Wiedergabe wieder auf einen Pegel anheben, > den die Servos erkennen. > > Ist damit die Lautstärke meiner Audiodatei gemeint? Nö. Nicht die "Lautstärke" der Datei ist gemeint, sondern der Pegel, mit der der Kram bei der Wiedergabe letztlich beim PWM-Controller ankommt. Übrigens irrt Matthias S. in diesem Zusammenhang etwas. 3.3V-fähige PWM-Controller (heute die Mehrheit) lassen sich problemlos aus eine üblichen Line-Ausgang füttern und auch die meisten offiziell nur 5V-fähigen. Schwierigkeiten (und die Notwendigkeit zur Anhebung des Pegels) sind allerdings zu erwarten, wenn man keinen Line-Ausgang verwendet, sondern einen Kopfhörer-Ausgang.
Pioo schrieb: > Damit die Rechtecke noch zu erkennen sind, eher mit 44kHz samplen als > mit 22kHz. Im 35MHz-Fernsteuer-Band wird ein Kanalraster von 20kHz benutzt, mit einem Frequenzhub von 4kHz. Und da passt dein Impulssignal rein, und das schon seit zig Jahrzehnten! Mit 44.1kHz gesampelte Audiodateien soll sich wohl unverstandenerweise auf die Compact Disk 16-bit LPCM Stereo beziehen (vgl. RedBook 1980) - und das ist eben eine total andere Hausnummer! So was einem Anfänger vorzuschlagen, dabei penetrant jeglicher Erklärung aus dem Weg zu gehen, ist für mich sehr weit unter der Gürtellinie. just my 2ct
Claus schrieb: > So was einem Anfänger vorzuschlagen, dabei penetrant jeglicher Erklärung > aus dem Weg zu gehen, ist für mich sehr weit unter der Gürtellinie. Was quatschst du denn für einen Unsinn? Der TE fragt ausdrücklich nach Audiodateien und nicht nach HF Übertragung von Summensignalen (die übrigens erst im Empfänger so konditioniert werden, das sie wieder steilflankig werden). Er möchte Servo-PWM in Audiodateien speichern und dazu braucht es nun mal eine gewisse Signaltreue, die nur mit höherer Samplerate gegeben ist. Ob das sinnvoll ist, sei dahingestellt. Du solltest auch mal über deine Attitude nachdenken. Claus schrieb: > unverstandenerweise Du hast es nicht verstanden. Und da hilft auch keine noch so tolle Erwähnung von Redbook oder was auch immer.
Matthias S. schrieb: > Da Servosignale steilflankige Rechtecke sind, ist zur Erhaltung der > steilen Flanken eine hohe Abtastrate sinnvoll. Wieso? Man kann schlicht den Wertebereich voll nutzen. Also immer zwischen zwei festen Werten (Maximum und Minimum) wechseln, eben ja nach PWM. Quasi eine 1 Bit PCM. STK500-Besitzer schrieb: > Was soll das werden? > Kein Servo reagiert auf eine Frequenz von 22kHz oder 44kHz (eher so > 50Hz). > Ein digitales Signal mit der Auflösung zu speichern ist > Platzverschwendung. Du verwechselst Abtastrate mit Auflösung. Bei der Auflösung könnte man hier auf 1 Bit runtergehen.
Matthias S. schrieb: > Da Servosignale steilflankige Rechtecke sind, ist zur Erhaltung der > steilen Flanken eine hohe Abtastrate sinnvoll. Nein, das ist nicht so wichtig. Die steilen Flanken kann man bei der Wiedergabe problemlos mit einem nachgeschalteten Komparator wieder herstellen. Der kann ausserdem auch AC wieder in DC wandeln. Da PWM-Signale für Modellbauservos recht langsam sind, wäre eine hohe Abtastrate auch eine ziemliche Verschwendung von Speicherplatz. ,
:
Bearbeitet durch User
testuser schrieb: > Matthias S. schrieb: >> Da Servosignale steilflankige Rechtecke sind, ist zur Erhaltung der >> steilen Flanken eine hohe Abtastrate sinnvoll. > > Wieso? Man kann schlicht den Wertebereich voll nutzen. Also immer > zwischen zwei festen Werten (Maximum und Minimum) wechseln, eben ja nach > PWM. Quasi eine 1 Bit PCM. Zu einem Audio-ADC gehört auch ein Alias-Filter, dessen Grenzfrequenz unterhalb der Hälfte der Abtastrate liegt. Das begrenzt die mögliche Flankensteilheit des Signals. Harald W. schrieb: > Da PWM-Signale für Modellbauservos recht langsam sind, wäre eine hohe > Abtastrate auch eine ziemliche Verschwendung von Speicherplatz. Es geht aber nicht nur darum, ob das Signal da ist oder nicht, sondern die Impulsdauer muss auch erkannt werden. Das geht nur dann fein abgestuft, wenn auch entsprechend of gesampelt wird. Aus dem Grund muss ja auch die Basisfrequenz der PWM-Erzeugung sehr viel höher sein als die PWM-Frequenz selbst. Oder anders gesagt: Bei 44,1 kHz kann man schon nicht mehr sauber unterscheiden, ob der Impuls jetzt 1,5 ms oder 1,51 ms lang war, weil nur alle ca. 22 µs gesamplet wird.
:
Bearbeitet durch User
Rolf M. schrieb: > Zu einem Audio-ADC gehört auch ein Alias-Filter, dessen Grenzfrequenz > unterhalb der Hälfte der Abtastrate liegt. Korrekt. Aber der TO hat doch überhaupt nicht geschrieben, dass er eine PWM mit einem ADC irgendwie digitalisieren will. Eher im Gegenteil: Pioo schrieb: > Ich hätte gern zwei Servos verfahren über den linken und den rechten > Kanal. Das klingt so, dass er sich die PWM am PC erzeugen und als Audiodatei abspeichern will. Die will er dann abspielen und so die PWM ausgeben.
testuser schrieb: > Das klingt so, dass er sich die PWM am PC erzeugen und als Audiodatei > abspeichern will. Die will er dann abspielen und so die PWM ausgeben. Ob das Signal nun aufgezeichnet oder künstlich erzeugt ist, ändert am Rest aber auch nichts.
Doch klar. Wenn man es künstlich generiert, dann mann man von einem zum nächsten Sample von minimalem Wert auf maximalen Wert springen. Das erlauben die ADCs eben wegen dem AAFilter nicht.
Testuser schrieb: > Doch klar. Wenn man es künstlich generiert, dann mann man von einem zum > nächsten Sample von minimalem Wert auf maximalen Wert springen. Nur wenn dem Ausgang das Rekonstruktionsfilter fehlt.
Pio schrieb: > ob man Pwm als > Audio Datei abspeichern kann. Warum sollte man sowas verrücktes tun? 2 Byte alle 20ms speichern reicht doch völlig.
Signal als Manchestercode speichern. Das haben die Heimcomputer schon vor über 40ig Jahren gemacht.
Nautilus schrieb: > Signal als Manchestercode speichern. Das haben die Heimcomputer schon > vor über 40ig Jahren gemacht. Ja, aber damals ist man noch respektvoll mit Speicherplatz umgegangen. Heute werden Texte als Bild gespeichert ... Gruß Jobst
Zwei Servos lassen sich ohne Probleme mit den zwei Stereokanälen ansteuern. Eventuell sollte man noch einen HC14 als Pegelkonverter dazwischen schalten.
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.