Subversion Repositories Projects

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

MK Multi Box:
=============

Stand: 12.02.2010

Was kann die MMB:
- Anzeige der OSD-Daten
- MK Display
- MK Motor Test
- MK Debug-Daten
- Jeti Box
- Servo Tester

Das muß noch geschrieben/überarbeitet/getestet werde:
- MK Parameter
- LiPo Überwachung
- I2C-Tester für BL-Ctrl

Die MMB entstand aus dem Projekt "Transportables Kopter Tool" von thkais:
http://www.ft-fanpage.de/mikrokopter/
und
http://forum.mikrokopter.de/topic-4061-1.html

Das Projekt hatte ich mal auf Lochraster nachgebaut.
Leider war es kurz nach dem Bau ziemlich nutzlos.
Die FC bekam ein Firmware-Update und niemand hat sich um die Software-Anpassung des Tools gekümmert. :-(
So lag es denn einige Monate und staubte vor sich hin...

Mitte 2009 wollte ich mich mit den AVRs beschäftigen und
mir etwas basteln um die OSD-Daten vom MK zu visualisieren.

Und zufällig schweift mein Blick über die verstaubte Kopter-Tool Hardware. ;-)
Herausgekommen ist die MMB.

Die Hardware basiert weitestgehend auf dem Entwurf von thkais.
Ich habe nur etwas "modernisiert", d.h. den ATmega32 durch einen ATmega644p mit 20 MHz ersetzt.
Die genauen Hardware-Details finden sich im Schaltplan, der auch im Eagle-Format vorliegt.

Die "tausend" LEDs habe ich mir nur als "Debug-Hilfe" dazugebastelt
und können auch weggelassen werden.

Entwickelt habe ich auf dem Mac (Mac OS X 10.6) mit Crosspack. Als Editor mußte XCode herhalten.
Der Source sollte sich aber auch unter Linux oder (zur Not) auch Windows mit den entsprechenden AVR-Tools compilieren lassen.

Die Tasten
^  v  ⎋  ⏎
^ - Up
v - Down
⎋ - Escape/Back/Top
⏎ - Enter

Wenn genug Platz im Display vorhanden ist, wird in der untersten Zeile die aktuelle
Tastenbelegung eingeblendet. Das ist aber leider nicht immer möglich.

Hauptmenü:
==========
- Navi Data
- Display
- Parameters
- Debug Data
- Jeti
- Utilities...

1) Navi Data
Anzeige des OSD Datensatzes der NC.

Tasten:
---- ---- Exit Status

Beim Stoppen der Motoren wird einen Statusseite angezeigt.
Die Statusseite kann auch gezielt mit der Status-taste ausgerufen werden.

Tasten (Statusseite):
---- ---- Exit ----

2) Display
Anzeigen des MK-Displays.

Tasten:
page- page+ Exit NC/FC

3) Parameters
-- noch nicht funktionsfähig ---
Auslesen und Ändern der FC Parameter.

4) Debug Data
Anzeige der MK Debug Daten.

Tasten:
page- page+ Exit NC/FC

5) Jeti
Die MK Multi Box arbeitet als "Jeti Box".
Die Belegung der Tasten hat sich wie folgt geändert:
^  v  <  >
^ - Up
v - Down
< - Left
> - Right

Die "Jeti Box"-Funktion wird über längeres Drückern der <-Taste (Left) verlassen.

6) Utilities...
Weiter zum Sub-Menü "Utilities".


Utilities:
==========
- Motor Test
- Servo Tester
- LiPo Status
- Status
- Settings...

1) Motor Test
MK Motortest

2) Servo Tester
Generiert einen Servo Puls mit variabler Länge von 1.0 ms bis 2.0 ms
mit einer Wiederholrate vom 20 ms.

Tasten:
-10 +10 Exit >|<

-10 - -10 Steps
+10 - +10 Steps
Exit - Servo-Test verlassen
>|< - Servo in Mittenposition (1,5 ms)

Langes Drücken auf >|< schaltet die Schrittweite auf +1/-1 um.

Schrittweite ist 0,32 µs.

3) LiPo Status
Anzeige der Zellenspannungen eines LiPos bis max 4S.

4) Status
Einige Statusinformationen...

5) Settings...
Weiter zum Sub-Menü "Settings".


Settings:
=========
- Orientation
- LiPo Warn
- View Font
- Line
- Rectangle

1) Orientation
Anzeige um 128 Grad drehen.
Einstellung wird im EEPROM gespeichert.

2) LiPo Warn
Einstellen der Warnschwelle

3) View Font
Anzeige des 6x8 Fonts.

4) Line
***TEST

5) Rectangle
***TEST


Source:
=======

Das Makefile unterstützt im Moment drei Hardware-Typen:
- das originale "Transportable Kopter Tool": ATmega32 mit 7 MHz
- originale Hardware aber mit ATmega644P (7 MHz)
- MK Multi Box (siehe Eagle Schaltbild): ATmega644P mit 20 MHz

Der Hardware-Typ wird im Makefile eingestellt.

Ziele fürs make:
- make clean
  ordentlich aufräumen ;-)
- make
  HEX-File erzeugen
- make flash
  Zielsystem flashen
- make fuse
  FUSE-Bits programmieren
- make reset
  Zielsystem via Programmer resetten