- LiFePO4 Speicher Test         
Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 48

Thema: Glockenschlag erzeugen

  1. #11
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Anzeige

    LiFePo4 Akku selber bauen - Video
    JA, eine richtige Glocke zu verwenden dürfte wohl die einfachste Variante sein, nur wie gesagt, gibt es die wohl kaum in der SMD Version

    Ich habe eben einen Versuch mit Timer 2 in FastPWM Mode gestartet, den ich mit Hilfe von Timer 0 mit Werten aus Stochris Tabelle füttere.

    Das sieht schon mal garnicht so übel aus auf dem Oskar, leider noch total verrauscht vom PWM, liegt wohl am falschem Tiefpaß, habe heute leider keine Lust meine Bastelkiste rauszuholen um eben andere Kondensatoren auszuprobieren, das muß wohl bis Samstag warten...

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  2. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.142
    Blog-Einträge
    3
    Ganz wichtig: Dein PWM muss ohne Vorteiler laufen, Prozessortakt mindestens 8Mhz.

    Dann solltest Du die kleinste Zykluszeit des PWM erreichen können, mit der du die 31Khz Ausgabefrequenz schaffst.
    Hast Du schon mal mit dem Oszilloskop nachgeschaut, welche Zykluszeit Dein PWM hat ?
    Noch ein Tipp: Man sollte möglichst die Ausgabe mit dem PWM-Zyklus synchronisieren, sonst gibt es auch Störungen; d..h. als Grundtakt den Überlauf des PWM-Timers verwenden und dann immer einen neuen Wert schreiben.

    Gruss,
    stochri

  3. #13
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Hallo Stochri,
    Deine Tips sind wie immer Goldwert

    Ja, ich habe PWM ohne Vorteiler in meinem STK steckt ein 7,372 MHz Quarz drin, werde morgen mal einen anderen reinstecken.

    Mit Oszilloskop hab ich mir erstmal dürftig den Verlauf nur angeguckt (ich muß erstmal meine Frau von meinem Schreibtisch mit ihrem Laptop verjagen damit man etwas Platz hat )
    Naja, wie gesagt Sinus ist es schon gewesen nur halt schön mit dem PWM Grundton moduliert, das dürfte wohl weniger das Problem sein, der Tiefpass muß halt noch richtig gemacht werden.

    als Grundtakt den Überlauf des PWM-Timers verwenden und dann immer einen neuen Wert schreiben.
    Aha, klingt gut, das probiere ich mal aus, damit spar ich ja den Timer 0 wobei dürfte das wohl eine ziemlich große Last erzeugen, oder (alle 256 Takte ein Interrupt)?

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  4. #14
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Ne IRQ-Rate von 256 Ticks sollte ok sein, wenn du nicht in der ISR Krieg und Frieden übertragen willst

    Konkreter Vorschlag:
    • In der ISR zählst du die IRQs, wahrscheinlich ist nur alle x IRQs was zu tun. Falls x keine 2er-Potenz ist, komm nicht auf die Idee, in der ISR ein % (modulo) anzufangen. Vergleich einfach von Hand:

      SET x := x+1
      IF x >= max
      THEN
      SET x := 0
      ENDIF
    • Falls Ausgabe (oder was auch immer) gemacht werden soll, setze ein Flag und die Applikation kümmert sich drum. PWM-Werte natürlich in der ISR setzen.
    • Die IRQ-Latenz deiner ISRs wird sich aufaddieren. Evtl. ist es angezeigt, andere IRQs (z.B UART) für Interrupts zu öffnen. Ansonsten bekommst du tatsächlich Huddel.
    Disclaimer: none. Sue me.

  5. #15
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    wenn du nicht in der ISR Krieg und Frieden übertragen willst
    Hehe, ne Du, keine Warteschleifen oder sowas...
    Eigentlich nur eine Bytevariable inkrementieren, einen Wert aus einem Array holen, in OCR2 schreiben und fertig.
    Klappt auch gut bis jetzt...
    Software is like s e x: its better when its free.
    Linus Torvald

  6. #16
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Warum muss es eigentlich ein Sinus sein?
    Nimm doch nen Cosinus! Ok, Spaß bei Seite...
    Tut's ein Rechteck nicht? Da hast du gleich ein paar Obertöne drin. Ich find, Rechteck hört sich etwas sympathischer an als Sinus. Oder wird der Sinus noch durch was anderes ausgetauscht?
    Disclaimer: none. Sue me.

  7. #17
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Warum muss es eigentlich ein Sinus sein?
    Also man hat mir gesagt:
    Einen Sinus von 200 Hz mit einem Sinus von 4 Hz multiplizieren dann mit der Hüllkurve multiplizieren.

    Da habe ich mir gedacht, ich erzeuge zuerst einen einfachen Sinus (das klappt auch eigentlich ziemlich gut, hört sich an wie eine Schiffssirene)
    und wenn das klappt versuche ich die zu multiplizieren, und dann kümmere ich mich um die sägezahnförmige, linear abklingende Hüllkurve...

    Allerdings habe ich im Moment noch keine Ahnung, wie ich es mache...

    Tut's ein Rechteck nicht?
    Es ist mir eigentlich egal welche Signalform zum Einsatz kommt von mir aus Dreieck, ich weiß überhaupt nicht wie ich digital solche Klänge erzeugen kann, deswegen kam hier diese Frage und man hat mir einen Vorschlag gemacht und ich versuche ihn jetzt umzusetzen...

    Für andere Anregungen bin ich weiterhin sehr dankbar, Dein Vorschlag mit einer realen Glocke find ich auch nicht gerade schlecht, nur was für eine Glocke nehm ich denn da ?
    Soll ich Nachbars Katze ihr Glöckchen klauen und es klingelt dann auch wie ein Glöckchen...

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  8. #18
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.142
    Blog-Einträge
    3
    Meiner Meinung nach gilt es Interrupts zu vermeiden. Hat mir sogar vor kurzem ein Kollege erzählt: Moderne Programmierer verwenden möglichst keine Interrupts.

    Für das Programm ist es auch gar nicht notwendig: In einer Schleife wird die Tonberechnung durchgeführt und dann gewartet, bis der PWM Timer abgelaufen ist und der neue Wert geschrieben. Nach diesem Prinzip funktioniert übrigens auch das ASURO-Rätselprogramm.

    Für andere Anregungen bin ich weiterhin sehr dankbar, Dein Vorschlag mit einer realen Glocke find ich auch nicht gerade schlecht, nur was für eine Glocke nehm ich denn da ?
    Achwas, nimm einen 500 Watt Subwoofer und bastle einen Attiny zur Tonsignalerzeugung dran
    Was mir grad einfällt: Eigentlich müsste das PWM-Signal ja ideal für den Input eines Class-D Verstärkers geeignet sein.

  9. #19
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.09.2005
    Ort
    Osnabrücker Land
    Alter
    62
    Beiträge
    534
    @izaseba frag doch mal Dr.ebay nach Glöckchen
    Die Steigerung wären dann Trommeln oder Klangschalen ... letztere machen ganz schön was her
    Ich kann mir keine Signatur leisten - bin selbständig!

  10. #20
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.09.2005
    Ort
    Osnabrücker Land
    Alter
    62
    Beiträge
    534
    Zitat Zitat von stochri
    ... Moderne Programmierer verwenden möglichst keine Interrupts....
    Könntest Du bitte diese globale Aussage begründen und vor allem den Hintergrund an Hand von Beispielen erklären.

    Vorausgesetzt wird werkeln mit max. 16 MHz und haben ein komplexes Progrämmchen, dann gehts ohne Ints m.E. nicht. Allerdings blockiere ich bei der Abarbeitungeines Ints nicht immer andere mögliche Ints ...
    Ich kann mir keine Signatur leisten - bin selbständig!

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad