Über Graupner Hott RC-Sender WiiCopter PID Einstellungen ändern

Jochen222

Erfahrener Benutzer
#42
Habs gerade auf 2.1 angepasst. Ein kurzer Test auf meinem Schreibtisch hat funktioniert. Geflogen bin ich sie aber noch nicht, ich hab aktuell sehr wenig Zeit. Wenn Du diese verwendest und ein wenig geflogen bist, bin ich Dir fuer Rueckmeldungen jeder Art auch Anregungen was noch fehlen koennte sehr dankbar. Ich kann nicht garantieren, dass diese dann auch sehr zeitnah umgesetzt werden, aber es waere mir sicherlich ein Hilfe.
Hallo Oli,

super, dass Du Zeit gefunden hast den Code auf die 2.1 anzupassen.

Das ist die erste Version, die ich teste mit folgender Ausrüstung:
- DJI F450 Copter
- Crius All In One Pro V1.0 Board (Mega 2560)
- MTK3329 GPS direkt an der 2. seriellen Schnittstelle
- Hott GR-16 RX (3. serielle Schnittstelle des Boards mittels 1N4148 Diode verbunden)
- Hott MC-32 TX FW V1.034
- Spannungsmessung über Spannungsteiler an A0
- Codeanpassung zum Verwenden des Throttle Eingangs für Summensignal

Folgendes ist mir aufgefallen:
- Im Hott-Betrieb kippelt der Copter zyklisch, wenn ich in config.h die Hott Telemetrie auskommentiere ist das Kippeln weg
- Spannung wird korrekt angezeigt, Akkuwarnung kommt beim eingestellten Wert in der config.h
- PID Werte lassen sich ändern !!! super Sache !!!
- Debug Werte werden angezeigt
- Anzahl der Satteliten wird angezeigt, (durch Abdeckung des GPS Sensors mit der Hand getestet)
- Einstellungen verschwinden, wenn der Copter ARMED ist
- GPS Koordinaten werden falsch dargestellt, ändern sich aber (wenn GPS Sensor im Sender aktiv)
- Höhe, Richtung, Sinken/Fallen ändern sich nicht, stehen auf konstantem Wert (3m, 0,4m ??°)
- In der Debug Anzeige wird eine plausible Höhe angezeigt

Ich hoffe ich konnte Dir eine nützliche Rückmeldung geben.


Habe auch gleich noch Fragen:
- Ist es möglich Strom/Kapazität zu messen z.B. über einen ACS758 bzw. Shunt + OP? Sprich unterstützt das Dein Code?
- Es gibt mittlerweile für unter 10Eur ATMEGA328p Platinchen als GPS - Seriell Umsetzer für die MWC GPS Anbindung. Wäre es nicht Sinnvoll die HOTT Telemetrie darauf auszulagern und dieses Platinchen per I2C mit Daten zu füttern, dann hätte man das Problem nicht, ich glaube alle 2ms das HOTT Protokoll zu bedienen???

Grüße,
Jochen
 

oli

Neuer Benutzer
#43
Das kippeln kommt von der HoTT Implementierung, das liegt daran, dass die benoetigte Zeit einfach zu gross ist um die HoTT Daten zu uebermitteln und dadurch die Regelschleife negativ beeinflusst wird. Aus diesem Grund wollte ich die Version auch eigentlich nicht mehr auf die 2.1 anheben, da ich mit dem Ergebnis nicht zufrieden bin.

Die Einstellungen verschwinden gewollt wenn der QuadCopter scharfgeschalten wird, da ein Schreiben des EEPROMs mit neuen Werten nicht gerade ungefaehrlich ist und man das auch man ausversehen in der Luft triggern koennte.
Das mit den GPS Koordinaten werd ich mir bei Gelegenheit einmal anschauen, genauso auch Hoehe, Richtung etc. pp. kann sein, dass ich da falsche Werte uebertrage. Die Debug Anzeige verwendet als Hoehenangabe das Baro bei der Telemetrie wird GPS verwendet wenn ein Fix da ist, ansonsten Baro.

Strom bzw. Kapazitaetsmessung hab ich keine eingebaut, ich hab leider nicht den entsprechenden Sensor zum testen.
Und auf die letzte Frage kann ich nur hiermit: https://github.com/obayer/MultiHoTT-Module antworten. Das ist mein aktuelles Projekt. Dabei werden die Telemetriedaten ueber die serielle Schnittstelle angefragt und dann in einem eignen ATMega328p aufbereitet und in ein HoTT Frame gepackt. Das ist alles noch sehr am Anfang und soll sowohl fuer HoTT als auch Multiplex, in Standalone fuer Flaechenmodell als auch fuer die MultiWii funktionieren, aber ich sags gleich, das wird noch eine Weile dauern bis das soweit ist. Aktuell arbeite ich an der Standalone Implementierung fuer HoTT und wenn diese laeuft wird an der MultiWii weitergearbeitet.
 

oli

Neuer Benutzer
#44
Hallo Oli,

ist das noch aktuell:
https://github.com/obayer/MultiWii-HoTT/wiki/MultiWii-Meets-HoTT-(ATMega328)
???
Ich denke inzwischen übermittelst Du mehr!
Auch gibt es doch jetzt in der v4 auch was speziell für Kopter?!?!?!

Gruß
Carsten
Das ist nicht mehr auf dem aktuellsten Stand. Mittlerweile werden EAM, VARIO und GPS Modul unterstuetzt. Das ist notwendig um das Mikrokopter Telemetriemenue mit all seinen Daten die es benoetigt zu versorgen. EAM fuer die Spannung und Strom, VARIO fuer den Fehlercode und die aktuell aktivierte Aktion (bspw. RTH, PosHold, Stable etc. pp.) und GPS fuer Richtung und Entfernung nach Hause. Das geht zwar mehr oder minder gut, aber nicht zufriedenstellend, denn die HoTT Packete koennen nicht so schnell verschickt werden, wie diese angefragt werden, bzw. kann man das schon machen, wenn man moechte das der Copter wie ein Ei rumwabbert. Daher werden Telemetriedaten nur alle 2sek. geschickt, was dazu fuehrt, dass wenn ein Sensor nicht ordnungsgemaess antwortet, die Funke davon ausgeht, dass dieser nicht mehr existiert und alle entsprechenden Werte auf 0 setzt. Es ist leider nicht so perfekt wie ich das gerne haette, aber das koennte sich in Zukunft noch aendern. Manchmal hab ich mehr Zeit und Lust daran zu arbeiten, manchmal weniger. Im Moment ist das Wetter einfach zu schoen um die ganze Zeit nur vorm Rechner zu sitzen :)
 

Jochen222

Erfahrener Benutzer
#45
Ein Stromsensor mit Kapazitätsmessung wäre eine feine Sache, schau mal hier:

http://fpv-community.de/showthread.php?7384-Stromsensor-mit-Hall-Sensor
Ich hab meine dort bestellt: http://www.darisusgmbh.de/shop/index.php - gibts in allen Stromwerten und ist preislich ok.

Weiter Gedanke: Was spricht dagegen den Hott Code nicht per Define im Preprozessor ein/auszuschalten, sondern zur Laufzeit und die Hott-Telemetrie per z.B. Brücke auf einem freien IO-Pin zu aktivieren. Dann hätten wir zumindest die Möglichkeit per HOTT die (PID) Einstellungen vorzunehmen und zum Fliegen eine stabile Regelung zu haben.
 

oli

Neuer Benutzer
#46
Vielleicht bestell ich mir dann mal bei Gelegenheit so ein Teil. Danke fuer die Infos.
Die Telemetrie ist auch nicht per #define zum An- bzw. Abschalten gedacht, das ist nur fuer die Benutzer der MCUs die lediglich nur einen seriellen Port haben. Wenn die Telemetriesensoren in der Funke abgeschalten werden, wird das Flugverhalten des Copters auch nicht mehr beeinflusst, da keine Telemetriedaten mehr angefragt werden und somit auch keine HoTT Packete teuer erzeugt werden.
 

cGiesen

Erfahrener Benutzer
#47
Strom bzw. Kapazitaetsmessung hab ich keine eingebaut, ich hab leider nicht den entsprechenden Sensor zum testen.
Und auf die letzte Frage kann ich nur hiermit: https://github.com/obayer/MultiHoTT-Module antworten. Das ist mein aktuelles Projekt. Dabei werden die Telemetriedaten ueber die serielle Schnittstelle angefragt und dann in einem eignen ATMega328p aufbereitet und in ein HoTT Frame gepackt. Das ist alles noch sehr am Anfang und soll sowohl fuer HoTT als auch Multiplex, in Standalone fuer Flaechenmodell als auch fuer die MultiWii funktionieren, aber ich sags gleich, das wird noch eine Weile dauern bis das soweit ist. Aktuell arbeite ich an der Standalone Implementierung fuer HoTT und wenn diese laeuft wird an der MultiWii weitergearbeitet.
Hallo Oli,

keine Ahnung ob meine PM angekommen ist. Meine Box ist leer geblieben?!?!?
Deshalb hier nochmal die Frage:
Welche Hardware brauche ich, um Dein Modul nutzen zu können.
Ich würde es mir gerne besorgen und wenn möglich Deine Arbeit durch Testen unterstützen.

Gruß
Carsten
 

oli

Neuer Benutzer
#48
Hallo Carsten,

ich verstehe die Frage nicht ganz. Du hast doch die Antwort selbst in deiner Frage zitiert. Als Plattform kommt aktuell ein ATMega328p in Form eines Arduino ProMinis zum Einsatz. Es eignet sich aber auch ein Arduino UNO, oder ein Arduino MEGA, im Prinzip alles was durch Arduino unterstuetzt wird. Und bitte in Zukunft keine Issues auf github ohne Inhalt eroeffnen.

oli
 

cGiesen

Erfahrener Benutzer
#49
Hallo Oli,

sorry für den leeren Inhalt. Ich hatte gerade ein Account erstellt und dann kam diese Maske.
Ich habe gedacht, der will von mir ein paar Angaben zur meinem Account haben.
Als ich dann den Fehler merkt habe, konnte ich es leider auch nicht mehr löschen!

Zu meiner Frage:
Klar, das mit den Prozessoren ist mir klar. Ich wollte halt gerne wissen, ob Du eine spezielle fertige Hardware im Auge hast.
Es reicht ja nicht einfach den Prozessor zu haben. Da macht es ja Sinn das auf einer Platine zu haben.
Oder ist das noch offen? Dann würde mich interessieren, womit Du gerade testest, dann würde ich mir das gleiche besorgen!

Wenn man ein eigenes BOB (ich glaube so nennt man das wohl) [HoTT BOB cooler Name] machen würde, bekommt man ja auf gut 5x5cm nee Menge unter. Da könnte ich mir vorstellen, dann noch Dinge unter zu bringen, die nun nicht gerade die FC auch noch machen muss.
Zum Beispiel eine Einzelzellen Überwachung.
Oder eine SD Karte um die Daten zu speichern.
Denn wenn die Verbindung zum Sender fehlt, gehen die Daten ja verloren!

Gruß
Carsten

Edit: Jetzt habe ich es erst begriffen: "Arduino ProMinis" ist kein Prozessor :(
Asche auf mein Haupt
 

oli

Neuer Benutzer
#50
Hallo Carsten,

jetzt wird mir auch Deine Frage klar. ATMega328p ist der Prozessor, dieser wird i.d.R. auf dem Arduino ProMini oder Arduino UNO oder Arduino Nano oder Arduino Mini verbaut.
Eine Speicherung auf einer SD Karte ist jetzt aus meiner Sicht nicht notwendig, da beim Aktivieren des Flugtimers die HoTT Daten auf die MicoSD Karte in der MX-12/16/20 gespeichert werden und diese dann spaeter mittels http://download.savannah.gnu.org/releases/dataexplorer/ ausgewertet werden koennen.
 

cGiesen

Erfahrener Benutzer
#51
Hi,
bist Du auch in der Hott Longe?
Ich glaube nicht ;)

Ich alte eine SD Karte für eine wirklich sinnvolle und wichtige Sache.
Es kommt immer wieder vor, dass Leute behaupten da stimmt was nicht.
Oft ist es ein Problem mit der Stromversorgung, das hat oft zur Folge dass der Empfänger neu startet.
Das heißt aber auch, dass es keine Übertragung zum Sender gibt.
Oder der Copter ist zu weit weg. Wenn wir Failsafe haben, kommt er via GPS nach Hause.
Daten haben wir dann aber auch wieder keine.
Hätten wir eine SD Aufzeichnung wären wir fein raus!

Aber das kann ich ja dann machen ;)

Gruß
Carsten
 
S

skyflo

Gast
#52
Hi, hab mal probiert das ganze auf die NanoWii zu bringen aber leider funktioniert der Sketch nicht mit dem Leonardo. Kann mann denn das standalone Modul an die NanoWii anschließen? Oder kann man den Sketch auch für die NanoWii umschreiben?

Danke und Gruß
Florian
 

oli

Neuer Benutzer
#53
Hi, hab mal probiert das ganze auf die NanoWii zu bringen aber leider funktioniert der Sketch nicht mit dem Leonardo. Kann mann denn das standalone Modul an die NanoWii anschließen? Oder kann man den Sketch auch für die NanoWii umschreiben?

Danke und Gruß
Florian
Das standalone Modul koennte man an die NanoWii umschreiben wenn es denn schon so weit waere. Den Sketch kann man auch umschreiben, das dieser fuer die NanoWii funktioniert. Jedoch fehlt mir dafuer die Zeit als auch die Hardware. Wenn Du es hinbekommst, lass es mich wissen, dann werde ich das ins Repo mit einfliessen lassen.
 
S

skyflo

Gast
#54
Wird denn an der NanoWii der RX und TX pin genutzt um auf die Telemetrie des Hottempfänger zu kommen? Was muss im Sketch umgeschrieben werden um auf die NanoWii zu kommen? Das ist mir nocht nicht so ganz klar aber ich werde es probieren und mich wieder melden.
 

oli

Neuer Benutzer
#55
Ich gehe mal davon aus, dass die NanoWii auch nur eine UART hat obwohl hier noch ein zusaetzlicher FTDI am Start ist. Also im Prinzip funktioniert es dann wie bei dem Arduino ProMini und den Einstiegspunkt findest dann in der Serial.ino

#if defined(HOTTV4_TELEMETRY) && !defined(MEGA)
c = hottV4Hook(c);
#endif

das ist der Einstiegspunkt in die HoTT Telemetrie. Des Weiteren findest Du in der HoTTv4.ino
static void hottV4EnableReceiverMode() {...}
static void hottV4EnableTransmitterMode() {...}
hier wird auf Registerebene RX/TX an- und abgeschalten. Ich koennte mir vorstellen, dass die Register Adressen hier nicht mehr fuer den auf der NanoWii verbauten ATmega32u4 Proz passen.

Ich denke, das sind die Punkte die Du dir mal anschauen solltest um hier eine Kompatibilitaet herzustellen zu koennen.
 

ronco

Erfahrener Benutzer
#56
Hi,

ja das nanowii hat auch nur einen UART .. aber dafür ist der USB separat .. also der ist ohne FTDI direkt am / im atmega32u4.

deshalb kann der UART auch unabhängig vom USB genutzt werden (wie z.b. bei satellit).

ich hatte mal in eine MWC version gemacht die die GUI daten auch gleichzeitig auf den serial (UART) überträgt. die könnte man bestimmt als basis nehmen.

im code ist der usb quasi serial 0 und der UART serial 1. ansonnsten hat serial 1 genau die gleichen register wie die serials beim 328p oder beim mega. also müsstet ihr .. denke ich (hab keine hott funke) einfach nur die register auf serial 1 statt 0 umlegen und dann müsstes gehen ..

ich hab hier nochmal die version angehangen in der der serial 1 auch gui daten überträgt .. also war gedacht für BT oder serial LCD's. sie basiert auf einer etwas neueren 2.1 .. also so 3-4 revisionen später .. leuft aber super mit der 2.1er GUI ;)
um den serial an zu schalten müsst ihr
Code:
 //#define SERIAL1_COM_SPEED 115200
in der config.h an machen.

gruß

felix
 

Anhänge

S

skyflo

Gast
#57
Was Felix da schreibt hatte ich gelesen und daher auch gedacht, dass es mit der NanoWii funktionieren sollte. Gut das er sich hier mit einmischt denn er weiß wenigstens was er da macht im Gegensatz zu mir. ;-)

Also ich bin mir nicht sicher ob hier:
Code:
/**
 * Wrap serial available functions for
 * MEGA boards and remaining boards.
 */
static uint8_t hottV4SerialAvailable() {
  #if defined (MEGA)
    return SerialAvailable(3);
  #else
    return SerialAvailable(0);
  #endif
}
die 0 auf 1 geändert werden muss oder auch diese hier:
Code:
static void hottV4EnableReceiverMode() {...}
static void hottV4EnableTransmitterMode() {...}

UCSR0B &= ~_BV(RXEN0); UCSR0B |= _BV(TXEN0);
Wenn ich alle von 0 auf 1 ändere ist der Sketch zu groß wenn ich noch zum Baro den MAG und GPS an habe. Wenn die auskommentiert sind geht es von der Größe aber leider noch nicht die Telemetrie aber da ist eh von meiner Seite noch der Wurm drin.

Grüße, Florian
 
S

skyflo

Gast
#58
So, die Telemetrie funktioniert jetzt und es war gar nicht so einfach da durch zu steigen. ;-) Leider kann ich nur den Baro im Sketch aktivieren mit MAG oder anderen Sensoren wird der Sketch zu groß. Wenn es irgendwie eine Möglichkeit gibts die Größe zu reduzieren dann lasst es mich wissen denn so ist die Sache ja leider nicht wirklich brauchbar außer man will nur die Lipoüberwachung nutzen, dass wollte ich aber von Anfang an nicht. War eher scharf auf die Daten der Sensoren.

Grüße, Florian
 

cGiesen

Erfahrener Benutzer
#59
Hallo Florian,

es gibt ein Projekt, wo der ganze HoTT Kram von einem eigenem Modul gemacht wird.
Diese holt die Daten genauso ab, wie die GUI.
Nebenbei gibt es noch eine 4 Zellen LiPo Überwachung.
In Arbeit ist noch ein SD Slot, damit die Daten auch bei Signalverlust gesichert werden.
Ebenfalls in Arbeit ist Strommessung um den Leistungsverbrauch zu messen.

https://github.com/cGiesen/MultiHoTT-Module
oder
https://github.com/obayer/MultiHoTT-Module

Gruß
Carsten
 
FPV1

Banggood

Oben Unten