Brushless Gimbal Controller - SOFTWARE

Status
Nicht offen für weitere Antworten.

Lonestar78

Erfahrener Benutzer
Also Vorauseilen kann eigentlich nur an zwei Sachen liegen: Motorlaufrichtung oder zu hoher P-Wert
 

hexacop

Erfahrener Benutzer
Ich habe folgende Werte eingestellt und jetzt klappt das schon ganz gut:
config.gyroPitchKp = 3500;
config.gyroPitchKi = 4;
config.gyroPitchKd = 20;
config.gyroRollKp = 4800;
config.gyroRollKi = 5;
config.gyroRollKd = 80;
config.accelWeight = 20;
config.nPolesMotorPitch = 14;
config.nPolesMotorRoll = 14;
config.dirMotorPitch = 1;
config.dirMotorRoll = 1;
config.motorNumberPitch = 0;
config.motorNumberRoll = 1;
config.maxPWMmotorPitch = 40;
config.maxPWMmotorRoll = 100;

Das ganze ist für 22 Ohm Motoren, betrieben an 5S Akku!
 

rc-action_de

Erfahrener Benutzer
uiii ... und schon wieder eine neue Version. Im Handtest sieht es schon sehr gut aus.
Mit dem P- Wert kann ich fast bis 20 hoch - das ist enorm.
Morgen Früh gibt es einen Probeflug ;-)

Hier mal ein Phänomen, was ich mit der 41 festgestellt habe. Indoor läuft die Software super und die Kamera wird sauber ausgeglichen.

Beim Flug draußen, taumeln die Achsen immer ein wenig, egal wie weit P heruntergeschraubt wird. Das kannte ich von der 39 nicht so extrem. Es sind scheinbar primär Vibrationen. Es muss allerdings auch irgendwie mit der Kalte zusammenhängen. Je kälter es ist, umso schlimmer wird das Taumeln beider Achsen.

Komme ich aus der Wohnung und fliege kurz 2 Minuten, dann ist das Taumeln fast nicht vorhanden. Kühlt die IMU stark aus, dann geht es wieder los.

Viele Grüße
Henry
 

ahahn

Erfahrener Benutzer
hi,

hat jemand einen TIP für mich..

bekomme bei windows 7 64 immer den Fehler "serial Error com 11:mad:115200" bei allen Ports (6 bis 15?

gruss Frank
Hallo Frank,
ich hatte gerade das gleiche Problem mit COM13, Win 7 32-bit
Bei Windows gibt es ein Problem mit COM Nummern grösser 9 (oder 4?)

Es gibt 2 Möglichkeiten:
(Alternative 1.) COM Nummer im Gerätemanager auf eine niedrige Nummer ändern. COM selektieren > rechte Mouse -> Eigenschaften -> Anschlusseinstellungen -> erweitert -> COM ändern.
(Alternative 2.) bl_tool.tcl ändern: ab Zeile 16


foreach valueName $values {
set PortName [registry get $serial_base $valueName]
set PortName "//./$PortName"
lappend res "$PortName"
}


Zumindest bei mir hat es funktioniert, bin aber keine Windows Spezialist, vielleicht weiß es jemand besser :)

lg
Alois
 

Lonestar78

Erfahrener Benutzer
Hab mal auf der Google Seite ein wenig bei den Downloads aufgeräumt.
Die alten Versionen sind nicht gelöscht, sondern als "Deprecated" markiert und tauchen dadurch erst bei Suche danach auf.
 

rc-action_de

Erfahrener Benutzer
Hallo zusammen,

damit es zeitnah zur neuen Version auch ein Testvideo dazu gibt, hier nun mein Video von Heute Morgen.

[video=youtube;UNMEMmBDVzQ]http://www.youtube.com/watch?v=UNMEMmBDVzQ[/video]

Auf der Stelle funktioniert der Ausgleich nahezu perfekt. Das Gimbal gleicht gut aus und es gibt keine Ruckler.
Je schneller sich der Copter jedoch bewegt (vorwärts oder seitwärts) umso mehr fängt das Gimbal an zu Ruckeln.

Mit der gleichen Bewegung wie beim letzten Mal, konnte ich einen Ausfall hervorrufen. Danach musste der Arduino resettet werden.

Hat außer mir eigentlich schon mal jemand ein BL- Gimbal geflogen und kann dazu auch etwas schreiben ?!

Viele Grüße
Henry
 

Lonestar78

Erfahrener Benutzer
Meine Vermutung: Ich sollte im Code eine zusätzliche Gewichtung des Beschleuinnigungssensors einbauen.
Schnelle Richtungsänderungen bewirken zusätzliche Beschleunigungen in allerlei Richtungen und damit ist dann die Winkel-Berechnung flöten gegangen...

Ich sollte weniger Programmieren...und endlich meinen Kopter zusammenschrauben.
 

rc-action_de

Erfahrener Benutzer
Meine Vermutung: Ich sollte im Code eine zusätzliche Gewichtung des Beschleuinnigungssensors einbauen.
Schnelle Richtungsänderungen bewirken zusätzliche Beschleunigungen in allerlei Richtungen und damit ist dann die Winkel-Berechnung flöten gegangen...

Ich sollte weniger Programmieren...und endlich meinen Kopter zusammenschrauben.
Das steckt ja noch alles ein wenig in den Kinderschuhen und ist mehr als verständlich. Was ihr bisher geleistet habt ist phänomenal. *vielen Dank dafür*

Ich denke auch das kleine und sehr Beschleunigungen, die man ohne Gimbal wahrscheinlich gar nicht wahrnimmt, die Berechnung durcheinander bringen und das Gimbal tanzen lassen.

Es ist wie ein Fehler der sich auf- addiert. Je schneller und länger es in eine Richtung geht, um so unruhiger wird das Gimbal.

PS: ja ein Copter zum testen wäre nicht schlecht, da die Analyse über 3. nie so aussagekräftig ist wie die eigene Fehlerbehandlung.

Ansonsten ... ich bin selbstverständlich in der Luft und teste jede neue Version ;-)

Viele Grüße
Henry
 

fritz99

Erfahrener Benutzer
Hallo Lonestar !

Nochmals Danke für Deine super Arbeit !

Ich habe festgestellt, dass ich die Motorleistung auf 80 reduzieren muss, damit das System nicht zittert.
Dadurch wird die Haltekraft der Motoren natürlich sehr reduziert.
Irgendwie arbeiten die Parameter und die Motorleistung gegeneinander.

Vielleicht fällt Dir dazu noch Etwas ein.

Nochmals meine Hochachtung für Deine Firmware !

Fritz
 

nico_99

Erfahrener Benutzer
Moin.

Mein Martinez_Controller wurde gestern auch geliefert somit konnte ich mich damit schon etwas beschäftigen...im Moment sind noch keine Motore dran.

Wie kann ich es erkennen, dass die IMU funktioniert?

In der Software steht für die Seriellausgabe: Serial.println(F("MPU6050 ok"));

In dem Serial-Monitor bekomme ich beim Booten:

BLGC Starting Initialization ...
Calculating Sinus Array ...:
85 87 89 91 93 95 97 99 101 103 ...und so weiter
X Ygro Offset = 0.00
Y Ygro Offset = 0.00
Init MPU done ...
Gyro resolution devider in LSB/deg/s = 131.00
Init BL Control done ...
GoGoGo...
1.82120 0.00073
0.02043 0.00079
...

heißt das: Init MPU done ... aber ohne "MPU6050 ok", dass der Sensor nicht erkannt ist / nicht funktioniert? :confused:
 

nico_99

Erfahrener Benutzer

Lonestar78

Erfahrener Benutzer
dumdidum....neue Features :)))

insgesamt: LPF für ACCEL, heavy LPF für RC-Input



043 A:
- introduce RC Channel input :)
Use A1 and A2 as PWM input pins for Pitch and Roll, DO NOT CONNECT +5V from REC-Receiver to Controller
- add RC input config to serial protocol
Type HE in terminal to see additional Protocol stuff (min max Angles per Axis)
- start Code optimization: atan2 now runs ~2 times faster
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten