Quadrocopter mit NanoWii

MarcoKalmar

Erfahrener Benutzer
Ok also ich hab was neues ausprobiert. Ich habe die Pins die vom FC zu den Reglern gehen einfach mal getauscht. Motor 6 war nun an 5 und Motor 5 war nun 6. Das Ergebnis war, dass der Motor, der am Pin für Position 5 angeschlossen wurde immer der jenige ist, dessen Werte nicht über 1400 gehen. Außerdem ist immer der Motor der an Position 5 angeschlossen wurde der Motor der Anfangs stottert oder erst bei erhöhtem Gas anfängt zu drehen. ==> Die Motoren und die Regler sind einbahnfrei. Was mich wieder rum verwirrt, da ich jetzt gar keine Ahnung habe woran es liegen könnte.
Hat jemand eine Idee?

Eventuell noch mal die Lötstellen am NanoWii überprüfen?
Update: Also ich hab die Lötstellen überprüft...ist alles ok soweit...denke ich...

Hat keiner eine Idee was ich machen könnte?
 
Zuletzt bearbeitet:
Dreh mal die Nanowii um dass man die unteren Lötstellen sieht.
Wenn du da Brücken reinlötest oder zu kalt oder Leiterbahnen verschmorst wäre genau das das Ergebnis.
Wie gesagt war hier vor kurzem einer im Forum mit diesem Fall der hatte so lange gelötet bis das Board aus sah wie Schmelzkäse.Manchmal sind auch kleine Fehler entscheident.





Grüße Chris
 

MarcoKalmar

Erfahrener Benutzer
Hier sind die Bilder (is hoffe ich scharf genug)


von oben und im Bild sieht das sehr kloppig aus, desshalb hab ich noch ne Seitenansicht gemacht. Ist leider unscharf aber ich denke man sieht trotzdem das es keine Klumpen sind.

 
Nunja,das sieht wirklich gut aus.
Lot ist gut verflossen,gleichmäßige Abstände,nicht zu heiß und keine kalten soviel ich sehe.
Das macht es jetzt doch wieder schwerer den Grund zu finden.Ich lass zwar das ganze über Summensignal laufen aber
das macht ja kein Unterschied.
Kalibrier mal neu vorm starten.
Nickhebel ganz nach hinten ziehen und nach links dann flackert die LED kurz.
Du solltest sowieso ein paar Sekunden nach dem Antecken nichts bewegen aber das sollte bekannt sein.....
keine Ahnung.....




Grüße Chris
 
Zuletzt bearbeitet:
neu kalibrieren sollt es nicht sein, sonst würden ja die anderen 3 Motoren nicht gleichmäßig drehen.
Es gab mal in diesem Forum jemanden mit einem ähnlichen Problem, der hat dann einfach einen anderen Pin für den 4ten Motor genommen. Ich glaube, das kann man in der Software irgendwo umstellen
 

MarcoKalmar

Erfahrener Benutzer
Im Sketch meinst du richtig?
Hat jemand ne Idee wo ich das ändere?

Ist es vielleicht beim Sketch unter Output
Writes the Motors values to the PWN compare register ?
 
Zuletzt bearbeitet:
hab´s mir grad angeschaut. Wenns wahr ist, dann gehts da irgendwo, aber frag mich nicht wie, da kann ich dir leider nicth helfen
Code:
  /******** Specific PWM Timers & Registers for the atmega32u4 (Promicro)   ************/
  #if defined(PROMICRO)
    #if (NUMBER_MOTOR > 0) // Timer 1 A & B [1000:2000] => [8000:16000]
      #ifndef EXT_MOTOR_RANGE 
        OCR1A = motor[0]<<3; //  pin 9
      #else
        OCR1A = ((motor[0]<<4) - 16000) + 128;
      #endif
    #endif
    #if (NUMBER_MOTOR > 1)
      #ifndef EXT_MOTOR_RANGE 
        OCR1B = motor[1]<<3; //  pin 10
      #else
        OCR1B = ((motor[1]<<4) - 16000) + 128;
      #endif
    #endif
    #if (NUMBER_MOTOR > 2) // Timer 4 A & D [1000:2000] => [1000:2000]
      #if !defined(HWPWM6)
        // to write values > 255 to timer 4 A/B we need to split the bytes
        #ifndef EXT_MOTOR_RANGE 
          TC4H = (2047-motor[2])>>8; OCR4A = ((2047-motor[2])&0xFF); //  pin 5
        #else
          TC4H = 2047-(((motor[2]-1000)<<1)+16)>>8; OCR4A = (2047-(((motor[2]-1000)<<1)+16)&0xFF); //  pin 5
        #endif
      #else
        #ifndef EXT_MOTOR_RANGE 
          OCR3A = motor[2]<<3; //  pin 5
        #else
          OCR3A = ((motor[2]<<4) - 16000) + 128;
        #endif
      #endif
    #endif
    #if (NUMBER_MOTOR > 3)
      #ifndef EXT_MOTOR_RANGE 
        TC4H = motor[3]>>8; OCR4D = (motor[3]&0xFF); //  pin 6
      #else
        TC4H = (((motor[3]-1000)<<1)+16)>>8; OCR4D = ((((motor[3]-1000)<<1)+16)&0xFF); //  pin 6
      #endif
    #endif    
    #if (NUMBER_MOTOR > 4)
      #if !defined(HWPWM6)
        #if (NUMBER_MOTOR == 6) && !defined(SERVO)
          atomicPWM_PIN5_highState = motor[4]<<3;
          atomicPWM_PIN5_lowState = 16383-atomicPWM_PIN5_highState;
          atomicPWM_PIN6_highState = motor[5]<<3;
          atomicPWM_PIN6_lowState = 16383-atomicPWM_PIN6_highState;      
        #else
          atomicPWM_PIN5_highState = ((motor[4]-1000)<<4)+320;
          atomicPWM_PIN5_lowState = 15743-atomicPWM_PIN5_highState;
          atomicPWM_PIN6_highState = ((motor[5]-1000)<<4)+320;
          atomicPWM_PIN6_lowState = 15743-atomicPWM_PIN6_highState;        
        #endif
      #else
        #ifndef EXT_MOTOR_RANGE 
          OCR1C = motor[4]<<3; //  pin 11
          TC4H = motor[5]>>8; OCR4A = (motor[5]&0xFF); //  pin 13  
        #else
          OCR1C = ((motor[4]<<4) - 16000) + 128;
          TC4H = (((motor[5]-1000)<<1)+16)>>8; OCR4A = ((((motor[5]-1000)<<1)+16)&0xFF); //  pin 13       
        #endif  
      #endif
    #endif
    #if (NUMBER_MOTOR > 6)
      #if !defined(HWPWM6)
        atomicPWM_PINA2_highState = ((motor[6]-1000)<<4)+320;
        atomicPWM_PINA2_lowState = 15743-atomicPWM_PINA2_highState;
        atomicPWM_PIN12_highState = ((motor[7]-1000)<<4)+320;
        atomicPWM_PIN12_lowState = 15743-atomicPWM_PIN12_highState;
      #else
        atomicPWM_PINA2_highState = ((motor[6]-1000)>>2)+5;
        atomicPWM_PINA2_lowState = 245-atomicPWM_PINA2_highState;
        atomicPWM_PIN12_highState = ((motor[7]-1000)>>2)+5;
        atomicPWM_PIN12_lowState = 245-atomicPWM_PIN12_highState;     
      #endif
    #endif
  #endif
 

MarcoKalmar

Erfahrener Benutzer
boa ich blick bei dem Code nicht 100% durch...ich will ja nicht Pin 6 ändern sondern 5 und scheinbar unterscheiden die sich in vielen Punkten...ich komme bis zum letzten Block ab da hab ich kA. Das zuvor...nunja muss auch nicht richtig sein.
 
Du MUSST auch da nicht im code rumfummeln.Die Voreinstellungen
im Sketch sind so gut wie perfekt.Es wird lediglich das Board gewählt,die Copterform,der Senderhersteller und der Empfängerbetrieb (Normal oder Sumsi)
Das sind wenige Sachen - der Rest passt schon.Die meisten verschlimmbessern vieles mit rumprobieren.




Grüße Chris
 
Ganzes Thema lesen!!
Es geht darum, dass einer der Motorpins nicht richtig funktioniert und ob man die Pinbelegung ändern kann, daher wird am Code "rumgefummelt"
 
Die Pinbelegung mal eben zu ändern ist nicht so einfach.
Da greift der eine Code in den andern.Zur not muss ein neues board her.....




Grüße Chris
 
Zuletzt bearbeitet:

m2m

Erfahrener Benutzer
Ich vermute aber auch schon, dass eventuell das Board defekt ist.
Du kannst also bestätigen, dass alle Regler und Motoren einwandfrei funktionieren ? (Testen durch Rotation an der FC)
 
Oh man, bitte wenigstens die vorige Seite lesen, wir unterhalten uns schon seit 5 Seiten über das Thema. Die ESCs und Motoren wurden bereits umgesteckt, daran liegts nicht.

@Marco: hatte mal ein Problem mit der MPU am NanoWii, einfach dem Flyduino Support schreiben, dann bekommst du ein Ersatzboard
 

m2m

Erfahrener Benutzer
Wenn das gegen mich gerichtet ist, dann Danke für die nette Art !

Ich wollte nur helfen und sicher gehen...

Oh man, bitte wenigstens die vorige Seite lesen, wir unterhalten uns schon seit 5 Seiten über das Thema. Die ESCs und Motoren wurden bereits umgesteckt, daran liegts nicht.
EDIT: OK, bin nicht mehr böse
 
Zuletzt bearbeitet:
kein Problem, Hilfe ist immer gut.
Sollte nicht allzu schrof rüberkommen, aber du bist auf heute schon der zweite innerhalb von 4 Beiträgen, von dem ne Idee kommt, die schon Tage vorher kam.
Helfen ist immer super, nur wenn alle alles wiederholen kommen wir auch nicht weiter.
Sorry wenns zu hart klang
 

MarcoKalmar

Erfahrener Benutzer
Würde es bei der Fehlersuche helfen, wenn ich ein Video mache?

http://www.youtube.com/watch?v=uxYO9EmWVgk&feature=youtu.be

Hätte ja n paar Worte sagen können aber kA warum nicht.
Also in diesem Video will ich zeigen, dass es an Pin 5 liegt und nicht an Motoren oder Reglern. Am Anfang starte ich den Kopter ganz normal aufgebaut, um das Problem zu zeigen. Nachdem man sieht das der Motor an Position 5 nicht richtig funktioniert vertausche ich die Anschlüsse. Motor 6 ist nun an Pin 5 und Motor 5 an Pin 6. Nach dem Einschalten und Testen erkennt man, dass diesmal Motor 6 (welcher an Pin 5 ist) das selbe Verhalten aufweist wie zuvor Motor 5.
 
Zuletzt bearbeitet:
das Video ist super, jetzt bin ich mir ziemlich sicer dass ein Defekt am NanoWii vorliegt, dieses Verhalten ist nicht normal, da ja ACC+Gyro auch auf die Waagrechte kalibriert sind, siehe Video.
Schreib mal an Flyduino und verlinke dieses Thema in der Email, dann sehen sie gleich, was nicht passt und du bekommst in einer Woche ein neues NanoWii
 
FPV1

Banggood

Oben Unten