MikroKopter

siehe auch: FlightCtrlAnleitung

BL-Ctrl.jpg

Selbstbauregler für Brushless-Motoren BL_CTRL_V1.0/V1.1 Schaltplan, Bestückung und Inbetriebnahme

{i} Zusatz-Info für den BL-Ctrl V1.1/2 gibt es hier: BL-Ctrl_V1_1 und BL-Ctrl_V1.2

Anleitung BL-Ctrl

BL-Ctrl

Die Platine BL_Ctrl ist ein sensorloser Treiber für bürstenlose Gleichstrom-Motoren.

Sie wurde speziell für den Einsatz in Quadrokoptern entwickelt, wo schnelle Sollwertänderungen notwendig sind. Sie kann jedoch auch in anderen Applikation problemlos Verwendung finden.

Features

Als Schnittstellen sind möglich:

BL-Ctrl_11_unbest.jpg

(Bild: BL-Ctrl V1.1)

Funktionsweise

Die Ansteuerung erfolgt dreiphasig in Impulsgruppen mit überlagerter PWM. Die PWM bestimmt die Höhe der Phasenspannung (genauer: der arithmetische Mittelwert der Spannung).

Die Phasenspannung am Motor (also die PWM) ist eine Stellgröße für die Drehzahl, weil ein Motor durch seine Drehung eine Gegenspannung (wie ein Generator) erzeugt, die der angelegten Spannung entgegenwirkt. Es stellt sich eine Drehzahl ein, bei der die Differenz von angelegter Spannung und Gegenspannung einen Strom fließen lässt, der dem abgenommenen Drehmoment entspricht. Es sind immer 2 der sechs MOSFETs in Betrieb, um die Motorwicklungen zu bestromen. Der Zeitpunkt der Kommutierung (heißt: es muss auf die nächste Phase geschaltet werden), wird durch Spannungsmessung (genauer: Vergleich) an der nicht-bestromten Phase bestimmt. Dazu wird der im Atmega8 vorhandene Analogkomparator verwendet. Der Strom wird über den Spannungsabfall an einer definierten Leiterbahn bestimmt.

Das Verfahren ist für eine Überstromabschaltung genau genug.

Allgemeine Sicherheitshinweise

Wir garantieren nicht für fehlerfreies Verhalten des Reglers. Sobald der Regler mit Spannung versorgt ist, kann der am Regler angeschlossene Motor z.B. durch Fehler o.ä. jederzeit unerwartet anlaufen oder 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 den Regler 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 Reglers entstehen. Es liegt in Ihrer Verantwortung, einen vollständigen Systemtest durchzuführen. Die Spannungsversorgung darf nicht verpolt werden.

Inbetriebnahme

!!! Diese Schritte sind nur für selbstbestückte BL-Ctrl (grüne Leiterkarte), nicht für bereits vorbestückte Regler (rote oder schwarze Leiterkarte !!!)

Schritt 1: Anschluss und Kontrolle der 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 (es gibt Lötpads, die mit "5V" und "GND" beschriftet sind).

Man sollte auch gleich die 12V-Versorgung auf Kurzschluss prüfen (direkt zw. den Anschlüssen für die Batteriespannung).

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 an den 100nF-Kondensatoren die Ursache. Bei Verwendung von Lötpaste gilt: weniger ist mehr.

Die Betriebsspannung wird an den Anschlüssen BAT+ und BAT- angelegt. Es wird dringend empfohlen, ein strombegrenztes Netzteil (oder notfalls zu verwenden, bis man weiß, dass alles richtig funktioniert. Ein Steckernetzteil mit Gleichspannungsausgang von ca.9-12V tut hier gute Dienste. Nach Anschluss der Betriebsspannung wird die +5V-Versorgung überprüft. Dazu misst man am Anschluss „+5V“ gegen Masse. Die Spannung sollte zwischen 4,8 und 5,2 V liegen.

Schritt 2: Einspielen des Programms

Dies wird weiter unten genau beschrieben.

Schritt 3: Test der Hardware

Wenn der Controller erfolgreich programmiert werden kann, können die Motorleitungen angelötet werden. Die I²C Leitungen dürfen erst angelötet werden, nachdem das endgültige Programm eingespielt wurde, da diese Leitungen Teil der Programmierschnittstelle sind. Wenn mehrere BL-Regler oder die Flight-Ctrl über den I²C Bus verbunden sind, ist eine Programmierung nicht mehr möglich! In den Controller wird das Testprogramm „Test_Schub_BrushLess-Ctrl_V0_xx.hex“ eingespielt (zu finden im SVN bei den Hexfiles der Hardwareversion 1.0). Wenn er einwandfrei funktioniert, sollte der Motor sauber anlaufen. Folgendes Video zeigt einen Testlauf:

Nach dem Einschalten leuchten die LEDs kurz auf. Sollte der Motor nicht richtig anlaufen, kann das unterschiedliche Gründe haben:

  1. Die MOSFET-Brücke (oder deren Ansteuerung) arbeitet nicht richtig. Seit Platinenversion 1.2 und Softwareversion 0.34 gibt die rote LED einen Blinkcode aus, je nachdem, welcher MOSFET die Strommessung zu Beginn nicht bestanden hat. Dabei ist: A=A+ (1) B=B+ (2) C=C+ (3) a=A- (4) b=B- (5) c=C- (6) (in Klammern der Blinkcode).
  2. Der Kommutierungszeitpunkt wird nicht richtig bestimmt. In dem Fall sollte man das File: „Test_Manuell_BrushLess-Ctrl_V0_XX.hex“ einspielen. Damit wird der Motor ohne Kommutierungszeitpunkt-Bestimmung manuell angesteuert.

Läuft der Motor nicht oder unruhig, liegt vermutlich Fehler 1 vor. Wenn der Motor damit richtig anläuft, liegt vermutlich Fehler 2 vor. Die Drehrichtung des Motors wechselt man übrigens, indem zwei beliebige Motorphasen (bzw. deren Anschlusskabel) getauscht werden. Dies wird auch bei Inbetriebname des Mikrokopters notwendig, da alle Regler dasselbe Drehfeld aufbauen und somit bei gleichartigem Anschluss aller vier Motoren alle Propeller auch in dieselbe Richtung drehen würden. Im Zusammenhang mit je zwei Propellern für Recht-/Linkslauf ergibt sich dann folgendes Problem: Zweimal Auftrieb + zweimal Abtrieb = MikroKopter fliegt nicht, sondern fängt höchstens an stark zu schwingen.

In diesem Fall einfach die Drehrichtung beim Ein-/Ausschalten beobachten (Vorne/Hinten: rechtsherum, Links/Rechts: linksherum) und ggf. einfach zwei Anschlusskabel an den betreffenden Motoren vertauschen.

Schritt 4: Anschluss eines Sollwertgebers

Es kann nun z.B. das Programm: „BrushLess-Ctrl_16kHz_V0_XX.hex“ eingespielt werden. Dies Programm nimmt den PPM-Anschluss des Empfängers als Sollwert. Wenn andere Schnittstellen verwendet werden (z.B. Seriell oder I2C-Bus), muss das natürlich auf den jeweiligen Sollwertgeber abgestimmt werden. Es gibt da keinen Standard.

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.

WICHTIG: Für das Flashen des Bootloaders ist eine echte serielle Schnittstelle erforderlich.

Wenn man keinen Bootloader verwenden will oder kann, so lässt sich die Firmware auch direkt per ISP flashen (ist aber nicht empfohlen).

Den Bootloader und die BLCtrl Software gibt es hier: http://mikrokopter.de/mikrosvn/BL-Ctrl/

Hier gibt es eine komprimierte Kurzübersicht zum Thema Flashen und Updaten

Bootloader flashen

Mit dem MikroKopter Tool

Mit AVR-Studio

Mit avrdude unter Linux

Firmware einspielen

Mit dem MikroKopter Tool

Mit avrdude unter Linux

Stückliste & Bestückung

(!) Tip: Es empfiehlt sich, beide Seiten der unbestückten Platine zunächst einzuscannen oder zu fotografieren. Das macht es später einfacher, ungewollte Lötbrücken und ähnliche Fehler aufzuspüren.


Die Bauteile sollten in der Reihenfolge eingebaut werden, wie sie in dieser Liste stehen, weil man es dann mit der Bestückung einfacher hat.

Kursiv dargestellte Teile befinden sich auf der Unterseite

Anz

Reichelt-Best.Nr.

Hinweis

Teil

Name

1

ATMEGA8-16TQ

Markierung beachten, Flussmittel verwenden!

Controller

IC1

1

besser TA78L05(SOT-89) oder µA78L05(TO92)

Festspannungsregler

IC2 (Conrad: 144711 - 62)

1

SMD-LED 0805 GN

Richtung beachten

SMD-Leuchtdiode

LED1

1

SMD-LED 0805 RT

Richtung beachten

SMD-Leuchtdiode

LED2

3

BC817-16SMD

Transistor

T1, T2, T3 (Version 1.0 und 1.1)

3

PDTC143ET

Die Basisvorwiderstände R3, R6 und R9 müssen durch einen niederohmigen Widerstand ersetzt werden. Bsp: 100 Ohm

Transistor

T1, T2, T3 (Version 1.2)

3

IRFR1205

alternativ auch IPD03N03LB, IRLR7843

MOSFET

NA-, NB-, NC-

3

IRFR5305

alternativ auch FDD6637

MOSFET

NA+, NB+, NC+

1

4k7 SMD 1/4W

Widerstand (größer als SMD-0805)

R26

1

10R SMD 1/4W

Widerstand (größer als SMD-0805)

R32

3

SMD-0805 470 oder 680R SMD-0805

Widerstand

R2, R5, R8

11 oder 14

SMD-0805 4K7

Je nach Wahl von T1-T3 kriegen R3, R6 und R9 4,7k oder 100 Ohm

Widerstand

R1, R4, R7, R11, R12, R13, R18, R20, R21, R22, R15, (R3, R6, R9)

2

SMD-0805 1K

Widerstand

R27, R33

5

SMD-0805 18k

Widerstand

R10, R14, R16, R23, R24

3 oder 6

SMD-0805 100R

Je nach Wahl von T1-T3 kriegen R3, R6 und R9 4,7k oder 100 Ohm

Widerstand

R17, R19, R25, (R3, R6, R9)

15

X7R-G0805 100nF

Kondensator

C1, C2, C4, C5, C6, C7, C8, C10, C13, C3, C15, C16, C17, C18, C11 (Version 1.0)

18

X7R-G0805 100nF

Kondensator

C1, C2, C4, C5, C6, C7, C8, C10, C13, C3, C15, C16, C17, C18, C11, C14, C19, C20 (Version 1.1 und 1.2)

2

SMD Elko 10/16

Markierung beachten

Elko

C12, C14 (Version 1.0)

1

SMD Elko 10/16

Markierung beachten

Elko

C12 (Version 1.1 und 1.2)

1

RAD330/16

Polung beachten und von der Seite anlöten

Elko

C9

Sonstiges

Hilfsmittel

Spannungsregler.jpg


Alternative MosFets zur Leistungssteigerung

Mit besseren MosFets sind auch dauerhaft 10A und kurzzeitig 20A möglich. Der Änderung erfolgt entsprechend:

Nach dem Umbau sollten die Regler mit der 10A - Firmware bespielt werden. Zwar funktionieren die Regler auch mit der 6A-Version, jedoch verschenkt man damit Motorleistung.

Außer den Infineon MosFets können bessere Fets im MK-Shop bestellt werden. Diese befinden sich auch auf den vorbestückten Reglerplatinen.


Anschluss

/!\ Das Bild gilt NUR für 1.0 Version
anschluss1.gif

/!\ Das Bild gilt NUR für 1.0 Version
anschluss2.gif

Schaltplan

attachment:BL-Ctrl_Schaltplan.gif

(Klicken für hohe Auflösung)

WICHTIG

/!\ Die Regler sind vor Feuchtigkeit zu schützen. (Drohende Zerstörung der Endstufe, siehe WasserLandung )

Um die Regler unempfindlicher gegenüber Feuchtigkeit zu machen, können bei der Reglerversion 1.2 PDTC143ET Transistoren von NXP genutzt werden. Diese liegen dem MosFet Set im H&I Shop bei.


MikroKopter: BL-Ctrl_Anleitung (zuletzt geändert am 29.12.2010 02:39 durch kasbah)