Das GA250 Gyro Firmware Projekt

Ich habe eine eigene Firmware für den Assan GA250 Gyro entwickelt, und das Ergebnis beschreibe ich hier.

Features

  • Servos 1520us @ 55Hz, 250Hz, 333Hz und 760us @ 333Hz
  • Servo Endposition rechts und links und Mittenposition frei einstellbar
  • Debounce Parameter für perfekte Pirouettenstops im Headinghold Modus
  • viele weiter Einstellmöglichkeiten wie Drehmomentkompensation, fixed wing Modus, usw.
  • Parameter Einstellung über eine Windows-GUI und/oder in-field über eine Programmier-Box

It’s the best of the cheap!

Anleitungen

Nachbauer (soweit mir bekannt, Leute, meldet Euch :))
linuxholgi… der erste Mutige [rc-heli.de Thread]
chris3002… der zweite Mutige [rc-heli.de Thread](Bericht hier)
steidlmick… und schon der dritte Mutige [rc-heli.de Thread]
mestre @ rcgroups (mit Testbericht und Vergleich zum LH GY520)(und hier), Pitchfella @ rc-heli.de, BrucePage @ rcgroups, robbancs @ rcgroups, ablack @ rcgroups (Einsatz als Flächengyro!), JanRy @ rcgroups (mit toller Eigenbau-Programmierbox hier), closedsink @ rcgroups, ElectoPete @ rcgroups, Rotosaab @ rcgroups (mit Vergleich zum origanlen GA250 und LH GY520), richy18 @ rc-heli.de, davincoleman1 @ rcgroups, Higgy (Einsatz in einem FP-Heli mit Brushless Tail) siehe Kommentare oder @ rcgroups, sparkie79 @ rcgroups, MythosVR4 @ rcgroups, Tony (turismo05), Bernd (Einsatz in einem HBK2), Scarlet @ rcgroups, Tomve @ rcgroups.

Neueste Nachrichten
2. Dezember 2012: Firmware für die Turnigy DLux Box mit Board-002 und das Programm AvrBurnTool zum einfachen brennen und flashen der Firmwares wurden dem neuen Firmware Package v20121202 beigefügt.
25. November 2012: Als Programmierbox kann nun nicht nur die Robbe Box, sondern auch die Turnigy DLux Box und ein Arduino Uno + LCD Shield benutzt werden! Die entsprechenden Firmware Hex Files sind im neuen Firmware Package v20121125 enthalten.
14. August 2012: Mick hat die englisch-sprachigen Anleitungen Idiot’s Guide to Olliw’s GA250 Firmware von Holger und OlliW’s Alternative Firmware for the Assan GA250 Gyro, v0.16 auf Deutsch übersetzt und erweitert! Siehe unter Anleitungen und/oder Externe Beiträge. Tausend Dank nochmals an euch, Holger und Mick, für die viele Mühe!
26. Juni 2012: Endlich ist auch ein USB-TTL Adapter mit FT232RL Chip auch bei Hobbyking verfügbar! (FTDI Adapter USB Controller Produkt ID: 009000003). Damit wird das Projekt so billig wie nie zuvor, für ein vollständiges Set aus GA250 + USB-FTDI Adapter + USBasp ISP-AVR Programmer bezahlt man gerade mal $24.66 inkl. Versand! (und EUST oder Zoll zahlt man auch keine) 🙂
7. Juni 2012: Ich habe ein Anleitung zur Firmware geschrieben, in der auch ein bischen auf die Bedeutung der Parameter eingegangen sowie eine Einstellprozedur vorgeschlagen wird. Gibt’s unter der Rubrik Firmware.
13. März 2012: Ich habe ein kleines Tool, AvrBurnTool v0.01, geschrieben. Damit wird das Brennen des GA250 mit dem ISP AVR Programmer nun zum Kinderspiel.
8. März. 2012: Diskussionsthread: Gyro GA250 + alternative Firmware: The Best of the Cheap!?
7. März 2012: Neue Firmware v0.16 verfügbar. Mit Debounce-Parameter für perfekte Pirostops! Darauf bin ich jetzt ein bischen stolz. Ich habe einen Weg gefunden wie sich auch im Headinghold-Modus ziemlich perfekte und trotzdem crispe Pirostops erreichen lassen, und dies läßt sich über nur einen Parameter (getrennt für CCW und CW Piros falls nötig) einstellen. Das Tunen des Gyro bleibt damit einfach. Ich behaupte das jetzt einfach mal: Mit der neuen Firmware ist der GA250 mit Abstand der Beste der „billigen“ Gyros.
5. Feb. 2012: Neue Firmware v0.15 verfügbar.
10. Jan. 2012: Holger hat eine super Anleitung (auf Englisch) geschrieben. DANKE!
30. Dez. 2011: Neue Firmware v0.14 verfügbar.
28. Nov. 2011: Diskussionsthread: Alternative Firmware für den Assan GA250 Gyro (nicht mehr supported)
24. Nov. 2011: Für’s Flashen und der Programmierung über die Windows-GUI bin ich nun vom Gain-Anschluss auf den Servo-Anschluss gewechselt… ist einfach doch praktischer… aber dazu musste die Firmware für die Programmingbox ein bischen geändert werden => neue Firmware. Heute nachmittag konnte ich dann auch zwei Flüge filmen (bzw mein Sohn). Aber es war (sau)kalt und es hat nicht so geklappt wie ich mir das dachte… die Filme haben auch schlechte Qualität… aber seht selbst hier.
20. Nov. 2011: Nach vielen Testflügen war heute die Gelegenheit die aktuelle Firmware „ernsthaft“ zu testen. Eigentlich hatte ich das gar nicht vor, sondern bin, nach den X Testflügen auf der Strasse vorm Haus, heute mit dem Testheli einfach mal auf „mein“ Feld gegangen, allerdings in der Erwartung bald wieder zurück zu sein. Dementsprechend vorsichtig bin ich das angegangen, aber flugmäßig hat sich das so gut angefühlt, dass ich bei der Hälfte des ersten Lipos alle Zurückhaltung aufgegeben habe und einfach alles geflogen bin was mir möglich ist… und weil es so gut ging „musste“ ich alle Lipos durchfliegen. Ich muss echt gestehen, dass ich immer noch ein bischen baff bin wie gut der Gyro ging. Ärgerlich das ich keine Kamera dabei hatte (kommt hoffentlich nächste Woche). Jedenfalls, deswegen gibt es das erste Release der Firmware, siehe unten unter Firmware. 🙂 🙂 🙂


Einführung

Der Assan GA250 bietet für $9.99 einen echten MEMS Gyro, und wie der Schaltplan zeigt ist er für eigene Projekte perfekt geeignet: (1) es wird ein ATmega8 verwendet, (2) die ISP-Pins sind leicht zugänglich, und (3) er ist hardware-mässig IMHO gut designt.

Mein erstes GA250-Projekt war/ist der GA250-Fp&Koax-Gyromischer, was insoweit relevant ist als ich im Zuge dessen bereits einige wichtige „Probleme“ gelöst habe, worauf ich hier zurück greifen werde. Das Gyro-Thema beschäftigt mich seit einiger Zeit, aber bei den Koax-Gyromischer Projekten war allerdings Know-How mäßig ein gewisses „Ende“ erreicht, und ein CP-Gyro war die logische nächste Herausforderung. Es reizte mich natürlich schon auch eine bessere Firmware für den GA250 zu erstellen, was ich denke auch gelungen ist, aber das dahinterstehende Know-How war meine Hauptmotivation.

Ich bin nicht der Erste und Einzige der auf diese glorreiche Idee gekommen ist eine neue Firmware zu entwickeln. Cruzado hat bereits ein solches Projekt am Laufen: http://freecode4ga250.blogspot.com. Ich denke mein Projekt ist aber deutlich „ausgereifter“.


Übersicht über das Projekt

Das ganze Projekt besteht, neben der Firmware, aus weiteren „Teilen“:

  • GA250 Gyro mit aufgespieltem Bootloader, um die Firmware zu flashen und updaten zu können
  • Programmierbox um die Parameter des Gyros „im Feld“ einzustellen
  • Programmieradapter um den Gyro mit einem PC zu verbinden
  • Windows-Program AvrConfig, um die Parameter per PC einzustellen

Der Programmieradapter wird zum Flashen einer neue Firmware und/oder zum Benutzen von AvrConfig benötigt. Zum Einstellen der Parameter des Gyros werden also zwei Möglichkeiten geboten, per PC mittels einer Windows-GUI und/oder mittels einer Programmierbox, bei der man unabhängig vom PC ist. Eine Einstellung der Parameter über den Sender ist, ausser die übliche Gain-Einstellgeschichte, bisher nicht vorgesehen.

GA250 Gyro Hardware
Alles zur Hardware des GA250 habe ich hier aufgeschrieben: MEMS Gyro GA250 Bilder und Schaltplan.

Bzw. fast Alles: Die Masse- und Versorgungsleitungen der Anschlüsse für Rudder, Gain, und das Heckservo sind nicht alle mit dem Gyro elektrisch verbunden! Der Gyro bekommt seine Versorgung NUR über den (roten) Gain Stecker! Die Masse/Versorgungsleitungen des Rudder- und Servo-Steckers sind zwar miteinander verbunden, aber NICHT mit denen des Gain-Steckers. Das schränkt die Möglichkeiten bzgl der Programmierung des GA250 (Flashen, Programmierbox, AvrConfig) ein. Ist eigentlich „saublöd“ gelöst.

ga250 cable connections olliw

Assan hat das vermutlich in Anlehnung zum Spartan Quark so gemacht, was dort im Übrigen zu den gleichen „blöden“ Einschränkungen führt: Um den Spartan Quark über den Computer zu programmieren muss man sich einen „Simplex Data Adapter“ und einen „Flash-Link“ anschaffen… nicht gerade die billigste Lösung, und auch nicht die Einfachste, und IMHO auch nicht die Komfortabelste….

Bootloader
Als Bootloader kommt wieder Hagen’s AVRootloader zum Einsatz, alle Info’s dazu gibt’s hier und hier. Ich finde den einfach super, und für unseren Zweck hat er den Vorteil dass er klein ist, schnell startet (300 ms, und keine >4 s wei bei so manch anderem Bootloader…), und einen Zugriff auf das EEPROM ermöglicht.

Der Bootloader kann sinnvollerweise entweder über den Gain-Stecker (bzw. Pin PD1 oder PD0) oder den Servo-Stecker (Pin PB2) angesprochen werden. Das Letztere ist IMHO vom Handling her praktischer (man muss nicht immer den Gainstecker aus dem Empfänger wursteln), aber man hat dann ein „Stromversorgung-Problem“ (der Gyro kann ja nur über den Gain-Anschluss versorgt werden). Trotzdem, ich habe mich für den Servo-Stecker (= Stecker zum Servo) als Programmierport entschieden. Man muss also die Masse/Vcc-Leitungen des Gain- und Rudder-Steckers verbinden, z.B. durch Einstecken in den Empfänger.

Brennen des Bootloaders und Setzen der Fuses
Um den GA250 für das Projekt einsetzbar zu machen muss nur der Bootloader gebrannt werden. D.h., GA250 aufschrauben, ISP-Pads mit einem ISP-AVR-Programmierer verbinden (löten), Fuses richtig setzen und Bootloader in den Mikrokontroller brennen, GA250 wieder zuschrauben, fertig. Hört sich vielleicht wild an, ist aber wenn man ein bisserl löten kann wirklich leicht zu bewerkstelligen. Was genau zu tun ist, ist in den Anleitungen von Holger und Mick genauestens beschrieben. Als ISP-AVR-Programmierer kommt jeder beliebige ISP-AVR Programmer in Frage. Wer noch keinen hat, USBasp ist sehr zu empfehlen. Es gibt ihn in Asien für <$3 (ebay), und auch bei Hobbyking für $4.95 exkl. Versand (USBasp AVR Programming Device).

Die Fuses sind wie folgt zu setzen:
– low fuse: 0xBF (ChkOpt = 1, SUT1:0 = 11, CKSEL3:0 = 1111, BODEN = 0, BODLEVEL = 1)
– high fuse: 0xDC (BOOTSZ1:0 = 10, BOOTRST = 0)

Bootloader:
– die .hex Files mit dem Bootloadercode sind unter Firmware zu finden

Um den Vorgang möglichst einfach zu gestalten, habe ich das Windows PC Program AvrBurnTool.exe geschrieben. Dieses kleine Tool ist ein einfach zu bedienendes und auf den Zweck massgeschneidertes Frontend für avrdude (ein sehr gutes aber nicht gerade benutzerfreundliches Program zum Brennen von AVRs). Man braucht nur den angegebenen 6 Schritten zu folgen. Ein Kinderspiel.

Bild der AvrBurnTool GUI (Version 0.03) zum Brennen der Fuses und des Bootloaders:
ga250 cpgyro avrburntool olliw

Programmieradapter
Der Programmieradapter kann verschieden realisiert werden. Bei der von mir empfohlenen Variante besteht er aus einem USB-TTL-Adapter und einem Schalter-Kabel-Stecker-Gewirr, dass man sich schnell selber zusammenlötet. Der USB-TTL-Adapter MUSS dabei den FTDI Chip FT232RL verwenden. Solche Adapter gibt es günstig „überall“. Wer keinen ISP-AVR-Programmer hat oder anschaffen will, der könnte die USB-TTL-Adapter von Sparkfun (DEV-09873, DEV-09716, DEV-10008) in Betracht ziehen; diese können mit der entsprechenden Software auch als AVR-Programmer benuzt werden. Ansonsten sollte jeder USB-TTL Adapter mit FT232RL geeignet sein, wie z.B. die JY-MCU Arduino USB-Adapter, welche es aus Asien für <$10 gibt. Die günstigste und "beste" Lösung ist vermutlich der FTDI Adapter USB Controller von Hobbyking; Kosten: $4.75 (exkl. Versand).

ga250 programming adapter

Achtung: Es gibt GA250 mit 3.0 V und 3.3 V interner Spannungsversorgung (die Neueren scheinen 3.0V zu haben), die Schaltung wie oben angegeben funktioniert für die 3.0 V Variante nicht unter allen Umständen zuverlässig. Bei mir funktioniert es sehr gut wenn man zum 100 Ohm Widerstand eine Diode (1N4148) parallel schaltet (Anode am TxO Ausgang).

Wer eine „echte“ serielle RS232 Schnittstelle oder einen USB-RS232 Adapter (also einen Adapter der RS232-konforme Signale ausgibt) hat, der kann die Originalschaltung für einen DIY-Adapter wie von Hagen vorgeschlagen benutzen:

Geeignete Shottky-Dioden wären z.B. BAT85, SB120 (oder Andere). Der Widerstand ist im Prinzip kritisch, aber muss nicht exakt 2.7k sein. Diese Schaltung funktioniert oft aber nicht immer (evtl. mit den Dioden und Widerständen „rumspielen“!). Der GA250 mit 3.0 V interner Spannung scheint etwas anspruchsvoller zu sein als die 3.3 V Variante (bei mir hat die 3.3 V Variante mit SB120 und 2.2k perfekt funktioniert, aber nicht die 3.0 V Variante). Bei Steidlmick funktioniert BAS85 (=BAT85) und 2.7k auf vielen Rechnern, mehr dazu ab hier

Bemerkung: Bei Verbindungsproblemen kann es sich lohnen verschiedene Baudraten auszuprobieren, z.B. alles zwischen 19200, 38400, 57600, und 115200 bps.

Flashen der Firmware
Die Firmware wird in den mit dem Bootloader „ausgerüsteten“ GA250 Gyro geflasht, indem man den Gyro über den Programmier-Port (bei mir der Servo-Stecker) mit dem Programmieradapter und diesen wiederrum mit einen Windows PC verbindet. Der eigentliche Flashvorgang wird dann mit Haagen’s Programm AVRootloader.exe durchgeführt.

Das .hex File mit der aktuellen Firmware ist unter Firmware zu finden.

Programmierbox
Die Programmierbox kann verschieden realisiert werden. Ich benutze sehr gerne die Robbe Programmier Box, weil es eine sehr einfach zu realisierende und schöne kleine coole komfortable Lösung ist. Eine gute, weil billiger aber genauso einfach zu realisieren, Alternative ist die Turnigy DLux Programming Box, oder noch billiger und etwas schicker und handlicher is die Turnigy AquaStar Programming Box. Aber auch ein Arduino Uno mit LCD-Shield oder DIY-Boxen kommen in Frage.

Für den Umbau der Robbe Box, der Turnigy AquaStar oder DLux Box muss ganz ähnlich wie beim GA250 auch nur der passende Bootloader gebrannt und die Fuses entsprechend gesetzt werden. Also, aufschrauben, ISP-Pins anlöten… usw … fertig. Alles zur Hardware der Robbe und den zwei Turnigy Boxen habe ich hier aufgeschrieben: Robbe Programmer V2 No.8642: Bilder und Schaltplan, Turnigy DLux Box: Bilder und Schaltplan, Turnigy DLux Box: Bilder und Schaltplan. Zum Brennen der Fuses und des Bootloaders mit dem ISP AVR Programmer kann wieder AvrBurnTool benutzt werden. Und auch die Firmware für die Programmierbox wird auf ganz ähnlichem Wege wie beim Ga250 geflasht.

Fuses für die Robbe Box (Atmega88 und Atmega88PA):
– low fuse: 0xCF (CKDIV8= 1, SUT1:0= 00, CKSEL3:0= 1111)
– high fuse: 0xDD (BODLEVEL2:0= 101)
– ext fuse: 0x04 (BOOTSZ1:0= 10, BOOTRST= 0, Bootloader @ PD1/TXD)

Fuses für die Turnigy AquaStar Box oder Turnigy DLux (Board-002) Box:
– low fuse: 0xAE, high fuse: 0xCC

Fuses für die Turnigy DLux (Board-000) Box:
– low fuse: 0x84 (SUT1:0= 00, CKSEL3:0= 0100, BODEN=0, BODLEVEL=1)
– high fuse: 0xDC (BOOTSZ1:0= 10, BOOTRST= 0, Bootloader @ PD0/RXD)

Bootloader und Firmware für die Robbe Box, Turnigy AquaStar Box, Turnigy DLux Box, oder Arduin Uno + LCD Shield Box:
– die nötigen .hex Files sind unter Firmware zu finden

Beim GA250 kommen als Anschlussport für die Programmierbox im Prinzip alle drei Stecker-Anschlüsse in Frage. Der Rudder- und Gain-Stecker stecken allerdings im Empfänger, und sind in meinen Augen daher weniger leicht zugänglich. Deswegen habe ich den Servo-Stecker gewählt. Also, Servo abstecken, Programmierbox anstecken, Batterie an, und schon kann man den GA250 einstellen.

Bilder verschiedener Programmierboxen (Robbe, Turnigy DLux, Arduino Uno + LCD Shield, meine DIY Box):
progbox olliw progbox turnigy dlux box 000 olliw progbox arduino uno lcd shield olliw diy progbox olliw

Konfigurieren des GA250 Gyros vom PC aus
Das Windows-PC Program AvrConfig.exe erlaubt es die Parameter des Gyros mittels einer GUI einzustellen. Dies ist praktisch da man so alle Parameter schön im Überblick hat, und man Konfiguartionen auch als Dateien zum Wiederverwenden abspeichern kann, aber man braucht halt einen PC in Reichweite…

Das Prinzip ist ähnlich zum Flashen der Firmware: Gyro über den Bootloader-Port (bei mir der Servo-Stecker) mittels Programmieradapter an den PC anschliessen, und AvrConfig ausführen.

Bild der GUI (Version 0.18) für die GA250 Firmware Version v0.16:
ga250 cpgyro avrconfig olliw


Testumgebung

Telemetrie Gyrotester
Ich wollte nicht nur „wild“ rumprobieren und rumprogrammieren, sondern wollte das möglichst auch verstehen was ich so treibe. Der entscheidende Teil des Gyros, indem auch das ganze Know-How steckt, ist der PID Regler, bzw. eine verallgemeinerte Variante davon, und Aufgabe ist es die richtige Controller-Struktur zu finden und die beste Anpassung. Also mussten Meßdaten her, und so habe ich mir kurzerhand einen Telemetrie-Gyrotester gebaut. Das war einfach weil ich hierbei Code und Zeugl von meiner 450er-Telemetrie benutzen konnte. Als Messaufnehmer fungiert einfach ein weiterer GA250, an dem ich ein RFM02 Funkmodul angeschlossen habe. Als Empfänger dient mein Telemetrie-Empfänger, der passend umprogrammiert wurde. Damit kann ich während des Flugs die Gyro-, Rudder-, und Servo-Signale messen, welche alle 20 ms zusammen mit einem Zeitstempel mit 1 ms Auflösung an den Telemetrie-Empfänger gesendet und von dort an den PC weitergegeben werden. Zuerst hatte ich mit 100 ms gearbeitet, aber das reicht nicht aus. 20 ms gehen ganz gut, obwohl Schneller schon noch besser wäre, aber da müsste man sich deutlich Mühe geben um die Daten so schnell über den Äther zu schaufeln.

ga250 gyrotester transmitter olliwga250 gyrotester reciever olliw

Mein Test-Heli
Damit hat man eigentlich alles Nötige zusammen, was natürlich noch fehlt ist eine Heli. Jetzt wollte ich aber nicht meinen schönen geliebten TRex Sport dazu auseinanderreißen, der soll immer flughfähig bereit stehen… daher habe ich meinen eingemotteten CopterX wieder ausgemottet. Tatsächlich hat der Heli mit einem CopterX nicht mehr viel gemein, es ist ein Mischmasch aus CopterX V2, HK 450 Pro, und Align Teilen.

Vielleicht relevant: Regler Robbe Roxxy 950-6 mit Governor an, Motor Hobbymate HB2835 3800 kV, Ritzel 13er. Die Drehzahl ist ca. 2900-3000 U/min für idle down und ca. 3200-3300 U/min für idle up, aber so genau kann man das in den Tests nicht sagen, da sich die Lipospannung ändert und ich die Drehzahl nicht mit aufzeichen kann.

ga250 cpgyro testheli olliwga250 cpgyro testheli with progbox olliw


Grundsätzliche Überlegungen

Ich habe mit der Gyrotester-Telemetrie recht umfangreiche Testflüge gemacht. Die Ergebnisse sowie meine grundsätzlichen Überlegungen zum Gyro als Regler habe ich hier

Der Heli-Gyro als Regler: Theorie und Experiment (noch nicht vollständig)

vorgestellt, sowie in einem Thread bei RCGgroups, The Heli Gyro as a Controller: Theory and Experiment.


Basics zur Firmware

Ich habe mich bei meinem Design der Firmware sehr bemüht, das Maximale aus der Hardware herauszuholen. Dazu sollte man sich aber zunächst klar werden was das meint.

Was der GA250 kann, und was er nicht kann
Der GA250 wird in seiner Leistungsfähigkeit nie an die (meisten) teuren Gyros (und FBL-Systeme) herankommen, einfach wegen der verwendeten Hardware. Leider konnte ich keine guten Bilder vom Inneren teurer Gyros/FBL-Systeme im Netz finden, aber die die ich gefunden haben deuten an, dass z.B. nicht die ITG320?/IS?-Gyrofamilie verwendet wird, sondern die teureren Analog Devices Gyros (man sieht of BGA Gehäuse). Schaut man sich auf deren Webseite um, dann kommen da für einen Heli gar nicht so Viele von in Frage, aber eines scheint sichtbar zu sein, die Bandbreite dieser Gyros ist über 1 kHz, während die des im GA250 verwendeten ISZ650 Sensors mit 140 Hz angegeben ist. (EDIT: Ich bin mir nicht sicher ob das Analog-Devices-Bandbreiten-Argument zutrifft, Ich habe im Netz nun auch eine Aussage gefunden dass im GY410 ein anderer Sensor mit erheblich weniger Bandbreite benutzt wird). Zudem wird typischerweise auch ein „besserer“ Mikrokontroller verwendet, der z.B. 12 bit Auflösung des ADC bietet. Es gibt also doch einen Grund warum die teureren Gyros teurer sind. Aber nun zu der guten Nachricht, für die wirklichen Ultra-Hardcore-Heliflieger könnte es zutreffen, dass der GA250 z.B. nicht ausreichend schnell ist, aber soweit ich das sehe ist er für alle Anderen bei Weitem ausreichend! Jedenfalls, diese Zahl, eine Bandbreite von 140 Hz, entsprechend einer Zeitkonstante von 1.1 ms, merken wir uns.

Ich habe mich wie gesagt bemüht das Maximale aus dem GA250 herauszuholen, das betrifft vier Punkte:

ADC Wandler
Ich lasse den ADC Wandler im free running mode mit maximaler Samplingrate laufen, und schicke alle ADC-Werte durch einen Tiefpass-Filter. Die Überlegung ist zum Einen dem Aliasing-Problem möglichst gut zu begegnen. Jeder kennt diesen Effekt, und seine Bedeutung, er wird aber komischerweise anscheinend wenig ernst genommen. Die Samplingzeit ist 104 us, d.h., die Samplingfrequenz beträgt 9.6 kHz. Der anschliessende Tiefpass „mittelt“ über 16 Werte, so dass sich eine Zeitkonstante von 1.66 ms entsprechend einer Bandbreite von 96 Hz ergibt. Das ist nun etwas kleiner als die 140 Hz vom Gyrosensor, da verschenke ich im Moment also ein bischen. Für die ersten Versuche denke ich macht das nichts aus, und es wäre ja auch schnell gemacht nur über 8 Werte zu „mitteln“ (0.83 ms, 190 Hz). Das werde ich bei Gelegenheit noch genau testen ob das einen Unterschied macht. Der Sinn der Mittelung ist es natürlich ein möglichst rauschfreies Signal zu bekommen. Der Filter hilft aber auch beim Antialiasing. Und zuletzt kann er auch als Decimation begriffen werden, so dass sich die Auflöung des ADC-Wandlers auf effektiv 11.5 Bit verbessert. Bei der Implementierung muss man, da der ADC-Interupthandler alle 104 us oder alle 832 Taktzyklen aufgerufen wird und der Filter im Interrupt laufen muss, gut darauf achten effektiv zu programmieren um den Interrupthandler kurz zu halten. Bei mir sind’s zur Zeit maximal 5 us.

Regler Zeitschritte
Ganz ähnlich wie bei der ADC Abtastung kommt es auch beim Regler auf die „Abtastrate“ an. Die Regel ist einfach, so schnell wie möglich, was in der Praxis etwa 20 mal schneller als die Responsezeit des zu regelnden Systems bedeutet. Für einen 450er Heli sind das größenordnungsmäßig so 100 ms, d.h., der Regler sollte mit Zeitschritten von wenigen ms arbeiten. Bei einem reinen P-Regler wäre es ausreichend den Regler mit der Frequenz des Servosignals laufen zu lassen, also z.B. mit 3 ms bei einem 333 Hz Servo, aber wir wollen uns ja nicht auf einen P-Regler einschränken. Bei mir läuft die Regelung im 1 ms Takt. Vielleicht gingen noch 0.5 ms, werde ich bei Gelegenheit mal testen, aber das wird dann schon ganz schön knapp und mehr ist nicht drinnen, d.h., die 1 ms sind IMHO schon ganz gut.

Gain Signal Verarbeitung
Das Einlesen des Ruddersignals stellt keine große Herausforderung dar, da hierfür der ICP-Kanal genommen wird, und sich so „automatisch“ korrekte Messungen für die Rudderimpulslänge ergeben. Das ist aber beim Gain-Signal nicht so. Das wird über den INT0-Interrupt eingelesen, und die Zeitmessung hat daher einen Jitter. Ich habe mir nun viel Mühe gemacht diesen Jitter zu minimieren und möglichst auszublenden. Die Überlegung ist wieder einfach, der Gain-Wert wird im PID Regler verwendet, und wenn der Gainwert wackelt dann wackelt auch das Regler-Signal, und der ganze Aufwand möglichst gute Gyro- und Rudderwerte zu bekommen wäre zunichte gemacht, denn das wirkt sich genauso aus wie Noise. Für den Jitter sind die andere Interrupts verantwortlich, wobei hier allen voran der ADC Interrupt zu nennen ist, der ja wirklich oft aufgerufen wird. Wenn man da nicht aufpasst, bekommt man leicht einen Jitter von 10-20 us (ich habe 15 us gemessen). Durch „Aufpassen“ konnte ich den Jitter auf wenige us bekommen. Zusätzlich habe ich noch eine etwas kompliziertere Filter-artige Weiterverarbeitung des Gain-Werts eingebaut (average + threshhold). Vereinfacht gesagt werden nun nur beabsichtigte Änderungen im Gain-Wert die größer als +-2% sind durchgelassen. Damit ist das Gain-Signal immer perfekt stabil und bringt kein eigenes Rauschen ein. Das bedeutet aber auch, dass man den Gain-Wert nicht in kleinen Schritten ändern sollte. Ist aber kein Problem, einfach kurz den Gain-Switch am Sender einmal hin-und-her geflipt und schon passt’s.

Sicherheit
Viel Mühe ging auch in Sicherheit, der Heli soll ja nicht wegen dem Gyro abstürzen. Bei einem Heli-Gyro kann man da nicht viel machen, ausser dafür zu sorgen dass ein Failsafe erkannt wird und das Servo auf Mitte gestellt wird. Aber das ist auch schon etwas. Während ich glaube die obigen beiden Punkte schon ganz gut gelöst zu haben, kann man in Punkto Sicherheit immer noch Verbesserungen finden, diesbezgl. will ich also nicht behaupten bereits das Maximum realisiert zu haben. Was ich z.B. noch machen will ist den Watchdog mitzubenutzen. Dann können auch kurze Spannungseinbrüche verkraftet werden. Kommt aber erst noch.


Aktuelle Firm- und Software

2. Dezember 2012, v20121202
Firmware für GA250 Version v0.16:

  • Ga250_Cp_Gyro_Firmware_v016.hex oder mit Bootloader integriert:
    Ga250_Cp_Gyro_Firmware_v016_wbootloader_blackservoplug.hex

Bootloader für GA250:

  • BL_4GA250CpGyro_BlackServoPlug.hex oder BL_4GA250CpGyro_RedGainPlug.hex

Windows GUI AvrConfig Version v0.18:

  • AvrConfig.exe, AvrConfig.ini, AvrConfig.tls, GA250-Cp-Gyro-v016.dev

Firmware für Programmierboxen Version v0.14c:

  • ProgBox_v014c_RobbeBox_m88pa.hex oder ProgBox_v014c_RobbeBox_m88pa_wbootloader.hex
  • ProgBox_v014c_RobbeBox_m88.hex
  • ProgBox_v014c_TurnigyDLuxBox_b000_m8_8mhz.hex oder
    ProgBox_v014c_TurnigyDLuxBox_b000_m8_8mhz_wbootloader.hex
  • ProgBox_v014c_TurnigyDLuxBox_b002_m8_16mhz.hex oder
    ProgBox_v014c_TurnigyDLuxBox_b002_m8_16mhz_wbootloader.hex
  • ProgBox_v014c_ArduinoShield_m328p16mhz.hex

Bootloader für Programmierboxen:

  • BL_4RobbeBox_m88PA.hex
  • BL_4RobbeBox_m88.hex
  • BL_4TurnigyDLuxBox_b001_m8_8mhz.hex
  • BL_4TurnigyDLuxBox_b002_m8_16mhz.hex

Weitere Zusatzprogramme:

  • Windows Program AvrBurnTool Version v0.03: AvrBurnTool_v003.exe, AvrBurnTool.ini, AvrBurnTool4v003.dev
  • Windows Program AVRootloader (by Hagen): AVRootloader.exe, AVRootloader.ini, AVRootloader.dev
  • avrdude.exe, avrdude.conf, FT_PROG.exe, FTD2XX_NET.dll

Alles zusammen als zip File: GA250 gyro firmware & software package v20121202 [.zip]

Terms of usage: The softwares/firmwares are NOT FREE. You may use it gratis and freely for private purposes only. You may not distribute it publicly or include it in distributions; use links to this page. Furthermore, it is strictly forbidden to use the work in full or in parts in any manner that is intended for or directed toward commercial advantage or private monetary compensation, except you have a written agreement by the author.

„Features“ in v20121202:
– Unterstützung der Turnigy DLux Box mit Board-002
– Windowsprogram AvrBurnTool nun beigefügt

„Features“ in v20121125:
– Unterstützung der Turnigy DLux Box und des Arduino Uno + LCD Shields als Programmierboxen

„Features“ in v0.16:
– das wichtigste neue Feature: Die Parameter DebounceCCW/CW. Damit lassen sich perfekte Pirostops im Headinghold-Modus erreichen. Die „alten“ De-/Acceleration Parameter sind noch vorhanden, aber sollten nicht mehr benutzt bzw. benötigt werden.
– die Windows GUI wurde überarbeitet, und bietet die mittlerweile doch vielen Parameter, von denen die Meisten nie gebraucht werden, übersichtlicher in Tabs an.
– Gain Input Function bietet nun zusätzlich die Option „pitch“. In dieser Einstellung wird das Signal am Gaineingang als Pitch/Throttle interpretiert, und kann mit den Parametern Pitch Mix und Pitch Zero dem Servosignal zugemischt werden. Dies erlaubt eine Drehmomentkompensation (DMA), wie sie bei CP wie auch FP Helis nützlich ist (Feature in der Praxis noch nicht getestet).
– Die Reglerstruktur kann geändert werden, so dass das Verhalten dem von kommerziellen Gyros entspricht („classic“ und „fixed wing“) und z.B. für fixed wings besser geeignet ist (Feature in der Praxis noch nicht getestet).

„Features“ in v0.15:
– der Parameter I Dead Band wurde geändert, als Resultat funktioniert das Heading Hold nun noch BESSER! I Dead Band sollte immer =1 bleiben können.
– es wurde der neue Parameter Gain Input Function eingeführt, mit dem eingestellt werden kann was mit dem Signal am Gain-Anschluss anzustellen ist. Die Einstellung Gyro Mode = by gain entfällt, dies entspricht nun Gain Input Function = set gain & mode.
– es gibt eine Diagnose-Möglichkeit, um einige wichtige interne Settings im GA250 auszulesen
– die Firmwarestruktur wurde intern etwas vereinfacht und auf zukünftige Möglichkeiten vorbereitet

„Features“ in v0.14:
– Bug in Gyro Orientation beseitigt (Danke an Holger!)
– erweiterte und verbesserte Rudder Mitten und Rudder Deadband Behandlung
– die Wirkung von Gain wurde verdoppelt, die Wirkung von PID I halbiert.
– mit 10 Sekunden Rudder ganz links kommt man nun jederzeit in den Programmiermodus, das vereinfacht/beschleunigt die Parameter Einstellerei erheblich

Firmware Repository:
Firmware v0.16 als zip File: olliw-ga250-cp-gyro-v016-v014b-v018-2012-03-07.zip
Firmware v0.15 als zip File: olliw-ga250-cp-gyro-v015-v014b-v017-2012-02-05.zip
Firmware v0.14 als zip File: olliw-ga250-cp-gyro-v014-v014b-v015-2011-12-30.zip


„Leistungsschau“

Das mit dem Filmen hat nicht ganz so geklappt wie ich mir das dachte, es war kalt, der Heli hatte sich irgendwie besonders „kraftlos“ angefühlt, die Pirouetten am Angang habe ich nicht gescheit hinbekommen, der Speicher in der Kamera war plötzlich voll… etc pp… aber ich möchte Euch das Ergebnis nicht vorenthalten… mit der Bitte die schlechte Qualität zu verzeihen.

Bei den Pirouetten am Anfang habe ich zwischen Heading-hold und Rate-Mode hin-und-her gewechselt… wer sieht wann welcher Mode benutzt wurde? (man kann es sehen, aber dieses „Suchspiel“ soll demonstrieren dass der implementierte Regler im HH-Mode ganz gut funktioniert)


Externe Beiträge

Holger’s Anleitung Idiot’s Guide to Olliw’s GA250 Firmware [.pdf]
TAUSEND Dank Holger!

Deutsche Übersetzungen von Mick Steidl, mit Ergänzungen
OlliW’s Firmware-Projekt für den Assan GA250 Gyro: Eine Bauanleitung für Anfänger [.pdf]
OlliWs alternative Firmware für den Assan GA250 Gyro, v0.16 [.pdf]
TAUSEND Dank Mick!


82 Kommentare

  1. Andreas Heyer sagt:

    Mit einem Arduino (Nano) gibt es heute eine günstigere und vielseitigere Möglichkeit zum Flashen von Mikrokontrollern und als USB-Seriell-Brücke. Man benötigt keine „Spezial“-Tools wie einen (Fake-)FTDI und einen AVRASP. Ich habe meine Erfahrungen beim Umflashen des GA-250 nur mit einem Arduino Nano unter https://www.rc-heli.de/board/showpost.php?p=3107646&postcount=382 zusammengefasst.

    • OlliW sagt:

      interessant
      Danke für’s posten

    • Andreas Heyer sagt:

      Danke für die Firmware! Leider finde ich die Sourcen nicht, so dass ich nicht die AVRRootloader-Config von BLHeli mit deiner vergleichen kann. Jedenfalls kann man mit dem Arduino-Sketch für das 1-Wire-Interface von BLHeli nicht auch am Gyro mit nur einem Pin auskommen. Das wäre das I-Tüpfelchen, wenn man den Gyro genauso wie einen BLHeli-ESC nur über den am Arduino eingesteckten Servostecker einstellen könnte. Nun gut, mit der Brücke geht es auch, aber eben nicht so elegant. 🙂

    • OlliW sagt:

      das ist kein open source project
      das geht problemlos mit Arduino, habe ich schon alles gemacht, aber dazu muss halt auch die Arduino seite passen, d.h. du brauchst den passenden avrootloader und eher die sourcen von blheli, und nicht umgekehrt, die firmware selber ist ganz sicher nicht das problem

  2. suresh10250 sagt:

    This is a phenomenon which I noted late. For field programming I use the modified Turnigy Aquastar programmer. After several adjustments were made using it, the function of the gyro would become sort of erratic. Re-Connecting the gyro to PC thru FT232RL adapter and rewriting the existing settings would correct the erratic behavior. It happened on all four GA250 gyros that I have re-flashed with your firmware. I wonder whether you have any reports on same situation? I have three clone Trex 450’s and one HK500GT fitted with modified GA250’s.

  3. suresh10250 sagt:

    Hi OlliW,
    Sorry for very late comment. Now I have three 450 Clones (SEv1 / SEv2 / Sport v3) all with re-flashed GA250 Gyros. Rock steady tails with HK9257 & HK15158A (supposed to be digital) Servos from HobbyKing. Setups are default except End Point settings and PID-I @ 8. Servo types set at 1520us 55Hz. Higher frequancy settings would increase heat build on these clone servos. Actually both tail servos (at 250Hz) on SEv2 & SportV3 failed few inches above the ground few minutes apart and with no damages to helicopters. Replaced the servos and switched to 55Hz on all three and no heat build now. Very happy and highly impressed including my fellow flyers who first thought that I am using high end gyros.
    Best Regards,
    suresh10250 (from Sri Lanka)

  4. Thomas sagt:

    Hallo
    Ich habe mich in den letzten Tagen mal am GA-250 Firmware Projekt versucht.
    Der Setup ist echt „Große Klasse“.
    Ich habe Bootloader und Firmware an Gyro und ProgBox (Aquastar) mit AVRBurn_Tool aufgespielt.
    Leider konnte ich den Gyro über FT232 Adapter im AVRootloader am Com nicht laden. Schnittstelle und FTDI Adapter waren i.o., glaube ich.

    Viele Grüße
    Thomas

    • OlliW sagt:

      Hallo Thomas,
      ich nehmen mal an dass du die Anleitungen genau studiert hast
      da dass ja doch ein viel-schrittiger Aufbau ist, ist es sehr schwer irgendetwas konkretes zu deinem Problem zu sagen… bei Jedem einzelnen Schritt kann irgendetwas schief gegangen sein… und in 99.9% der Fälle ist’s etwas fürchterlich Triviales
      Fragen (ja/nein):
      1) Die Progbox funktioniert, d.h., wenn du die Progbox an den Gyro anschliesst, klappt die Verbindung und du kannst den Gyro konfigurieren?
      2) Du hast Beidesmal die Hex Dateien mit „_wbootloader“ gebrannt?
      3) Woher weisst du definitiv dass das Brennen der HEx-Files geklappt hat?
      4) Der Text ist nicht ganz eindeutig, die ProgBox kannst du mit FT2323+AVRootloader ansprechen, aber den Gyro nicht? Oder kannst du Beides nicht mit AVRootloader ansprechen?
      Olli

    • Thomas sagt:

      Hallo
      1. Ich kann progbox und gyro verbinden und den gyro programmieren.
      2. Gyro ..Zuerst habe ich den bootloader dann die Firmware geladen …. Probox habe hexfile ..wBootloader geladen
      3. Kann ich im Moment nicht sagen. Ich will in den nächsten Tagen prüfen, ob der gyro funktioniert.
      4. Ich konnte weder Gyro noch ProgBox mit FT232 und AVRootloader verbinden.
      Gruß
      Thomas

    • OlliW sagt:

      1. Sehr gut! Dann klappt das also schon mal.
      2. Das verstehe ich nicht. Erst Bootloader und dann Firmware… dann wird der Bootloader überschrieben! Also, entweder (a) erst Bootloader mit ISP und dann Firmware mit AVRootool oder (b) gleich Firmware+Bootloader mit ISP.
      3. Ist durch 1. beantwortet
      4. OK, dann ist da der Fehler… die typischen Fehler: FT232 Tx/Rx mit FTPROG invertiert? Schaltung am FT232 richtig, nicht evtl Rx/Tx vertauscht? Das mit dem Reset bei AVRootloader richtog gemacht?
      Olli

  5. Andi G. sagt:

    Hallo OlliW
    Mein GA250 hat endlich eine vernünftige Firmware erhalten und verrichtet seinen Dienst nun auf meinem HK250-GT.
    Geflash habe ich mit dem „mySmartUSB light“ und das ging problemlos (wenn denn mal die Lötstellen zum ISP halten). Mit der Kommunikation mit dem AvrConfig brauchte ich etwas mehr Geduld. Erst als ich die beiden Dioden weg lies (wie auch auf der Seite von Hagen beschrieben), konnte ich den Gyro über meine uralte, USB-freie, echte serielle RS232 Schnittstelle ansprechen. Jetzt funktioniert alles sensationell. Bin von der Performance des Gyros echt begeistert. Als nächstes wird für den Feldeinsatz noch eine Programmierbox geflasht.
    Übrigens konnte ich die Original-Firmware auslesen. Allerdings begreife ich nicht, weshalb die jemand wieder zurückladen will…

    Noch eine Verständnisfrage: Hat das Zurückschwingen des Hecks mit PI-Reglers mit dem „wind-up-Effekt“ zu tun?

    Gruss,
    Andi

    • OlliW sagt:

      Hey Andi,
      na, freut mich ja dass das bei dir (auch) so gut klappt! Und nett das du das hier postest.
      Hast du geprüft ob das wirklich eine sinnvolle Firmware ist? Man kann nämlich durchaus was auslesen… aber wenn man sich das genauer ansieht, entpuppt sich das als unsinniger „Code“
      Nein, das Zurückschwingen hat nichts mit Windup zu tun (dem habe ich natürlich vorgebeugt), dass ist Prinzip-bedingt… ich habe dazu etwas in einem der Manuals geschrieben, und wenn du es ganz genau wissen willst gibt es nen Artikel dazu (http://www.olliw.eu/2011/gyro-theory-experiment/).
      Viel Spass noch,
      Olli

  6. Marco Camargos sagt:

    Hello, congratulations, I like your project, it is possible to return to the original firmware? In AVRCONFIG, which configuration to start with a HK500GT? I use DS525M.

    • OlliW sagt:

      Hey Marco,
      no, you can’t return to the original firmware.
      As regards settings, you can visit the posts of those listed under „Nachbauer“ and see if some had a 500er and posted their settings (I can’t recall). Anyway, you will have to adjust the settings for optimal results. I do think however that the defalt settings should be OK to start with.
      Have fun, Olli

  7. suresh10250 sagt:

    I noticed that the tail servo does not operate immediatly after writing a parameter change and it seems to be a known issue. After leaving for about 5-10min. with Lipo disconnected it works normally on reconnection of power. No glitches of whatsoever afterwards. Still my 450 Clone is under testing and I feel I am getting closer to optimal values. What I fear is I made the Bootloader cable without the 1N4148 Zener Diode (100 ohm Resistor only) since I refered to the Idiot’s Guide which did not define the requirement of the diode. I missed your warning paragraph at your site. Now I soldered the diode, I will reload v16 hex file again and try. My test heli is a 450SE V1 clone from Leadershobby (yes…the US$10 heli…lol). It flies ok with GA250 in original format and want see a performance increase with OW Firmware. I will post the outcome after the reload with diode on.

    My setup is as below.
    Leadershobby 40A ESC with Hobbywing Firmware
    FMT108 3800KV BL Motor with 11T Pinon
    Hobbyking HK15178 Analog CCPM Servos 10g/1.4kg/0.09s
    Gotek/Hobbyking HKS-9257 High Speed Digital Tail Servo 4.5kg/25g/0.07sec
    Assan GA250 Gyro (now GA250-OW)
    Standard 325mm Fiber Glass Main Blades
    Stock Plastic Tail Rotor Blades
    Standard 450SE V1 Fiber Glass Frame
    V1 Plastic Main Rotor Head & Tail Rotor Assembly

    This is a very interesting project which will impress my fellow fliers if it works right. By the way I am from Sri Lanka.

    Best Regards,
    suresh10250

    • OlliW sagt:

      „I noticed that the tail servo does not operate immediatly after writing a parameter change and it seems to be a known issue. After leaving for about 5-10min. with Lipo disconnected it works normally on reconnection of power.“

      well, this is a known issue if it happens very sporadically… if it happens essentially everytime you update the parameters, then this doesn’t sound too well…
      unfortunately no one could identify the reason for this problem so far, I suspect that it depends on the quality of the soldering of the gyro chip (the gyro chip expects high impedance at some pins). If the problem happens regularly I guess I rather would grab another GA250 and would put this one into the bin… it’s no good feeling to see your heli crash because of a dude gyro.

    • suresh10250 sagt:

      Hi OlliW.
      Thanks for the quick feedback.
      Could this situation happen if you flash the firmware without the zener diode in bootloader cable as I did? Any reports from other users? My gyro is with delay function in original firmware, delivered to me by HK about 10 days back, so it must be the most recent 3V type which need the diode on bootloader. Could it damage the gyro permanantly if you flash without the diode causing this issue? If you have or know the answer please come out with it. It’s a case of $10 Gyro on a $10 heli……lol.
      Anyway I will reflash the gyro with diode soldered and let you know the outcome.
      My gyro is brand new but untested and just out of the box before I flashed with your firmware. May be it was just faulty. Now it is too late to find out. If the reflashing does not work, I will discard it and try with the original working GA250 (this one too is with delay function) I removed from the heli before fitting the modified one. But it may take few days to report back.
      Best Regards,
      suresh10250

    • OlliW sagt:

      The problem should not depend on using a diode or not, without a diode it may just happen that the flashing doesn’t work properly, but this you will recognize easily by totally different issues.
      Then the problem occurs, what actually (seems to) happens is that the gyro doesn’t report a measured value but just overflow, and as a result the gyro doesn’t initialize because it waits at startup for reasonable signals, and that’s why the servo doesn’t start working, because the gyro hasn’t yet finished initialization… Unfortunately that’s all I know about this issue so far. No hidden secrets here…
      With an original GA250 you may not notice this problem, because the original GA250 doesn’t have the option to set parameters via external devices. I was always wondering that the initialization issues some reported for the original GA250 are in fact exactly the same problem, but of course no proof yet.
      The alternative firmware, I am sure, does work. The problem you mentioned is, unfortunately, not under my control, I think it is some production issue.
      Cheers Olli

    • suresh10250 sagt:

      Hi OlliW,
      I reflashed the gyro with diode soldered and it solved the issue, but I feel the problem was something else nothing to do with the diode. This is how it went.
      First I flashed v16 Hex file with “Erase device during programming” & “Open protocol window after processing” options in AVRootloader enabled. Same problem. Gyro works after wait of 5-10 min. (I enabled this option in previous flash attempts too and had the issue).
      For second time I flashed v16 Hex file without enabling “Erase device during programming” & “Open protocol window after processing” options in AVRootloader. Gyro worked immediately after writing parameters.
      Both times I kept the Radio Tx ON with motor wires disconnected. Previously I tried with Tx ON and OFF while flashing but without any success getting it work immediatly.
      I feel this was the cause for me but I do not know whether it is same for other users.

      Also I noted the same old custom settings were shown in gyro after reading the setup inside gyro on AVRConfig immediately after reflashing. Anyway I reloaded default values and changed back to my custom settings again. Is it normal? Does any *.ini file retain previous setting? I am just inquisitive only.

      My radio is Turnigy 9x with original V2 firmware and the receiver is HobbyKing 6Ch V2 which is same as FlySky. I am not using the original 8Ch receiver that came with the Tx.

      I hope this helps someone with same issue and shall report back after a proper outdoor flight when whether allows. I did the basic hovering test in my garage with a training kit fitted, just in case……
      Best Regards,
      Suresh10250

  8. David sagt:

    Hallo,
    ich komme irgendwie nicht mehr weiter….
    Ich habe den Bootloader erfolgreich aufgespielt.
    Allerding macht der Ga 250 beim aufspielen der Firmware Probleme:
    Ich habe die Signale invertiert, nur der Rootloader lässt sich nicht resetten.
    Ich habe den Servo und Gaistecker im Empfänger, stecke nach Erscheinen der Reset Aufforderung den Akku an und es passiert….. nix….
    Ich habe alle Schritte zigmal Wiederholt.. er stockt beim Resetten.
    Was könnte das sein?
    Grüße
    David

    • OlliW sagt:

      Hallo David,
      Die Anleitung(en), sowie die Kommentare unten hast du sorgfältig gelesen? Ist vermutlich nur ein Schreibfehler, die Rudder und Gainstecker gehören in den Empfänger, der Servo-Stecker gehört an den USB-Programieradapter. Von so weit weg mit nur Teilinfos lässt sich ansonsten leider schwer sagen was genau schief läuft. Dazu wäre es am Betsen wenn du in ein Forum wechseln könntest, denn dort kann man Dinge wie Screenshots hochladen, die sich in der Vergangenheit als DAS Mittel bewährt haben um Fehler aufzuspüren.
      Olli

    • David sagt:

      Hallo,
      Danke schonmal für die Antwort.
      Die Stecker habe ich richtig angeschlossen. Ich konnte ja auch den Bootloader flashen.
      Was mich verunsichert ist, dass in der englischen Anleitung ohne Diode gearbeitet wird…

    • OlliW sagt:

      „Die Stecker habe ich richtig angeschlossen. Ich konnte ja auch den Bootloader flashen.“ ähm, zwischen diesen zwei Dingen besteht kein kausaler Zusammenhang… 🙂
      Die Diode macht die Sache nur besser, auf keinen Fall schlechter (ausser natürlich man baut sie falsch ein)… sie wurde nötig nachdem die Spanung beim GA250 von 3.3V auf 3.0V verändert worden ist, daher ist sie in der „alten“ Anleitung nicht vorhanden, weil es da noch die GA’s mit 3.3V waren. Also, kein Grund zur Verunsicherung. Diode dran und gut ist.
      Ansonsten würde man, denke ich, nur weiterkommen mit einem Foto von deinem Aufbau, sowie einem Screenshot vom Protocol-Tab des AvrRootloaders

  9. jggkin sagt:

    hello olliw.
    i’ve just modded my ga250 with 0.15 firmware that is the only i can access at this time.
    I create my usb ttl simplified, just only with RX-TX 100 ohm, +5v and gnd and works fine. Just need to click connect on avrtool and then plug to the servo output.
    The gyro is working fine with an Assan x8r6m receiver with futaba 9zap wc2.

    Thanks for all your work. What are the new improvements in 0.16 version?
    Thanks again.

    • OlliW sagt:

      hey jggkin
      I was on vaccation and didn‘ had inet access and couldn’t open your account, downloading v016 should work now. The major improvement of v016 over v015 is a special debounce mechanism for heli copters.
      have fun, Olli

  10. Bernd sagt:

    Hallo Olli,

    vorab ein gutes neues Jahr.

    Als ich den Gyro Ende Nov. wie angekündigt testen wollte, hat er nicht mehr funktioniert. Habe mich jetzt erst Anfang des Jahres wieder damit beschäftigen können. Das Problem war ein Wackelkontakt am +Kabel im Gain Stecker (die waren alle ziemlich schlampig befestigt), ist zwar trivial, hat aber trotzdem einige Zeit gebraucht, das zu finden. Damit ist vielleicht auch das seltsame Verhalten (s.o.) zu erklären. Allerdings ist dieser Gyro nicht 100% i.O., teilweise muss ich ihn öfter anstecken, bis er initialisiert. Möglicherweise noch ein weiteres Kontaktproblem, welches ich noch nicht lokalisieren konnte.
    Jedenfalls habe ich den Gyro trotzdem jetzt mit der neuen Firmware testen können. Das war auf Anhieb sehr positiv, obwohl der Testheli (HBK2) am Heck nicht unproblematisch ist, ich kann mit der Gyrosens nicht weit hochgehen. Trotzdem geht er mit der neuen FW deutlich besser, ich hatte vorher (mit Original-FW) immer leichtes Driften, das ist jetzt weg. Die Einstellung müsste natürlich noch optimiert werden.
    Zwischenzeitlich hatte ich mir auch eine gebr. Progbox besorgt und die Firmware geflasht. Damit lässt sich der Gyro wirklich super einstellen.
    Den 2. Gyro werde ich jetzt auch mit deiner Firmware versehen, der kommt demnächst in einen 4G6. Werde dann nochmal berichten. Den werde ich allerding über den Gain-Stecker einstellbar machen, der Progbox ist das doch egal, oder? Da gibt es ja keine unterschiedlichen FWs.
    In die Liste der Nutzer kannst du mich jedenfalls aufnehmen.

    Viele Grüße
    Bernd

    • OlliW sagt:

      Hallo Bernd,
      schön das du mit dem GA250 weiter kommst und es schon mal ganz vernünftig funktioniert!
      Eigentlich finde ich die Herstellungsqualität, für den Preis, überraschend gut… hoffentlich sind/bleiben deine Probleme eher die Ausnahme.
      Mit dem niedrigen Gain wundert mich ein bischen, denn der HBK und 450er sind ja in der Größe nicht sooo unterschiedlich. Kann es am Heckservo liegen? Ein gutes Heckservo ist meiner Überzeugung nach die allerbeste Investition ins Heck (was das Heckservo nicht kann, kann auch der beste Gyro nicht herzaubern). Welche Frequenz nimmst du? 250 Hz sollten es mindestens sein, das macht wirklich einiges gegenüber 50-70Hz aus.
      Der Progbox ist es egal ob du Servo- oder Gain-Stecker als Programmierport benutzt (musst natürlich die Progbox dann auch ans Gain anschliessen, da ergibt sich allerdings ein Problemchen mit deren Spannungsversorgung, wie oben beschrieben)
      Viel Glück und Spass weiterhin, Olli

    • Bernd sagt:

      Hallo Olli,

      bei dem HBK2 ist das nicht tragisch, ist nur der Versuchsheli, mit dem fliege ich nicht wirklich, eben zum Testen von Komponenten.
      Ich denke, es liegt an der Mechanik, ich habe auch leichte Vibs, die ich noch nicht beseitigen konnte, will aber auch nicht viel Zeit reinstecken. Zum Testen funktioniert es, also den Zweck erfüllt der Heli.
      Servo ist ein MKS DS 480 digital (könnte natürlich höhere Frequenzen), ich hatte 50 Hz eingestellt um das Servo zu schonen. Dein Hinweis ist aber gut, werde es dann mal mit höherer Frequenz probieren. Dann sehe ich auch gleich den Einfluss.
      Für die Progbox habe ich ein Kabel mit Spannungsversorgung, ist also kein Problem bei Nutzung des Gain-Steckers.
      Heute habe ich den 2. Gyro geflasht, Bootloader für Gain-Stecker und mit AVRootloader über den Gain-Stecker die Firmware. Hat alles problemlos funktioniert.
      Aber bei folgendem Problem brauche ich bitte noch Deine Hilfe: Das Einstellen der Parameter über AVRConfig funktioniert dann auch über den Gain-Stecker. Die Progbox hat aber „not connectet“ angezeigt. Ich habe dann die Progbox mal an den Servostecker angeschlossen und konnte dann die Parameter einstellen. Wie kann das sein? Schau doch bitte mal in der Software der Progbox nach, ob das auch wirklich für Gain funktioniert.
      Das wärs für heute.

      Viele Grüße und schonmal vielen Dank vorab.
      Bernd

    • OlliW sagt:

      Hallo Bernd,
      mea culpa… du hast natürlich recht, die ProgBox kommt weiterhin an den Servo Port… jetzt willst du das vermutlich geändert haben… muss ich mal sehen, denn ich habe die Firmware seit 10 Monaten nicht mehr angefasst (funktioniert halt ;)), mir schwant dunkel, dass es einen Grund gab das es nicht einfach mit nem Portwechsel getan war, versuche ich mir am WE mal anzusehen.
      Achja, das MKS DS 480… ich hatte das MKS DS 470 als mein erstes Heckservo… was soll man sagen…
      Cheers, Olli

    • Bernd sagt:

      Hallo Olli,

      da warst Du ja schnell mit Deiner Antwort.
      Ja, wäre super, wenn das mit der Progbox am Gain gehen würde. Grund ist, dass ich im 4G6 damit die Verkabelung günstiger hinbekomme und eine Steckverbindung spare.
      So ganz verstehe ich Funktion bzw. Verbindung mit dem Gyro beim Parameter-Einstellen noch nicht. AVRConfig funktioniert nur an dem Anschluss, den man mit dem Bootloader vorbereitet hat und an dem die Firmware geflasht wird. Der Progbox ist es dann egal? Könnte dann umgekehr bedeuten (vorausgesetzt Progbox geht dann auch am Gain-Stecker) man kann immer über den Servostecker flashen und mit der Progbox trotzdem auch den Gain-Stecker verwenden?

      Viele Grüße
      Bernd

    • OlliW sagt:

      2 x ja

Hinterlasse einen Kommentar