Nanowii als reine Gimbalsteuerung

ra-home

Erfahrener Benutzer
#4
Bin mir jetzt nicht sicher aber ich dachte, dass man das Board erst armen muss. Sollte er davor schon Ausgleichen und man Nick nicht übersteuern will kann man a darauf verzichten...
 

r0sewhite

Erfahrener Benutzer
#5
Das Board muss nicht gearmt werden. Allerdings ist es schon brauchbar, wenigstens einen Kanal für die Tilt-Steuerung anzuschließen.
 

andreasobermeier

Erfahrener Benutzer
#6
Hallo & Danke für eure Antworten

Also das Gimbal bekommt sowieso eine eigene Steuerung ( Kamera Operator )

Es geht mir eigentlich nur darum, ob die Gimbal - Outs, ohne Motorstart und Anschluss von den 4 Grundsteuerfunktionen für den Flug funktionieren?

Wie gut sind die PWM Ausgänge vom NanoWii im Vergleich zum 328er Mini Pro?

Gruss
 

comicflyer

Ich mach' alles kaputt...
#7
Hi Andreas,
wir haben da dieselbe Richtung. NanoWii als reine Standalone-Lageregelung für Roll und Nick.

Es geht mir eigentlich nur darum, ob die Gimbal - Outs, ohne Motorstart und Anschluss von den 4 Grundsteuerfunktionen für den Flug funktionieren?
Das tut es.

Vergleich Nano vs. ProMini ist gefühlt das Nano etwas besser, aber das ist rein subjektiv und nicht gemessen/belegbar. Ich habe das Nano wegen der Grösse für eine Gimbalsteuerung vorgesehen. Dafür macht es einen schlanken Fuss. Arbeitet standalone. Einstellen ist etwas mühsam, weil man ja die Servodaten im Sketch eintragen und jedesmal kompilieren und anschliessend nochmal in die GUI muss. Und die Servoanschlüsse sind für diese Anwendung etwas unglücklich, weil die Impulskontakte aus dem Servostecker gezogen werden müssen.

Ich vermute aber, dass die angegebenen 6 HighResolutionPWM-Ausgänge sich nur auf die Motorausgänge beziehen. Dazu hatte ich mal vor Wochen den Felix kontaktiert, da ist trotz Zusage aber leider nichts zurückgekommen. Meine Anregung war, mal eine kleine Priorität auf die Gimbalfunktion zu legen, weil das Bord sich imho dafür bestens eignet. Gimbal ist aber wohl eher ein Stiefkind....

Trotzdem wird auch dieses Bord seine Stärken nur mit den richtigen Servos ausspielen. Und da bin ich auch noch auf der Suche und teste alles, was mir an Servos über den Tisch läuft.

CU Eddy
 

ronco

Erfahrener Benutzer
#8
jaja :D

war einfach nichnicht dazu gekommen :( .. jetzt hab ich aber was :)

ist zwar immer noch so das man die min, max und mittel werte im sketch einstellen muss .. aber
dafür hat man jetzt 3 11bit HW PWM servo ausgänge :)

also:

pin 9 = servo[0] = Pitch
pin 10 = servo[1] = Roll
pin 5 = servo[2] = Pan (YAW von der funke durchgeleitet)

also das geht nur am NanoWii .. empfänger könnt ihr keinen oder eben irgenteinen den MWC unterstützt nehmen.

einstellen könnt ihr die servo refresh rate und eben die servo wege ..

Code:
/*************************************************************************************************/
/****           CONFIGURABLE PARAMETERS                                                       ****/
/*************************************************************************************************/

 /***********************         Servo Refreshrates            ***********************/
    /* Default 50Hz Servo refresh rate*/
    #define SERVO_RFR_50HZ

    /* up to 160Hz servo refreshrate .. works with the most analog servos*/
    //#define SERVO_RFR_160HZ

    /* up to 300Hz refreshrate it is as fast as possible (100-300Hz depending on the cound of used servos and the servos state).
       for use with digital servos
       dont use it with analog servos! thay may get damage. (some will work but be careful) */
    //#define SERVO_RFR_300HZ
    
    
 /***********************          Cam Stabilisation             ***********************/
    /* The following lines apply only for a pitch/roll tilt stabilization system. Uncomment the first or second line to activate it */
    #define TILT_PITCH_MIN    1020    //servo travel min, don't set it below 1020
    #define TILT_PITCH_MAX    2000    //servo travel max, max value=2000
    #define TILT_PITCH_MIDDLE 1500    //servo neutral value
    #define TILT_PITCH_PROP   10      //servo proportional (tied to angle) ; can be negative to invert movement
    #define TILT_ROLL_MIN     1020
    #define TILT_ROLL_MAX     2000
    #define TILT_ROLL_MIDDLE  1500
    #define TILT_ROLL_PROP    10
    
    #define TILT_PAN_MIN      1020
    #define TILT_PAN_MAX      2000
das ganze geht mit der 2.1er GUI und den pan/yaw servo wert seht ihr dann im ersten debug feld in der gui.

gruß

Felix
 

Anhänge

comicflyer

Ich mach' alles kaputt...
#9
Hi Felix,
na, das liest sich doch mal gut :)

Sei bedankt! Das wird nachher mal ausprobiert.

So wie ich das grad lese, ist das jetzt für einen 3-Achs-Gimbal?

Die Sketch-Konfig ist ja auch nicht das Riesenproblem. Macht man ja nur 1mal.

CU Eddy
 

ronco

Erfahrener Benutzer
#10
hi ..

und ja also die 3te achse ist quasi nur das was über die funke rein kommt .. also da ist keine gyro oder acc wirkung drauf

gruß

felix
 

comicflyer

Ich mach' alles kaputt...
#12
Hi Felix,
ich erhalte beim kompilieren unterhalb der Statuszeile folgende Fehlermeldung:
MultiWii_2_1_nanoGimbal.cpp: In function 'void writeServos()':
Output:7: error: 'OCR3A' was not declared in this scope
MultiWii_2_1_nanoGimbal.cpp: In function 'void initServos()':
Output:25: error: 'TCCR3A' was not declared in this scope
Output:25: error: 'WGM31' was not declared in this scope
Output:26: error: 'WGM30' was not declared in this scope
Output:27: error: 'TCCR3B' was not declared in this scope
Output:27: error: 'WGM32' was not declared in this scope
Output:27: error: 'CS30' was not declared in this scope
Output:27: error: 'CS32' was not declared in this scope
Output:28: error: 'WGM33' was not declared in this scope
Output:28: error: 'CS31' was not declared in this scope
Output:30: error: 'ICR3' was not declared in this scope
Output:47: error: 'OCR3A' was not declared in this scope
Output:48: error: 'COM3A1' was not declared in this scope
MultiWii_2_1_nanoGimbal.cpp: In function 'void UartSendData()':
Serial:522: error: 'UCSR1B' was not declared in this scope
Serial:522: error: 'UDRIE1' was not declared in this scope
Dabei wird dann in der "Output"
OCR3A = servo[2];
gelb unterlegt und in der Statuszeile wird angezeigt:
'OCR3A' was not declared in this scope
Wo ist mein falscher Fehler? Ich hab keinen Plan...

CU Eddy
 

ronco

Erfahrener Benutzer
#13
Hi,

du musst schon den leonardo ausgewählt haben als board .. für prominis geht das nicht!

die fehlermedungen kommen wenn man ein board auswählt was nicht einen ATmega32u4 prozessor hat.

gruß

Felix
 

comicflyer

Ich mach' alles kaputt...
#14
Ja - sorry!
Hab's dann bei der Gegenprobe vorhin auch gemerkt. Stand noch auf Mega256.
Ich komm da immer durcheinander, weil in meiner Bastelbude auf w2k der Leonardo-Treiber
nicht läuft. Da muss ich immer in's Büro zum Win7.

CU Eddy
 

digitAlex

Neuer Benutzer
#15
jaja :D

war einfach nichnicht dazu gekommen :( .. jetzt hab ich aber was :)

ist zwar immer noch so das man die min, max und mittel werte im sketch einstellen muss .. aber
dafür hat man jetzt 3 11bit HW PWM servo ausgänge :)

also:

pin 9 = servo[0] = Pitch
pin 10 = servo[1] = Roll
pin 5 = servo[2] = Pan (YAW von der funke durchgeleitet)

also das geht nur am NanoWii .. empfänger könnt ihr keinen oder eben irgenteinen den MWC unterstützt nehmen.

einstellen könnt ihr die servo refresh rate und eben die servo wege ..

Code:
/*************************************************************************************************/
/****           CONFIGURABLE PARAMETERS                                                       ****/
/*************************************************************************************************/

 /***********************         Servo Refreshrates            ***********************/
    /* Default 50Hz Servo refresh rate*/
    #define SERVO_RFR_50HZ

    /* up to 160Hz servo refreshrate .. works with the most analog servos*/
    //#define SERVO_RFR_160HZ

    /* up to 300Hz refreshrate it is as fast as possible (100-300Hz depending on the cound of used servos and the servos state).
       for use with digital servos
       dont use it with analog servos! thay may get damage. (some will work but be careful) */
    //#define SERVO_RFR_300HZ
    
    
 /***********************          Cam Stabilisation             ***********************/
    /* The following lines apply only for a pitch/roll tilt stabilization system. Uncomment the first or second line to activate it */
    #define TILT_PITCH_MIN    1020    //servo travel min, don't set it below 1020
    #define TILT_PITCH_MAX    2000    //servo travel max, max value=2000
    #define TILT_PITCH_MIDDLE 1500    //servo neutral value
    #define TILT_PITCH_PROP   10      //servo proportional (tied to angle) ; can be negative to invert movement
    #define TILT_ROLL_MIN     1020
    #define TILT_ROLL_MAX     2000
    #define TILT_ROLL_MIDDLE  1500
    #define TILT_ROLL_PROP    10
    
    #define TILT_PAN_MIN      1020
    #define TILT_PAN_MAX      2000
das ganze geht mit der 2.1er GUI und den pan/yaw servo wert seht ihr dann im ersten debug feld in der gui.

gruß

Felix
Hello, I'm using a NanoWii with your code 2.1 to stabilize roll axe of camera gimbal but no output on the servo. I'm not new in MultiWii but it's the first time that I use it for gimbal. Is there a specific procedure to follow in order to have output on pin 10? I'm talking about calibration, arm motors and so on or it's just necessary to power on NanoWii and wait the boot?

Thanks,
digitAlex
 

Marwon

Neuer Benutzer
#16
Hallo an alle!

Erst mal danke der Beitrag hier hat mir sehr bei der einstellung meiner NanoWii als Gimbal geholfen.
Ich stehe nur noch vor einem Problem. Das Gimbal stabiliesiert im stehenden zustand ( keine beschleunigung auf einer Achse ) sehr gut. Sobald ich das Gimbal in eine richtung beschleunige ( im Video das ich hier poste sehr gut bei Roll zu sehen ) kann die nanowii durch die beschleunigung die horizontale nicht mehr halten.

Ich habe mir die ACC werte in der aplication angesehen wenn ich den copter kippe, schlägt der Acc wert normal aus. Wenn ich den Copter kippe und eine seitwerts beschleunige dazu mache, wird der Ausschlag der ACC Roll kurve höher als nur im gekipten zustand.

Hier ein kurzes video dazu:
http://www.youtube.com/watch?v=GQNVALO70Us&feature=youtu.be

Ich hoffe ihr habt einen tip für mich da die videos so quasie unbrauchbar werden.
grüße Marown
 

jokksi

Erfahrener Benutzer
#17
ich plane auch seit längerem einen kameraausgleich mit der nanowii zu machen.
da ich die nicht am copter sondern am boden verwenden möchte habe ich mich gefragt,
ob es möglich ist die roll bewegung direkt an einem poti machen könnte, also ohne sender und empfänger dazwischen.
hat da jemand eine idee?
 

comicflyer

Ich mach' alles kaputt...
#18
Ja, ne Idee, wie man ein Servo ohne TX/RX steuert hab ich, aber die ist soooo alt: Servotester...

Mir fehlt allerdings grad die Logik für Deine Idee, Roll manuell zu steuern?
Wozu dann die NanoWii?

CU Eddy
 

comicflyer

Ich mach' alles kaputt...
#20
Hi Marown,
ich hab mal versucht, das nachzuvollziehen.
Dazu habe ich das NanoWii plan auf dem Tisch schnell hin- und herbewegt.
Ich kann zwar auf Roll winzige (~1°), Ausschläge sehen, die auch wieder
zurückstellen, aber lange nicht so deutlich, wie die in Deinem Video.
Nick bewegt sich gar nicht.

Von welcher Software sprechen wir? MWC oder die Gimbal-Soft von Felix?

CU Eddy
 
FPV1

Banggood

Oben Unten