Keine Einstellungen ESC32 in QGC1.2.0 möglich?

sandmen

Erfahrener Benutzer
#42
Danke! Das hilft schonmal weiter.

Wenn ich das richtig sehe, ist ClosedLoop unabhängig von der jeweiligen FlightControl?
In dem Thread ist eine ESC32 Firmware angehängt. Ist die notwendig für ClosedLoop? Ich kann bei der 1.4.3 auch schon ClosedLoop auswählen, RPMtoVoltage Kalibrierung ist möglich und die ThrustKurven für den APC 12x3.8 gibt es dort ja auch.
Ja, so steht es im Thread. Ich habe noch keinen close-Loop esc an einer PID-FC ausprobiert. Wäre interessant, aber leider keine
Zeit. Igor ( siehe Link ) hat's ja ausprobiert, und er meinte, das es Ihm etwas bringt und er Vorteile darin sieht.
Aber, er ist auch der einzige, glaube ich.
Igor's fazit hier:
http://forum.autoquad.org/viewtopic.php?f=26&t=1731#p7634

Das ganze findet ja kaum Beachtung. Ich finde es etwas merkwürdig. Gerade solche Sachen sprechen doch für AQ?
Hmm, weiß nicht, wie viel das mit einer normalen FC was bringt.

Im Regal liegt auch noch eine AQ FlightControl. Momentan auf einem einfachen Quadro zum Testen. In ein paar Monaten würde ich daraus gerne einen kleinen transportablen Kopter zum Filmen bauen. Am liebsten direkt mit CAN-Bus.
Ist die 1.4.3 ESC32 Firmware voll CAN-Bus fähig?
Welche AQ Firmware ist notwendig?
Welcher CAN Controller muss auf die FC gelötet werden? Wo werden dort die Anschlüsse abgegriffen?
Wie legt man die Motoradressen der ESC32 im CAN-Betrieb fest?
CAN ist in der Entwicklung. Wann und wie, wird dann veröffentlicht wenn's auch läuft.

Um gleich das nächste Key-Feature anzusprechen. Gibt es schon einen Zeitraum für das Release vom L1 Control?
Nein, da es nicht "Open Source" sein wird. Wie das vertrieben wird, kann ich nicht sagen. Sorry.
 

sandmen

Erfahrener Benutzer
#43
Also kann ich einen RCTimer 4215 oder einen tiger 3510-13 an die esc32 anschließen und fliegen ohne Kalibrieren? Einfach load defaults und fertig ist?
Naja, Einstellungen bringen schon was, nur Einstellungen und Kalibrieren sind 2 paar Stiefel.
Die Werte sollten natürlich angepasst werden, an den Motor.
Zum Beispiel MAx Current, da passt der default wert eher nicht!

Alle außer CL1 - CL5, die kommen aus der Kalibrierung. (Currentlimiter)
Und außer FF1Term FF2Term, die kommen auch aus der Kalibrierung. (RPM2Voltage)
 

Lindbaergh

Erfahrener Benutzer
#44
Ah ok. Danke für die Info, dann war mein treiben die letzten Monate über ja nicht ganz umsonst :). Ich werde morgen mal ausprobieren wie es fliegt wenn ich 'nur' Einstellungen auf die Motoren anpasse und das kalibrieren weglasse.
 

lsbs

Erfahrener Benutzer
#45
Ich hatte eigendlich gedacht das AQ einen Closed Loop mit dem ESC32 verwenden kann.
Ich bin in der Chemie tätig und hab einiges mit Prozeßleitsystemen zu tun.

Um Parameter gleich welcher Art zu Regeln ist es immer vom Vorteil, ein Stellglied (Motor/Propeller), mit möglichst linearer Wirkung zu haben. D.h. wenn der Regler über PID Funktionen 10% mehr Schub haben möchte ist es toll, wenn 10% Stellgliedöffnung auch 10% mehr Schub bringt.
Daher sollte eine RPM oder besser noch Thrust Funktion Vorteile im Regelverhalten zeigen.
Ein Spannungsabfall am Lipo wird somit z.B. korrigiert, wenn ich die Drehzahl regeln kann und nicht nur die Regleröffnung.
Wenns halt nicht linear geht werden gerne Führe / Folgeregler benutzt. (Ausgang FC geht auf einen Drehzahlregler)
Nachteil 2 Regler hintereinander> Einstellung nicht ganz trivial.

Das Fet braking beschleunigt das Einregeln bei Drehzahlreduzierung erheblich.
Aber auch dadurch wird die gesamte Regelstrecke beeinflust was eine PID Anpassung erfordert.

Wir benutzen bei uns im Betrieb einen adaptiven Regler für eine 20bar Dampfmenge.
Davor sitzt ein Regler der eine bestimmte Menge Energie anfordert.
Der adaptive Regler wurde auf unser Dampfventil (und somit Leitung,Messung Drücke etc.) angelernt.
Ähnlich der Kalibrierung beim ESC32. Ergebnis bessere Regelbarkeit über weiten Bereich.

Das wäre bestimmt für das gesammte AQ System vom Vorteil wenn es benutzt werden könnte und gut implementiert ist.

L1 stell ich mir so vor.
Wir benutzen außerdem ein APC (Advanced Prozess Control) System von Aspen.

Hier wurden quasi Flugversuche (Step Versuche ,Mengenänderungen Temp. etc) gemacht um zu sehen wie das gesamte System
reagiert. Danach wird ein Modell erstellt und der Controller versucht vorherzusagen was passiert >wo läuft , fliegt er hin..
Dementsprechend wird schon vorm Flippen des Quads gegengesteuert.

Ähh hat lange gedauert ........>1Jahr mit hochbezahlten Kollegen bis es halbwegs gut lief.
Jetzt aber besser als jemals zuvor.....

Letztendlich hoffe ich das AQ closed Loop mit ESC32 bald komt, oder gehts das schon? Wie?
Dafür wollte ich mir eigendlich die ESC32 zulegen, Stichwort CL,L1 usw.
Beim UltraESC gibt es auch einen Drehzahl CL, zumindest gibt es da ein Kalibrierung zu , FET Braking auch.

Ich würds ja auch gerne testen die Kombi AQ<>Esc32 aber mir fehlt der AQ noch :(

so Feierabend

Gruß
Didi
 

sandmen

Erfahrener Benutzer
#46
Ich hatte eigendlich gedacht das AQ einen Closed Loop mit dem ESC32 verwenden kann.
Kann die AQ auch, ich denke nicht das ich gesagt habe das die autoquad nicht mit esc32 zusammenarbeitet.
Nur der "Closes Loop" mode, wird halt nur vom L1 Attitude Controller in der Aq benutzt.
Und dieser ist momentan nicht öffentlich.
Der normale Lageregler von der AQ hat vermutlich keine allzu hohe Vorteile, aber das darf man ruhig ausprobieren.
Ich habe mom. keine Zeit.

Um Parameter gleich welcher Art zu Regeln ist es immer vom Vorteil, ein Stellglied (Motor/Propeller), mit möglichst linearer Wirkung zu haben. D.h. wenn der Regler über PID Funktionen 10% mehr Schub haben möchte ist es toll, wenn 10% Stellgliedöffnung auch 10% mehr Schub bringt.
100%

Daher sollte eine RPM oder besser noch Thrust Funktion Vorteile im Regelverhalten zeigen.
Ein Spannungsabfall am Lipo wird somit z.B. korrigiert, wenn ich die Drehzahl regeln kann und nicht nur die Regleröffnung.
Wenns halt nicht linear geht werden gerne Führe / Folgeregler benutzt. (Ausgang FC geht auf einen Drehzahlregler)
Nachteil 2 Regler hintereinander> Einstellung nicht ganz trivial.
Ist nicht linear, dafür wird die Kurve ja ermittelt, um die nicht Linearität heraus zu bekommen.

Tja, net ganz. Denn das was Du beschrieben hast, ist ja im ESC32 drin ;-)
L1 ist ein adaptiver Attitude Regler, der eine Thrust benötigt.

Hier wurden quasi Flugversuche (Step Versuche ,Mengenänderungen Temp. etc) gemacht um zu sehen wie das gesamte System
reagiert. Danach wird ein Modell erstellt und der Controller versucht vorherzusagen was passiert >wo läuft , fliegt er hin..
Dementsprechend wird schon vorm Flippen des Quads gegengesteuert.

Ähh hat lange gedauert ........>1Jahr mit hochbezahlten Kollegen bis es halbwegs gut lief.
Jetzt aber besser als jemals zuvor.....
hochbezahlt hört sich gut an. Wir nicht :) darum nur mathlab & simulink. Und ein paar kaputte copter, weil nicht immer das Modell 100% stimmt.

Letztendlich hoffe ich das AQ closed Loop mit ESC32 bald komt, oder gehts das schon? Wie?
Dafür wollte ich mir eigendlich die ESC32 zulegen, Stichwort CL,L1 usw.
Beim UltraESC gibt es auch einen Drehzahl CL, zumindest gibt es da ein Kalibrierung zu , FET Braking auch.
Wie geschrieben, der "closed Loop" mode ist im esc32 drinn. Seit der ersten Version.
Nur Igor hat's probiert und hier beschrieben. http://forum.autoquad.org/viewtopic.php?f=26&t=1731#p7634
Das ist bereits in der letzten FW mit drin.

Und zusätzlich noch der Servo mode, sollte man mal einen Brushless motor als 360°Servo benutzen müssen ;-)
Zumindest kann man mal Spielen damit :)
 

lsbs

Erfahrener Benutzer
#47
@sandmen

ich habs jetzt auch wohl verstanden was und wie.

Meine Firma, Evonik, könnte solche Entwickler wie Ihr seit,bestimmt gebrauchen. Chemie Tarif ist nicht schlecht.

schönes Wochenende
 

Yups

Erfahrener Benutzer
#48
Danke Sandmen und lsbs (Didi?),

ich glaub so langsam blicke ich durch. Es geht also in erster Linie um die Linearisierung von PWM Signal zum Schub. Im Arducopter ist z.B. auch ein "Feature" ThrottleCurve vorhanden. Natürlich nicht direkt vergleichbar, aber grundsätzlich auch ein einfacher Linearisierungsversuch ohne konkrete Daten.

Vorgehensweise:

Regler auf 1.4.3 flashen,
ESC32 Mode auf RPM stellen
CurrentLimiter kalibrieren
RPM2Voltage kalibrieren
PTERM tuning und ITERM auf 0
ESC32 Mode auf Thrust stellen
(FET_Braking aktivieren)
TH1TERM und TH2TERM Schubkoeffizienten ermitteln oder von Igor verwenden (hab die APC 12x3.8)

Euch auch ein schönes Wochenende!
 

Yups

Erfahrener Benutzer
#49
Moin moin!

Ich hab mich gestern Abend und heute mal durch die Kalibrierung geqüält.

Gleich vorweg: Mit dem QGC 1.2.1 und ESC 1.4.3 lassen sich leider immer noch nicht alle Parameter vernünftig setzen (Input Mode und Startup Mode z.B. nicht, auch die Kalibrierung funktioniert nicht einwandfrei. Max Current setzt sich gerne mal auf 0 und noch ein paar unangenehme Bugs.)
(Ich glaub da ist noch ein bisschen Arbeit ;-))

Habe mir dann Ubuntu 12 heruntergeladen und parallel zu Windows 7 installiert. (Das war ganz easy)
Die Einrichtung und das kompilieren der "ground Files" ist hier recht gut beschrieben:
http://autoquad.org/wiki/wiki/esc32/esc32-calibrations/

Eigentlich bin ich kein Fan von Kommandozeile und co., heute hat es mir aber doch ganz gut gefallen.
CurrentLimiter Calibration lief gut durch. Die einzelnen Steps werden schön dargestellt und man versteht die ganze Prozedur viel besser. Leider wurden beim Speichern der svg. die "Balken" im Diagramm nicht angezeigt. (Bug?)

Anschliessend RPM2Voltage gemacht, erst mit 18A, dann mit 20A. Keine Probleme. Hier sieht man auch sehr schön die Messpunkte und die dadurch angenäherte Kurve.


(Aus dem AQ Wiki, "meine" Kurve ist noch wesentlich stärker gekrümmt)

Die Schubkoeffizienten THR1TERM und THR2TERM habe ich von Igor verwendet.

Zurück in Windows wollte ich die abschliessende Konfiguration zuerst mit QGC machen. Nur konnte ich dort nicht auf Thrust oder RPM umstellen. Putty gestartet und über die Kommandozeile alle Parameter angepasst. Über eine Textdatei geht es sehr leicht.
Es gibt ja 2 Möglichkeiten Input Mode und Startup Mode zu ändern. Einmal direkt im "Hauptmenü" und über die Parameter List. Nur letzters führt zu einem dauerhaften Speichern. (Liegt da evtl. das Problem mit dem QGC?)

FET_BRAKING kann man durchaus merken. Der Motor reduziert seine Drehzahl ein gutes Stück schneller.
Kann ich das noch weiter verstärken? Welche Werte kann man da anpassen? (PI Regler?)

Ein Problem ist allerdings noch vorhanden. Beim Anlaufen kommt der Motor manchmal nicht richtig in Gang. Er zuckt kurz hin und her, dann schaltet der Regler auf "disarmed". (Epower 2217-850)
Ich konnte das Problem teilweise verbessern, indem ich die Startup_Voltage auf 3.00 erhöht habe. So ganz zufrieden bin ich aber noch nicht. An welchen Stellgrößen kann ich da drehen? (Advance hilft nicht, habe 15°).

Einen schönen Abend & viele Grüße
Yannick
 

lsbs

Erfahrener Benutzer
#50
@ Yannick

Man Du bringst mich noch dazu Unbutu zu installieren, wobei ich von Linux keine Ahnung habe.
Versuchs und melde mich dann..

Das Anlaufen der Motoren macht bei meine Altigator 3540HD auch Probleme, mit 1.5 Volt Startspannung gehts besser.
Gefühlt war das bei der FW 1.41 nicht.

LG
Dietmar
 

sandmen

Erfahrener Benutzer
#51
Die Kalibrierung wird in der nächsten Release von der qgc auch unter Windows funktionieren.
Vielleicht noch keine Diagramme, aber Daten gibt's.
 

lsbs

Erfahrener Benutzer
#52
Hört sich ja gut an.
Ich hab mal Unbutu installiert (leider nicht ohne Probs)
Vielleicht kann mir ja Yannik einen Tip geben was ich da überhaupt machen muss bezüglich Shell comands usw...
Als nächstes Teste ich erst mal den ESC32 ohne Cali an meinem Motor,mal sehen obs da auch noch stottert..
 

Yups

Erfahrener Benutzer
#53
Hi!

Was läuft denn nicht?
Ich hab mir dieses Release gezogen:
http://www.ubuntu.com/start-download?distro=desktop&bits=64&release=lts

Installiert und dann den Terminal aufgemacht.

Pakete installieren:

sudo apt-get install subversion build-essential libplplot-dev libeigen3-dev

Berechtigungen ändern damit du nicht vor jeden Befehl "sudo" tippen musst. (Sudo ist quasi "als Administrator ausführen):

sudo usermod -a -G dialout $USER

-> Ausloggen und danach wieder einloggen.

Aktuelle Sourcefiles aus dem SVN herunterladen: (Ein Ordner esc32 wird in deinem persönlichen Ordner erstellt)

svn checkout http://esc32.googlecode.com/svn/trunk/ esc32

Makefile Pfad anpassen:


esc32Cal.o: esc32Cal.cc esc32.h
$(CC) -c $(ALL_CFLAGS) esc32Cal.cc -I/opt/local/include -I/usr/include/eigen3

Den ersten Teil vom Pfad habe ich gelöscht und den zweiten geändert. Musst den eigen3 Ordner im "Filesystem" suchen.

Dann einfach nur make esc32Cal

Wenn das funktioniert hat mit cd in den entsprechenden Pfad navigieren und die esc32Cal mit diesen Parametern aufrufen:

Available Parameters
–cl Current Limiter calibration
–r2v Feed Forward calibration (RPM to Voltage)
-a amps Limits current during calibration
-p device USB to TTL converter port
-b baud Baud rate
-t file Telemetry output file

Current Limiter calibration

./esc32Cal --cl -p /dev/ttyUSB0 -a 15

Feed Forward calibration

./esc32Cal --r2v -p /dev/ttyUSB0 -a 15
 

lsbs

Erfahrener Benutzer
#54
@yannik

wow, heute war der erste Tag das ich Linux gebootet habe. Okay Okay
Was Du geschrieben hast muss ich noch ein wenig lernen, aber Danke für die Anleitung..

Ich hab heute eine Beta von der neuen QGC von sandmen bekommen zum Test.
Dort läuft die Cali mit kleinen Problemchen, hat aber fast auf Anhieb geklappt.
Current und RPM funktionieren jetzt, Anlaufverhalten ist auch besser als vorher.

Als Sahnehäubchen hab ich mir dann Putty angetan und einige Settings gespeichert.

So er läuft jetzt im RPM Modus als Startup mit PWM Eingang.
Wenn Du mit dem Finger den Motor abbremst hält er brutal die Drehzahl ohne Überschwinger.
Fet_Braking geht auch , die Drehzahländerung nach oben und unten ist dann extrem schnell.
Temperatur an den Fets steigt um 10°C bei mir bei mitleren spielen am Servotester.

Hier die Einstellungen...
http://www.flickr.com/photos/96250047@N08/8796292691/
http://www.flickr.com/photos/96250047@N08/8796291807/

Fazit: Hammer Regler in diesem Stadium

Grüße
Dietmar
 
FPV1

Banggood

Oben Unten