Lösung! Nano und Microwii Motoren start

User helfen User!

Lösung! Nano und Microwii Motoren start

Postby ronco » 27 Jul 2012 09:56

Hi,

es gibt leider mit manchen Reglern Probleme wegen der langen Startzeit des Leonardo Bootloaders.

Die Symptome:
- Die Motoren starten nicht trotz das man die Regler sauber eingelernt hat.
- Es starten nur manche Motoren manchmal.

Das liegt in den meisten Fällen daran das manche Regler, wenn sie nicht sofort nach der Initialisierung ein gültiges Signal bekommen, auf failsave (sicheres Fehler verhalten) umschalten und sich nicht mehr starten lassen.

Ausgelöst wird das ganze durch die 8 Sekunden Wartezeit die der Arduino Leonardo Bootloder hat.
Der Bootloader ist eine "Unterfirmware" die bei dem auf dem NanoWii, MicroWii und dem Promicro verwendeten Peozessor (ATmega32u4) z.B. für die USB Kommunikation zuständig ist

Sinn dieser Wartezeit ist eigentlich das nach dem Reset per USB beim Softwareupload (in unserem Fall beim MultiWii aufspielen) der Computer zeit hat den richtigen COM Port zu finden.

jetzt habe ich schon seit ich mich mit dem ATmega32u4 befasse nach einer Lösung gesucht die, die Wartezeit reduziert oder abschafft, aber dennoch den Uploadvorgang nicht behindert. Das ist mir diese Woche gelungen :)

der neue Bootloader findet heraus aus welchem Grund das Board beim letzten mal Resettet wurde. Wenn der Resetgrund powerdown (Spannungsverlust => Lipo Abgesteckt) ist, startet er jetzt sofort durch.
Wenn der Grund aber USB Reset (Softwareupload) oder Pin/Buttonreset ist, wartet er brav 8 sekunden.

Kurzum: mit diesem Bootloader startet das Board im Kopter normal betrieb (Strom an, fliegen .. Strom aus) immer direkt durch, und beim Softwareupload wartet es die nötigen 8 Sekunden dammit dieser problemlos verlauft.

Natürlich wird dieser neue Bootloader auch bald auf allen Flyduiono Produkten mit einem ATMega32u4 Prozessor sein.

Wie Manche vielleicht schon gesehen haben, habe ich im RC-Helifan Forum schon eine Anleitung geschrieben, wie man einen Bootloader auf das NanoWii spielt. Hier jetzt nun eine aktualisierte version dieser Anleitung.

Ihr könnt die Bootloader HEX datei natürlich auch mit einem AVR ISP Programmer aufflashen. Achtet aber darauf das ihr die fuse settings nicht ändert.

1. was ihr braucht:
- einen arduino (ProMini, Nano, UNO, Duemilanove oder Mega) .. Achtung! beim mega weichen die pinnamen ab
- ein paar kabel
- je nachdem einen lötkolben (wenn ihr noch keine pins an den pinausgängen habt)

2. Verkabelung:

- Promicro -> die gleiche Pinbelegung wie Beim NanoWii

- NanoWii
Nano SPI.jpg
Nano SPI.jpg (99.57 KiB) Viewed 3658 times


- MicroWii
MicroWii SPI.jpg
MicroWii SPI.jpg (99.2 KiB) Viewed 3658 times



3. Der neue bootloader
- ladet diese datei runter:
Caterina-Leonardo-Fast-Start.zip
(4.4 KiB) Downloaded 383 times

- entpackt sie und kopiert die hex file in den ordner arduino 1.0.1/hadware/arduino/bootloaders/caterina (die bestehende datei überschreiben!)

4. Arduino als ISP programmer
- verbindet den arduino (nicht das NanoWii) mit eurem pc (FTDI)
- öffnet arduino 1.0.1
- wählt den com port und das richtige board aus (immer noch von dem arduino den ihr angeschlossen habt .. nicht vom NanoWii)
- geht auf Datei -> Beispiele -> ArduinoISP
- ladet den Sketch der sich dann öffnet auf den Arduino
- ihr habt jetz quasi einen ISP programmer aus dem arduino gemacht

5. Bootloader flashen
- lasst den ardiono (nicht das NanoWii) mit dem PC verbunden und checkt nochmal die verkabelung (punkt 2)
- versichert euch das ihr den com prot des arduino(ihr wisst was hier stehen soll ) ausgewählt habt.
- geht auf Tools -> Board -> Arduino Leonardo .. es muss also der leonardo ausgewählt sein, aber der com port vom arduino.
- geht auf Tools -> Programmer -> Arduino as ISP
- geht auf Tools -> Bootloader Installieren
- warten ... fertig

Anmerkung .. es kommt vor das er beim ersten versuch sagt "...not in sync..." versucht es dann einfach nochmal (bootloader Installieren).
wenns nach mehreren versuchen nicht geht, kann es helfen Arduino 1.0.1 sowie den promini einmal neu zu starten. wenns dann immer noch nicht geht habt ihr irgenteine leitung falsch verbunden.

mit dem neuen bootloader "flackert" das rote status led am Nano oder MicroWii solange der bootloader aktiv ist. ... das ist nach dem bootloader installieren permanent der fall, da ja noch kein sketch drauf ist .. also nicht wundern ..

gruß

felix
ronco
 
Posts: 50
Joined: 28 Jun 2012 23:11

Re: Lösung! Nano und Microwii Motoren start

Postby Hawke » 27 Jul 2012 13:26

Hallo,

hab noch ne andere Lösung.
Wollte vermeiden, mir extra noch einen ProMini incl. FTDI Adapter zu kaufen.
Schliesse jetzt einfach das Board vorher an, über den Balancer-Anschluß des Akku's.
Wenn das Board fertig gebootet hat schließe ich den Haupstecker vom Akku an.

Viele Grüsse,
Matthias
Hawke
 
Posts: 9
Joined: 26 Jul 2012 10:01

Re: Lösung! Nano und Microwii Motoren start

Postby Hawke » 27 Jul 2012 13:31

Hatte vergessen zu schreiben, dass ich ein MicroWii habe, dieses Board wird ja ausschliesslich über den Lipo-Akku versorgt.

Viele Grüsee,
Matthias
Hawke
 
Posts: 9
Joined: 26 Jul 2012 10:01


Return to Probleme

Who is online

Users browsing this forum: No registered users and 1 guest

cron