Aufgrund des großen Interesses an unserem Artikel zur Corvette Fensterhebersteuerung per iPhone App nehmen wir das Thema Bluetooth 4.0 noch einmal auf. Wir bauen einen Universal-Fernbedienungs-Empfänger iPhone. Dazu gibt es hier die Do-it-yourself-Anleitung und im AppStore die passende App (Coming soon) dazu. Viel Spaß beim Nachbauen! 

Im Video sieht man den Aufbau des Boards und eine Einführung in die App.

Im Folgenden gibt´s die Anleitung Schritt-für-Schritt:

Herzstück der Platine ist das Bluetooth 4.0 LE Modul BLE112 der Firma BlueGiga. Dieses Modul eignet sich hervorragend für kleinere Projekte. Der Kontroller (CC2540 von Texas Instruments) im Modul wird direkt mit einem Skript programmiert und somit kann auf einen zweiten Mikrokontroller verzichtet werden. Programmiert wird das Modul über den CC-Debugger von Texas Instruments. Diesen kann man z.B. bei Farnell im Online-Shop bestellen. Nachdem wir mit Hilfe des CC-Debugger unser Skript auf das Modul geladen haben, lässt sich die Programmierung auch per Mikro-USB-Kabel durchführen. Dazu später mehr…

Zunächst bestücken wir die Platine. Dazu benötigen wir folgende Bauteile:

1 x Lochrasterplatine ca. 100x100mm
1 x BLE112 Modul
1 x TS1117 3.3V Spannungsregler

3 x 1uF Kondensator
2 x 2.2uF Kondensator
1 x 0.47uF Kondensator
2 x 47pF Kondensator

2 x 33Ohm Widerstand
1 x 1.5k Ohm Widerstand
8 x 2.2k Ohm Widerstand
8 x 560 Ohm Widerstand
8 x LED
8 x BC547 Transistor

1 x 2×5 Pinleiste (CC-Debugger-Interface)
1 x 1×2 Pinleiste (Versorgungsspannungs-Jumper)
1 x Mikro-USB Buchse

Weiter benötigen wir einen Lötkolben mit feiner Spitze, etwas Lötzinn, Kabel und eine ruhige Hand.

Das BLE112 Modul wird normalerweise direkt auf die Platine gelötet. Da allerdings das Raster der Lötpads nicht mit dem der Lochrasterplatine übereinstimmt, bedienen wir uns eines kleinen Tricks. Wir befestigen das Modul mit einem Stück doppelseitigem Klebeband kopfüber auf der Oberseite der Platine (siehe Photo).

Platine

Das ist zwar nicht die beste Position für das Modul, da die Keramik-Antenne zwischen Modul und Platine liegt und dadurch die Reichweite etwas eingeschränkt wird. Bei unseren Versuchen im Gebäude und ohne Sichtverbindung kamen wir jedoch immer noch auf ausreichende 10m Reichweite.

Im nächsten Schritt löten wir kurze Kabelstücke an die im Schaltplan markierten Lötpads des BLE112. Diese Kabel dienen als Adapter zwischen den beiden unterschiedlichen Rastermaßen von Modul und Platine.

Unsere Platine ist, wie auf dem Schaltplan zu sehen, in fünf Module unterteilt. Das BLE112-Modul haben wir bereits vorbereitet. Als nächstes bauen wir den Spannungsregler auf. Da unser Board später per USB mit Spannung (5 Volt) versorgt werden soll, die Betriebsspannung des BLE112-Modules aber 3.3 Volt beträgt, brauchen wir einen Spannungsregler, der die 5 Volt USB-Spannung auf 3.3 Volt herunter regelt.

Als Nächstes empfiehlt es sich die Pinleiste für den CC-Debugger aufzubauen und anzuschließen. Jetzt können wir die Grundfunktion unserer Schaltung testen. Dazu stecken wir den Jumper JP2 (somit wird unser Board vom CC-Debugger mit Spannung versorgt) und schließen den CC-Debugger an. Hierbei ist auf die richtige Polung achten! Die farbig markierte Litze am Flachbandkabel ist Pin 1. Anschließend verbinden wir den CC-Debugger mit der USB-Schnittstelle am PC. Wenn wir die RESET-Taste am Debugger drücken, sollte die LED grün leuchten. Ist das der Fall, haben wir das BLE112-Modul und die Debugger Pins korrekt angeschlossen. Leuchtet die LED rot, kann der Debugger das BLE112-Modul nicht finden. Wir überprüfen zunächst, ob die Pins der Pinleiste mit den richtigen Pins des BLE112-Modules verbunden sind. Leuchtet die LED weiterhin rot, prüfen wir die Spannungsversorgung mit einem Multimeter. Am AVDD Pin des BLE112-Modules müssen 3.3 Volt anliegen.

Jetzt können wir unser Modul initial programmieren. Hierzu öffnen wir die Skript Projektdatei „bt4_board.bgproj“ mit dem Update-Tool von Bluegiga. Durch einen Klick auf „Update“ wird das Skript (Firmware) kompiliert und auf den Chip geflashed.

Als nächstes bauen wir den USB Port an die Schaltung. Pin 1 an der USB-Buchse ist +5 Volt, diese legen wir an den Eingang am Spannungsregler. Pin 2 und Pin 3 sind die Daten-Leitungen, diese werden jeweils über einen Widerstand an die USB+ bzw. USB- Pins am BLE112-Modul angeschlossen. Pin 4 bleibt an der USB-Buchse frei.

Letzte Baugruppe sind die Ausgangsstufen für die 8 Ausgänge, die später per Smartphone App geschaltet werden können. Jede dieser Ausgangsstufen wird aus 4 Bauteilen gebildet. Kernstück bilden die NPN-Transistoren. Das BLE112-Modul liefert nur kleine Ströme an den Ausgängen. Damit wir größere Ströme schalten können, verwenden wir eine Transistorschaltung. Im Schaltstromkreis der Transistoren befinden sich LED’s, die den Schaltzustand anzeigen. Versierte Bastler können diese LED’s durch z.B. Relais ersetzen und damit dann andere Dinge, wie in unserem Artikel Corvette Fensterheber mit dem iPhone steuern gezeigt steuern. Aber Vorsicht die Schaltung sollte nur von fachkundigen Personen verändert werden.

Programmierung per CC-Debugger

Wie bereits erwähnt brauchen wir für die initiale Programmierung den CC-Debugger. Diesen schließen wir zunächst per USB an den PC an (noch nicht mit der Platine verbinden). Die LED am Debugger sollte rot leuchten. An der Platine setzen wir den Jumper JP2 und stellen sicher, dass das USB-Kabel nicht angeschlossen ist. Die Platine wird, wenn der Jumper JP2 gesetzt ist, über den CC-Debugger mit Spannung versorgt. Jetzt schließen wir den Debugger an JP1 an der Platine an, wir achten dabei auf die richtige Polung. Nachdem wir am Debugger auf den Reset-Knopf gedrückt haben, sollte die LED grün leuchten. Jetzt öffnen wir die Skript Projektdatei „bt4_board.bgproj“ mit dem Update Tool von BlueGiga. Durch Klicken auf Update, wird das Skript (Firmware) auf das Modul geladen. Jetzt können per App die 8 Ausgänge, wie im Video gezeigt, geschaltet werden.

Kompilieren der Firmware

Wenn wir die Firmware per USB aktualisieren möchten, müssen wir diese zuerst kompilieren. Dazu verwenden wir das Tool „bgbuild.exe“ aus dem SDK von BlueGiga. Mit dem Windows-Konsolenbefehl „<SDK Verzeichnis>binbgbuild.exe bt4_board.bgproj“ wird die Firmware kompiliert und eine „bt4_board.hex“ Datei erstellt. Diese können wir, wie im nächsten Abschnitt beschrieben, auf die Hardware flashen.

Programmierung per USB

Nachdem einmalig die Firmware per CC-Debugger auf das Modul geflashed wurde, können wir bequem per USB die Firmware updaten. Ist das Modul per USB am PC angeschlossen, wird es von Windows als serielle Schnittstelle erkannt. Die Treiber für das Gerät sind im SDK von BlueGiga enthalten. Sind die Treiber installiert, können wir uns mit Hilfe eines Terminal-Programms (wir verwenden Tera Term) verbinden. Durch das Senden einer „0“ (ASCII 0x30) starten wir das Modul im sogenannten DFU-Modus. Jetzt führen wir folgenden Befehl in der Windows-Konsole aus:
<SDK Verzeichnis>dfutool.exe 2458:fffe bt4_board.hex„.
Während die Firmware aktualisiert wird, darf die Spannungsversorgung der Platine nicht unterbrochen werden. Nach erfolgreichem Update startet das Modul wieder im normalen Modus und kann per App gesteuert werden.

Haftungsausschluss:
„Das Nachbauen erfolgt ohne Haftung für Schäden jedweder Art, die durch die in dieser Anleitung beschriebenen Schaltungen entstehen könnten. Dazu zählen auch sämtliche Folgeschäden, die im Zusammenhang dieser Anleitung entstehen könnten. Das Nachbauen der in dieser Anleitung beschriebenen Schaltung erfolgt auf Eigenverantwortung des Nachbauers.“

Firmware und Schaltplan

0 Kommentare

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

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