Gast
#3267000
Hallo, also ich habe einen Igarashi DC Motor (12V), dessen Drehzahl ich gerne mittels PWM meines Atmega32(4PA) regeln möchte. Ich benutze einen L293D zum Schalten des Motors und soweit würde auch alles nicht so schlecht funktionieren. Ich weiß ich könnte die Timer Modes für die PWM benutzen (wie es hier in einigen Tutorials gezeigt wird) habe mich aber zur Zeit der einfachheit halber für folgende naive Lösung entschieden:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
highValue und lowValue werden je nach gewünschter Spannung durch eine Funktion bestimmt. Das Timerintervall liegt zur Zeit bei 1ms. Ich hab mich eigentlich so ziemlich daran (http://www.mikrocontroller.net/articles/Pulsweitenmodulation) gehalten... Nun zu meinem eigentlichen Problem... Die Spannungswerte, welche (im Mittel) am Motor anliegen sind relativ umgenau (ca. +/-0.5V), obwohl dies laut Berechnung eigentlich nicht sein sollte. Kann mir diesbezüglich jemand einen Tipp geben? Sollte ich wirklich die Timer Modes für die Erzeugung der PWM Signale nutzen bzw. bringt dies für meine Anwendung wirklich etwas. Hierzu ist zu sagen, dass ich nur die Motordrehzahl relativ genau regeln will, der Mikrocontroller hat sonst keinerlei Aufgaben und ob das Programm jetzt ideal oder nicht ist, ist mir im moment auch ziemlich egal solange es funktioniert :). Gibt es vl. sogar schon fertige Treiber bei denen diese Funktionalität schon implementiert ist? vl. kann mir ja jemand helfen. lg