Mini Brushless Gimbal Controller mBGC

Ich stelle hier den Mini-Brushless-Gimbal Kontroller, oder kurz mBGC, vor. Er besteht aus einem Arduino Pro Mini (oder Arduino Nano) und einem Erweiterungsboard mit den Motortreibern für zwei brushless Motoren. Funktionsmässig ist der mBGC zu den AlexMos und Martinez Boards kompatibel, nur das andere Motortreiber verwendet werden, und bei der Version für den Pro Mini kein USB Adapter integriert ist. Das Design ist darauf ausgelegt einen kleinen, leichten und gleichzeitig billigen Brushless-Gimbal Kontroller zu realisieren.

mini brushless gimbal controller 005 olliw mini brushless gimbal controller 005 olliw
Bilder des Ersten von mir gebauten mBGC (ein v0.05)

Es gibt zwei Serien, die v0’er und v1’er Serien, welche sich in den benutzten Motortreibern unterscheiden:

mBGC v0.xx:
Die v0’er Serie verwendet TC4424 Treiber. Diese Boards ergeben die kleinsten und leichtesten mBGC, aber die möglichen maximalen Ströme sind auf ca. 150 mA pro Motor begrenzt. Diese Serie ist ideal wenn es auf jedes Gramm ankommt.

mBGC v1.xx:
Die v1’er Serie verwendet TC4452 Treiber, welche einen deutlich größeren Strom (noch nicht genau bekannt, ca. 500 mA pro Motor) erlauben. Diese Serie sollte also auch für „größere“ Motoren bzw. Gimbals taugen, allerdings sind diese Boards etwas schwerer und ca. 5 Eur teurer. Diese Serie ist, wenn auf einen integrierten USB-Anschluss verzichtet werden kann, im Regelfall die erste Wahl.

mBGC-N v1.xx:
Von der v1’er Serie gibt es auch eine Variante für den Arduino Nano. Diese Kombination hat einen integrierten USB-Anschluss, ist aber natürlich etwas größer und schwerer. Der mBGC-N ist in den meisten Fällen ein guter Ersatz zum Martinez Board, nur halt deutlich kleiner und leichter, und etwas billiger.

Board Gewicht* Kosten** Strom Anschluss
mBGC v0.08 ca. 4.15 g ca. 15 Eur ca. 150 mA FTDI
mBGC v1.04 tba ca. 20 Eur ca. 500 mA FTDI
mBGC-N v1.08 ca. 8.5 g ca. 20 Eur ca. 500 mA USB

* Das Gewicht hängt von der Platinendicke des Arduino und Erweiterungsboards sowie der Anzahl der verbauten Stiftleisten usw. ab.
** Die Kosten hängen natürlich sehr stark von den Bezugsquellen ab.

Design Konzept
Der mBGC basiert auf den TC4424 oder TC4452 Mosfet-Treibern (oder kompatiblen Treibern, siehe unten). Sie sind für unsere Zwecke sehr gut geeignet: Sie verkraften, je nach Treiber-Typ, Peakströme bis zu 12 A, erlauben Betriebsspannungen von 4.5 V bis 18 V, und sind schnell genug um die Motoren mit einer PWM von 32 kHz zu betreiben. Zusätzlich sind sie klein, leicht zu beschaffen, und in einem SOIC8 Gehäuse erhältlich, und daher auch gut per Hand zu löten. Die Treiber haben den Nachteil, das ein Enable-Anschluss fehlt und der Ausgangswiderstand vergleichsweise groß ist. Es handelt sich auch um keine „echten“ Motortreiber und die Ausgangs-Schutzschaltung ist nicht für Motoren ausgelegt. In der der Praxis hat sich jedoch gezeigt, dass sie absolut problemlos funktionieren. Von den Alternativen L293DD, DRV8839, SN754410 usw. sind sie, meiner Meinung nach, die beste Wahl.

Die großen Peakströme klingen fantastisch, in der Praxis ist der maximale Strom jedoch durch Hitze begrenzt und daher durch den Ausgangswiderstand bestimmt. Die Erfahrung zeigt dass die TC4424 der v0’er Serie für ca. 150 mA pro Motor gut sind. Für die TC4452 der v1’er Serie gibt es noch nicht viele Erfahrungen, aber mehr als 500 mA wurden von Overtuner berichtet (siehe hier).

Der mBGC hat zusätzlich einen Spannungsteiler zum Messen der Batteriespannung eingebaut, welcher am A3 bzw. ADC3 Pin angeschlossen ist. Dies kann dazu dienen einen Unterspannungs-Schutz oder spannungsabhängige PID Parameter in der Firmware zu implementieren. Die Spannungsteiler-Widerstände, R1 und R2, können nach Belieben gewählt werden; ich habe mich für R1 = 47 k und R2 = 10 k entschieden. Die BruGi-Open-Source-Software ist im Moment auf R1 = 10 k und R2 = 2.2 k ausgelegt (link). Die Teilerverhältnisse sind sehr ähnlich, aber ich bevorzuge die größeren Widerstände.

Forum Threads für Fragen, Diskussionen, Vorschläge, usw.
Mini Brushless-Gimbal Elektronik @ fpv-community
mini brushless gimbal controller @ rcgroups

Alternative Treiber
Es gibt einige zum TC4424 Pin-kompatible Treiber, welche sogar Peak-Ströme bis zu 4 A verragen:

  • TC4427, IR4427S (peak current 1.5 A, output resistance 7 Ohm)
  • MAX4427 (peak current 1.5 A, output resistance 4 Ohm)
  • MCP14E4 (peak current 4 A, output resistance 3.0-3.5 Ohm)
  • TC4424 (peak current 3 A, output resistance 2.8-3.5 Ohm)
  • IXDN404 (peak current 4 A, output resistance 1.5-2 Ohm)

Danksagung: Das mBGC-Projekt began ich im Rahmen meines Mikro-Brushless-Gimbal Projekts, aber der letzte Kick hierfür eine eigene Platine zu layouten war der-Frickler’s Thread Mini Brushless-Gimbal Elektronik, Danke dafür. Die TC4452 Treiber wurden von fpv-community User Overtuner aufgetan (hier). Danke!

Nutzungsbedingungen/Terms of Usage: The Mini Brushless Gimbal Controller (mBGC) and its current and future variants described below is open source hardware, under the terms of the TAPR Open Hardware License as published by the Free Hardware Foundation, see http://www.tapr.org/ohl.html.


Der mBGC v0.xx

Diese mBGC Serie basiert auf einem Arduino Pro Mini (5V/16MHz) und verwendet TC4424 oder kompatible Treiber. Da die TC4424 Zweifach-Treiber sind werden nur drei von ihnen benötigt, was Gewicht und Kosten minimiert. Diese Version ist daher die kleinste, leichteste, und billigste mBGC-Variante. Der maximale Strom beträgt allerdings nur ca. 150 mA pro Motor, was für z.B. Mikro-Gimbals perfekt passt. Die aktuelle Version des Boards ist v0.08.

Schaltplan und Platinenlayout

mbgc mini v007 scheme olliw

mbgc mini v008 top olliw mbgc mini v008 bottom olliw

Stückliste
1x Arduino Pro Mini 328p – 5 V/16 MHz
3x TC4424 oder ähnlich, siehe oben
1x 10 uF bis 33 uF, tantal SMD C
2x 100 nF, SMD 0805
1x ein-reihige Stiftleiste mit mindestens 12 Stiften
1x 10 k, SMD 0805
1x 47 k, SMD 0805

Aufbau
Wo welches Bauteil hingehört ist eigentlich offensichtlich. Die folgenden Bilder zeigen das Ergebnis für die Version v0.05. (Bitte beachtet das hier Widerstände R1 = 10 k und R2 = 2.35 k (2x 4.7 k parallel) benutzt wurden, anders als empfohlen)
mini brushless gimbal controller mbgc v005 olliw


Der mBGC v1.xx

Dieser mBGC basiert wie die v0’er Serie auf einem Arduino Pro Mini (5V/16MHz), verwendet allerdings TC4452 Treiber. Die TC4452 sind Einzel-Treiber und es werden daher sechs von ihnen benötigt, weswegen das Gewicht und die Kosten etwas größer sind als bei der v0’er Serie. Allerdings ist der maximale Strom deutlich größer, er beträgt mindestens 500 mA pro Motor, was den Einsatzbereich enorm erweitert. Diese Variante ist also sozusagen der Standard-mBGC. Die aktuelle Version des Boards ist v1.04.

Schaltplan und Platinenlayout

mbgc mini v103 scheme olliw

mbgc mini v104 top olliw mbgc mini v104 bottom olliw

Stückliste
1x Arduino Pro Mini 328p – 5 V/16 MHz
6x TC4452
1x 10 uF bis 33 uF, tantal SMD C
2x 100 nF, SMD 0805
1x ein-reihige Stiftleiste mit mindestens 12 Stiften
1x 10 k, SMD 0805
1x 47 k, SMD 0805


Der mBGC-N v1.xx

Das mBGC-N basiert auf dem Arduino Nano, welcher einen integrierten USB Port mitbringt, und verwendet entsprechend der v1′ Serie TC4452 Treiber. Die aktuelle Version des Boards ist v1.08.

Das mBGC-N kann in zweierlei Weise zusammengebaut werden: In Konfiguration S wird die mBGC-N Platine von unten und in Konfiguration K von oben auf den Nano aufgesteckt. Konfiguration S ist die Standardbauweise. Hier sind die LEDs sichtbar und der Reset-Knopf ist zugänglich. Bei Konfiguration K werden diese Bauteile von der Platine verdeckt, dafür ergibt sich jedoch ein kompakterer Aufbau. Die Bestückung des mGBC-N Boards unterscheidet sich in den zwei Fällen leicht; der Tantal-Kondensator muss einmal auf der Vorder- und das andere mal auf der Unterseite eingelötet werden.

Schaltplan und Platinenlayout

mbgc nano v108 scheme olliw

mbgc nano v108 top olliw mbgc nano v108 bottom olliw

Stückliste
1x Arduino Nano
6x TC4452
1x 10 uF bis 33 uF, tantal SMD C
2x 100 nF, SMD 0805
1x ein-reihige Stiftleiste mit mindestens 12 Stiften
1x 10 k, SMD 0805
1x 47 k, SMD 0805

Aufbau
Wo welches Bauteil hingehört ist eigentlich offensichtlich. Der Tantal Kondensator muss je nach Konfiguration S oder K oben oder unten eingelötet werden. Das Bild zeigt das Ergebnis für die Version v1.08 (Konfiguration S).
mbgc-n v108 olliw

Bild eines fertigen mBGC-N v1.08 in Konfiguration S:
mbgc-n v108 configuration s olliw

Bild eines mBGC-N v1.08 in Konfiguration K (nur zur Demonstration, nicht vollständig zusammengelötet):
mbgc-n v108 configuration k olliw


Eagle und Gerber Dateien

Current release v20130909: mbgc_release_20130909.zip

Deprecated releases:
mbgc_release_20130806.zip
mBGC_TC4427_Mini_ver05_20130624.zip

OSH Park:
User Overtuner, irun4fundotca und mueckchen haben die Boards als Shared Projects bei OSH Park gepostet, was die Bestellung um sie sich herstellen zu lassen enorm vereinfacht:
– mBGC v1.04: http://oshpark.com/shared_projects/RJCnPIgR (für Arduino Pro Mini) (uploaded by Overtuner)
– mBGC v1.04: http://oshpark.com/shared_projects/RJCnPIgR (für Arduino Pro Mini) (uploaded by mueckchen)
– mBGC-N v1.08: http://oshpark.com/shared_projects/ejAeOakO (für Arduino Nano) (uploaded by irun4fundotca)
– mBGC-N v1.08: http://oshpark.com/shared_projects/ejAeOakO (für Arduino Nano) (uploaded by mueckchen)
– mBGC v0.07: http://oshpark.com/shared_projects/gLaUnaMp (Version im Link falsch angegeben!)
– mBGC v0.05: http://oshpark.com/shared_projects/MNT3PPct


Einige Anwendungen



Bezugsquellen

Arduino Pro Mini 328p – 5V/16MHz
Deutschland:

Overseas:

TC4452 VOA (Soic8)
Deutschland:

  • TC4452, 1.88 Eur (+ 5.95 Eur Versand) bei HBE (Farnell Best.Nr.: 1332316)

TC4424 AVOA (Soic8)
Deutschland:

  • TC4424, 1.86 Eur (+ 5.95 Eur Versand) bei HBE (Farnell Best.Nr.: 1332307)

TC4427, IR4277
Deutschland:

  • 12 x TC4427, 6.50 Eur (+ 5.00 Eur Versand) bei zhoefler (ebay)
  • IR4427S, 0.98 Eur (+ 5.60 Eur Versand) bei Reichelt

37 Kommentare

  1. OlliW,

    Linux: Connection Port Connect has no values

    BruGi r221
    Arduino 1.6.12
    Ubuntu 16.04
    _BruGi upload done
    $ ls /dev/ttyUSB*
    /dev/ttyUSB0
    $ wish ./blg-tool.tcl
    but Connection Port Connect has no values
    various boards tested and known to work with mpu6050 & serial monitor or Teapot
    Oshpark mBGC has been posted, awaiting delivery!

  2. Olli,

    I was really delighted to find this page!

    Is it possible that you might move to Kicad?

    many thanks

  3. Federico sagt:

    Hi Olli!

    very interesting project!!!
    Is Arduino firmware available?

  4. Ben sagt:

    Hallo,
    Sehr gut beschrieben. Aber welche sensorik hast du benutzt. Gruß Ben

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.