Hallo,
ich kenne nun die ganzen Konstanten von Bascom nicht - daher weiss ich nun nicht genau wie Dein PWM Modul konfiguriert ist.
Der Prescaler sollte aber anders eingestellt werden. 256 ist zu hoch (und damit die Frequenz ziemlich gering).
Die RP6Lib stellt das auf 19kHz Phase Correct PWM ein - schau Dir einfach die Initialisierung in der RP6Library an! Da sind auch erläuternde Kommentare zu finden.
Zitat:
Code:
TCCR1A = (1 << WGM11) | (1 << COM1A1) | (1 << COM1B1);
TCCR1B = (1 << WGM13) | (1 << CS10);
ICR1 = 210;
Mit der Einstellung hat er bei nem PWM Wert von 70 (und das beim hier möglichen Maximalwert von 210!) noch lange nicht die Maximalgeschwindigkeit erreicht.
In der RP6Library ist zusätzlich auch eine Regelung drin - also musst schon direkt die setMotorPower Funktion zum Vergleich hernehmen und die Regelung nicht verwenden (also nicht task_RP6System() aufrufen!)!
Mit der Regelung fährt er natürlich deutlich langsamer an.
Aber selbst mit setMotorPower werden die PWMs noch ein wenig langsamer hochgefahren im Timer Interrupt um abrupte Geschwindigkeitsänderungen zu vermeiden.
MfG,
SlyD
Lesezeichen