ATtiny24: Timer als sicherheitsoption

Gast #2500131
Lesenswert?

Hallo

zum Problem:

Mit dem ATtiny 24 wird ein Motor über einen Treiber und Mosfet 
angesteuert. An dem Motor hängt ein Untersetzungsgetriebe und am letzten 
Zahnrad wird eine Umdrehung mittels eines Tasters erkannt und der Motor 
gestoppt. Nun habe ich das Problem, dass der sehr kleine Taster auch 
gerne mal seinen Geist aufgibt und nicht mehr schaltet. Daher war mein 
Gedanke, dass ich den 16Bit Timer so einstelle, mit CTC und einem 
Prescaler von 64 laufen lasse (~4s) und eingeschaltetem Interrupt 
einstelle. Dann beim Einschalten des Motors den Timer starte, und 
entweder der Taster stoppt den Motor oder im Notfall der Timer löst 
einen Interrupt aus und stoppt den Motor wenig später.

Nun weiß ich nicht wie ich den Timer nach auslösen des Tasters oder dem 
eigenen Interrupt stoppe, auf null setzte und dann beim erneuten starten 
des Motors den zurückgesetzten Timer wieder starte? Im Interupt den 
Motor dann ausschalten ist kein Problem.

Schon mal vielen Dank für Eure Hilfe!

MfG Koloblix
Gast #2500289
Lesenswert?

Hab da noch eine Frage:

Als Timer Modus muss ich ja dann einen CTC Modus benutzen. Nun gibt es 
Laut Datenblatt 2 dieser Modi. Der eine vergleicht den Timerwert mit dem 
Wert im ICR1 Register und der andere mit dem OCR1A.
Wo ist denn da der Unterschied? Das ganze soll ja nur nach einer 
bestimmten Zeit einen Interrupt auslösen, und keine Auswirkung auf 
irgendeinen Pin haben

MfG Kolo
#2500334
Lesenswert?

Koloblix schrieb:

> Als Timer Modus muss ich ja dann einen CTC Modus benutzen. Nun gibt es
> Laut Datenblatt 2 dieser Modi. Der eine vergleicht den Timerwert mit dem
> Wert im ICR1 Register und der andere mit dem OCR1A.
> Wo ist denn da der Unterschied?

Das der eine MOdus das ICR1 Register als TOP Wert benutzt und daher ICR1 
nicht zur Verfügung steht um mit dem Timer die Aufgaben zu erledigen, 
die man eben mit ICR1 so macht (Input Capture)

Und das der andere Modus das OCR1A Register als TOP Wert benutzt und 
daher OCR1A nicht zur Verfügung steht, um mit dem Timer die Aufgaben zu 
erledigen, die man eben mit OCR1A so macht (zb PWM auf dem A Kanal vom 
Timer)

> Das ganze soll ja nur nach einer
> bestimmten Zeit einen Interrupt auslösen, und keine Auswirkung auf
> irgendeinen Pin haben

Auf deutsch: es ist völlig Wurscht welchen du nimmst.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren