Hi,
bei meinem Flyduino Mega (QuadX Config) bekomme ich an Pin 2 kein PWM Signal und wollte daher einen der anderen PWM-Out Pins benutzen. Soweit ich den Code nachvollziehen konnte muss man dazu nur in der 'def.h' der MultiWii-Firmware die "Motor Order" ändern, sodass ein anderer Pin das PWM Signal liefert.
Sprich von:
zu z.B.
diese wird dann in 'output.h' als Reihenfolge der PWM-Pins verwendet und die Signale an den entsprechenden Pins ausgegeben.
Ist das soweit richtig? Ich bin im Moment auf der Fehlersuche, da der Quad trotz richtiger Achsen in der GUI die Motoren verquer ansteuert.
// Edit: Die beschriebene Methode funktioniert, der Fehler lag wo anders!
Gruß Benno
bei meinem Flyduino Mega (QuadX Config) bekomme ich an Pin 2 kein PWM Signal und wollte daher einen der anderen PWM-Out Pins benutzen. Soweit ich den Code nachvollziehen konnte muss man dazu nur in der 'def.h' der MultiWii-Firmware die "Motor Order" ändern, sodass ein anderer Pin das PWM Signal liefert.
Sprich von:
Code:
#define MOTOR_ORDER 3,5,6,2,7,8,9,10 //for a quad+: rear,right,left,front //+ for y6: 7:under right 8:under left
Code:
#define MOTOR_ORDER 3,5,6,7,2,8,9,10 //for a quad+: rear,right,left,front //+ for y6: 7:under right 8:under left
Code:
uint8_t PWM_PIN[8] = {MOTOR_ORDER};
[...]
void writeMotors() { // [1000;2000] => [125;250]
#if defined(MEGA)
for(uint8_t i=0;i<NUMBER_MOTOR;i++)
analogWrite(PWM_PIN[i], motor[i]>>3);
// Edit: Die beschriebene Methode funktioniert, der Fehler lag wo anders!
Gruß Benno