Beeper an AVR Portpin mit Push-Pull

Hallo Gruppe,

ich experimentiere mit Beepern, die ich mit PWM von einem AVR Portpin aus ansteuern will. Das Ding soll möglichst laut und klein sein. Piezo-Beeper sind so mittellaut, wenn ich sie direkt an einen Portpin hänge (also ein Bein an Portpin, anderes an Vcc oder GND, macht keinen Unterschied). Lautsprecher schon lauter in selber Konfiguration.

Jetzt wollte ich einen Lautsprecher per Push-Pull-Stufe lauter kriegen. Dazu BC548 und BC548 mit der Basis über 1kOhm an den Portpin, beide Cs zusammen an den Lautsprecher, die Es jeweils an die Versorgung (PNP +5V, NPN GND). Das funktioniert so gut wie gar nicht (bisher das leiseste). Das wundert mich ein bischen. Irgendwas mache ich grundsätzlich falsch. Nur was? Wäre für Tipps sehr dankbar.

Viele Grüße, Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 
> Zumindest nicht öffentlich! 
 Click to see the full signature
Reply to
Johannes Bauer
Loading thread data ...

Gerade nochmal probiert (ja, ich weiß, ich quäle den armen AVR): Portpin direkt an die Basis, ohne Vorwiderstand.

Wenn dann das andere Lautsprecher-Bein auf Vcc ist, wirkt es auch deutlich lauter.

Wenn das andere Lautsprecher-Bein auf GND ist, wirkt es etwa halb so laut.

Und, vergessen: Es handelt sich um einen 8 Ohm Lautsprecher.

Aber 1kOhm sollte doch einen BC548 schon voll in Sättigung treiben, oder nicht? Wie löse ich das denn möglichst geschickt?

Viele Grüße, Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 
> Zumindest nicht öffentlich! 
 Click to see the full signature
Reply to
Johannes Bauer

Am 22.11.2012 18:41, schrieb Johannes Bauer:

Was quasi doppeltes Signal an den Tonerzeuger bringt ist, wenn man ein Gegentaktsignal erzeugt. Also einmal beim Beeper Pin1 High und Pin2 Low und dann Pin1 Low und Pin2 High. Mit den Timern des AVR die zwei Ausgänge haben kann man sowas baun.

Alternativ das Signal direkt an einen Pin und über einen Inverter an den anderen Pin des Beepers.

Gruß

Thorsten

Reply to
Thorsten Just

Hmm, in der Zielkonfiguration würde ich gern den Lautsprecher nicht direkt an die Portpins hängen, bin mir nicht sicher, wie die Induktivität sich da verhält beim Schalten und will nicht den AVR grillen (mache das nur momentan zum rumprobieren).

Hm, welchen Inverter müsste ich nehmen, der gut Strom treiben kann? Von einem 74HC14 im Zielsystem hätte ich noch zwei Gatter frei: da könnte man PWM -> NOT_1 -> NOT_2 machen und dann die Ausgänge von NOT_1 und NOT_2 an den Lautsprecher gehen lassen.

Interessehalber würde ich trotzdem gern wissen, warum das mit der BC548-Endstufe so miserabel funktioniert.

Viele Grüße, Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 
> Zumindest nicht öffentlich! 
 Click to see the full signature
Reply to
Johannes Bauer

Was für Beeper? Selbsterregende "buzzer" oder reine Schallwandler?

Nun, allein schon die korrekte Beantwortung MEINER Frage könnte dich DEINER Antwort ein Stück näher bringen...

Aber als grobe Vorgabe: die maximale Schallamplitude erreichst du natürlich auf der Resonanzfrequenz des akustischen Systems. Die "buzzer" sind so konstruiert, daß sie von sich aus das akustische System auf der (nahezu) optimalen Frequenz anregen. Wenn du also einfach bloß möglichst laut piepsen willst, dann nimm so einen "buzzer". Dein Portpin muß dann bloß Strom liefern, solange es piepsen soll. Ist der Strom geringer als das, was der "buzzer" verheizen kann, kannst du hier problemlos mit einem Transistor oder FET nachhelfen.

Willst du allerdings beliebige Schallereignisse ausgeben, dann kannst du die Resonanzeffekte nicht nutzen, ganz im Gegenteil, sie stören dann u.U. sogar tierisch. Vor allem aber mußt du dann anstatt eines simplen "an" ein PWM-Signal ausgeben und FILTERN, bevor du es an den Schallwandler verfütterst. Sonst hörst du nur, was durch die mehr oder weniger zufällige Filterwirkung der realen Schaltung effektiv überbleibt, im Extremfall (eher unwahrscheinlich) ist das absolut GARNIX. Jedenfalls im hörbaren Bereich...

Reply to
Heiko Nocon

Am Thu, 22 Nov 2012 18:41:44 +0100 schrieb Johannes Bauer :

Das ist mal ein schön verwirrendes Bauteil, dieser BC548, wenn es den in NPN und PNP gibt ... ;)

Beim Strom-Booster wird doch ein Emitterfolger benutzt, also C an UB/Masse und E an die Last?

Dürfte hier eigentlich fast egal sein, solange der Port-Ausgangspegel wirklich weniger als 0,6V von Masse oder Ub weg ist - da bin ich aber unsicher.

Marc

Reply to
Marc Santhoff

Piezo-Schallwandler bzw. ganz normale Lautsprecher.

Gut, dann auf jeden Fall keine Piezo-Schallwandler, sondern Lautsprecher

-- da sollte Resonanz ja kein Problem sein. Trotzdem geht's da mit Push-Pull nicht...

Viele Grüße, Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 
> Zumindest nicht öffentlich! 
 Click to see the full signature
Reply to
Johannes Bauer

Gah! BC558 natürlich :-)

Gah2, stimmt. Bei Push-Pull ist der NPN oben und der PNP unten. Du darfst mich offiziell als Depp bezeichnen :-) Danke für den Wink mit dem Zaunpfahl.

Viele Grüße, Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 
> Zumindest nicht öffentlich! 
 Click to see the full signature
Reply to
Johannes Bauer

Am 22.11.2012 18:41, schrieb Johannes Bauer:

Vermutlich meinst Du BC548 und BC558.

Hast Du jedem Transistor einen eigenen Vorwiderstand spendiert oder einen gemeinsamen? Wenn Du nur einen Vorwiderstand genommen hast, sind immer beide Transistoren gleichzeitig leitend. Dann kommt klar nichts raus und die Transistoren werden heiß und gehen vielleicht sogar kaputt.

Deine Schaltungsvariante hat auch noch den Nachteil, dass beim Umschalten kurz beide Transistoren gleichzeitig leitend sind, also immer kurz einen Kurschluss auf der Versorgung machen. Da kann Dein Portpin noch so schnell sein, der Transistor sperrt nicht so schnell, wie man das gerne hätte, erst recht nicht, wenn er übersteuert ist.

Deshalb ist es meistens sinnvoller, die Emitter zusammenzuhängen. Leider fehlen Dir dann 1,4V Amplitude. Aber auch das bekommt man hin: Beide Basen zusammen direkt an Controller. Zwischen Basen und Emitter

100Ohm. Die Transistoren machen dann die Hauptarbeit, die letzten 0,7V macht der Portpin über die 100Ohm.

Alternativ das ganze halt an einen 74HC04 hängen, alle Eingänge und Ausgänge parallelschalten.

--
Michael
Reply to
Michael S

Aha, das hättest du gleich so schreiben sollen.

Was genau geht nicht? Rechteck im hörbaren Bereich? Oder PWM-moduliertes Signal? Warum muß man dir eigentlich alle Fakten erst Stück für Stück aus der Nase ziehen?

Aber ich putze mal meine Glaskugel und prophezeie, daß es um PWM geht und daß die Schallwandler direkt an den Ausgängen hängen. Und das Ergebnis hört sich quäkig, von zischelnden Störungen durchsetzt und viel zu leise an. Korrekt? Und auch zusätzliche "Verstärker" ändern daran garnix. Korrekt?

Wenn ja, dann lenke ich deine geneigte Aufmerksamkeit einfach noch mal auf das auffällig groß geschriebene Wort in meinem letzten Posting.

Fällt dir dazu etwas ein? Wenn nicht, ist genau das dein Problem...

Reply to
Heiko Nocon

Am Thu, 22 Nov 2012 19:22:30 +0100 schrieb Heiko Nocon:

Ich habe es nie ausprobiert, aber im Idealfall sollte der Piezo- Schallgebers die Frequenz bestimmen, ähnlich einem Quarzoszillator.

Ist das bei den Komplettmodulen so?

--
Gruß Werner
Reply to
Werner Holtfreter

Mann, macht ihr das kompliziert. Hier eine Piezosirene, die einmal im Einsatz war (nur mit 12V, also schlappen >~100dB, allerdings ein paar Stunden), seitdem traut sich keiner mehr ungebeten in meine Wohnung:

formatting link

Reply to
Hartmut Kraus

Johannes Bauer schrieb:

So viel Induktivität werden die nicht haben.

Warum denkst du, dass ein externer Inverter mit der Induktivität besser zurecht käme als die AVR-Endstufen?

Weil du den Lautsprecher auch jetzt schon mit recht hohem Pegel ansteuerst, denn so schwachbrüstig, wie du vermutest, sind die AVR-Endstufen nicht (insbesondere im 5-V-Betrieb). Kollektorschaltung bringt daher rein gar nichts (der Pegel wird um Ube geringer), Emitterschaltung nur minimal mehr (bisschen mehr Strom treibt sie mit dem brutalen Basisstrom natürlich).

Die Gegentaktvariante würde den Pegel verdoppeln.

Ansonsten kannst du noch einen richtigen NF-Verstärker einsetzen. Ein LM386 ist nicht größer als ein Multigatter-CMOS-Inverter. In der "Minimum Parts"-Beschaltung kaum aufwändiger, und die Größe des Auskoppelkondensators richtet sich ja nur nach der unteren Grenzfrequenz. Da sollte man auch mit 47 µF hinkommen.

Da könntest du vor dem Verstärker auch noch die PWM-Grundfrequenz rausfiltern.

--
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL 

http://www.sax.de/~joerg/                        NIC: JW11-RIPE 
 Click to see the full signature
Reply to
Joerg Wunsch

Das ist also wirklich kein Problem, die direkt ranzuhängen?

Denke ich nicht. Mein Gedanke war eher: Wenn es etwas zerbröselt, dann nur den externen Inverter (und dann ist zwar der Piepser kaputt, aber der AVR läuft normal weiter).

Hm, den LM386 hätte ich sogar da. Der macht aber ja keinen Gegentakt (ein Lautsprecher-Ende ist mit GND verbunden), wäre also dann folglich auch nicht lauter als direkt am Portpin, oder?

Viele Grüße, Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 
> Zumindest nicht öffentlich! 
 Click to see the full signature
Reply to
Johannes Bauer

Kannst du ihn nicht an eine höhere Spannung hängen und ein bisschen Verstärkung einstellen?

Reply to
Hartmut Kraus

Am 23.11.2012 10:08, schrieb Johannes Bauer:

Hast Du mal gemessen. Es kann natürlich auch sein, dass der Innenwiderstand des Portpins die Lautstärke begrenzt. Dann ist das 1. schlecht für den µC und 2. bringt ein externer Vertärker dann doch noch was.

Portpins haben so in der Regel einen Innenwiderstand um die 100Ohm.

Michael

Reply to
Michael S

Und so sprach Johannes Bauer:

Bei einem normalen Lautsprecher brauchst du keine Gegentakt-Endstufe. Einfach den LS mit einem bein an Masse, und das andere über eine passende Kapazität an deine Push-Pull-Stufe.

Damit sparst du etliche Bauteile und verhinderst zweckmäßig, dass der Lautsprecher im Fehlerfall durchbrennt.

8 (oder4) Ohm auch an nur 3,3V machen schon ne Menge Wärme in der armen Spule ;)

Roland

Reply to
Roland Ertelt

Michael S schrieb:

Die haben einen FET-Kanal, der ist in erster Linie (insbesondere bei hohen Gatespannungen) *kein* ohmscher Widerstand, sondern eher eine Konstantstromquelle/-senke. Je nach benutztem AVR kann der Kurzschlussstrom bei Versorgung mit 5 V durchaus an die 100 mA heran reichen (und damit über dem zulässigen Grenzwert liegen).

Nix mit "in der Regel 100 Ohm".

Aber ja, messen sollte er es durchaus mal.

--
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL 

http://www.sax.de/~joerg/                        NIC: JW11-RIPE 
 Click to see the full signature
Reply to
Joerg Wunsch

Am 25.11.2012 00:15, schrieb Joerg Wunsch:

Ein durchgeschalteter FET-Kanal ist erstmal ohmsch bei hohen Gatespannungen und niedrigen Strömen. Erst bei niedrigeren Gate-Spannungen und/oder hohen Strömen geht das in eine Stromquelle über.

Wenn man sich in den Datenblättern von digitalen Bausteinen mal die Ausgangsspannungen in Abhängigkeit vom Ausgangsstrom anschaut, kann man sehr häufig Innenwiderstände in der Größenordnung von 100Ohm ausrechnen.

Schau Dir nochmal mal die Kennlinien von MOSFETs an. Erst bei hohen Strömen gehen MOSFETs in den "Stromquellenmode" über. Die allermeisten Portpins dürfte unter 10mA weitgehend ohmsch sein, einige sicher auch noch bei über 30mA

Im ATMEGA8-Datenblatt gibt es sogar Kennlinien:

formatting link
Seite 257

Bei 5V sind die bis über 50mA weitgehend ohmsch, bei 2,7V nur bis ca. 15mA

Bei 5V rechne ich hier 25Ohm aus, also viel besser als meine Behauptung. Bei 2.7V sind es ca. 35Ohm

Meine 100Ohm-Regel bezog sich auf 74er HC Gatter, die meist in dem Bereich liegen. Ich bin erstaunt, dass der AVR so viel niederohmiger ist.

Der Stromquellenbetrieb spielt aber in der Praxis keine Rolle, weil man den Portpin wegen der Verlustleistung so nicht betreiben sollte.

--
Michael
Reply to
Michael S

Michael S schrieb:

OK.

Naja, die sollen halt auch was treiben können.

Nö, bei geringen Betriebsspannungen und nichtohmschen Lasten ist das durchaus legitim. Wenn man z. B. an einen mit 2 Alkali-Mangan-Zellen (1,8 ... 3,2 V) betriebenen AVR eine LED mit einer Flussspannung von

2+ V hängt, kann man prima in diesem Bereich arbeiten, d. h. man muss da keine extra Vorwiderstände vorsehen. An der unteren Betriebs- spannungsgrenze lässt die Helligkeit ohnehin schon massiv nach (klar), aber auch bei frischen Batterien sind die Ströme noch gut im legalen Bereich.

Ist natürlich ein "Billigdesign", das aber schon seine Berechtigung haben kann. Habe ich im "Tic-Tac-Toe Reloaded" so gemacht, welches wir dieses Jahr auf den Chemnitzer Linuxtagen für einen Workshop benutzt haben. (Eins der Entwurfsziele für die Hardware war "einfach und billig", schließlich mussten die Workshopteilnehmer diese selbst finanzieren.) Der dort verwendete ATmega128RFA1 bietet sogar zusätzlich noch die Möglichkeit, die Treiberstärke in 4 Stufen einzustellen, sodass man die Abhängigkeit von der Betriebsspannung berücksichtigen könnte.

--
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL 

http://www.sax.de/~joerg/                        NIC: JW11-RIPE 
 Click to see the full signature
Reply to
Joerg Wunsch

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.