Hallo zusammen, momentan baue ich aus analogen Rauchmeldern eine kleine Brandmeldeanlage für private Zwecke. Die eigentliche Zentrale läuft auch soweit. Bisher habe ich den Alarmton durch einen Piezo-Summer ausgegeben. Dieser befindet sich noch auf der Platine der Zentrale. Nun möchte aber in den Räumen aber einen separaten Alarmgeber haben. Als Ton hatte ich mir sowas vorgestellt. http://www.salamisound.de/5564068-alarmsirene-14-mal-heulen . Meine Frage ist nun, wie kann ich so eine Tonfolge durch einen µC abwickeln. Technisch hatte ich an einen kleinen Attiny gedacht. Dieser soll dann einen Lautsprecher oder einen Summer ansteuern. Wobei ich der Meinung bin, dass ein Lautsprecher hier wohl wesentlich besser geeignet ist oder? Für die Hardware hatte ich an so etwas gedacht http://www.mikrocontroller.net/articles/Klangerzeugung (siehe Abschnitt PWM) Leider ist mir bis jetzt völlig unverständlich wie ich die oben angegebene Tonfolge von oben in den µC übersetzten kann. Gruß Tobias
@Tobias: hast Du es denn bislang geschafft durch die verlinkte Methode einen Ton (bspw. 1kHz) zu erzeugen? Eine auf-/abheulende Sirene erhälst du indem du eine Variable, die die aktuell auszugebene Frequenz enthält, hoch, bzw. runter zählst. Das heisst es wird quasi für 1ms ein Ton von 1000Hz erzeugt, für die nächste ms 1005Hz.... und so weiter bis bspw. 1500Hz. Ist der Wert erreicht, gehts wieder abwärts bis 1000Hz. Mit den Taktsprüngen und Zeiten dazwischen kannst gut experimentieren, bis dir der "Sound" gefällt. Bei dem verlinkten Sound kannst du wahrscheinlich aber eher bei 400Hz anfangen als bei 1000Hz...
Hallo, ich hab's bis jetzt mit einem Piezo realisiert. Also ein einfaches unterbrochenes Signal. Das mit der Schleife hat beim piezo leider nicht geklappt. Hab es einfach mal probiert den pwm Wert von 10 bis 250 hochzählen zu lassen bei einem Prescaler von 64. Der Ton bleibt konstant. Soll ich denn besser einen Lautsprecher nutzen? Es sollte ja schon gut hörbar sein. Ich meine in Erinnerung zu haben, dass Alarmgeber aus der Industrie mit Lautsprechern laufen. Gruß Tobias
Hi, mit PWM wirst du da m.E. auch nicht viel. Die Frequenz bleibt ja konstant, du änderst ja nur das Tastverhältnis. mfg Felix
Hallo, ja stimmt, danke. Hab irgendwie gepennt. Ich muss die Frequenz über CTC für die PWM ändern oder? Das Tastverhältnis ist dann ja nur für die Lautstärke zuständig. Wie realisere ich denn die Frequenzänderung in C? Über eine Zuweisung zu OCR0? Also über einen Timer? Gruß Tobias
Moin, ja, so würde ich das auch machen. Phasen richten PWM Modus mit OCR als maximalen Wert. Und OCR dann über einen zweiten Timer hoch- oder eben runterzählen lässen. mfg Felix
Wenn der Ton ein bisschen schöner sein soll, wäre eine DDS vielleicht die bessere Methode. Zur Tonhöhenänderung würde man entsprechen den zum Phasenakkumulator hinzuzuaddierenden Wert timergesteuert modulieren.
ich habe so etwas (etwas größer von der Bauform her) aufgebaut. DDS geht aber auch. http://elm-chan.org/works/sd8p/report.html
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.