Hat jemand erfahrungswerte wie man nem Piezo am besten ein vernünftiges
piepsen entlockt?
Ich kiege es zwar hin das er töne von sich gibt aber das hört sich...
naja schräg an.
Ich hätte am liebsten ein piepsen ähnlich dem beim POST des PCs, halt
son informationspiepen :D
Piezo ist einer von nem Alten Mainboard, wird über transistor von nem
TINY15 angesteuert.
Vieleicht hat ja jemand auch auf dem Tiny schon son "peper"
implementiert und kann mir die Werte für Comparematch und TopValue sowie
Prescaler der PWM nennen :)
Ich hab sosnt fürcht ich bald nen Klingeln im Ohr wenn meiner weiterhin
so qäckt :)
Danke schonmal im vorraus.
Es gibt Piezo-Summer welche eine feste Frequenz haben, die sie durch
anlegen einer Gleichspannung erzeugen. Andere Summer benötigen ein
Rechteck-Signal. Ich selbst setze eine solchen Summer ein und betreibe
ihn mit einem 1,5kHz Rechteck-Signal. Was man bei Piezos beachten sollte
ist, dass der Piezo nicht "frei schwebt", sondern an einer Platte oder
ähnlichem befestigt ist, da er sonst nur ein Krächtzen von sich gibt.
MfG
Kai
Also wenn man nur Spanung anlegt klackt der nur gnaz kurz.
Befestigt ist er auf einer Leiterplatte, ist so ein kleiner schwarzer
Zylinder mit einem Loch oben drinnen.
Du darfst ihn auch nicht per PWM ansteuern (damit veränderst du die
Tonhöhe nur minimal, dafür aber die quali beträchtlich), sondern per
variabler Frequenz, Tastverhältnis 50/50.
Versuch es mal mit 3kHz. Irgendwo haben die alle eine optimal laute
Frequenz.
Besser wird es, wenn Du statt 5V so bis zu 20V nehmen würdest.
Und dann noch die Anschlüsse im Gegentakt, dann verdoppelt sich die
Spannung...
Ich habe es auch lange probiert. Mit Ladungspumpe durch 2 Shottky-Dioden
einen 1000uF-Kondensator auf 10V geladen und dann mit einem ICL7660 im
Gegentakt angesteuert...
Kauf einen selbsterregenden Summer und fertig.
So mal ne kurze Rückmeldung:
Er summt. sowohl bei 1.5khz als auch bei 3khz recht annehmbar.
Aber wie entlocke ich dem ganzen ein simples "piep" wie es der PC z.B.
beim starten von sich gibt? Ne Tabelle mit WAV samples wäre denk ich
übertrieben und passt auch nicht in den TINY rein :D
Einfach die gewünschte Frequenz aktivieren. Je nach Geschmack 100-300ms
waren. Frequenz wieder deaktiviern. Fertig!
So macht es das Bios mit dem PC-Speaker, bzw. bei aktuellen Boards mit
Piepser auch.
@Läubi
> Er summt. sowohl bei 1.5khz als auch bei 3khz recht annehmbar.> Aber wie entlocke ich dem ganzen ein simples "piep" wie es der PC z.B.> beim starten von sich gibt? Ne Tabelle mit WAV samples wäre denk ich
Wie bereits gesagt, Ansteuerung im Gegentaktbetrieb verdoppelt praktisch
die verfügbare Spannung -> 4fache Leistung.
Also die beiden Pins an jeweils ein AVR-Pin, und beide Pins immer auf
entgegengesetzten Pegel schalten. Das Ganze mit der entsprechenden
Frequenz. Wenn man die Prozedur ein paar hundert Millisekunden macht,
gibts den "berühmten" PEEP. Ach nee, das war was anderes ;-)
MfG
Falk
3kHz anschalten, 1s warten, 3kHz ausschalten = Piep!
Du betreibst den Piezo aber nicht mit Wechselspannung, wie ich gelesen
habe. Wenn es kein selbsterregter Piezo ist, muß er mit Wechselspannung
betrieben werden, da ein Piezo ein C darstellt, welcher sich aufläd und
dann auch wieder entladen werden muß. Wenn Du den Piezo nun zwischen 2
Portpins schaltest, die immer gegensätzlichen Pegel haben, kannst Du
10Vss auf das Ding schalten. Damit solltest Du auch genug Schmackes
bekommen. Immer vorausgesetzt, daß es ein Piezo und kein
elektrodynamischer Summer ist. Letztere habe nämlich eine Spule und ein
Blechplättchen drin. Diese erzeugen auch ziemlich gemeine Induktionen
und brauchen eine Freilaufdiode. Miß das Ding mal durch - wenn Du einen
Widerstand von 20-100 Ohm messen kannst, ist es ein elektrodynamischer
Speaker.
Also im Momment ist das ganze derart angeschlossen:
GND -- BC447 -- (-)Piezo(+) -- 270ohm -- 5V
Gegentakt wäre natürlich ne möglichkeit... da die Platine aber schon so
fertig ist etwas scher im Nachinein noch reinzufriemeln :(
Könnte ich statdessen auch einfach eine Entladewiderstand einbauen?
(Wenn ja wie gross?)
Ich hab jezt mal gemessen, laut MM 20 Ohm Widerstand (gemessen in der
Schaltung oder muß ich das Teil dafür auslöten?)
Also laut Travelrec ein Elektrodynamischer Speaker(?) hilft das weiter?
@Läubi
Ich hab jezt mal gemessen, laut MM 20 Ohm Widerstand (gemessen in der
Schaltung oder muß ich das Teil dafür auslöten?)
JA! Wenigstens ein Pin.
> Hier mal ein Bild von dem Teil
Sieht schwer nach Piezo aus.
MfG
Falk
Das ist zu 99,9% ein elektronischer Piepser mit Ansteuerung drin oder
zumindest einer mit einer Spule + Magnet.
Bei einem Piezo macht das + Zeichen nämlich keinen Sinn.
Noch eine Anmerkung: diese Piepser mit Loch sind Helmholtz-Resonatoren,
erreichen ihre maximale Lautstärke also nur in der Nähe der
Resonanzfrequenz:
http://de.wikipedia.org/wiki/Helmholtz-Resonator
Okay also dann weiß ich jezt die Frequenz das Ding geht mit 5V Aber sit
meine Schaltung den jezt brauchbar dafür?
Und kann mal wer kurz über meine Timerberechnung schauen?
Also der Tiny läuft ja mit 1,6Mhz
Ich betreibe den Timer im CTC-Modus mit Toggle des Pins an dem der
Transistor hängt.
Prescaler: /16
CTC-Wert: 42
Frequenz: 2380 Hz (etwa)
Kommt das so hin?
@Läubi
> Okay also dann weiß ich jezt die Frequenz das Ding geht mit 5V Aber sit> meine Schaltung den jezt brauchbar dafür?
Ja, aber nimm den 270 Ohm WIderstand raus.
MFG
Falk
@Falk:
Das Problem ist das Netzteil schafft nicht soviel an dem der AVR hängt
mit dem Widerstand wollte ich verhindern das das NT in die Knie geht,
stört der Widerstand oder ist der Pieper nur leiser?
@Läubi
> Das Problem ist das Netzteil schafft nicht soviel an dem der AVR hängt
Das Ding zieht 50 mA. Welches "Netzteil" schafft das nicht?
> mit dem Widerstand wollte ich verhindern das das NT in die Knie geht,> stört der Widerstand oder ist der Pieper nur leiser?
Ich dachte der leise Piepser ist das Problem?
MfG
Falk
>> Das Ding zieht 50 mA. Welches "Netzteil" schafft das nicht?
Nen Minitrafo der laut Hersteller 55mA liefern kann :)
>> Ich dachte der leise Piepser ist das Problem?
Das Problem ist eher das das Ding recht unangenhm "krächtz" mir aber ein
etwas angenhmeres piepen lieber wäre :)
(Der AVR soll nur Signal geben das eine Aufgabe fertig ist und im
Momment hörts sich halt recht Agressiv an)
Die Lautstärke ist im Momment zwar nicht berühmt aber durchaus noch im
Bereich des höhrbaren :)
> Das Problem ist eher das das Ding recht unangenhm "krächtz" mir aber ein> etwas angenhmeres piepen lieber wäre :)
Dann nimm mal probehalber ein richtiges Netzteil und mach die 270 Ohm
raus. Es kann sein, dass der Piepser bei niedrigen Ansteuerspannungen
komisch klingt, und erst bei ordentlich Leistung ordentlich piept.
MfG
Falk
So, hab mal rumprobiert.
Kleiner Widerstand --> Lauter aber nicht anderer Ton.
Ich habs jezt sogemacht Timer im CTC wie oben.
Timer 160ms an
Timer 160ms aus
Timer 160ms an
Timer aus
Ergibt in etwa das typische zweimal piepsen wie beim POST Test des Bios.
Im momment noch ganz stumpf mit Warteschleifen aber es geht erstmal.
Ich kenne diese Teile auch nur als elektromagnetische Wandler, zumal das
bei 20 Ohm Innenwiderstand und einem "Klick" beim Anlegen einer Spannung
sehr wahrscheinlich ist. Der Frequenzbereich dieser Teile ist gar nicht
so schlecht, ich betreibe hier einen mit 440 Hz und auch das geht noch
recht gut. Natürlich lässt bei so niedrigen Frequenzen die Lautstärke
beträchtlich nach.
Piezzos verhalten sich wie Kondensatoren der im Bild hat 20nF.
Er war in der Sirene einer Alarmanlage, über einen Transistor von +6V
nach Masse geschaltet (110 dB laut)
Man kann Piezzos direkt an den PWM-Ausgang eines AVR hängen +an Piezzo.
damit er lauter wird braucht er einen Flaschenverschluss ;-)
Hier ein trauriger Versuch "Alle meine Entchen" zu spielen:
/*
;PWM Piezzo
;
; ================================================
; TINY26
; ================================================
; __ __
; PB0 |1 |_| 28| PA0 (ADC0)
; (Piezo) PB1 |2 A 27| PA1 (ADC1)
; PB2 |3 T 26| PA2 (ADC2)
; PB3 |4 M 25| PA3 (AREF)
; VCC |5 E 24| GND
; GND |6 L 23| AVCC
; (ADC7) PB4 |7 22| PA4 (ADC3)
; (ADC8) PB5 |8 A 21| PA5 (ADC4)
; (ADC9) PB6 |9 T 20| PA6 (ADC5/AIN0)
; RESET PB7 |10 m 19| PA7 (ADC6/AIN1)
; |_________|
*/
#include <avr/io.h>
#include <stdlib.h>
void Pause(uint8_t z)
{
uint8_t i;
uint8_t j;
for(i=0;i<z;i++)
{
for(j=0;j<250;j++) {}
}}
void Piep(uint8_t t,uint8_t z) //t bis 125
{
OCR1C=t<<1;
OCR1A=t; // 50% Puls-Pausenverhältnis
Pause(z);
}
int main()
{
DDRB = 0xFF; // PORTB als Ausgang schalten
TCCR1A|=(1<<COM1A0)|(1<<PWM1A)|(1<<PWM1B);// enable TimerA
TCCR1B|=(1<<CTC1)|(1<<CS11)|(1<<CS10); // Vorteiler Timer A
OCR1B=0x00;
for(;;) //töne
{
//alle meine Entchen
Piep(68,100); // d
Piep(76,100); // e
Piep(80,100); // f
Piep(90,100); // g
Piep(102,200); // a
Piep(1,50); //nix
Piep(102,100); // a
Piep(2,250); // nix
}
}
M. Ecker wrote:
> Pizza mit zwei z, Piezo mit einem z!
Weiss ich, wollte aber den Urspungsposter nicht bloß stellen.
So mas macht man nicht und tut auch nichts zur Sache.