Meine Blogs
> Neuen Blog erstellen
My Carrera
Carreraristi Blogs: Das Leben zwischen Slotcar und Oszilloskop

Der Bluetooth Blues

26.06.09, 12:19
Es ist einer jener Tage. Einer jener Tage an denen Alles grau und sinnlos ist, ein Tag in einer trüben, regnerischen Welt.
ich glaub ich hab den Blues.

Den interessanten Teil eines Projektes gerade abgeschlossen, sitze ich zurückgelehnt in meinem Sessel, drehe mich gelangweilt hin und  her und schaue mit trübem Blick aus trüben Augen in den trüben Himmel.
ich glaub ich hab den Blues.

Auch das Telefon bleibt stumm. Obwohl es ja das Klingeln gelernt hat, verweigert es gerade diesen Dienst.
ich glaub ich hab den Blues.

Der letzte Ausweg aus der Lethargie, das Internet. Das Internet, Retter der Gelangweilten, Beschützer der Trübsinnigen.

Mal schauen was im Carreraclub so los ist ...

Eine Antwort auf den "Luftikus" und die Implikation der Anwendung als Bluetooth Regler.

Na ja, schau ma mal ...
ich glaub ich hab immer noch den Blues.

Die BB hat zwei Anschlussmöglichkeiten für Regler, entweder als analoger Regler oder als IR Tower mit digitalen Daten im Zeitmultiplex. Klingt komplizierter als es ist.

Da ich ja nur einen Empfänger will und ein serielles digitales Signal in einer digitalen Lösung mit einem Spezial-Stecker weniger aufwändig zu  realisieren ist, als 6 analoge Signale mit 6 Spezial Steckern, wähle ich die Turm Lösung.
Ich kann mein Interesse fühlen.
Ich kämpfe, kämpfe gegen den Blues.

Man soll es bezahlen können also, das selbe Bluetooth Modul, wie beim Luftikus.
Ich brauche also für jeden Regler ein Bluetooth Modul und einen Microcontroller der einen analogen Regler abfragen und das Bluetooth Modul mit Daten versorgen kann. Und das Ganze sollte am Ende mit Batterien betrieben werden können.

Na ja, von solchen Controller Chips habe ich reichlich zu Hause.
Ich kämpfe, kämpfe gegen den Blues.

Der Controller für den Tower muss ebenfalls einen Micro-Controller haben, der mit dem Bluetooth Modul sprechen kann und einen seriellen Datenstrom für die Blackbox muss er auch erzeugen können.

Na ja, von solchen Controller Chips habe ich reichlich zu Hause.
Ich kämpfe, kämpfe gegen den Blues.

Ich schraube einen IR Regler auf und schaue nach den Platzverhältnissen.
Nehme die Maße der Platine ab und versuche auf einfache Art und Weise im Layout Programm daraus eine Platinen Kontur zu machen.
Ich schaffe es nach 5 facher Datenkonvertierung eines Bildes der Platine, mehrfachem Skalieren und Internetrecherche.
Hat nur 1 Stunde gedauert, ich hätte das ganze in 10 Minuten neu zeichnen können.
Noch lauert, lauert er, der Blues.

Ach ja, für den ersten Prototyp macht es gar keinen Sinn, die Platine in einen IR Regler einzubauen, es ist praktischer, eine Platine zu machen, die sowohl mit einem Analog Regler als "Sender" als auch an der Blackbox als "Empfänger" arbeitet. Schön Zeit verschwendet. Hätte ich mal erst gedacht und dann gehandelt.
Noch lauert, lauert er, der Blues.

Nicht vergessen beim Entwurf der Schaltung darauf zu achten, dass ich nur Teile verwende, die ich auch da habe. Kein Problem.
Das Layout geht flott von der Hand. Wie üblich bleibt bei einer einseitigen Platine genau eine Verbindung übrig, die eine Drahtbrücke braucht. Dieser Platinen-Typ sollte nicht einseitig, sondern einbrückig heißen.
Eine Datei für die Fräse draus gemacht. Kein Problem es fliesst, es geht voran.
Ich habe ihn vertrieben, vertrieben, den Blues.

Die Fräse angeworfen auf den Rechner zugegriffen und .... geht nicht.
Hallllooooo ......
Ich habe den Schnee Leoparden eingespielt und sein Samba authentisiert den MSDOS Client nicht mehr.
Das muss doch gehen, das kann doch nicht so schwer sein ....
Nach nach 2 Stunden gebe ich auf, starte einen anderen Rechner, kopiere die Daten auf diesen, verbinde die Fraese mit diesem und voila ...
Ich bin fast 50 und immer noch so blöd, meine Zeit mit so was zu verschwenden.
Blues, ich habe ihn gesehen, den Blues.

Fräse fräst, Lötkolben lötet und der Prototyp nimmt Formen an.
Es fehlt nur noch die Reglerbuchse. Damit ich einen Original D132 Regler verwenden kann brauche ich eine Buchse mit seitlicher Öffnung für die Nase. Eine alte ProX Blackbox spendet eine Buchse. Sieht jetzt ein bisschen aus, wie ein Greis mit fehlenden Zähnen.
Jetzt hat die Blackbox , die Blackbox, den Blues.

Im Moment baue ich meine Software für Microcontroller um eine Eventloop.
Ich kann diesen Kern einfach und schnell anpassen und in 10 Minuten ist das Projekt in den Gängen. Der Mac dient für die Versuche als Gegenstelle und Microcontroller und Mac können miteinander reden, sie verstehen sich, sie lieben sich, ich bin zufrieden.
Ich kenne ihn nicht, kenne ihn nicht, den Blues.

Den Reglerstand und die Tastenstellung einzulesen ist trivial.
Den Controller vom Regler getrennt dafür an die Blackbox angeschlossen.
IR Startsignal, wo bleibt mein IR Startsignal. Sieht nicht gut aus. Natürlich nicht, dass Signal ist zum Treiben der Leds gedacht, das Signal erreicht ohne Last keinen vernünftigen Low Pegel. Es heisst zwar immer "Widerstand ist zwecklos", aber ein Widerstand hilft oft, so auch hier.
Ein Signal, es ist ein Signal.
Ich kenne ihn nicht, kenne ihn nicht, den Blues.

Ein Signal braucht eine Antwort. Also gut, das Signal wird erkannt ein Event erzeugt und dann werden zeitversetzt weitere Events gepostet. Kommt so ein Event wird ein Datenwort für den jeweiligen Regler gesendet.
Dank Eventsystem kein Problem. Eine Sache von Minuten, die Daten werden gesendet und Alles wird gut.
Zum Test werden Tasteneingaben am Mac an den Controller geschickt in Geschwindigkeitswerte umgesetzt und an die BB geschickt und siehe da, es geht, es geht .... Na ja fast. Der Motor dreht ein bisschen langsam. Aber kein Problem, ich habe nur das Bit für die Taste an die falsche Stelle geschoben und so wurde der Geschwindigkeitswert halbiert.
Pantha rhei, Alles fliesst, schon fast eine Überschwemmung.
Ich kenne ihn nicht, kenne ihn nicht, den Blues.

Ok, ich brauche einen zweiten Controller und ein zweites Bluetooth Modul.
Die Fräse fräst, der Lötkolben lötet und die ProX Blackbox verliert noch einen Zahn.
Während der Fräszeit schaue ich mir das Datenblatt des Bluetooth Chips genauer an.
Ein Bluetooth Netz besteht aus einem Master und den  Slaves. Die Slave können nicht direkt miteinander reden, sondern müssen immer über den Master kommunizieren. Der Master sollte mit mehreren Slaves gleichzeitig reden können. Aber  das Bluetooth Modul kommuniziert über genau eine serielle Schnittstelle mit dem Microcontroller und mir war kein Mechanismus aufgefallen, wie man während der Übertragung den Gegenüber wählen bzw. bestimmen kann.
Das hat seinen Grund, denn man kann es nicht.
Das Modul erlaubt nur eine Verbindung mit genau einer Gegenstelle. Ein kurzer Blick ins Internet bestätigte, dass der Wechsel der Gegenstelle sehr lange dauert.
Aber, wie schon erwähnt, der "Panther rennt", nicht unterkriegen lassen, also auch die Blackbox macht einen auf Slave und  der Rechner macht den Master, denn der kann ja mehrere Verbindungen gleichzeitig betreuen.
Blues, du hast keine Chance, Blues du hast kein Glück.

Ich will nicht mit den letzten Details langweilen. Auf jeden Fall steht nach kurzer Zeit ein Mac Programm, dass die Daten der Regler sammelt und an die BB weiterleitet und da die Micro-Conrtoller für BB und Regler identisch sind, war auch die Inbetriebnahme des zweiten Controllers ein Klacks.
Und dann der Test. Ein Druck auf den Regler und das Auto fährt los.
Grün, das ist ja so grün.

Irgendwie kommt mir die Reaktion aber etwas verzögert vor.
Kontrolle mit dem analogen Regler, hmmm, ist direkter.
Vielleicht liegt es ja an der Turmmethode .....
Kontrolle mit dem IR Regler, hmmm, ist direkter.
Komm nicht näher, nicht näher, oh Blues.

Also gut unabhängig davon mit welcher Methode der Regler abgefragt wird, ein Paket wird alle 75 ms übetragen.

Da die BB den analogen Regler direkt abfragt, wird dies unmittelbar vor dem versenden des Pakets  erfolgen. D.h eine Reglerbewegung wird zwischen 0 (direkt vor dem Abfragen des Reglers und der Übertragung des Bytes) und 75ms (direkt nach Abfrage des Reglers) verzögert. Das sind im Mittel 37,5 ms.

Beim IR Regler wird das Poti vermutlich direkt vor der Datenübertragung des Bytes vom IR Regler abgefragt. Die Übertragung dürfte etwa etwa 7 ms vor dem Übertragen des Bytes von der BB zum Auto erfolgen Ich habe den Wert nicht gemessen, Aber die IR Übertragung dauert grob 5 ms und 2 ms zur Sicherheit. Das wären dann zwischen 7 ms und 82 ms, im Mittel 44,5 ms.

Der Bluetooth Regler überträgt die Daten nur wenn sie sich ändern, aber auch sie unterliegen den selben Best- und Worstcase Berechnungen.
ich habe die Zeit , die zwischen dem "Hau weg, den Dreck" des Reglercontrollers und dem "Was macht ein Byte wie du, an einem Ort wie diesem" des Blackboxcontrollers vergeht, gemessen.
Und es sind zwischen taddaah:  60 und 80 ms. Autsch, mit einem ganz großen A. Das macht Verzögerungen zwischen 60 ms  und 155 ms im Mittel 107,5 ms.
Das ist im Schnitt eine Zehntel Sekunde.
Das tut weh, so weh, wie der Blues.

Noch besteht Hoffnung, vielleicht ist ja irgendwo ein Softwarefehler.
Fehler habe ich keinen gefunden, aber Platz zum Optimieren. Das bringt immerhin 5 ms. Also im vergleich zu 107 ms nichts.
Vielleicht gehen die Bluetooth Module ja in einen Sleep Mode und wenn man die Daten ständig überträgt, kann man das verhindern.
Na das bringt ca. 20 ms. Also das Mittel liegt nun bei 80 ms. Und besser wird es nicht.

Der Blues ist mir so nah, dass ich seine Augen sehen kann und die, die sind nicht blau.

Na ja vielleicht liegt es am Rechner. Anderer Rechner mit eingebautem Bluetooth statt Stick. Der war sogar langsamer, aber nur weil der Rechner langsamer war.

Also bleibt nur der Test einer direkten Verbindung zwischen den Modulen ohne den Umweg über den Rechner. Mann kann dann zwar nur einen Regler verwenden, aber um zu sehen ob es am Rechner liegt reicht das.
Und siehe da ... nicht nennenswert schneller.
Also diese Bluetooth Module in Kombination mit der Carrera Blackbox tun sich schwer.

Entweder müsste die Blackbox, die Daten (evtl. zusätzlich) sofort übertragen, wenn sie sich ändern oder man bräuchte Module, die die Verbindung schneller aufbauen. Das kann aber auch ein allgemeines Bluetooth Problem sein.
Egal was, beides steht momentan nicht zur Debatte.
Komm her oh Blues lass dich umarmen, lass dich umarmen.

Es ist einer jener Tage. Einer jener Tage an denen Alles grau und sinnlos ist, ein Tag in einer trüben, regnerischen Welt. ich glaub ich hab den Blues.

Den interessanten Teil eines Projektes gerade, wenn auch mit unbefriedigendem Ergebnis,  abgeschlossen, sitze ich zurückgelehnt in meinem Sessel, drehe mich gelangweilt hin und  her und schaue mit trübem Blick aus trüben Augen in den trüben Himmel.
ich glaub ich hab den Blues......

Vielleicht sollte ich nach einem anderen Bluetooth Modul suchen oder noch mal
verschiedene Datenübertragungsmodi probieren in der Hoffnung eine schnellere Ansprechzeit zu erreichen, oder mal nach sehen ob diese Zeiten typisch sind für Bluetoothübertragungen. 
   Oder aber auch nicht denn ich glaub ich hab den Bluetooth Blues......