Aufbau des Programmablaufs

OP #4002611
Lesenswert?
• ▲
▼
Hallo Leute,
benötige mal Ansätze und Tips zum Programmaufbau.
Also ich habe eine Schaltung die einen Motor über zwei Halbbrücken 
ansteuert.
Dann habe ich zwei Eingänge für Richtung und Motor EIN/AUS.

Was ich bisher habe:
Für die Richtung habe ich eine volatile Variable angelegt. Ein 
Flankenwechsel am Richtungseingang löst einen Interrupt aus der dann je 
nach Zustand die Variable setzt. Diese muss ich dann im Hauptprogramm 
nur auswerten. Der Eingang ist Hardwareentprellt.
Den Eingang für Motor EIN wollte ich im Hauptprogramm pollen. Ich habe 
einen Systic Timer mit dem ich dann alle paar ms nachschauen wollte wie 
der Zustand ist.

Jetzt zu den Ausgängen:
Der Motor soll wenn er eingeschaltet wird innerhalb von gut einer 
Sekunde hoch laufen und dann voll durchgesteuert werden. Wenn de rMotor 
abgeschaltet wird soll er innerhalb einer Sekunde abgebremst werden.
Eine Halbbrücke soll nur der Richtungsänderung dienen, indem er High 
oder Low geschaltet wird. Natürlich muss dann die PWM invertiert werden.

Es sind zwei Halbbrücken vom Typ BTN8962 mit den Eingängen PWM und INH.
Ein PWM Eingang liegt direkt auf PINB3 (OC0) des Atmega 32. Ich könnte 
also bei einem Interrupt mit Timer 0 direkt eine PWM auf den Eingang 
legen.
Aber bei Richtungsumkehr müsste die PWM dann invertiert werden.

Ich hab jetzt Probleme einen sinnvollen Programmaufbau zu erreichen.
Wie würdet ihr das mit der PWM und dem Richtungswechsel machen? Der 
Richtungswechsel darf übrigens nur bei Stillstand des Motors 
stattfinden.
Ich habe mit der ganzen PWM Steuerung noch nicht viel Erfahrung.

Grüße Christian

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.