1. Experiment - Räumlicher Klang Ein 8 MHz getakteter ATmega328p tastet das NF-Signal mit ca. 78kHz per ADC ab. Am Kanal-A wird das Ergebnis per 31 kHz und 8-Bit PWM direkt wieder ausgegeben und am Kanal-B um einige ms zeitverzögert. Die Zeitverzögerung wurde mit dem 2k SRAM, als Schieberegister, realisiert. Taste-A: deaktiviert den räumlichen Klang LED-rot: Übersteuerung LED-gelb: Pegel (ohne Eingangssignal aus, ggf. mit Poti einstellen) LED-grün: Samplingimpulse Oszi-Bild: PWM-Ausgabg Kanal-A eines Sägezahnsignals mit Software generiert Bitte erwartet keine HiFi-Qualität^^ Dieses Experiment lässt sich noch "aufbohren" für z.B. Anrufbeantworter, Diktiergerät mit SD-Karte usw. Bernhard
:
Bearbeitet durch User
Für die Lobesworte danke ich Euch :-) 2. Experiment - bis 300ms Echo mit einem ATmega1284p Der 16K SRAM des 22MHz AVR ermöglicht ein ca. 300ms Echo, klingt so, als stünden wir in einem sehr großen Raum ^^ Das Audio Signal wird mit einer PWM ca. 86kHz generiert. Die beiden A210K (s.Bild) mit ihren 5W steuern die Lautsprecher. Taste-A: deaktiviert den räumlichen Klang LED-rot: Übersteuerung LED-gelb: Pegel (ohne Eingangssignal aus) LED-grün: Samplingimpulse Blinken die LEDs: ROT: Interrupt Error ROT+GELB: Watchdog Error ROT+GELB+GRÜN: Programm-Check Error Übrigens: Verbindet man beide Kanäle, also Monobetrieb, klingt es auch schon sehr interessant... Die Fuses hänge ich mal mit an :-) Nachtrag: Genügend Pins für eine SD-Karte, LCD usw. stünden auch zur Verfügung Bernhard
:
Bearbeitet durch User
3. Experiment, eine kleine Spielerei ^^ Alle 4 Timer des ATmega1284p arbeiten im PWM-Fast-Modus und generieren NF-Audio-Signale. Nun stehen 8 PWM Känäle an verschiedenen Pins zur Auswahl. Eine 9 Bit PWM, da der ADC auch bis 10 Bit arbeiten könnte, brachte keine Verbesserung der Klangqualität, da die PWM-Frequenz deutlich niedriger wurde. Frage: Um den NF-Pegel zu verringern müsste nur der ADC halbiert werden, das ist kein Problem, aber wie könnte der Klang verändert werden? Ich vermute, es stehen nicht genügend Takte zur Verfügung, um deratige Berechnungen durchzuführen. Bernhard
:
Bearbeitet durch User
Bernhard S. schrieb: > Um den NF-Pegel zu verringern müsste nur der ADC halbiert werden, das > ist kein Problem, aber wie könnte der Klang verändert werden? > > Ich vermute, es stehen nicht genügend Takte zur Verfügung, um deratige > Berechnungen durchzuführen. Doch, na klar kann man einiges machen. Die Frage ist aber eigentlich vor allem: was genau willst du denn am "Klang" ändern? Wenn es vor allem darum geht, dieses böse "Zischeln" zu bekämpfen: das kannst du natürlich NICHT mit Software tun, denn das entsteht durch die PWM als Funktionsprinzip. Dagegen hilft nur ein "Rekonstruktionsfilter" (AKA: Tiefpass) in Hardware hinter dem PWM-Ausgang. Das ist nicht so schwierig und wird umso einfacher, je weiter deine PWM-Frequenz von der höchsten Nutzfrequenz entfernt ist. Im Idealfall genügt ein simpler Kondensator, parallel zum (elektrodymischen) Schallwandler. Leider braucht man (unüblich) hochohmige Schallwandler, um dieses Primitivstkonzept ohne Gefahr für einen AVR8-Ausgang umsetzen zu können. Und natürlich 78,5kHz PWM-Frequenz, sprich: AVR8@Fmax. Ich würde deshalb jederzeit eine Lösung mit einem Verstärker vorziehen (der dann die Tiefpass-Filterei ganz nebenbei mit erledigen kann). So ein blöder OPV sollte in deinem Experimentierbudget ja vielleicht noch drin sein...
c-hater schrieb: > Ich würde deshalb jederzeit eine Lösung mit einem Verstärker vorziehen > (der dann die Tiefpass-Filterei ganz nebenbei mit erledigen kann). So > ein blöder OPV sollte in deinem Experimentierbudget ja vielleicht noch > drin sein... Ich sehe (leider erst nach Posting), dass du bereits einen A210K einsetzt. Den kann man recht problemlos mit Tiefpass-Eigenschaften versehen.
Ich bin ganz erstaunt, wie gut die PWM / PCM Soundqualität vom AVR Fast Timer ist, selbst mit nur einem einfachen OP AMp und RC-Glied. Mit der richtigen Programmierung kriegt man das sogar polyphone hin. Ich habe hier > 16 kHz 8 Bit PCM mit 4 Kanälen und nur ein RC am Ausgang des ATMega: https://youtu.be/BGyaB4OQniw https://youtu.be/M7aI7KLEi1s
4. Experiment NF Audio Sound Mono auf SD-Karte speichern, Sampling 105kHz, 207 SD-Blöcke/s. Bei 1GB SD ca. 3h Musik. Mit LCD und Menuesteuerung. In dieser Version kann man die Aufnahme, also die Daten die auf die SD-Karte gespeichert werden, direkt mithören. Bei langsamen SD-Karten gibt es ab und an bei der Aufnahme, für einige ms, kleine Aussetzer, die rote SD-LED blitzt dann kurz auf. Eine verwendete 32Gb SDHC keine Aussetzer :-) LED-grün: Play LED-gelb: Rec LED-rot: SD-Error / Wait LED-grün: Sampling LED-gelb: Pegel LED-rot: Übersteurung Menue: - Record - Play - Raumklang / Hall - Testton - Zeitanzeige - SD read Tests (Sektoren pro Sekunde) - SD write Tests (Sektoren pro Sekunde) Nicht wundern, bei der Wiedergabe wird auch der ADC als Takt-Dummy genutzt, würde man z.B. 15µs Warteschleife verwenden, dann klingt es wie "mickey mouse". Geeignet für schnelles vorspulen. > was genau willst du denn am "Klang" ändern? z.B. Tiefenanhebung, aber ohne RC-Kombinationen, alles per Software, hatte ich vielleicht nicht eindeutig formuliert, sorry. > ...LambdaDrum.... Toll, ich bin begeistert, vielleicht könntest Du hierzu mal einen separaten Thread erstellen^^ Bernhard
:
Bearbeitet durch User
Bernhard S. schrieb: > 4. Experiment > > NF Audio Sound Mono auf SD-Karte speichern, > Sampling 105kHz, 207 SD-Blöcke/s. Völlig unsinnig. Jedenfalls wenn das Ziel wirklich ist, "Audio" (im Sinne von: etwas für Menschen hörbares) zu speichern.
Michael W. schrieb: > Ich bin ganz erstaunt, wie gut die PWM / PCM Soundqualität vom AVR Fast > Timer ist, du würdest das, was im Video erklingt "gut" nennen??? Zum Weglaufen. C64 klang besser.
5. Experiment Radioaufnahmen Si4735, SD-Card, TFT LCD EDIP160W7LWT, RTC Der RDS-Decoder des Si4735 steuert die Aufnahmefunktion, alle Verkehrsdurchsagen werden z.B. automatisch mitgeschnitten. Nachteil: Die Blitzerwarnungen, Ausstrahlung teilweise nach der Verkehrsdurchsage auch als "TP", landen auch mit auf der SD-Karte. Aufgrund des kleinen Lautsprechers ist kein Unterschied zwischen Originalton und SD-Wiedergabe feststellbar ^^ Somit konnte die NF-Umschaltung der Tonquelle problemlos per Software realisiert werden, ohne den µC großartig zu belasten. Interruptroutine für das "mithören", da SREG durch LDS und STS nicht verändert wird, muss SREG nicht gesichert werden, das spart wertvolle µC-Takte: ADCI: LDS PWMI,ADCH ' ADC auslesen STS PWM_NF,PWMI ' NF-PWM reti Dieses sehr umfangreiche Assembler-Projekt werde ich ggf. gesondert veröffentlichen. Bernhard
:
Bearbeitet durch User
Si4735 + SD-Karte + Radioaufnahmen Beitrag "Si4735 SD-Card Recorder RDS TFT TA AM FM Datum Zeit Assembler"
:
Bearbeitet durch User
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.