PCMan
16.05.2007, 14:20
Hi Forum,
ich möchte an einen Mega8 (1Mhz intern getaktet) einen Lautsprecher (4Ohm) anschließen. Wie mach ich das?
Ne schmarrn, so wollte ich die Frage garnicht stellen ;)
Ich habe schon folgendes Versucht: Ich erzeuge an einem Port ein Signal:
#include <stdlib.h>
#include <avr/io.h>
#include <util/delay.h>
#include <math.h>
#define SND_A_PORT PORTB
#define SND_A_DDR DDRB
#define SND_A_DD DDB0
#define SND_A_PIN PB0
void _delay_s(uint8_t sek){
for (int i=0; i!=sek; i++){
_delay_ms(200);
_delay_ms(200);
_delay_ms(200);
_delay_ms(200);
_delay_ms(200);
}
}
int main(void)
{
SND_A_PORT &= ~(1<<SND_A_PIN);
SND_A_DDR |= (1<<SND_A_DD);
_delay_s(1);
for(;;){
SND_A_PORT |= (1<<SND_A_PIN); //high
_delay_ms(3);
SND_A_PORT &= ~(1<<SND_A_PIN); //low
_delay_ms(3);
}
}
1) Wenn ich das Signal an eine Emitterschaltung mit einem Transistor gebe klappt das zwar, aber der Ton ist viel zu leise.
2) Gemäß dem Datenblatt des TBA820M (NF Amplifyer) (http://www.fieros.de/philips/tba820m.pdf) habe ich eine Testschaltung aufgebaut. CB=220pF, RF=33Ohm, R2=100Ohm. Zu R1 in Reihe habe ich noch einen 10µF Elko geschaltet. Das klappt auch prima, aber ich höre, bevor ich ein Signal ausgebe ein deutliches Rattern oder Schwingen im Lautsprecher. Woher kommt das? Wahrscheinlich irgendwo vom µC. Gibt es eine Möglichkeit, solche ungewünschte Geräusche abzudämpfen? Weiterhin würde ich auch gerne die Lautstärke etwas herabsetzen, wenn ich R1 aber modifiziere ändert sich nicht merklich was. Habt ihr da auch eine Idee?
Viele Grüße,
Simon
ich möchte an einen Mega8 (1Mhz intern getaktet) einen Lautsprecher (4Ohm) anschließen. Wie mach ich das?
Ne schmarrn, so wollte ich die Frage garnicht stellen ;)
Ich habe schon folgendes Versucht: Ich erzeuge an einem Port ein Signal:
#include <stdlib.h>
#include <avr/io.h>
#include <util/delay.h>
#include <math.h>
#define SND_A_PORT PORTB
#define SND_A_DDR DDRB
#define SND_A_DD DDB0
#define SND_A_PIN PB0
void _delay_s(uint8_t sek){
for (int i=0; i!=sek; i++){
_delay_ms(200);
_delay_ms(200);
_delay_ms(200);
_delay_ms(200);
_delay_ms(200);
}
}
int main(void)
{
SND_A_PORT &= ~(1<<SND_A_PIN);
SND_A_DDR |= (1<<SND_A_DD);
_delay_s(1);
for(;;){
SND_A_PORT |= (1<<SND_A_PIN); //high
_delay_ms(3);
SND_A_PORT &= ~(1<<SND_A_PIN); //low
_delay_ms(3);
}
}
1) Wenn ich das Signal an eine Emitterschaltung mit einem Transistor gebe klappt das zwar, aber der Ton ist viel zu leise.
2) Gemäß dem Datenblatt des TBA820M (NF Amplifyer) (http://www.fieros.de/philips/tba820m.pdf) habe ich eine Testschaltung aufgebaut. CB=220pF, RF=33Ohm, R2=100Ohm. Zu R1 in Reihe habe ich noch einen 10µF Elko geschaltet. Das klappt auch prima, aber ich höre, bevor ich ein Signal ausgebe ein deutliches Rattern oder Schwingen im Lautsprecher. Woher kommt das? Wahrscheinlich irgendwo vom µC. Gibt es eine Möglichkeit, solche ungewünschte Geräusche abzudämpfen? Weiterhin würde ich auch gerne die Lautstärke etwas herabsetzen, wenn ich R1 aber modifiziere ändert sich nicht merklich was. Habt ihr da auch eine Idee?
Viele Grüße,
Simon