Diese Seite als PDF-Dokument? Einfach auf das Symbol klicken und etwas warten...
Diese Seite ist für Selbst-Bestücker.
Die allgemeinen Infos findet man hier: MK3Mag
Inhaltsverzeichnis
Montage, Kalibrierung und Parametrisierung im KopterTool gibt es hier: MK3Mag
MK3Mag
Die Platine ist ein 3D-Kompass für den MikroKopter.
Mit bestückter Zusatzoption ist der Stand Alone Betrieb als eigenständiger Kompass mit integriertem Beschleunigungssensor möglich. Sie kann so auch in anderen Applikationen problemlos Verwendung finden.
Features
- Abmessungen B*L*H: 21*46*12 mm (komplett aufgebaut inkl. Steckerleisten)
- Bestückt mit drei NXP Hallsensoren für die Magnetfeldmessung
- Controller: ATMEGA168 von Atmel
- 1 Status-LED (z.B. "OK" und "Kalibiert")
- Die Software liegt komplett in C vor (Lizenzvereinbarung beachten!)
- Diverse Schnittstellen zur Messwertausgabe
Als Schnittstellen sind möglich:
- Asynchrone Serielle Schnittstelle (zum Programmieren, Auslesen oder Debuggen)
PWM-Signal (schon in der Firmware implementiert???)
Allgemeine Sicherheitshinweise
Wir garantieren nicht für fehlerfreies Verhalten des Kompasses. Sobald der Kompass mit Spannung versorgt und an die Flight-Control angeschlossen ist, kann es durch Fehler o.ä. jederzeit zu unerwarteten Reaktionen des Mikrokopters kommen oder die Platine sich erhitzen. Trotz sorgfältiger Erstellung und Überprüfung übernehmen wir keinerlei Garantie oder Haftung (direkter oder indirekter Art) für die Fehlerfreiheit der Software, der Hardware oder von Informationen.
Sie benutzen das Kompassmodul auf eigene Gefahr (dies gilt auch für dazugehörige PC-Programme). Weiterhin übernehmen wir keinerlei Haftung für Folgeschäden an Sachwerten oder Personen, die durch Anwendung des Sensors entstehen. Es liegt in ihrer Verantwortung, einen vollständigen Systemtest durchzuführen. Die Spannungsversorgung darf nicht verpolt werden.
Betriebsspannung
Um sicher zu gehen, dass man keine ungewollten Lötbrücken beim Bestücken in die Versorgung eingebaut hat, prüft man mit einem Durchgangsprüfer die 5V gegen GND (am einfachsten an C1, da hier sowohl "5V" als auch "GND" anliegen). Bei diesen Durchgangsmessungen muss ein Widerstand deutlich über 0 Ohm gemessen werden bzw. der Durchgangsprüfer darf nicht 'piepen'. Sollte sich doch ein Kurzschluss eingeschlichen haben, sind häufig Lötbrücken die Ursache.
Bei Verwendung von Lötpaste gilt: weniger ist mehr.
Die Betriebsspannung wird für den Betrieb über die Flight-Control bezogen. Zum Programmieren des ATMEGA168 muss eine 5V Versorgungsspannung extern angelegt werden um den Prozessor und die SerCon mit Strom zu versorgen (am einfachsten an C1, da hier sowohl 5V als auch GND anliegen). Es wird dringend empfohlen, ein strombegrenztes und geregeltes Netzteil zu verwenden, bis man weiß, dass alles richtig funktioniert. Eine höhere Spannung als 5V kann zur Zerstörung des Prozessors führen!
Einspielen der Software in den Regler
Es gibt verschiedene Möglichkeiten/Programme, um die Software in den Regler zu flashen. Am einfachsten geht es per SerCon und MikroKopterTool. Sollte dies allerdings nicht klappen, so kann man alternativ z.B. auch PonyProg nutzen...
Der Bootloader muss nur einmalig per ISP in den AVR programmiert werden. Das MikroKopterTool setzt die Fusebits dabei automatisch korrekt. Danach können die Updates der Firmware seriell einfach durchgeführt werden.
Anschluss des MK3Mag an die SerCon
Der MK3Mag muss über SV1 an ISP1 der SerCon angeschlossen werden (siehe nachstehendes Bild).
Zum Programmieren des ATMEGA168 muss zusätzlich eine 5V Versorgungsspannung extern angelegt werden (nicht auf dem Bild zu sehen) um den Prozessor und die SerCon mit Strom zu versorgen (siehe auch Bilder unten). Dies kann am einfachsten an C1 erfolgen, da hier sowohl 5V als auch GND anliegen. Oder über das 5V Pad des IC8 und J1 (=GND)
WICHTIG: Für das Flashen des Bootloaders ist eine echte serielle Schnittstelle erforderlich.
Den Bootloader und die MK3Mag Software gibt es hier: http://mikrokopter.de/mikrosvn/MK3Mag/tags/
Bootloader flashen
Hinweis: Vorbestückte Platinen sind bereits mit dem Bootloader ausgerüstet. Der Bootloader muss dort nicht eingespielt werden.
Wichtig: Zum Flashen des Bootloaders wird unbedingt das MikroKopterTool V1.52 benötigt! Mit anderen Versionen schlägt das flashen fehl.
Der MK3Mag muss an SV1 über das 10-polige kombinierte ISP-/seriell-Kabel (ISP1) an den SerCon angeschlossen sein.
- Der MK3Mag muss wie oben beschrieben mit Spannung versorgt werden.
Es dürfen keine Daten über SV2 kommen, d.h. Stecker zur FC abziehen oder während des Programmierens FlightCtrl ausschalten.
'Controller flashen & Terminal' auswählen (to do: Bild MK3Mag Bootlader)
Jumper des SerCon setzen!
- Dann auf 'FLASH' klicken und das Bootloader-Hexfile für MEGA168 auswählen.
- . … jetzt wird der Bootloader programmiert – das dauert etwas …
- nach erfolreichem Programmieren meldet sich der Bootloader mit einer Kennung:
- Vx.y:MKBL
Vx.y = Version
Firmware einspielen
Der MK3MDer MK3Mag muss an SV1 über das 10-polige kombinierte ISP-/seriell-Kabel (ISP1) an den SerCon angeschlossen sein (wie unter Bootloaderflashen oben!).
Jumper des SerCon entfernen!
- Der MK3Mag muss mit Spannung versorgt werden.
Die FlightControl-Verbindung muss getrennt werden, wenn das Update eingespielt wird.
- auf 'Update' klicken und aktuelles Hex-File des MK3Mag auswählen.
- jetzt wird programmiert. (to do: Bild MK3Mag Update)
- wenn alles geklappt hat, meldet sich der MK3Mag mit seiner aktuellen Version.
Einspielen des Bootloaders mit PonyProg oder avrdude direkt
Sollte es Probleme mit dem MikroKopter-Tool (avrdude) geben, kann alternativ direkt mit avrdude (Die Fuses für avrdude müssen wie folgt gesetzt werden: lfuse:0xe2 , hfuse:0xdd , efuse:0x00) oder PonyProg zum Einspielen des Bootloaders genutzt werden.
Die zweite Alternative ist das Flashen des Bootloaders mit PonyProg. Die Fuse-Bits müssen dafür wie folgt gesetzt werden:
Stückliste
Es empfiehlt sich, dass die Bauteile in der Reihenfolge eingebaut werden, wie sie in der Liste erscheinen.
Kursiv dargestellte Teile befinden sich auf der Unterseite, gelbe Zeilen sind Bauteile, die bei der Platine dabei sind
Anz |
Bauteil |
Hinweis |
Teil |
Name |
1 |
Atmega168-20AU |
Markierung beachten, Flussmittel verwenden! |
Controller |
IC1 |
1 |
LM324D |
Markierung beachten |
Quad OP Amp |
IC2 |
1 |
KMZ51 |
Markierung beachten, Flussmittel verwenden |
Hallsensor |
IC3 |
1 |
X7R-G0805 100nF |
|
Kondensator |
C15 |
3 |
270k SMD-0805 |
|
Widerstand |
R1, R3, R5 |
1 |
SMD-LED Grün |
Richtung beachten |
CHIPLED |
LED1 |
1 |
1k SMD-0805 |
|
Widerstand |
R33 |
1 |
47R SMD-0805 |
|
Widerstand |
R32 |
3 |
X7R-G0805 22pF |
|
Kondensator |
C8, C9, C12 |
2 |
X7R-G0805 100nF |
|
Kondensator |
C5, C7 |
2 |
KMZ51 |
Markierung beachten, Flussmittel verwenden |
Hallsensor |
IC5, IC7 |
1 |
FMMT617 |
NPN-SOT23 |
Transistor |
T1 |
1 |
FMMT717 |
PNP-SOT23 |
Transistor |
T3 |
7 |
X7R-G0805 1µF |
(1µF=1000nF) |
Kondensator |
C2, C16, C18, C19, C20, C21, C22 |
3 |
X7R-G0805 100nF |
|
Kondensator |
C3, C6, C11 |
1 |
47R SMD-0805 |
|
Widerstand |
R7 |
1 |
18k SMD-0805 |
|
Widerstand |
R10 |
2 |
SMD Tantal 10µF/6,3V |
Typ B, Richtung beachten! |
Kondensator |
C1, C17 |
|
|
|
|
|
Verbindungskabel und Steckerleisten: |
||||
1 |
Stiftleiste 2x10pol gerade |
RM 2,54 Typ C in 2x5 teilen |
Stiftleiste |
SV1, SV2 |
1 |
10cm Flachbandkabel 10pol |
Flachbandkabel |
|
|
2 |
2x 5pol. Crimp-Buchse |
Crimp-Buchse |
Buchse für Flachbandkabel |
|
1 |
Crimp-Steckerleiste |
Crimp-Version |
für Anschluss der SerCon/Bluetooth |
|
|
|
|
|
|
Befestigung: |
||||
5 |
Zylinderkopfschraube M2,5x10 |
|
Kunststoffschraube |
|
5 |
Sechskantmutter M2,5 |
|
Kunststoffmutter |
|
|
|
|
|
|
Sonderbestückung (entfällt beim MK) |
||||
1 |
LIS344AHL |
Polung beachten |
ACC-Sensor |
IC4 |
1 |
MCP1700T-3002E/TT |
|
Spannungsregler |
IC8 |
1 |
X7R-G0805 1 µF |
|
Kondensator |
C23 |
4 |
X7R-G0805 100nF |
|
Kondensator |
C4, C10, C13, C14 |
Sonstiges
- 1m Anschlussleitungen zur Spannungsversorgung
Hilfsmittel
- Edsyn FL-22 SMD-Flussmittel o.ä.
- Entlötlitze 1,5mm
- Lötzinn 0,5mm
Bebilderte Bestückung
Schaltplan
Bestückungsplan
Bilder
Leere Platine:
Atmel ATMEGA168-20AU bestückt:
Einbaulage LM324 mit Pin 1 Markierung: So muss der IC festgelötet werden
Oberseite fertig bestückt (noch ohne Steckerleisten):
Unterseite: Hall-Sensoren und Transistoren:
Unterseite: Hall-Sensoren im Detail:
So müssen die KMZ 51 Sensoren angelötet werden. Auch zu erkennen: Einbaulage der Z-Achsenplatine.
Unterseite fertig bestückt mit montierter Z-Achsen-Platine:
SV1 muss hier eingelötet werden!
Oberseite fertig bestückt:
Auf dem Bild sieht man (absichtlich) die beiden 5V-Stromversorgungskabel zu C1
Verbindungskabel Flight-Control <-> MK3Mag: Einzelteile und fertig bestücktes und angeschlossenes Kabel:
Anschluss, Kalibrierung und Test
Test der Hall-Sensoren
Lässt man das MK3Mag-Modul nach dem Update gesteckt und geht mit Debug zurück ins Hauptmenü, werden die Werte der 3 Richtungen im Scope angezeigt:
Eine Lageänderung der Platine muss im Scope auch einen Ausschlag zeigen!
Da der Kompass noch nicht kalibriert ist, kann man hier noch keine quantitativen Aussagen erwarten. Es geht nur um einen prinzipiellen Funktionstest vor Einbau der Platine in den Mikrokopter.
Trägerplatte für den MK3Mag
Um den MK3Mag Huckepack auf die Flight-Control zu setzen, braucht man eine Adapterplatte. Diese kann einfach aus Lochraster aufgebaut werden:
(vielleicht etwas größer als mein Lochraster-Rest )
Anschluss an die Flight-Control
Der MK3Mag wird über ein 10poliges Kabel mit der Flight-Control verbunden:
Kalibrierung
Siehe MK3Mag, die Anleitung dort ist super.
Nach erfolgreicher Kalibrierung geht die LED für ca. 2s aus, das ist das Zeichen! Im KopterTool kann der Wert KompassValue eingeblendet werden. Dreht man den Kopter, muss hier eine Änderung der Messwerte zu sehen sein (in Grad).
Ab MK3Mag V0.21b blinkt die LED, wenn der Kompass (noch) nicht kalibriert ist. Bei erfolgreicher Kalibrierung leuchtet die LED konstant.