slideshow 1 slideshow 2 slideshow 3 slideshow 4

Bluetooth w praktyce czyli BTM-222

Bezprzewodowy moduł Bluetooth BTM-222

   
Układy sterujące pracą urządzeń kontrolno-pomiarowych na ogół wymagają łącza danych z komputerem PC umożliwiającego przepływ danych w obie strony na potrzeby sterowania lub archiwizacji wyników pomiaru. W zależności od wymagań podziału dostępnych rozwiązań można dokonać na kilka sposobów. Podstawowym jest podział ze względu na typ interfejsu w sensie medium transmisji. Możliwe realne do wykorzystania interfejsy to:

  • radiowy
  • optyczny
  • przewodowy


Interfejs Radiowy

   W przypadku interfejsu radiowego jedynym z proponowanych rozwiązań jest Bluetooth. Jego stosunkowo niewielki zasięg (1, 10 i 100m) jest w tym przypadku zaletą ze względu na możliwość dopasowania emisji zakłóceń całego urządzenia do minimum. Łatwość obsługi i dostępność gotowych modułów powoduje, że to właśnie ten standard z powodzeniem można użyć tam gdzie nie są wymagane najwyższe standardy dotyczące zasięgu ale i pewności połączenia. Generalnie standard ten nie stosuje się w przemyśle, jednak charakter laboratoryjny projektowanych urządzeń umożliwia zastosowanie tego rozwiązania.

Oczywiście poza Bluetooth’em istnieje wiele innych interfejsów takich jak np. WiFi, które ze względu na powszechność rozwiązania również dobrze sprawdziłoby się w danym rozwiązaniu. Poza WiFi rozwiązanie mogące zostać użyte w systemie to gotowe systemy oferowane przez firmy trzecie lub rozwiązanie oparte o moduły nadawczo-odbiorcze pracujące na częstotliwościach 433MHz.
W tym miejscu warto wspomnieć dlaczego nie ma sensu oprzeć rozwiązania na bardziej elementarnym module radiowym i dlaczego nie opracować samemu własnego protokołu. Odpowiedź jest oczywista, pewny protokół oparty o sumy CRC, protokół odporny na zakłócenia, umożliwiający wznawianie przekłamanych ramek, korekcję błędnych bitów jest bardzo trudny do opracowania, przez co warto użyć czegoś sprawdzonego co dodatkowo oferowane jest jako gotowe i na dodatek tanie rozwiązanie.


Opis systemu testowego Bluetooth

   System Bluetooth można użyć w projekcie na kilka sposobów. Najłatwiejszym, a zarazem najpewniejszym rozwiązaniem jest użycie gotowego modułu posiadającego z jednej strony interfejs Bluetooth a z drugiej interfejs UART. W tym przypadku zdecydowano się na przebadanie popularnego rozwiązania BTM-222 pracującego w klasie 1.
Moduł którego widok ogólny przedstawiono na zdjęciu poniżej:

ma budowę wewnętrzną jak na przedstawionym diagramie

W przypadku tego modułu jedynym aktywnym i dobrze udokumentowanym interfejsem wymiany danych pomiędzy modułem a mikrokontrolerem jest UART z domyślną prędkością transmisji 19200bps. Prędkość transmisji która wynosi niecałe 2kB/s jest wystarczająca do przesyłania pojedynczych rozkazów wymaganych przez system sterujący pracą urządzeń. W razie konieczności użycia większych prędkości można przeprogramować moduł do prędkości 115200bps.
W celu przetestowania rozwiązania zaprojektowano bazę PCB dla modułu gdzie poza sekcją zasilania dodano również zabezpieczenie interfejsu wejściowego CMOS. Schemat rozwiązania przedstawiono poniżej.

Jak widać na schemacie wejścia CMOS zabezpieczone zostały przed ewentualnymi przepięciami jakie mogą pojawić się na wejściu sterującym urządzenia. Dodatkowo każde wejście zostało zblokowanie wieloma kondensatorami redukującymi do minimum zakłócenia przechodzące przez linie zasilania. W celu użycia modułu w systemach z napięciami 3,3V i większymi zastosowano opcjonalnie włączany stabilizator napięcia.

Widok PCB przedstawiono poniżej

PCB zaprojektowano jako dwuwarstwowy obwód o precyzji 10 mils’ów, która to dokładność umożliwia na wykonanie obwodu w większości dostawców PCB w kraju. Zmontowany i uruchomiony zestaw przedstawiono na rysunku

W celu wykonania testów w systemie zaprojektowano dodatkowo przejściówkę pomiędzy CMOS’owym interfejsem modułu Bluetooth a standardem RS232 dostępnym w komputerach PCB. Schemat prostej przejściówki przedstawiono na rysunku

A PCB konwertera ma wygląd

Widok zmontowanego PCB:

W przypadku konwertera RS232 użyto złącza które pasuje mechanicznie i elektrycznie do zaprojektowanego modułu Bluetooth.
Aby sprawdzić czy dane rozwiązanie działa i jak wygląda jego odporność zakłócenia elektromagnetyczne potrzebne było jeszcze wyposażenie komputera PC w interfejs Bluetooth. W tym celu zakupiono konwerter USB do Bluetooth oraz wyposażono system operacyjny w stos dzięki któremu nasze zewnętrzne urządzenie widziane było w systemie jako dodatkowy port szeregowy. Widok modułu Bluetooth-USB przedstawiono na rysunku poniżej.

Testy wykonano w oparciu o terminal oraz o zapętlone linie rx i tx w module Bluetooth. W tym miejscu należy zaznaczyć, że w przypadku systemu operacyjnego Windows Vista, wszystkie niezbędne sterowniki i stos został zainstalowany automatycznie. W przypadku gdy użytkownik będzie używał interfejsu po raz pierwszy musi liczyć się z trwającym do kilka minut procesem automatycznej instalacji.


Proces instalacji modułu bluetooth w systemie Windows Vista

W systemie Windows wybieramy z menu „Urządzenia i drukarki”. W przypadku pomyślnego zainstalowania systemu i włączeniu zasilania w urządzeniu Bluetooth w tym miejscu pojawi się urządzenie

Aby jednak jednorazowo skonfigurować ustawienia w systemie należy wejść do właściwości urządzenia

Wówczas pojawi się okno które konfigurujemy wg danych z zamieszczonego obrazu

W zakładce „Porty COM” wybieramy przycisk „dodaj…”. Dzięki temu do naszego urządzenia przypiszemy numer portu COM do którego będziemy musieli się odwoływać podczas transmisji danych do urządzenia.

Wybieramy opcję „Wychodzący (…)” i wybieramy przycisk „Przeglądaj…”

Dostępny powinien być nasz interfejs urządzenia Bluetooth czyli „Serial Adaptor”

Po wybraniu przycisku „OK” pojawi się usługa „Dev B”

Następnie wciskając przycisk „OK” powodujemy, że w systemie nasze urządzenie Bluetooth będzie widziane jako COM29 lub inne w zależności od dostępnych zasobów systemu

Następnie w panelu sterowania pozostaje sprawdzić czy urządzenie jest widziane w systemie. W tym celu uruchamiamy „Panel sterowania” a następnie „Menadżer urządzeń”. Wśród listy innych urządzeń powinien widoczny być „Standardowy port szeregowy przez łącze Bluetooth (…)”

W tym miejscu można już rozpocząć pracę z urządzeniem. Czasami jednak przydzielony numer portu jest zbyt wysoki dla niektórych aplikacji. W tym celu należy go zmienić poprzez wejście do „Właściwości” urządzenia.

We właściwościach urządzenia wybieramy zakładkę „Ustawienia portu” a następnie „Zaawansowane …”.

W tym miejscu należy wybrać nowy numer portu. Najpewniej jest w tym celu wybrać pierwszy wolny port. Jednak o ile w danym momencie interesujący nas port jest nie używany to można wybrać któryś z portów oznaczonych jako (w użyciu). W poniższym wyłącznie COM1 jest używany. Pozostałe numery zostały jedynie zarezerwowane przez inne urządzenia i mogą zostać wykorzystane na potrzeby naszego interfejsu Bluetooth.

Kolejnym etapem jest „parowanie urządzenia”. W przypadku użytego modułu wprowadzamy kod „1234” i wciskamy przycisk „Dalej”.

W tym momencie naszemu urządzeniu został nadany nowy numer COM i od tego momentu dostęp do urządzenia odbywać się będzie przez wybrany COM2.

Tak wygląda proces konfiguracji urządzenia w systemie. Kolejnym etapem jest odwołanie się do urządzenia z poziomu aplikacji na PC. W tym celu należy terminal COM lub dedykowana aplikacja kliencka. W przykładzie użyto terminal Termite. Należy po jego uruchomieniu wybrać Settings w których należy ustawić właściwy COM oraz prędkość transmisji i inne ustawienia zgodne z opcjami przedstawionymi na zamieszczonym obrazie

Kończąc ustawienia terminala poprzez wciśnięcie przycisku „OK” można rozpocząć transmisje danych poprzez wprowadzanie znaków z klawiatury. W celu określenia czy transmisja działa należy w urządzeniu zewrzeć linie tx i rx interfejsu UART, dzięki czemu znak wysyłany z terminala wróci jako echo sprzętowe. W przedstawionym obrazie wysłano literę M która to litera M została dzięki pętli na liniach tx i rx odebrana w terminalu.

Dla sprawdzenia czy transmisja na linii tx faktycznie miała miejsce podpięto analizator stanów logicznych. Zarejestrowany przebieg sygnału przedstawiono na obrazie. Zgodnie ze standardem UART’a przedstawiony przebieg odpowiada literze M

Fijak Logic od 2009r