Fertige Bluetooth Lösungen sind mitunter recht kostspielig. Die preiswertesten Bluetooth Module die derzeit käuflich erhältlich sind, gibt es vom chinesischen Hersteller Rayson. Die Module BTM-112 (Class 2) und BTM-222 (Class 1) kosten jeweils nur etwa 15€.

Da die Module für 3,3V Versorgungsspannung ausgelegt sind benötigt man für den Anschluß an ein 5V System neben einem 3,3V Spannungsregler noch 2 Pegelwandler (Level Shifter) für die UART Signale. Zudem will man sicher nicht auf eine Statusanzeige mittels LEDs verzichten. Der Preis für ein Modul liegt trotzdem alles in allem bei ca. 20€.
BTM-222 Modul komplett

Die Schaltung

Die Schaltung des Bluetooth Moduls ist für den Betrieb an einem 5V System ausgelegt. Als Spannungsregler kommt ein regelbarer LM317L zum Einsatz. Ebenso könnte ein 3,3V Festspannungsregler wie z.B. der LF33CV verwendet werden.



Pegelwandler

Ein Pegelwandler (englisch Level Shifter) dient dazu, Signalpegel unterschiedlicher Spannungspegel anzupassen. Ein typischer Vertreter für einen Pegelwandler ist z.B. ein RS232 Wandler. Dieser wandelt die 12V Pegel einer RS232 Schnittstelle in 5V TTL Pegel um.
Die Pegelwandler für unser Bluetooth Modul werden aus je 2 NPN Transistoren und ein paar Widerständen gebildet. Theoretisch könnte man den 3,3V nach 5V Level shifter auch weglassen, da die 3,3V Pegel normalerweise als HIGH Pegel erkannt werden. Ebenso ließe sich der 5V nach 3,3V Level shifter durch einen Spannungsteiler, der nur aus 2 Widerständen besteht ersetzen. Aber lieber gehe ich hier auf Nummer Sicher.

Externe Antenne

Beide Module besitzen keine Antenne. Was aber nicht weiter schlimm ist, ein Stück Draht tut es ebenso gut. Man erzielt damit eventuell sogar eine höhere Reichweite, als mit einer Keramik Antenne. Im speziellen wird eine sogenannte Lambda/4 Antenne benötigt. Die Länge einer Lambda/4 Antenne entspricht einem Viertel der Sendefrequenz, bei Bluetooth (2,4GHz) ergibt das eine Länge von 31mm.

Adapter Board

Zunächst wird das BTM-222 Modul auf das Standard Raster von 2,54mm gebracht. Dazu wird das Modul mit Heißkleber mittig auf ein Stück Lochrasterplatine der Größe 40 x 25mm geklebt. Doppelseitiges Punktraster ist hierzu ideal. Die für den Betrieb notwendigen Kontakte werden auf 2 9-polige Stiftleisten geführt. Davon werden insgesamt aber nur 7 Kontakte benötigt. Als Hauptproblem stellte sich hier heraus, geeignete Drähte zu finden um das Modul zu verdrahten. Der dünnste, mir zur Verfügung stehende Silberdraht mit 0,4mm Durchmesser, war hier immer noch zu dick. Nach einigem Ausprobieren war der geeignete “Draht” gefunden. Die Einzel Kupferlitzen aus einen Stück flexiblen Elektrokabel ließen sich problemlos an die Winz-Kontakte des Moduls anlöten. Lediglich für die Masseverbindung wurde Standard Litze mit 0,6mm verwendet. Die Abblockkondensatoren wurden ebenfalls mit auf diese Adapterplatine gelötet. So ließe sich das Modul schon komplett in einem 3,3 System integrieren. Für 5V System fehlen aber noch ein paar Kleinigkeiten.
BTM-222 Modul auf Adapter

Inbetriebnahme

Bluetooth Profile

Der Datenaustauch über Bluetooth erfolgt über sogenannte Profile. Beim Verbinden tauschen die Geräte ihre Profil Informationen aus und einigen sich dabei über das verwendete Profil
Beide BTM Module (BTM-112 und BTM-222) unterstützen das SPP Profil (Serial Port Protocol). Damit ist die Ansteuerung sowohl von PC Seite als auch von Mikrocontroller Seite besonders einfach. Von der PC Seite (Bluetooth) verhält sich das Gerät wie eine COM Schnittstelle. Von Mikrocontroller Seite (Seriell) werden nur die UART Signale RXD und TXD benötigt. Das ganze bezeichnet man auch “Kabelersatzlösung”. Das heißt die Anwender Software und auch die angeschlossene Mikrocontroller Hardware merkt nichts davon, alles verhält sich wie eine normale drahtgebundene serielle Verbindung.

Probeaufbau auf Steckbrett

Durch die Stiftleisten kann man Bluetooth Modul einfach auf ein Steckbrett stecken um dort die restliche Schaltung für die 5V Logik aufzubauen und zu testen. Dazu gehören die 3,3V Spannungsversorgung ein paar Status LEDs und die beiden Levelshifter.
BTM-222 Probeaufbau

Erste Versuche

Die ersten Versuche mit dem Probeaufbau bestanden nur aus dem Modul und ein paar Status LEDs an den Ports PIO5..7 mit einem 3,3V Labornetzteil. Damit läßt sich schon mal die Stromaufnahme testen. Nach Anlegen der Spannung flossen 50mA duch die Schaltung. Die LED an PIO5 blinkte 2x kurz zusammen mit der LED an PIO7. Danach blinkte nur noch die LED an PIO7 2mal pro Sekunde. Das schaute schon mal nicht schlecht aus. Auch unter der Bluetooth Umgebung auf dem PC war ein unbekanntes Gerät zu finden. Eine Verbindung liess sich allerdings nicht aufbauen. Das ist am Anfang nämlich nur direkt über die serielle Schnittstelle möglich.

1. serielle Verbindung

Für die Konfiguration des Bluetooth Moduls wird einmalig ein serielle Verbindung zum PC über einen RS232 Adapter oder einen USB-UART Wandler benötigt. Der RS232 Wnadler setzt die UART TTL Pegel (0V..5V) in RS232 Pegel (+12V..-12V) um. Ein USB-UART Wandler ist bei modernen PCs notwendig, die über keine RS232 Schnittstelle verfügen. Achtung es muß ein USB-UART Wandler mit UART TTL Pegel sein. Die üblichen USB-RS232 Wandler arbeiten auf der seriellen Schnittstelle wieder mit RS232 Pegel, wozu dann zusätzlich auf der Bluetooth Modul wiederum ein RS232-TTL Wandler notwendig wäre.
Der unten abgebildete selbstgebaute RS232-UART Wandler besteht aus einem MAX202 Chip und 4 Kondensatoren.
RS232 Modul
Im Terminalprogramm sind folgende Einstellungen der seriellen Schnittstelle vorzunehmen:
"19200 Baud, 8 Datenbits, no Parity, 1 Stop Bit, Handshake kein oder Hardware"
Nach dem Anlegen der Versorgungsspannung reagiert das Modul auf AT-Befehle, die man vom Terminalprogramm aus eingibt. Auf ‘AT’ antwortet das Modul mit ‘OK’. Den kompletten Befehlssatz findet man im Datenblatt. Einige Befehle funktioneren nur im Master Mode. Da unser Modul als Slave arbeitet, gibt es bei der Eingabe entsprechender Befehle eine Fehlermeldung ‘ERROR’. Auf den Befehl ‘ATB?’ antwortet das Modul mit seiner Bluetooth Adresse. ‘ATI?’ liefert die Firmware Version (‘v4.19′ bei meinem Modul).
Letztendlich genügt der Befehl ‘ATH0′, damit das Modul eine Verbindungsaufnahme über Bluetooth ermöglicht. Ein spezielles Pairing mit Eingabe von Pin Code o.ä. ist nicht notwendig.
Korrektur vom 02.07.2008: Die Eingabe des Befehls ‘ATH0′ ist nicht notwendig. Das Modul funktioniert schon mit den Werkseinstellungen richtig. Falls es Probleme geben sollte, genügt es einen Werks Reset auszuführen mit ‘ATZ0′.

1. Bluetooth Verbindung

Jetzt wird es Zeit eine erste Verbindung über Bluetooth herzustellen. Beim Anlegen der Spannung an das Modul fällt mir auf, das die Stromaufnahme jetzt sehr schwankt (zwischen 20..70mA im Sekundenrythmus). Aber kein Grund zur Sorge, das ist alles normal. Wen man nun unter der Bluetooth Umgebung auf dem PC auf den ‘Serial Adaptor Dev B’ doppelklickt, bekommt eine Verbindung, und man erhält die COM Nummer, unter der man das Modul unter Bluettoth erreicht (COM3 in meinem Fall). Diese COM Nummer gibt man im Terminalprogramm an, die anderen Parameter wie Baudrate sind dieselben wie oben beschrieben. Bei erfolgreicher Verbindung geht die Stromaufnahme auf 20mA zurück und die grüne Status LED zeigt jetzt Dauerleuchten. Drückt man nun eine Taste im Terminalprogramm leuchtet dazu die rote Traffic LED. Perfekt, so macht das Spaß.
Für zukünftige Verbindungen reicht es aus, das Terminalprogramm zu starten. Die Verbindung steht dann binnen 2-3 Sekunden.

Trägerboard

Nun geht es daran, die Schaltung vom Probeaufbau auf eie Lochraster Platine zu bringen. Damit das komplette Modul nicht zu groß wird, entscheide ich mich für eine Sandwich Konstruktion. Die meißten Bauteile sitzen dann unter dem Adapterboard. Viel Platz ist nicht, aber mit Hochkant Stellen der meisten Widerstände klappt es ohne Probleme, alles unterzubringen. Man muß allerdings darauf achten, dass die Bauteile nicht zu hoch ragen, sonst könnte es Kurzschlüsse mit dem Adapterboard geben. Die Steckerbelegung des 6poligen Steckverbinders entspricht der Belegung meines BlueSmiRF bzw. RS232 Moduls. So kann ich die Module beliebig untereinander tauschen.

Das Trägerboard Bauteilseite:
Trägerboard von oben

Das Trägerboard Lötseite:
Trägerboard von unten

Trägerboard Layoutplan Bauteilseite:
Trägerboard Layout von oben

Trägerboard Layoutplan Lötseite:
Trägerboard Layout von unten

Das fertige Modul

Geschafft, so sieht das fertige Modul aus. Vor dem Aufstecken sollte man unbedingt das Trägerboard durchmessen und erst mal alleine testen. Das heißt Stromaufahme messen, Spannungen überprüfen. Die 3,3V Spannungsversorgung muß erst über den Poti abgeglichen werden. Erst dann sollte man das Modul stecken. Wie schon beim Probeaufbau sollte beim Spannung anlegen erst beide LEDs kurz blinken, danach nur noch zyklisch die grüne LED.
BTM-222 Modul komplett

Stückliste


1 LM317LZ regelbarer Spannungsregler, IC1
1 Bluetooth Modul BTM-222, IC2
4 Transistoren NPN BC547 o. ä., T1..T4
1 LED rot, low current 2mA, D1
1 LED grün low current 2mA, D2
1 Diode 1N4002, D3
4 Folien Kondensatoren 100nF, C1..C4
8 Widerstände 1k, R1..R8
1 Widerstand 220, R9
1 Trimmer 5k, R10
2 Steckerleisten gerade, 2,54mm 9polig
1 Steckerleiste gewinkelt, 2,54mm 6polig
2 Buchsenleisten gerade, 2,54mm 9polig
1 Stück Lochraster doppelseitig Punktraster, 25x40mm
1 Stück Lochraster einseitig Punktraster, 30x53mm
Silberdraht, 0,4mm
isolierter Schaltdraht, starr, rot, gelb, schwarz 0,4mm
Kupferlitze aus flexiblem Elektrokabel

Thats all folks!

Bezugsquellen

Weblinks