Inhaltsverzeichnis:

Spielen Sie Songs mit Arduino mit ADC zu PWM auf Flyback-Transformer oder Lautsprecher - Gunook
Spielen Sie Songs mit Arduino mit ADC zu PWM auf Flyback-Transformer oder Lautsprecher - Gunook

Video: Spielen Sie Songs mit Arduino mit ADC zu PWM auf Flyback-Transformer oder Lautsprecher - Gunook

Video: Spielen Sie Songs mit Arduino mit ADC zu PWM auf Flyback-Transformer oder Lautsprecher - Gunook
Video: Arduino Tutorial #4 - PWM und analoge Signale - (deutsch) 2024, November
Anonim
Spielen Sie Songs mit Arduino mit ADC zu PWM auf Flyback-Transformer oder Lautsprecher
Spielen Sie Songs mit Arduino mit ADC zu PWM auf Flyback-Transformer oder Lautsprecher
Spielen Sie Songs mit Arduino mit ADC zu PWM auf Flyback-Transformer oder Lautsprecher
Spielen Sie Songs mit Arduino mit ADC zu PWM auf Flyback-Transformer oder Lautsprecher
Spielen Sie Songs mit Arduino mit ADC zu PWM auf Flyback-Transformer oder Lautsprecher
Spielen Sie Songs mit Arduino mit ADC zu PWM auf Flyback-Transformer oder Lautsprecher
Spielen Sie Songs mit Arduino mit ADC zu PWM auf Flyback-Transformer oder Lautsprecher
Spielen Sie Songs mit Arduino mit ADC zu PWM auf Flyback-Transformer oder Lautsprecher

Hallo Leute, Dies ist der zweite Teil meines anderen anweisbaren (das war viel schwierig), Grundsätzlich habe ich in diesem Projekt den ADC und die TIMER auf meinem Arduino verwendet, um das Audiosignal in ein PWM-Signal umzuwandeln.

Dies ist viel einfacher als mein vorheriges Instructable. Hier ist der Link meines ersten Instructable, wenn Sie sehen möchten. Verknüpfung

Um die Theorie des Audiosignals, der Bitrate, der Bittiefe und der Abtastrate zu verstehen, können Sie die Theorie in meinem letzten Tutorial zu Instructable lesen. Der Link ist oben.

Schritt 1: Dinge, die wir für dieses Projekt benötigen (Anforderungen)

1. Arduino Board (wir können jedes Board (328, 2560) verwenden, dh Mega, Uno, Mini usw., aber mit bestimmten anderen Pins)

2. PC mit Arduino-Studio.

3. Steckbrett oder Perfboard

4. Anschließen von Drähten

5. TC4420 (Mosfet-Treiber oder ähnliches)

6. Power Mosfet (N- oder P-Kanal, bitte dann entsprechend verdrahten) (ich habe N-Kanal verwendet)

7. Lautsprecher oder Flyback-Transformator (Ja, Sie haben richtig gelesen!!)

8. Geeignetes Netzteil (0-12V) (Ich habe mein eigenes ATX-Netzteil verwendet)

9. Kühlkörper (ich habe von meinem alten PC gerettet).

10. Ein Verstärker (normaler Musikverstärker) oder eine Verstärkerschaltung.

Schritt 2: Theorie von ADC zu PWM

Theorie von ADC zu PWM
Theorie von ADC zu PWM
Theorie von ADC zu PWM
Theorie von ADC zu PWM

In diesem Projekt habe ich den eingebauten ADC von Arduino verwendet, um Datenabtastung eines Audiosignals durchzuführen.

ADC (Analog-To-Digital Converter) wie der Name schon sagt, ADC wandelt analoge Signale in digitale Samples um. Und für Arduino mit maximal 10 Bit Tiefe. Aber für dieses Projekt verwenden wir 8-Bit-Sampling.

Bei der Verwendung des ADC von Arduino müssen wir die ADC_reference Voltage berücksichtigen.

Arduino Uno bietet 1,1 V, 5 V (interne Referenz, die im Code definiert werden kann) oder eine externe Referenz (die wir extern auf den AREF-Pin anwenden müssen).

Nach meiner Erfahrung sollten mindestens 2,0 V als Referenzspannung verwendet werden, um ein gutes Ergebnis vom ADC zu erhalten. Da 1,1V zumindest für mich nicht gut gelaufen sind. (Persönliche Erfahrung)

*WICHTIG* *WICHTIG**WICHTIG**WICHTIG**WICHTIG*

Wir müssen ein verstärktes Audiosignal von einem Verstärker oder einer Verstärkerschaltung mit einer Spitzenspannung (Max. Spannung) von 5 V verwenden

Weil ich die interne Spannungsreferenz von 5V für unser Projekt eingestellt habe. Und ich verwende ein verstärktes Signal mit einem normalen Verstärker (Musikverstärker), der meistens in unserem Haushalt vorhanden ist oder Sie selbst bauen können.

Nun also der Hauptteil. Sampling Rate, das ist, wie viele Samples unser ADC pro Sekunde nimmt, mehr ist die Konvertierungsrate, besser wird das Ausgabeergebnis, ähnlicher wird die Ausgabewelle im Vergleich zur Eingabe sein.

Wir werden in diesem Projekt also eine Abtastrate von 33,33 kHz verwenden, indem wir den ADC-Takt auf 500 kHz einstellen. Um zu verstehen, wie das ist, müssen wir die ADC-Timing-Seite im Datenblatt des Atmega (328p)-Chips sehen.

Wir können sehen, dass wir 13,5 ADC-Taktzyklen benötigen, um eine Abtastung mit automatischer Abtastung abzuschließen. Bei einer Frequenz von 500Khz bedeutet dies 1/500Khz=2uS für einen ADC-Zyklus, was bedeutet, dass 13,5*2uS=27uS benötigt wird, um eine Probe zu vervollständigen, wenn Auto-Sampling verwendet wird. Indem Sie dem Mikrocontroller 3uS mehr geben (zur Sicherheit), insgesamt 30uS für eine Probe.

1 Sample bei 30uS bedeutet also 1/30uS=33,33 KSamples/S.

Um die Sampling-Rate einzustellen, die von TIMER0 von Arduino abhängig ist, da der ADC-Auto-Sampling-Trigger in unserem Fall davon abhängig ist, wie Sie auch im Code und Datenblatt sehen können, haben wir den Wert von OCR0A = 60 gemacht (Warum so? ???)

Denn nach der im Datenblatt angegebenen Formel.

Frequenz (oder hier Sample Rate) = Taktfrequenz von Arduino/Prescaler * Wert von OCR0A (in unserem Fall)

Frequenz oder Abtastrate, die wir wollen = 33,33 KHz

Taktfrequenz=16MHz

Prescaler-Wert = 8 (in unserem Fall)

Wert von OCR0A=wir wollen finden??

was einfach OCR0A=60 ergibt, auch in unserem Arduino-Code.

TIMER1 wird für die Trägerwelle eines Audiosignals verwendet, und ich werde nicht auf so viele Details eingehen.

Das war also die kurze Theorie des Konzepts von ADC zu PWM mit Arduino.

Schritt 3: Schaltplan

Schaltplan
Schaltplan

Verbinden Sie alle Komponenten wie im Schaltplan gezeigt. Sie haben hier also zwei Möglichkeiten:-

1. Schließen Sie einen Lautsprecher an (verbunden mit 5V)

2. Schließen Sie einen Flyback-Transformator an (verbunden mit 12V)

Ich habe beides probiert. Und beides funktioniert ziemlich gut.

*WICHTIG* *WICHTIG**WICHTIG**WICHTIG**WICHTIG*Wir müssen ein verstärktes Audiosignal von einem Verstärker oder einer Verstärkerschaltung mit einer Spitzenspannung (Max. Spannung) von 5V verwenden

Haftungsausschluss:-

*Ich empfehle die Verwendung des Flyback-Transformators mit Vorsicht, da er gefährlich sein kann, da er hohe Spannungen erzeugt. Und ich übernehme keine Haftung für Schäden.*

Schritt 4: Abschlusstest

Laden Sie also den angegebenen Code auf Ihren Arduino hoch und verbinden Sie das verstärkte Signal mit dem A0-Pin.

Und vergessen Sie nicht, alle Massestifte mit einer gemeinsamen Masse zu verbinden.

Und einfach viel Spaß beim Musikhören.

Empfohlen: