- LiFePO4 Speicher Test         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: PWM mit ATMega8

  1. #11
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Anzeige

    Powerstation Test
    Aber das hab ich doch schon versucht zu erklären. Das wird durch die Register bestimmt, schau dir den Quelltext der generiert wird genau an. Lese dir dazu die Beschreibung der genannten register im Datenblatt vom Mega 8 durch.

    Der Quarztakt wird durch den Prescaler-Wert geteilt. Das Ergebnis wird dann noch durch die Auflösung des Timers (zb. 256 oder 1024) geteilt. Daraus gergibt sich die Frequenz. Man kann auch einen bestimmten Timerwert bei jedem Interrupt schon vorgeben (so wird es bei dem generierten Code gemacht), dann kann man quasi fast alle Frequenzen recht genau erzeugen

    Schau dazu auch mal in diesen Thread
    https://www.roboternetz.de/phpBB2/vi...ighlight=timer

    Dem Tool Timer brauchst du ja nur zu sagen was für eine Frequenz du haben möchtest (ganz oben), danach erzeugt es automatisch das Programm das genau diese Frequenz erzeugt. Somit hast du da garkeine Arbeit mehr mit.

    Hier hab ich noch ne gute Seite für dich, auch hier wird es recht gut erklärt.
    http://www.rowalt.de/mc/avr/avrboard/05/avrb05.htm

  2. #12
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.07.2004
    Beiträge
    270
    Ok, ich glaub ich verstehs allmählich.
    Ich brauche das Ganze, um eine IR-Sende-Diode mit 36 khz zu betreiben.
    Wie gebe ich das Signal an den Port aus? Was muss da in der Routine stehen, wenn der Interrupt ausgelöst wird?

  3. #13
    Gast
    1. Das Tool runter laden: https://www.roboternetz.de/phpBB2/dl...le&file_id=169

    2. Ton erzeugen anklicken

    3. Im oberen Feld Frequenz (also 36000) eingeben

    4. "Berechnen" klicken und generierten Code in Bascom kopieren

    5. Statt dem Piezo-Lautsprecher schließt du nun deine IR-Diode an dem Port an. Alternativ kannst du auch einfach Port ändern, je nachdem welchen du beim Mega 8 nehmen willst. Vergess nicht oben include "m16def" durch "m8def" zu ändern.

    Einfacher gehts nu nicht mehr

  4. #14
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.07.2004
    Beiträge
    270
    Wie das mit dem Code erzeugen geht ist mir schon klar, ich wollt nur wissen wie ich das Signal ausgebe.
    Also wenn ich das richtig verstehe wird einfach bei jedem Interrupt der High/Low Zustand vertauscht.

  5. #15
    Gast
    Oh Mann, RTFM.
    Jeder Form von Timer-PWM ist hardwaremäßig ein Pin zugeordnet (OC1A, ...).

  6. #16
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Er meint kein PWM sondern nur Frequenzausgabe.
    Dazu musst du einfach im Interrupt einen Port Toggeln (umschalten). Das hast du richtig erkannt. Dies macht doch schon der generierte Code von dem oben genannten Tool.
    In dem Gastposting hatte ich doch eben geschrieben das du dann statt Piezo einfach deine IR-Diode mit Vorwiderstand ran hängen kannst.
    Bei Punkt 3 hab ich mich auf die schnelle vertan, du musst dort 72000 eingeben, weil du ja pro interrupt nur einmal umschaltest. Also wenn der Interrupt 72000 mal pro Sekunde aufgerufen wird und du nur einmal den Port im Interrupt umschaltest (was sinnvoll ist), dann ergibt das am Port eine Frequenz von genau 36000 Hz (36 khz). Aber das steht auch in den dokumentierten Zeilen im generierten Code!


    1. Das Tool runter laden: https://www.roboternetz.de/phpBB2/dl...le&file_id=169

    2. Ton erzeugen anklicken

    3. Im oberen Feld Frequenz (also 36000) eingeben
    Fehler, meinte 72000 da Port ja im Interrupt nur einmal umgeschaltet wird - also halbe Periode!

    4. "Berechnen" klicken und generierten Code in Bascom kopieren

    5. Statt dem Piezo-Lautsprecher schließt du nun deine IR-Diode an dem Port an. Alternativ kannst du auch einfach Port ändern, je nachdem welchen du beim Mega 8 nehmen willst. Vergess nicht oben include "m16def" durch "m8def" zu ändern.

    Einfacher gehts nu nicht mehr

  7. #17
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.07.2004
    Beiträge
    270
    Ok, vielen Dank für die Hilfe, sry wenn ich etwas begriffsstutzig war.
    Gruß
    Spuurius

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress