Forum: Mikrocontroller und Digitale Elektronik Aufbau des Programmablaufs


von Chris T. (chris0086)


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

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
Noch kein Account? Hier anmelden.