Forum: Mikrocontroller und Digitale Elektronik Tastenentprellung mit PWM in C


von David (Gast)


Lesenswert?

Hallo Leute,

Ich muss für die Schule eine Tastenentprellung mit Zitat: Einstellung 
PWM (Berechnung der Frequenz, der PWM) machen.

Benutzt wird ein Atmega16.

Die Tastenenprellung selber ist kein großes Problem, jedoch weiß ich 
nicht wie ich das mit PWM in Verbindung bringen soll.
Welche Frequenz muss ich berechnen?
Kann ich mit PWM dann einstellen wie lang der Entprell Vorgang dauert?

Diese Einstellungen wurden vorgegeben: (für die PWM)
1
//Set_Bit Funktion ist schon vorher definiert
2
3
SET_BIT(TCCR0,CS00);  //No Prescaling - CPU Takt
4
SET_BIT(TCCR0,WGM00); //WGM 00 & WGM 01 auf 1 --> Fast PWM Mode
5
SET_BIT(TCCR0,WGM01);
6
SET_BIT(TCCR0,COM00); //COM 00 & COM 01 auf 1 --> Set OC0 on compare match when up-counting. Clear OC0 on compare match when downcounting
7
SET_BIT(TCCR0,COM01);


Vielen Dank im Voraus.

von Ahem (Gast)


Lesenswert?

Häh?

Ich vermute mal eher, das es darum geht mit enprellten Tasten die 
PWM-Parameter zu beeinflussn. Eine Möglichkeit mittels PWM eine 
Tastenentprellung zu machen ist mir nicht bekannt.

Kannst Du vielleicht mal den Aufgabentext posten?

von David (Gast)


Lesenswert?

Leider haben wir keinen konkreten Aufgabentext bekommen... das einzige 
was der Lehrer zur Abgabe hingeschrieben hat war:

mit kurzer Doku, wie das Ding funktioniert
-> Entprellung
-> Einstellung PWM (Berechnung der Frequenz, der PWM)

Das mit der PWM habe ich leider nicht verstanden. Jedoch vermute ich, 
dass die Entprellzeit damit eingestellt wird.

Das Programm ist eigentlich nur ein Zähler. 2 Taster werden angesteuert 
(Aufwärtszählen, Abwärtszählen). 1111 ist der Maximalwert (also max 15).

von Ahem (Gast)


Lesenswert?

Entprellung an sich ist kein Problem.
Zwei Taster entprellen auch nicht. (Gibt hier was vielgelobtes von Peter 
Dannegger).

"Einstellung PWM (Berechnung der Frequenz, der PWM)"
ist ein bischen merkwürdig.
Wenn man die Timerparameter kennt kann man die Frequenz der PWM 
ausrechnen. Aber das macht man einmal auf dem Papier und nicht mit einem 
Programm.

Es steht also zu vermuten, das im Zusammenhang mit:
>Das Programm ist eigentlich nur ein Zähler. 2 Taster werden angesteuert
>(Aufwärtszählen, Abwärtszählen). 1111 ist der Maximalwert (also max 15).
gemeint ist, das der PWM-Zyklus in 16 Teile geteilt und in dieser 
Auflösung mit den Tasten eingestellt werden soll.

>Die Tastenenprellung selber ist kein großes Problem, jedoch weiß ich
>nicht wie ich das mit PWM in Verbindung bringen soll.
Ich auch nicht.

>Welche Frequenz muss ich berechnen?
Keine Ahnung. Macht eben, wie oben beschrieben, keinen Sinn.

>Kann ich mit PWM dann einstellen wie lang der Entprell Vorgang dauert?
Habe ich noch nie gehört sowas.

Wie ich sehe bist Du selbst auch nicht in der Lage das unklare an der 
Aufgabenstellung zu erkennen. Frage am besten nochmal den Lehrer.

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.