Scuido
03.02.2008, 12:10
Hallo,
ich weiß, das das Thema wurde schon min. 100-mal angesprochen, aber ich finde leider keine Antworten auf meine Fragen.
Ich möchte eine Servo ansteuern (Graupner, nicht digital).
Ich habe den PWM-Eingang so eingestellt, das die Servo sich normalerweise genau mittig ausrichten müsste (DC = 50%). Problem sie weigert sich und geht in eine, für mich nicht nachvollziehbare Position.
Könnte mir jemand das Prinzip (lineare Zusammenhang, ja/nein? ms -> winkel) erklären. Ich bin voll am verzweifeln.
/*4MHz Takt*/
PR2 = 124; // Periode auf 2ms stellen
CCPR1L = 62; // DC = 50%; bei 62 = 1ms lang auf high
TRISC.2 = 0; // PortC bit 2 auf Ausgang stellen
T2CKPS1 = 1; // Vorteiler von TMR2 auf 16,
TMR2ON = 1; // Timer2 eingeschaltet
CCP1CON =0;
CCP1M3 = 1; // PWM an
CCP1M2 = 1;
schleife:
goto schleife;
Außerdem behält sie an den Endpunkten nicht ihre Geschw. bei, sondern wird langsamer. und "ditscht" an.
Für etwas Hilfe wäre ich sehr dankbar.
Gruß
André Iwers
ich weiß, das das Thema wurde schon min. 100-mal angesprochen, aber ich finde leider keine Antworten auf meine Fragen.
Ich möchte eine Servo ansteuern (Graupner, nicht digital).
Ich habe den PWM-Eingang so eingestellt, das die Servo sich normalerweise genau mittig ausrichten müsste (DC = 50%). Problem sie weigert sich und geht in eine, für mich nicht nachvollziehbare Position.
Könnte mir jemand das Prinzip (lineare Zusammenhang, ja/nein? ms -> winkel) erklären. Ich bin voll am verzweifeln.
/*4MHz Takt*/
PR2 = 124; // Periode auf 2ms stellen
CCPR1L = 62; // DC = 50%; bei 62 = 1ms lang auf high
TRISC.2 = 0; // PortC bit 2 auf Ausgang stellen
T2CKPS1 = 1; // Vorteiler von TMR2 auf 16,
TMR2ON = 1; // Timer2 eingeschaltet
CCP1CON =0;
CCP1M3 = 1; // PWM an
CCP1M2 = 1;
schleife:
goto schleife;
Außerdem behält sie an den Endpunkten nicht ihre Geschw. bei, sondern wird langsamer. und "ditscht" an.
Für etwas Hilfe wäre ich sehr dankbar.
Gruß
André Iwers