- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 5 von 5

Thema: ATmega16, PWM, assembler

  1. #1

    ATmega16, PWM, assembler

    Anzeige

    E-Bike
    Grüß Gott an alle,
    ich habe folgendes Problem, ich schreibe zurzeit ein assembler-code für einen Atmega16, nun, brauche ich Ihre Hilfe bei folgenden Punkte:

    -Rechteckiges PWM _signal einstellen
    -Dauer der Impuls feststellen
    -Da, mein program die Zyklen von einem Relais(1 000 000 Zyklus ist bei Relais keine seltenheit) hochzählen wird, wie stelle ich ein Vergleichswert bei OCR1A von über FFFF ( 65535 sind mir zu wenig)?
    -Wie schliesse ich die Prellzeit(Prellzeit kann ich selbst ermittelt, wichtig hier ist das Vorgehen) aus?

    ...Es würde mich sehr freuen falls jemand mir dabei helfen würdest!!!
    ...Ich bin einem 1 Monat alte AVRassembler-Anfänger

    Warte auf einem Zeichen von euch!!!

    Jill[/b]

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2005
    Ort
    Kaiserslautern
    Beiträge
    794
    Hi,

    Der Mega16 hat nur einen 16-Bit-Timer, das wird folglich nicht über 0$FFFF gehen.

    Für mehr Infos @ Assembler ist das hier das falsche Forum... (Und ich weiß es auch nich )

    Gruß, CowZ

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    okay,

    ich fange einmal ganz oben an:
    1. Eine Pulsweitenmodulation einzustellen ist an und für sich relativ einfach in Assembler, man muss eigentlich nur die richtigen Bits in den richtigen Registern setzen.
      In diesem Zusammenhang möchte ich auf die "Modes of Operation" in der Timer Sektion im jeweiligem Datenblatt hinweisen.
    2. Ergibt ssich aus 1.
    3. Zähle die Werte "von Hand", also nicht im OCR? Register.

      Als Lösungsansatz bietet sich z.B. an den Timer 1 als Zähler zu missbrauchen, also die Impulse die durch öffnen und schließen der Relaiskontakte entstehen als Takt zu nutzen. Näheres findest du in der Registerbeschreibung des Timers 1 (Stichwort: Clock sources)

      Man müsste in diesem Fall bei einem Zählerüberlauf eigentlich nur ein Register oder Registerpaar Incrementieren.
    4. die Relaiskontakte könnte man in dieser Lösung z.B. mittels eines RC Gliedes entprellen.


    Grüße,

    da Hanni.

  4. #4
    Vielen Dank Hanni für die Tips!
    ...Ich bin jetzt am durchblätten und hoffe daß, es aus diesem 355 Seiten Datasheet was rauskommt...!!! ...Vielleicht sollte ich den Assembler-Code hier stellen...Es wird bestimmt viele Fehler drin zu finden, aber ich bin halt Anfänger und bitte deshalb um Verständnis und Geduld!!!

    Bis später,

    Grüße,

    Jill.

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2005
    Ort
    Kaiserslautern
    Beiträge
    794
    Les doch nicht das ganze Tutorial

    Sondern nur den wichtigen Teil Der Betrifft für PWM nur ein paar Seiten.

    Wie Hanni schon sagte: "In diesem Zusammenhang möchte ich auf die "Modes of Operation" in der Timer Sektion im jeweiligem Datenblatt hinweisen."

    Gruß, CowZ

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress