NanoWii Speicher zu klein? Alternativen?

#1
Moin Moin!

Ich habe einen Flugfertigen Warthoxquad mit NanoWii1.0 und KISS 18A ESCs. Mit etwas Glück kommt heute meine Frsky Taranis X9D PLUS an.

Nun wollte ich die NanoWii mit zusätzlichen Sensoren, OLE-Display und GPS aufrüsten. Eigentlich habe ich mir gedacht, ich schließe das alles an und schalte dann entsprechend im Sketch die Sachen frei. Exoten benutze ich ja nicht gerade. Als erstes ist die Baro Magnetometer Combo (BARO BMP180 + MAG HMC5983) angekommen. Das habe ich ohne nenneswerte Probleme aktiviert, in der MultiWiiConf wird alles erwartungsgemäß angezeigt.

Gestern sind nun das OLE-Display, CN-06 V3.0 GPS Satellitenempfänger + ein i2C NAV-Module 1.1 angekommen.

Also habe ich erstmal zusätzlich das Display im Sketch aktiviert, das erschien mir am Abend erst mal das leichteste zum Ausprobieren. Beim Aufspielen kam dann die Meldung das der Speicher nicht ausreicht. Nachdem ich das Baro- und Magnetometer im Sketch deaktiviert habe konnte ich das Display zwar testen, aber so brauche ich mit GPS wohl gar nicht erst anfangen.

Irgendwie bezweifle ich das ich selbst den Code im Sketch so weit optimieren kann das alles läuft. Wie ich im nachhinein gelesen habe bin ich auch nicht der erste mit dem Problem. Die Anleitung des NanoWii erweckt bei mir durchaus den Eindruck das man alles gleichzeitig betreiben kann(siehe S.13 BA). Vermutlich brauche ich einen neuen FlightController. Dieses mal mit mehr Speicher.

Mir ist auch klar das der Warthoxrahmen viel zu klein ist um alles in einer sinnvollen Anordnung unter zu bringen. Deshalb habe ich bereits einen neuen Rahmen wo alles drauf passen dürfte. Den Warthoxrahmen möchte ich grundsätzlich als "Bolzkopter" behalten. Da ich mir aber nicht alles auf einmal kaufen möchte, wollte ich daraus erstmal die elektrischen Koponenten benutzen.

Welche Möglichkeiten habe ich? Code optimieren, einen neuen FC?

Ich danke für Hilfestellungen und Anregungen.
 

schnellmaleben

Erfahrener Benutzer
#2
Richtig, Code selber optimieren (könnte etwas müßig werden) oder auf eine Atmega2560-basierte FC wechseln. Üblicherweise sind da Baro, Mag ... schon drauf, d.h. es ist auch alles weniger Verkabelei. z.B. diese hier.

Wobei dann der Schritt zum APM auch nicht mehr so weit ist, bzw. wenn Du eh was anderes kaufen musst, kannst Du gleich was nehmen was besser funktioniert als das etwas mäßig laufende MultiWii (bei AltHold/GPS/PH).
 
#3
Hey danke erstmal für die Antwort!

Du meinst so etwas hier? http://www.xxl-modellbau.de/ArduPilotMega-APM-26-Controller-Board-ArduCopter-Ardupilot-MultiCopter
Ich habe das Ding gerade mal kurz überflogen. RTH scheint da zuverlässiger zu funktionieren <-das ist mir wichtig. Soll aber auch schwieriger zu konfigurieren sein. Kann ich meine Sensoren damit auch verwenden? I2C sollte doch reichen, oder.

Um es einfacher zu machen verlinke ich mal meine bisherige "Hardware". Es wäre schon wenn ich möglichst wenig doppelt kaufen müsste. <-Es soll ja noch Geld für FPV übrig bleiben. :p

Die Grundlage ist ein CT-Kopter von Flyduino:
http://flyduino.net/Quadrokopter-Set-20cm-X2208

Der neue Rahmen:
http://www.xxl-modellbau.de/Frame-X520DX-MP-LG-GFK-52cm-FPV-Quadcopter-VOLL-GFK-Rahmen-Landegestell

Baro + Magnetometer:
http://www.xxl-modellbau.de/BARO-BMP180-MAG-HMC5983-I2C-Board-Arduino-Multiwii-Multicopter

OLE-Display:
http://www.xxl-modellbau.de/Multiwii-OLED-Display-V12-Konfiguration-Modul-Flight-Control-Board

GPS:
http://www.xxl-modellbau.de/Multiwii-GPS-Empfaenger-CN-06-V30-Ublox-Neo-6M-NAV-Module-V11-Plug-Play

Ultraschall(Lieferung steht aus):
http://www.amazon.de/gp/product/B00BIZQWYE?psc=1&redirect=true&ref_=oh_aui_detailpage_o05_s00

3Achs-Kompass
http://www.amazon.de/gp/product/B00GBVDESM?psc=1&redirect=true&ref_=oh_aui_detailpage_o04_s00

Fernsteuerung<- gerade beim Schreiben angekommen :D:
http://flyduino.net/Frsky-Taranis-X9D-PLUS-mit-Koffer-Mode-2

Empfänger:
http://flyduino.net/Frsky-X8R-8/16ch-8-PWM-16-SBUS-Smart-Port-Telemetry-Receiver

Telemetrie:
http://flyduino.net/Frsky-FBVS-01-FrSky-Battery-Voltage-Sensor


Bisher musste ich für die NanoWii ja nur "//" wegnehmen oder hinzufügen und ein ganz klein wenig darüber nachdenken warum ich das mache.... :) Die bisher gekauften Sensoren sind im Sketch ja alle eingepflegt und müssen nur entsprechend aktiviert werden. Unterscheidet sich die Konfiguration in der Art da großartig oder geht es um die PID Einstellungen? Das Thema habe ich bisher nur überflogen, mein Kopter lief nach dem Zusammenbau sofort problemlos. Ich habe zudem gelesen das APM nicht für Anfänger geeignet sein soll!? Auch wenn ich versuche mich nicht besonders blöd anzustellen, was Kopterbau betrifft bin ich Anfänger.

Was kommt auf mich zu wenn ich auf APM setze?

Gruß
 

schnellmaleben

Erfahrener Benutzer
#4
Ich denke APM ist auch für Einsteiger zu schaffen, mit bisschen technischen Verständnis & vor allem Englisch-Kentnissen für die Original-Doku. Schau mal in der entsprechenden Rubrik hier im Forum, da sind auch gute Guides.

Ansonsten sind die Kosten nicht das super Argument, Du hast zwar die Sensoren alle sehr günstig erworben, aber in der Summe kommst Du mit NanoWii fast auf denselben Preis wie eine günstige 2560-basierte FC die ja schon einen Haufen Sensoren onboard hat. Verkabelt hast Du es ja offensichtlich schon, d.h. das ist nicht das Problem, aber die Flugeigenschaften/Features von APM (oder auch anderen 32bittern) ist besser als der jetzige MultiWii-Stand.

Eine Art Zwitter ist oben verlinktes Board: es geht mit MultiWii & MegaPirate. Von Hobbyking gibt es auch so was.

Ein reines APM-Board läuft aber nur noch mit der APM-Software.

Ich sehe da noch zwei Faktoren:

Unterstützung für GPS über das Navi-Board ist für kommende MultiWii-Versionen abgekündigt, und die ist, betrachtet man das Alter der 2.3, sicher bald fällig. D.h. Du befindest Dich dann in einer Sackgasse, was neue Features angeht.

Bei APM ist es ähnlich - den neusten Shxx gibts nur für Pixhawk.

Ich kann Dir die Entscheidung nicht abnehmen, nur mal auflisten (was meiner Meinung nach) alles zu berücksichtigen ist ;)
 

BaerBalu

Erfahrener Benutzer
#5
Ich denke APM ist auch für Einsteiger zu schaffen, mit bisschen technischen Verständnis & vor allem Englisch-Kentnissen für die Original-Doku.
Habe jetzt den ersten Testflug mit meinem Test-Kopter mit APM hinter mir. Meine Englisch-Kenntnisse sind jetzt alles Andere als der Brüller (um es mal sehr vorsichtig zu formulieren ;) ), aber es hat insgesamt sehr gut geklappt. Durch den Konfigurations-Asistenten des Mission Planners, der ein oder anderen deutschen Anleitung, und halt ein paar Resten Schul-Englisch bekommt man das schon hin.
Naja, und wenn doch mal was unklar ist, dann gibt es viele nette Leute hier, die einem helfen. :)

Bye-bye
BaerBalu (der mal Mangels ausreichender Englisch-Begabung die Schule wechseln musste)
 

Ori0n

Back again
#6
Ähnlich einem NanoWii wäre ein Naze32, ist auch klein und sehr leistungsstark (32 Bit Prozessor), darauf läuft Harakiri, die Firmware ist sehr leicht einstellbar, auch für einen Anfänger locker machbar.

Alternative ist ein Crius / Clon davon, oder ein anderes System: APM / Pixhawk.
 
#7
Danke für eure Beitrage und Anregungen!

Warum sollte es bei Koptern großartig anders sein als bei PC, Smartphone oder anderen Dingen. Es gibt immer bald etwas besseres, das sollte mich nicht abhalten. Allerdings werde ich mich zukünftig besser im Vorfeld informieren und nicht mehr so voreilig kaufen.

Heute war ich erst mal neugierig und habe den GPS-Empfänger + NavModul per I2C angeschlossen und im Sketch aktiviert. Nach dem Kompellieren die Überrschung"Binäre Sketchgröße: 21.278 Bytes (von einem Maximum von 28.672 Bytes)" Sollte es sein das das OLE-Display tatsächlich so viel mehr Speicher verbraucht? Auf das Display könnte ich verzichten... Nach ca. 5 Minuten habe ich drinnen 8-9 Satelliten Empfang. Einzig die Geschwindigkeit die mein Schreibtisch zurücklegen soll irritiert mich etwas(3-13 irgendwas?).

Morgen kommt per Post ein "Platinen-Streifenraster", daraus werde ich dann mit meinen übrigen Stiftleisten ein passives I2C - Löten. Dann kann ich endlich hin und her stecken ohne jedesmal den Lötkolben schwingen zu müssen. Jedenfalls werde ich erstmal versuchen möglicht viel gleichzeitig zu aktivieren.

In der MultiWiiConf werden mir nun übrigens "GPS Home" und "GPS Hold" angezeigt. Da ich mir die Beschreibung für mein neuen Kopterrahmen nicht vernünftig durchgelesen habe, kann ich ihn wegen einer fehlenden Verteilerplatte nicht fertigstellen. Unter Realbedingungen kann ich z.Z. also leider nicht testen.

Modellbau an sich betreibe ich schon ein paar Jahre, bei Computern sind es noch ein paar Jahre mehr und ich habe mich auch schon mal an kleinen Programmen versucht<-ist schon etwas her. Etwas anspruchsvoller darf es es schon werden. :cool:

Nochmal zurück zum Zwitterbord. Ist das schlecht? Oder anders gefragt gibt es deswegen einen Nachteil? Das ganze hört sich für mich erstmal so an als ob ich da beide Firmwarentwicklungen ausprobieren kann ohne mir zwei Flightcontroller kaufen zu müssen. Das habe ich doch richtig verstanden, oder?


 
G

Gelöschtes Mitglied 1973

Gast
#8
bedenke auch das du kein oneshot mehr nutzten kannst wenn du umsteigst.
 
#9
bedenke auch das du kein oneshot mehr nutzten kannst wenn du umsteigst.
oneshot? Hab ich schon mal gelesen...aber ich hab keine Ahnung was das ist. Bin ich da in dieser Abteilung richtig?
// /*********************** HW PWM Servos ***********************/
// /* HW PWM Servo outputs for Arduino Mega.. moves:
// Pitch = pin 44
// Roll = pin 45
// CamTrig = pin 46
// SERVO4 = pin 11 (aileron left for fixed wing or TRI YAW SERVO)
// SERVO5 = pin 12 (aileron right for fixed wing)
// SERVO6 = pin 6 (rudder for fixed wing)
// SERVO7 = pin 7 (elevator for fixed wing)
// SERVO8 = pin 8 (motor for fixed wing) */
//
// #define MEGA_HW_PWM_SERVOS
//
// /* HW PWM Servo outputs for 32u4 NanoWii, MicroWii etc. - works with either the variable SERVO_RFR_RATE or
// * one of the 3 fixed servo.refresh.rates *
// * Tested only for heli_120, i.e. 1 motor + 4 servos, moves..
// * motor[0] = motor = pin 6
// * servo[3] = nick servo = pin 11
// * servo[4] = left servo = pin 10
// * servo[5] = yaw servo = pin 5
// * servo[6] = right servo= pin 9
// */
// //#define A32U4_4_HW_PWM_SERVOS
//
// #define SERVO_RFR_RATE 50 // In Hz, you can set it from 20 to 400Hz, used only in HW PWM mode for mega and 32u4
// //#define SERVO_PIN5_RFR_RATE 200 // separate yaw pwm rate.
// // In Hz, you can set it from 20 to 400Hz, used only in HW PWM mode for 32u4
Das bedeutet das die ESCs schneller angesprochen werden? Im Sketch habe ich jedenfalls nichts in der Richtung eingestellt. Der Jumper1 auf den KISS ist auch noch offen. Für meinen geplanten Bolzkopter ist das sehr interessant.


etwas OT aber dafür ein neues Thema?
Beim durchschauen der config.h sind mit Einstellungen fur den I2C-Bus ins Auge gefallen.
/********************************** I2C speed ************************************/
#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
//#define I2C_SPEED 400000L //400kHz fast mode, it works only with some WMP clones
Wie merke ich das meine Hardware die schnelle Busgeschwindigkeit verträgt?
 
#10
Geschafft! Ich habe heute noch mal von vorne angefangen und dabei das das OLE-Display weg gelassen. Das spart ca. 10kb! Damit bin ich 1728 Byte unterhalb des Limits. :D

Meine NanoWii hat jetzt also neben der Grundausstattung noch GPS, Magnetometer, Sonar und ein Barometer. Nebenbei habe ich noch ein passendes I2C-Hub fertig gelötet.

Deswegen habe ich jetzt erst mal etwas Luft und kann mich entspannt nach größeren Alternativen zur NanoWii umschauen.

Danke für eure Hilfe!
 
Zuletzt bearbeitet:
#11
Auch wenn es etwas spät ist, möchte ich noch eine Rückmeldung geben.

Meinen Kopter habe ich Teilweise demontiert und einen neuen gebaut. Weil ich erstmal etwas haben wollte was ich kenne habe ich mir einen "Multiwii and Megapirate AIO Flight Controller" bei HobbyKing gekauft. Mit dem ATMega 2560 hab ich erst mal ausreichend Speicher.
 
FPV1

Banggood

Oben Unten