Forum: Analoge Elektronik und Schaltungstechnik NPN BJT Transistor für Piezo buzzer an STM32


von Mike (borg1of1)


Lesenswert?

Hallo zusammen

Ich möchte den Piezo Buzzer TDK PS1240P02BT per PWM an einem STM32 
Mikrocontroller betreiben.

Der Buzzer ist mit 3V 0-P spezifiziert.
Der STM32 wird mit 3.3V betrieben.

Am PWM Timer pin ist ein low pass filter mit R = 1.2kΩ, C = 33nF 
angeschlossen.
Soweit ich es verstanden habe, kann man den Buzzer nicht direkt daran 
anschliessen, da durch die PWM mit 50% duty cycle dann nur noch 1.65V 
vorhanden sind.

Vielfach wird ein NPN BJT Transistor zur Verstärkung empfohlen.

Empfohlene Transistoren sind unter anderem: C1815, 2N3904 , 2n2222 , 
S8050.

Was ist der beste Transistor für mein Szenario und wie muss der genau 
nach dem low pass folter angeschlossen werden?

Vielen Dank im voraus für ein paar Hinweise.

von Loco M. (loco)


Lesenswert?

Mike schrieb:
> Hallo zusammen
>
> Ich möchte den Piezo Buzzer TDK PS1240P02BT per PWM an einem STM32
> Mikrocontroller betreiben.
>
> Der Buzzer ist mit 3V 0-P spezifiziert.
> Der STM32 wird mit 3.3V betrieben.
>
> Am PWM Timer pin ist ein low pass filter mit R = 1.2kΩ, C = 33nF
> angeschlossen.
> Soweit ich es verstanden habe, kann man den Buzzer nicht direkt daran
> anschliessen, da durch die PWM mit 50% duty cycle dann nur noch 1.65V
> vorhanden sind.

Was soll das Filter am PWM Ausgang bewirken? Im Datenblatt hat es doch 
ein Schaltungsbeispiel, wo der Piezo über einen Transistor mit Rechteck 
angesteuert wird. Was gefällt dir daran nicht?

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Mike schrieb:
> Am PWM Timer pin ist ein low pass filter mit R = 1.2kΩ, C = 33nF
> angeschlossen.

Weg damit - Kostet nur Pegel. Ansonsten kannst du da nehmen was du 
willst. Lediglich einen Basisvorwiderstand solltest du nicht vergessen. 
220 Ohm oder so.

von Michael B. (laberkopp)


Lesenswert?

Mike schrieb:
> Was ist der beste Transistor für mein Szenario und wie muss der genau
> nach dem low pass folter angeschlossen werden?

Oje.

Dieser 'Buzzer' ist ohne Oszillator, er will die Frequenz von dir und 
ist dabei mit 30V bei 4kHz am lautesten.

Um diese 30V zu erzeugen verwendet man einen Schwingkreis, eine Spule 
zusätzlich zur Kapazität des Piezos, und betreibt sie an einem Class-C 
Verstärker.

Der Transistor darf die negativ gehende Schwingung nicht kurzschliessen, 
also kein MOSFET sein.

Die RECOMMENDED OPERATING CIRCUIT EXAMPLE im Datenblatt betreibt ihn nur 
mit 3V, macht 50dB säuseln.

Hier steht, wie man durch eine Spule lautet bekommt

https://www.edn.com/increase-piezoelectric-transducer-acoustic-output-with-a-simple-circuit/

Deiner hält maximal 30V aus, da seine Kapazität nicht im Datenblatt 
steht muss man mit der Induktivität experimentieren.

von Mike (borg1of1)


Lesenswert?

Loco M. schrieb:
> Was soll das Filter am PWM Ausgang bewirken? Im Datenblatt hat es doch
> ein Schaltungsbeispiel, wo der Piezo über einen Transistor mit Rechteck
> angesteuert wird. Was gefällt dir daran nicht?

Es soll Audio ausgegeben werden.
Für Audio per PWM wird überall beschrieben, dass ein low pass filter 
notwendig ist.
Das die Qualität mit so einem Buzzer sehr bescheiden sein wird, ist mir 
durchaus bewusst.

Ich möchte also mehr also nur einfach ein "piep" Ton auf einer 
bestimmten Frequenz ausgeben, sondern durchaus auch (in schlechter 
Qualität) Musik per PWM.
Daher der low pass filter.

von H. H. (hhinz)


Lesenswert?

Mike schrieb:
> Das die Qualität mit so einem Buzzer sehr bescheiden sein wird, ist mir
> durchaus bewusst.

Die ist nicht vorhanden.

Nimm einen kleinen Lautsprecher.

von Michael B. (laberkopp)


Lesenswert?

Mike schrieb:
> sondern durchaus auch (in schlechter Qualität) Musik per PWM

Du guckst prinzipiell nicht in Datenblätter von Dingern die du verbaust 
?

Diese winzige Piezoscheibe produziert kein Geräusch unter 3kHz.

Schon im anderen thread wurde erklärt dass du einen Lautsprecher 
brauchst (und tunlichst einen Verstärker).

Ja, mit PWM kann man (leidlich) Musik wiedergeben, ein echter 
Lautsprecher übernimmt sogar die low pass Filterung wegen seiner 
mechanischen Trägheit, die PWM Frequenz muss natürlich jenseits des 
hörbaren liegen.

Aber auch im anderen thread wurde dir schon erklärt, dass die 
Speicherkapazität des AVR zu gering ist. Du kannst nur synthetische Töne 
(Sinus etc.) erzeugen und z.B. Midi-Noten spielen.

von Mike (borg1of1)


Lesenswert?

Michael B. schrieb:
> Dieser 'Buzzer' ist ohne Oszillator, er will die Frequenz von dir und
> ist dabei mit 30V bei 4kHz am lautesten.

Der ist ganz bewusst ohne Oszillator, damit ich per PWM Musik damit 
wiedergeben kann.

Michael B. schrieb:
> Um diese 30V zu erzeugen verwendet man einen Schwingkreis, eine Spule
> zusätzlich zur Kapazität des Piezos, und betreibt sie an einem Class-C
> Verstärker.
>
> Der Transistor darf die negativ gehende Schwingung nicht kurzschliessen,
> also kein MOSFET sein.
>
> Die RECOMMENDED OPERATING CIRCUIT EXAMPLE im Datenblatt betreibt ihn nur
> mit 3V, macht 50dB säuseln.

Im Datenblatt steht 70dB(A)/10cm min. at 4kHz, 3V0-P.
Laut genug für mich.

Ich habe in der Schaltung nur 3.3V Versorgung zur Verfügung und möchte 
damit das best möglichste an Lautstärke herausholen.

von H. H. (hhinz)


Lesenswert?

Mike schrieb:
> Ich habe in der Schaltung nur 3.3V Versorgung zur Verfügung und möchte
> damit das best möglichste an Lautstärke herausholen.

Deshalb brauchst du einen Lautsprecher, keinen Piezo.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mike schrieb:
> sondern durchaus auch (in schlechter Qualität) Musik per PWM.
> Daher der low pass filter.
Falscher logischer Schluss.

Ich würde an deiner Stelle den Piezo mit einem Gegentakttreiber (ein 
Single-Gate-TTL-Inverter reicht da) ansteuern:
1
              Inverter
2
         .------|>o-----.
3
         |              |
4
  µC ----o-----Piezo----'

Alternativ mehrere Treiber eines 6-fach-Inverters parallel schalten:
1
              Inverter
2
            .------|>o-----.
3
            |              |
4
            o------|>o-----o
5
            |              |
6
            |             Piezo
7
            |              |
8
  µC -|>o---o-|>o--o--|>o--o
9
                   |       |
10
                   '--|>o--'

Mit der Gegentaktansteuerung wird die Piezoscheibe nämlich nicht nur in 
eine, sondern in beide Richtungen ausgelenkt. Das erhöht die maximale 
Amplitude am Piezo auf 6V und damit die erreichbare Lautstärke.

: Bearbeitet durch Moderator
von Mike (borg1of1)


Lesenswert?

Michael B. schrieb:
> Schon im anderen thread wurde erklärt dass du einen Lautsprecher
> brauchst (und tunlichst einen Verstärker).
>
> Ja, mit PWM kann man (leidlich) Musik wiedergeben, ein echter
> Lautsprecher übernimmt sogar die low pass Filterung wegen seiner
> mechanischen Trägheit, die PWM Frequenz muss natürlich jenseits des
> hörbaren liegen.
>
> Aber auch im anderen thread wurde dir schon erklärt, dass die
> Speicherkapazität des AVR zu gering ist.

Sorry, aber ich schreibe in keinem anderen thread hier.
Ausserdem habe ich kein AVR, sondern ein STM32 mit 128Mbit SPI Flash 
angeschlossen.
Speicherkapazität ist meine geringste Sorge.

: Bearbeitet durch User
von Mike (borg1of1)


Lesenswert?

H. H. schrieb:
> Deshalb brauchst du einen Lautsprecher, keinen Piezo.

Ich lasse die Platine komplett bei JCLPCB bestücken und bräuchte daher 
ein footprint für den Lautsprecher.
In KiCad gibt es aber leider nur footprints für buzzers.

Daher muss ich gezwungenermassen einen buzzer statt lautsprecher nehmen.

Die Audio Ausgabe ist aber nur Sekundär und nicht so wichtig.
Daher ist es OK wenn es nicht die beste Lösung ist.

Danke trotzdem für den Tipp.

von H. H. (hhinz)


Lesenswert?

Mike schrieb:
> Daher ist es OK wenn es nicht die beste Lösung ist.

Es ist aber keine Lösung.



> In KiCad gibt es aber leider nur footprints für buzzers.

Man kann da eigene Footprints erstellen.

von Enrico E. (pussy_brauser)


Angehängte Dateien:

Lesenswert?

Mike schrieb:
> Vielfach wird ein NPN BJT Transistor zur Verstärkung empfohlen.

In deinem Fall bringt der Transistor nichts, denn du hast nur 3,3 Volt 
zur Verfügung! Für das Tiefpassfilter kannst du das nehmen, was du 
selber vorgeschlagen hast. Wenn du den Frequenzbereich etwas erweitern 
möchtest kannst du statt 33nF auch 10nF nehmen, das ergibt eine obere 
Grenzfrequenz von 16kHz. R2 und C2 können eventuell entfallen, die 
begrenzen nur die untere Übertragungsfrequenz auf 160Hz.

Bevor du extra ein Layout dafür machst, hör dir das am besten vorher 
einmal testweise auf dem Steckbrett an, auch wenn die Audioqualität 
zweitrangig sein darf!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Enrico E. schrieb:
> kannst du das nehmen, was du selber vorgeschlagen hast.
Der Piezo in dieser Schaltung wird nur sehr, sehr leise tröten, denn die 
Piezokapazität wird nur gaaaanz laaaangsaaam über den 10k widerstand 
entladen. Aber weil die Tonausgabe nur nachrangig ist, wird das schon 
reichen. Die Schaltung ist ja schnell mal am EVAL-Board zusammengesteckt 
und ausprobiert. Vorher würde ich da sowieso keine Leiterplatte 
entwerfen.

Mike schrieb:
> In KiCad gibt es aber leider nur footprints für buzzers.
> Daher muss ich gezwungenermassen einen buzzer statt lautsprecher nehmen.
Wie kommt man auf diesen fadenscheinigen logischen Winkelzug?
Diese Makros sind nicht fest in die Binärdatei vom KiCad eincompiliert.
Man kann sie jederzeit ändern oder auch völlig neue erstellen. Das 
sollte man tatsächlich am besten gleich ganz zu Beginn der 
Entwicklerkarriere üben.

Mike schrieb:
> Ausserdem habe ich kein AVR, sondern ein STM32
... kein*en* ... ein*en* ...

So viel Zeit sollte sein und im ersten Satz im Thread hats ja auch 
geklappt.

: Bearbeitet durch Moderator
von Gerald B. (gerald_b)


Lesenswert?

H. H. schrieb:
> Mike schrieb:
>> Daher ist es OK wenn es nicht die beste Lösung ist.
>
> Es ist aber keine Lösung.

Zumindest keine Lösung, die zu seinem Problem passt :-D

Warum muß man alles im Entwurfsprogramm erschlagen wollen? 2 Lötaugen 
und dann mit ein paar cm Litze auf den Piezo.
Wobei ich bei so einer nackten Scheibe und 3V schwarz sehe. Die hört man 
gescheit nur in Resonanz und in einem Gehäuse, was zur Resonanzfrequenz 
passt. Musik, egal wie schlecht die Qualität auch sein mag, beißt sich 
aber mit Punkt eins.
es gibt genug magnetische Buzzer und Kleinstlautsprecher, die das 
wesentlich besser können.

von Manfred P. (pruckelfred)


Angehängte Dateien:

Lesenswert?

Michael B. schrieb:
> Dieser 'Buzzer' ist ohne Oszillator, er will die Frequenz von dir und
> ist dabei mit 30V bei 4kHz am lautesten.

Der TDK-Katalog ist da anderer Meinung, sagt 3 Volt P-P.

Ändert aber nichts an dessen Untauglichkeit für Audio, da muß anstatt 
Piezo eine elektromagnetische Tröte dran.

Mike schrieb:
> Ich habe in der Schaltung nur 3.3V Versorgung zur Verfügung und möchte
> damit das best möglichste an Lautstärke herausholen.

Du übersiehst, dass die Bauart von Piepern auf eine bestimmte Frequenz 
ausgelegt ist. Bei dieser sind die in Resonanz und recht laut, daneben 
geht der Schallpegel deutlich in den Keller.

Gerald B. schrieb:
> es gibt genug magnetische Buzzer und Kleinstlautsprecher, die das
> wesentlich besser können.

Ich habe magnetische Pieper gleicher Bauform, auch diese haben eine 
ausgeprägte Resonanzstelle.

von Thomas S. (Firma: Chipwerkstatt) (tom_63)


Lesenswert?

H. H. schrieb:
> Deshalb brauchst du einen Lautsprecher, keinen Piezo.

In meinem Umfeld werden gerne Piezo, bzw Bändchenhochtöner verbastelt. 
Haben einen schrillen Klang, und sind zum Zwecke laut genug.

von Michael B. (laberkopp)


Lesenswert?

Thomas S. schrieb:
> In meinem Umfeld werden gerne Piezo, bzw Bändchenhochtöner verbastelt.
> Haben einen schrillen Klang, und sind zum Zwecke laut genug.

Für Bass ?

Nichtmal midrange.

Eher tweeter.

von Christian S. (roehrenvorheizer)


Lesenswert?

Mike schrieb:
> Ich habe in der Schaltung nur 3.3V Versorgung zur Verfügung und möchte
> damit das best möglichste an Lautstärke herausholen.

So ein Westentaschenradio aus Mitte der 70er Jahre konnte aus zwei 
Mignon-Zellen mittels 3-Transistor- und 2-Trafo-Endstufe aus seinem 
kleinen Lautsprecher schon ordentliche Lautstärke bringen, 300 mW 
vielleicht, wenn es auch nicht für auf dem Bahnhof oder am Flughafen 
laut genug gewesen wäre.

mfg

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Manfred P. schrieb:
> Michael B. schrieb:
>> Dieser 'Buzzer' ist ohne Oszillator, er will die Frequenz von dir und
>> ist dabei mit 30V bei 4kHz am lautesten.
> Der TDK-Katalog ist da anderer Meinung, sagt 3 Volt P-P.
Nein, der sagt, dass bei 4kHz Rechteckansteuerung grade mal 70db in 10cm 
Abstand erreicht werden. Aber es sind bis zu 30Vp im Gegentakt (also 
60Vpp)  erlaubt und dann ist der Piezo bei 4kHz sicher am lautesten.

Vor jedem Gebastel würde ich so einen Piepser einfach mal an einen 
normalen Lautsprecherausgang ranhängen und hören, was der denn bei 
welchem Ansteuersignal überhaupt wiedergibt.

Im Grunde würde ich hier einfach einen Handylautsprecher nehmen, der ist 
auf brauchbare Tonwiedergabe ausgelegt:
- https://de.aliexpress.com/item/32797193751.html
- https://de.aliexpress.com/item/1005006056453298.html
- https://de.aliexpress.com/item/1005005699690954.html

: Bearbeitet durch Moderator
von Thomas S. (Firma: Chipwerkstatt) (tom_63)


Lesenswert?

Michael B. schrieb:
> Für Bass ?
>
> Nichtmal midrange.
>
> Eher tweeter.
Was habe ich geschrieben ? - Der deutschen Sprache nicht mächtig?

für Hochttonbereich.

Die Teile (mehrere pro Box) werden in Verbindung mit 200-500 Watt 
Bass/Tieftöner/Midi kombiniert. Nicht von mir. Wurde vor x-Jahren von 
jemanden professionell gebaut. Ich bin kein Freund von Piezo-Tweeter. 
Aber manchmal braucht es den Schalldruck. Was der Kunde will, kriegt er.

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
Noch kein Account? Hier anmelden.