Best-404-Error fragt, ob es möglich ist, ein Kompilierungsergebnis von weniger als 512 Bytes zu erhalten, wenn der Quellcode in einer höheren Sprache geschrieben ist. Sie können, wenn Sie die der Firmware zugewiesene Aufgabe vereinfachen.
Mit der Software-Implementierung eines Class-D-Verstärkers können Sie seine Parameter (PWM-Frequenz, Tastverhältnis in Ruhe) durch Ändern der Firmware ändern.
Der Hardware-Schaltplan des Geräts:

Die Eingangssignale laufen durch die Kondensatoren, um die Gleichstromkomponente abzuschalten, und dann durch die Widerstandsteiler, wobei ihnen eine neue konstante Komponente in der Größenordnung von +0,55 V hinzugefügt wird. Gleichzeitig bilden die Kondensatoren und unteren Widerstände der Teiler eine HPF-Grenzfrequenz unter 28 Hz. Die Erfahrung hat gezeigt, dass es besser ist, die Grenzfrequenz dieser Filter zu erhöhen, da ohnehin kleine Verzerrungen auftreten.
Die Signale werden dem ersten und dritten ADC des Mikrocontrollers zugeführt. Die Referenzspannung des ADC wird gleich 1,1 V gewählt. Das Teilungsverhältnis der Taktfrequenz beträgt 16, so dass die ADCs bei einer Frequenz von 500 kHz arbeiten. Die Interruptroutine durchläuft den ersten und dritten ADC. Einer der gelesenen Werte wird in OCR1A geschrieben, der zweite in OCR1B.
Timer 1 ist so konfiguriert, dass die Einheit an den PWM-Ausgängen erscheint, wenn diese Werte übereinstimmen, und Null - wenn der Timer auf Null zurückgesetzt wird. Nach dem Einstellen wird dieser Teil des Algorithmus in Hardware ausgeführt, aber gleichzeitig mit der Signalamplitude ändert er sich in Bezug auf die ursprünglich eingestellte Frequenz und die PWM-Frequenz.
Wenn das Tastverhältnis in Ruhe bei 50 Prozent gewählt wird (bessere Qualität, aber weniger kostengünstig), sind Tiefpassfilter vor den dynamischen Köpfen erforderlich.
Dateien:
C ++ - Quelle ,
Kompilierungsergebnis von Atmel Studio 7.0 (495 Byte),
Schema im Eagle-Format ,
Board darin ,
G-Code zum Schneiden eines Boardbilds ,
Bohren ,
Zuschneiden .
Einseitige Zahlung:

Dynamische Köpfe werden über eine Standard-Doppel-H-Brücke L293N verbunden:

Verstärker in Aktion: