Hallo,
ich habe mir eine Controller gesteuerte Sende und Empfangsanlage für den
BTM222 gebaut. Als UART Interface vom/zum BTM222 benutze ich den Atmel
89c2051 controller.
Mein Problem:
Ich schaffe es nicht den BTM222 mit dem Controller als Master zu
konfigurieren.
Die Sequenz, die ich fahre ist folgende:
1.
Power ON
2.
4s lang PIO4 auf high legen, damit die UART Schnittstelle sich
garantiert wieder mit der Werseinstellung konfiguriert).
3.
Danach 25ms Reset und 2s warten...
4.
Danach sende ich folgende ASCII AT Kommandos mit dem Controller an den
BTM222:
ATR0<CR> (=> Master Funktion aktivieren)
2s warten...
ATO1<CR> (=> KEINE automatische Verbindung mit Slave)
2s warten...
ATD=00123...<CR> (=> die Slave Zieladresse speichern)
2s warten...
ATA<CR>
Nun sollte der BTM222 eigentlich eine Verbindung zum bereits am PC
laufenden Slave aufbauen (dieser ist mit der ATD=<Masteradresse>
konfiguriert!).
Der BTM222 läßt sich so nicht konfigurieren und ich vermute ein
Timingproblem.
Die Konfiguration über Hyperterminal funktioniert ohne Probleme und ich
kann auch Daten senden und empfangen.
Meine Fragen:
Hat jemand hier schon etwas ähnliches probiert und kann funktionsfähigen
Sourcecode (am Besten Assembler) posten?
Reicht das <CR> = 0x0D oder muß noch ein <LF> 0x0A gesendet werden?
Gruß Lutz
Lutz Buttelmann schrieb:
> Danach sende ich folgende ASCII AT Kommandos mit dem Controller an den> BTM222:> ATR0<CR> (=> Master Funktion aktivieren)> 2s warten...> ATO1<CR> (=> KEINE automatische Verbindung mit Slave)> 2s warten...> ATD=00123...<CR> (=> die Slave Zieladresse speichern)> 2s warten...> ATA<CR>
Wartest du nach jedem Zeichen, bis das BTM222 dies zurückgesendet hat?
So, nach langen Meßarien der verschiedenen Kommandos warte ich nun 4s
nach jedem Befehl.
Es war auffällig, daß verschiedene Kommandos über die serielle
Schnittstelle unterschiedlich lang brauchten, bis sie vom BTM222
acknowledge wurden (Echo).
Ich warte nicht auf ein Echo (was man natürlich auch machen kann, danke
für den Hinweis!), weil ich für meine Anwendung genauere Timinginfos
brauche und diese nicht im Datenblatt standen.
So funktioniert der Disconnect mit PIO4 zimlich schnell, allerdings das
Reconnect braucht doch wieder ein paar Sekunden.
Aha,
es gibt also doch einige, die das schon programmiert hatten.
Leider ist keiner bereit hier doch mal meiner Bitte nachzukommen und ein
wenig Sourcecode zu posten, schade...
Echo = korrekt:
Ja unter nominellen Umständen.
Was ist denn, wenn das Echo nicht kommt?
Wie lange soll ich denn auf ein Echo warten, wenn im Datenblatt nichts
über das Zeitverhalten steht?
Ich habe nun mein Design am Laufen und die Reichweite ist gut:
http://www.24display.de
Ich sende abwechselnd mit zwei BTM222 Master ein Zeitsignal zu den
Anzeigen (Slaves).
ABER:
Zeitweise habe ich Probleme mit der Übertragung.
Ich vermute, dass sich die Module gegenseitig beeinflussen und
"ausbremsen".
Jedenfalls "springt" die Anzeige ab und zu, die Anzeige läuft nicht
gleichmäßig runter.
Hatte jemand ähnliche Probleme, wenn er gleichzeitig zwei Master auf
engen Raum nutzte?
Lutz
Lutz Buttelmann schrieb:
> Ich habe nun mein Design am Laufen und die Reichweite ist gut:
Das ist schön.
> http://www.24display.de
Nach CE-Konformitätserklärung, ElektroG, etc. frage ich jetzt besser mal
nicht... ;-)
> Ich sende abwechselnd mit zwei BTM222 Master ein Zeitsignal zu den> Anzeigen (Slaves).> ABER:> Zeitweise habe ich Probleme mit der Übertragung.> Ich vermute, dass sich die Module gegenseitig beeinflussen und> "ausbremsen".> Jedenfalls "springt" die Anzeige ab und zu, die Anzeige läuft nicht> gleichmäßig runter.>> Hatte jemand ähnliche Probleme, wenn er gleichzeitig zwei Master auf> engen Raum nutzte?
Wie sind die Module denn konfiguriert? Wenn sie unterschiedliche IDs
haben, sollte es eigentlich keine Probleme geben - nur zwei Master in
einem System ist meines Wissens bei Bluetooth eigentlich nicht wirklich
vorgesehen.
Die Module haben unterschiedliche IDs (12 Stellige Adresse).
Ein Master paired sich mit einem durch eine ID bestimmten Slave Modul.
Ein Controller leitet über einen MUX (74HC157) die UART-Daten
abwechselnd zu den beiden BTM222 Master. Diese senden dann zum
jeweiligen Slave (Anzeige).
CE usw, brauche ich das wirklich?
Die Anlage wird mit 12V betrieben, davon geht keine Gefahr aus.
EMV technisch strahlt natürlich das BTM222 am meisten, aber es stört ja
nicht.
Lutz
Lutz Buttelmann schrieb:
> Die Module haben unterschiedliche IDs (12 Stellige Adresse).> Ein Master paired sich mit einem durch eine ID bestimmten Slave Modul.> Ein Controller leitet über einen MUX (74HC157) die UART-Daten> abwechselnd zu den beiden BTM222 Master. Diese senden dann zum> jeweiligen Slave (Anzeige).
Eigentlich sollte das gehen, aber ich habe auch schon Probleme gehabt
bei drei Slaves an einem PC. Nur einer der drei machte Probleme, wenn er
zusammen mit den anderen betrieben wurde. Einzeln ging alles wunderbar.
Ein Austausch des Moduls löste das Problem - keine Ahnung, was sich an
der Firmware zwischenzeitlich geändert hatte.
> CE usw, brauche ich das wirklich?
Ja.
> Die Anlage wird mit 12V betrieben, davon geht keine Gefahr aus.> EMV technisch strahlt natürlich das BTM222 am meisten, aber es stört ja> nicht.
Alle in der EU in den Verkehr gebrachten Geräte müssen das CE-Symbol
tragen und bei Bedarf auch die entsprechende Konformitätserklärung
vorweisen. Du kannst die auch so ohne Prüfungen ausstellen, nur wenn es
eine Verletzung der Konformität gibt (auch wenn es die Bluetooth-Module
sind), wird es unter Umständen teuer.
Hatte ich mir schon fast gedacht, dass die Teile Probleme verursachen
können.
Bei nächster Gelegenheit werde ich mal Messungen machen, um das Problem
einzukreisen und die Problemfälle rauszusuchen.
Danke übrigens für die Infos bzgl. CE, hab mich mal ein wenig schlau
gemacht.
Es fehlt eigentlich nur der CE Aufkleber.
Wie gehst Du damit um? Erfüllst Du die Konformität?
Kennst Du aussagekräftige Quellen, die speziell kleine Firmen und
Hobbybastler ansprechen?
Mir geht es darum ein Gefühl für diese CE Vorschrift zu kriegen.
Lutz Buttelmann schrieb:
> Danke übrigens für die Infos bzgl. CE, hab mich mal ein wenig schlau> gemacht.> Es fehlt eigentlich nur der CE Aufkleber.
Naja, bzw. die Konformitätserklärung samt Messergebnissen in der
Hinterhand, wenn jemand danach fragt oder was passiert. ;-)
> Wie gehst Du damit um? Erfüllst Du die Konformität?
Meine bisherigen Entwicklungsarbeiten sind nie in den offiziellen
Verkauf gekommen und eher für die Prototypen-Entwicklung gebraucht
worden - daher bin ich bislang davon verschont geblieben.
> Kennst Du aussagekräftige Quellen, die speziell kleine Firmen und> Hobbybastler ansprechen?
Es gibt etliche EMV-Labore - grundsätzlich würde ich versuchen, eins in
der Nähe zu finden. Das umgeht viele Probleme. Billig ist es aber bei
keinem... Auch wenn ich wahrscheinlich nicht weit von dir weg wohne (von
Weyhe aus so 5-10km nach Süden), kenne ich aber dort keine Labore in der
Nähe. Ich habe aber wie gesagt auch noch nicht gesucht.
> Mir geht es darum ein Gefühl für diese CE Vorschrift zu kriegen.
Die Vorschriften sind eine Sache, man sollte aber auch mal ein Gerät
mittels Spektrums-Analysator und Co. auf den Leib rücken. Letztlich
braucht man auch bei der Entwicklung ein Gefühl dafür, was sich wie
auswirkt.