Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Atmega 8 + Bluetooth (BTM - 222)

blackdoom 15 Sie 2008 17:24 97066 225
  • #61 15 Sie 2008 17:24
    tom_ny
    Poziom 14  

    Już pisałem tutaj o tym problemie i jak go rozwiązać. Między wysłaniem poszczególnych znaków trzeba poczekać parę ms. Nie wysyłaj całej komendy, tylko znak po znaku.

    elektron58, czy znasz funkcję wszystkich PIOx?

  • #62 16 Sie 2008 07:44
    ewsd75
    Poziom 12  

    Witam
    Nadal walczę z BTM-222. tom_ny jakie ustawiłeś odstępy czasowe pomiędzy wysyłanymi znakami?
    Zamieszczam plik w xls z rozpiską jak zachowują się wyprowadzenia LED TXi RX na module. mam nadzieję ze komuś się to przyda.

  • #63 16 Sie 2008 09:29
    tom_ny
    Poziom 14  

    Między poszczególnymi znakami komendy czekam ~60ms. O ile dobrze pamiętam przy 50ms bywały problemy. To jest tragiczny wynik. Ale jeszcze gorsze jest to, że między komendami trzeba czekać 500ms. W tym czasie BTM zwraca rezultat, ale chyba nawet jak się wyłączy zwracanie rezultatu to trzeba odczekać ten czas.
    Mimo tych wszystkich opóźnień czasami i tak BTM zwraca ERROR.

    Dobrze, że po resecie pamięta ustawienia.

    ewsd75, dzięki za plik - na pewno się przyda.

  • #64 30 Sie 2008 13:53
    belamy
    Poziom 9  

    ewsd75 a jak obciążyłeś wyjścia LED, czy bezpośrednio diody przez rezystor, czy przez bufor?
    Nie mogę znaleźć w opisie maxymalnego pradu dla tych wyjść.

    PS. Poza tym czy ktoś próbował obsługiwać wejścia/wyjścia PIOx, AIOx ?

  • #65 04 Wrz 2008 13:25
    ewsd75
    Poziom 12  

    Do wyjść podłączyłem bezpośrednio rezystor 680 OHM i diodę LED. Wyjść PIOx i AIOx nie testowałem. Czekam na płytki może pojawią się już w poniedziałek bo mam już gotowe urządzenie na tym module BTM-222 i na BTM-112 wszystko działa jak na razie. Pozostało tylko napisać aplikację na komputer. Myślę że gotowe urządzenie pojawi się już po 20 września z kartą katalogową na mojej stronie Link.

  • #66 19 Wrz 2008 11:05
    daxeno
    Poziom 11  

    Witam,
    Dla wszelkich poszukiwaczy bibliotek w Eagle zapodaje wam schemacik i brd z plytka dla btm222 . Zasilanie 5v , poziomy napiec UARTA rowniez 5v.
    Plytka i schemat stworzone w najnowszym Eagle 5.2 (prosze sciagnac przed otworzeniem plikow)
    Jezeli ktos by sie zdecydowal zrobic dla nas forumowiczow troche ladnych i profesjonalnych plytek z soldermaska , to mozna by zrobic jakies zapisy. Wyjdzie nam wszystkim taniej.
    Plik bez prowizji.... Open Source :)
    (Sorry za brak pl znakow, ale nie mam ich na tym kompie :P )


    Atmega 8 + Bluetooth (BTM - 222)

  • #67 19 Wrz 2008 11:16
    avatar
    Poziom 35  

    daxeno napisał:
    Witam,
    Dla wszelkich poszukiwaczy bibliotek w Eagle zapodaje wam schemacik i brd z plytka dla btm222 . Zasilanie 5v , poziomy napiec UARTA rowniez 5v.
    Plytka i schemat stworzone w najnowszym Eagle 5.2 (prosze sciagnac przed otworzeniem plikow)
    Jezeli ktos by sie zdecydowal zrobic dla nas forumowiczow troche ladnych i profesjonalnych plytek z soldermaska , to mozna by zrobic jakies zapisy. Wyjdzie nam wszystkim taniej.
    Plik bez prowizji.... Open Source :)
    (Sorry za brak pl znakow, ale nie mam ich na tym kompie :P )


    Atmega 8 + Bluetooth (BTM - 222)

    hmm albo ja czego nie rozumem albo nieumiem czytac noty katalogowej
    modol btm222 akceptuje natywnie poziom napiec 5V na Wejsciach i wyjsciach portu szeregowego /w pdfie pisze ze na kazdym pinie poza pinami do USB co jest logiczne bo usb ma stan wsyoki 3,6V
    po 2 ta biblioteka zawiera blad pady sa za waskie ... ciekawe czy ja przetestowales w "realu" bo cos mi sie zdaje ze nie ;-) moja footprint jest zrobiony prawidlowo twoj raczej nie...
    nie rozumem czemu tak wiele osob ma problem z czytaniem pdf'ow sa napisane moim zdaniem dosc przystepnie.
    btw.: modol btm 222 ma pewna wade tj jest dosc czuly na napiecie zasilajace , czesto zdarza sie ze modol musze resetowac fizycznie <odcinajac napiecie zasilania i wykonujac reset softwerowy > , ale moze to wina tego ze nie jest przystosowany do pracy w tak ciezkich warunkach w jakich on pracuje

  • #68 19 Wrz 2008 11:21
    daxeno
    Poziom 11  

    Przetestowana i dziala. Przestan krytykowac.

  • #69 19 Wrz 2008 12:16
    ewsd75
    Poziom 12  

    Witam wszystkich, zbudowałem na BTM 112 sterownik jeśli ktoś jest zainteresowany to zapraszam na moją stronkę tam są zdjęcia gotowej i uruchomionej płytki. Istnieje też płytka modemu podpinanego do USB do PC, teraz szykuje płytkę podpinaną i zasilaną z RS232. Link

  • #70 19 Wrz 2008 15:28
    daxeno
    Poziom 11  

    Avatar ... przeczytaj ostania zakreslona na zolto linijke. Tyczy sie miedzy innymi UART'A. Wiec teraz nie dziw czemu uklad Ci sie zawiesza.
    Sciezki sa odpowiedniej szerokosci. Wszystkie luty ladnie pasuja do ukladu , bo robilem wg noty i sprawdzalem suwmiarka na ukladzie.
    Pozdro

    Atmega 8 + Bluetooth (BTM - 222)

  • #72 01 Paź 2008 14:16
    karav
    Poziom 2  

    nsvinc napisał:
    "
    Natomiast pod moduł BTM222 podstawki nie kupisz, najprawdopodobniej nawet taka nie istnieje :)

    Właśnie dostałem wczoraj moduł BTM-220, chciałbym go szybko użyć w prototypowej płytce, najlepiej wsadzony obok ATmegi jako układ DIP. Jakie sposoby polecacie na wykonanie adaptera do osadzenia w płytce prototypowej, ewentualnie gdzie kupić pomocną przejściówkę?

    pozdrawiam.

  • #73 01 Paź 2008 18:36
    pacraf
    Poziom 16  

    Witam

    Mam pytanko - czy ktorys z tych modułów można by wykorzystać jako zdalny kabel RS232 do urządzenia które ma RS232 wbudowane (tuner cyfrowy)?
    Tzn mam urządzenie z RS232, i czy podłączając do niego tylko ten moduł i zasilanie (wiadomo), to mój laptop wykryje urządzenie bluetooth, połączy się i zainstaluje mi dodatkowy port com w systemie , pod który jak podepne Hyper terminal, to będę wysyłać i odbierać znaki od tego mojego urządzenia?

    trochę zagmatwałem, ale mam wątpliwość czy po stronie tego urządzenia nie trzeba dodawać żadnego mikrokontrolera - co najwyżej dopasować poziomy.

    jak to widzicie??

    pzdr

  • #74 10 Paź 2008 16:11
    ciastek4
    Poziom 13  

    Witajcie.
    Wie ktoś z Was czym się różni BTM112 i BTM330 ?
    Chciałbym zrobić komunikację uC -> PC. Wiem, że z BTM112 po stronie PC jest widoczny jako virtual com port. Co z BMT330 ?

    Mógłby mi ktoś doradzić w tej sprawie ? Temat poruszyłem już wcześniej, ale został on usunięty przez administratora :P. Datasheety są tak ubogie do tych urządzeń, że nie mogę się doczytać czym de facto się one różnią.

    Jeszcze jedno. Trzeba zrobić obwód dopasowujący do anteny ? Czy może wystarczy podpiąć zwykłą antenkę?

    ---
    :) Wiedziałem ze czegoś brakuje :P. BTM330 nie ma komend AT. W takim razie jak można konfigurować go ?:> Bo DS jest ubogi;/

  • #77 17 Paź 2008 18:17
    kafka
    Poziom 22  

    A ja mam takie pytanie... Dopiero co zrobiłęm płytkę z AtMega128 pod BTM-222. Problem polega na tym, że mam złącze programatora i RS do BT na tych samych pinach. Piny 2 i 3. Czy może przez to pojawić się jakiś problem? Problem może być tylko z linią TXD modułu BT, gdyż RXD to i tak wejście. Jeżeli TXD jest w stanie HZ gdy nic się nie dzieje to jest OK, ale jak nie, to może być konflikt...

  • #78 17 Paź 2008 21:55
    tom_ny
    Poziom 14  

    Sugeruje podłączyć linie resetu także do BTM222. Gdy programator wymusi reset procka to jednocześnie wprowadzić BTM w stan resetu i problemu nie będzie.
    W przeciwnym wypadku jeżeli BTM będzie nadawał w czasie programowania to operacja się nie powiedzie.

  • #79 21 Paź 2008 01:35
    Munieq
    Poziom 13  

    Witam.
    Właśnie walczę z btm-222 i mam pytanie, czy w btm-222 ustawia się prędkość uarta? Jakie są domyślne wartości? Cokolwiek nie wyśle to wypluwa tekst typu "ëHřřëHř", wskazywałoby to na złe ustawienie baud.

  • #80 02 Lis 2008 17:49
    tom_ny
    Poziom 14  

    Kolejny etap walki z BTM-220 i kolejny problem. Po nawiązaniu połączenia za slavem i wymianie danych, master przerywa połączenie sekwencją: +++, ATH. Jest info o DISCONNECT. Po ponownym nawiązaniu połączenia jest info o CONNECT, ale dane nie przechodzą w żadną ze stron. Po sekwencji +++, ATH nie następuje rozłączenie. No i trzeba zresetować jeden z modułów.

    Na szczęście znalazłem sposób żeby to ominąć. Po pierwszym rozłączeniu sekwencją +++, ATH, trzeba jeszcze wydać polecenie ATO1 i dopiero wtedy można bezpiecznie nawiązać ponownie połączenie. Trzeba powtarzać tą sekwencję za każdym rozłączeniem.

    Akurat ten problem występuje tylko, gdy łączą się dwa moduły BTM. Przy połączeniu komórka -> BTM lub BTM -> komórka jest ok.

    Może komuś przyda się ta informacja.

  • #81 11 Lis 2008 12:30
    Halftheman
    Poziom 15  

    Czesc, pozwolicie ze sie podepne pod temacik. Chciałem podpiąc BTM-220A2 pod Atmege16 na 5V. Zrobiłem sobie układ prototypowy na uniwersalnej płytce. BTM220 podpiałem pod MAX3232 i do komputera. Z drugiego kompa łączyłem się przez BT i na pierwszył pojawiał się ładny komunikat CONNECTED xxx, DISCONNECTED xxx i oczywiscie mozna było wysyłać ciągi znaków. Schemat jest generalnie taki jak tu http://www.robotfreak.de/blog/wp-content/uploads/2008/04/btm-222_schem.png

    I teraz tu moje pytanie, głównie po to zeby nie tracic czasu i pieniedzy dwa razy. Cała lewa strona działa - interesuje mnie to co jest za UART_RX i UART_TX. W moim prototypie podpiałem to pod max3232 i do kompa, teraz chce podpiąć to bezpośrednio pod UART Atmegi16, która MUSI chodzić na 5V (tak w razie czego, gdyby ktoś znowu sugerował przejscie na L'ke).

    Ktoś sugerował układ 74LVC4245 - ok. Pytanie brzmi jak go dobrze podłączyć. VCCA, VCCB i GND oczywiste. Co z OE i DIR i jak podpiąć UART_RX i UART_TX od strony BTM222, a jak RX i TX od strony atmegi?

    Wydaje mi się, choć mogę się mylić, że OE i DIR powinny być w stanie niskim, wtedy na B0 i B1 dajemy UART_TX, UART_RX (3,3V) i po stronie A0 i A1 mamy TX i RX (5V)? :| Dobrze kombinuje? Jezeli ktoś mógłby mi pomóc byłbym wdzięczny.

    I przy okazji moze mi ktoś powiedzieć jak ten moduł działa do końca? Na razie moge tylko przesyłać od strony BT do rs232, ale w drugą strone już nie? I nie moge (nie umiem) wpisać żadnej komendy AT? Wystarczy po prostu wpisać w terminalu np "AT"? "+++"? I wpisywać to w terminalu wysyłającym po BT do układu, czy po rs do układu? (zreszta od strony rs232 jakoś to wolno chodzi tj cos było nie tak :/ )

    OK. Wszystko działa wg tamtego schematu. Jeżeli korzysta ktoś z HyperTerminala Windows to trzeba w "Sterowanie przepływem" zaznaczyć "brak" :) Przeoczyłem to w trakcie ustawiania :( Zostaje tylko problem zmiany poziomów z 3.3V na 5V.

    Jeszcze jedno pytanie sie nasuwa - pojechałem za wysoko z baud rate i teraz nie moge z nim zjechać na dół ;) Jest jakis sposób na reset ustawień? Da sie wrócić do ustawień fabrycznych? w datasheet'cie nic nie ma..

  • #82 11 Lis 2008 22:27
    tom_ny
    Poziom 14  

    Jeżeli po podłączeniu pod UART_RX i UART_TX układu MAX3232 komunikacja była ok, to jak podepniesz bezpośrednio do tych pinów atmege to też będzie działało.
    Układ 74LVC4245 z tego co widze robi dokładnie to samo co te tranzystory na schemacie, czyli albo jedno albo drugie. Polecam datasheeta.

    Komendy AT generalnie wysyła się przed nawiązaniem połączenia. A jeżeli chcesz wysłać komendy w czasie transmisji to przechodzisz do trybu komend poprzez '+++'. Przeczytaj ten wątek od początku - bardzo dużo już zostało napisane.

  • #83 11 Lis 2008 22:45
    Halftheman
    Poziom 15  

    tom_ny napisał:
    Komendy AT generalnie wysyła się przed nawiązaniem połączenia. A jeżeli chcesz wysłać komendy w czasie transmisji to przechodzisz do trybu komend poprzez '+++'. Przeczytaj ten wątek od początku - bardzo dużo już zostało napisane.


    Nie wiem czemu mi te '+++' nie chciały działać. Ogólnie komendy działały. Pisze w czasie przeszłym bo ustawiłem za duży baud rate i na płytce prototypowej nie chce pójść 115200. I teraz nie wiem jak to odblokować (zejść z baud rate niżej).

    Można wysyłać komendy AT od strony BT, a nie UARTa? Zeby to zrobić to muszę się połączyć, a jak się połącze to po prostu leci transmisja szeregowa..

    Fakt, że może atmega by pociągnęła, tylko to "może" to dla mnie za mało. Jeżeli moge zrobić to lepiej wolałbym zrobić lepiej :) Nie chce dwa razy projektować PCB i zlecać, potem lutowanie SMD, coś nie tak i papa kasa ;)

    PS: Czytałem wątek w całości po dwakroć :)



    Ok. Pobawilem sie układem 74LVC4245. jakby ktos szukał to wyjasniam łopatologicznie o co chodzi. Mam nadzieje, że dobrze :)

    Jeżeli ustawimy DIR w stanie Low to sterujac portem Bx uzyskujemy na Ax wyjscie 0V lub 5V. Jezeli DIR ostawimy na High to sterujemy portem Ax i na Bx mamy albo 0 albo 3.3V.

    Teraz zeby to podpiąć pod BTM222 trzeba wziąć dwa takie układy. Od strony BTM222 dajemy DIR w stanie L. Wyjscie z BTM222 UART_TX dajemy na port Bx i na porcie Ax mamy TX (5V). Drugi układ 74LVC4245 dajemy DIR w stanie H. UART_RX podpinamy pod port B, a na porcie Ax mamy RX(5V) .

    Teraz zeby to podpiac np pod Atmege to RX od strony 74LVC4245 laczymyz TX atmegi, i RX atmegi z TX 74LVC4245 :) Powinno działac :)

    Jak sie pomyliłem sprostować jak najszybciej :)

  • #84 12 Lis 2008 16:23
    tom_ny
    Poziom 14  

    Obawiam się, że nie ma ma możliwości zmiany baudrate ani zresetowania BTM inaczej jak poprzez komendy AT.
    Nie jest też możliwe (z pewnością 99%) zdalne wydawanie komend AT.
    Może spróbuj skrócić przewody/ścieżki między BTM a MAX3232 i MAX3232 a kompem. 115200 to nie jest jakaś zabójcza prędkość i wszystko powinno ładnie śmigać.

  • #85 12 Lis 2008 16:27
    Halftheman
    Poziom 15  

    tom_ny napisał:
    Obawiam się, że nie ma ma możliwości zmiany baudrate ani zresetowania BTM inaczej jak poprzez komendy AT.
    Nie jest też możliwe (z pewnością 99%) zdalne wydawanie komend AT.
    Może spróbuj skrócić przewody/ścieżki między BTM a MAX3232 i MAX3232 a kompem. 115200 to nie jest jakaś zabójcza prędkość i wszystko powinno ładnie śmigać.


    Juz trudno. Spisalem układ na straty. Niebawem będe projektować płytke pod ten układ i mam nadzieję, że nie będzie problemów.

    Mam nadzieje, że ten wyżej opis z 74LVC4245, który podałem jest dobry.

    A jednak ruszyło. Skróciłem kable maksymalnie i odpalił na 115200 :) Dziekuje :)

  • #87 24 Gru 2008 13:25
    Chyllus
    Poziom 17  

    Witam.
    Czy ktoś próbował podłączyć BTM-222 z mikrokontrolerem po SPI?
    Widzę w dokumentacji że ma odpowiednie wyprowadzenia ale nie jestem pewny czy można jej ufać ;)
    Chcę zastosować ten moduł w swoim projekcie ale bardziej wygodnym dla mnie będzie SPI. Liczę na pomoc.
    Pozdrawiam

  • #88 25 Gru 2008 22:40
    tom_ny
    Poziom 14  

    Po SPI raczej się nie da. Nota katalogowa w ogóle nie wspomina o tym interface w sekcji features, a pewna ruska strona pisze, że jest to interface technologiczny, czyli chyba używany podczas produkcji (np. do testów). Ale to wszystko to tylko moje domysły.
    Podobnie jak z USB - ktoś musi spróbować i napisać tu jak mu poszło :P

  • #89 17 Sty 2009 19:16
    skinu
    Poziom 11  

    Ważna informacja dla tych którzy cały czas dostają ERROR'y jak chcą coś ustawić:
    Pamiętajcie że komendy podane w datasheet trzeba poprzedzić znakami "AT"

    Na przykład:

    W datasheet jest komenda "P?"
    Do modułu trzeba wysłać "ATP?"

    Nie jest to nigdzie napisane, a bez tej informacji niestety nie można się skomunikować z modułem.

  • #90 17 Sty 2009 22:47
    hotdog
    Poziom 26  

    ATMega musi zaakceptować od 3V w górę na wejściu jako sygnał wysoki, więc możesz śmiało podłączyć TX z modułu do RX w uC i musi działać. Jeżeli chodzi o sygnał wyjściowy z uC to jeżeli pin wejściowy nie jest "5V tolerant" to musisz obniżyć napięcie (kiedyś komunikując się z telefonem wysyłając cokolwiek wysyłając telefon się resetował puki nie obniżyłem napięcia). Można to zrobić na wiele sposobów. Ja robiłem, nie stosując wyspecjalizowanych układów, na 3 sposoby. Zwykły dzielnik napięcia (koszt 2 rezystory), diodę zenera 3V3 ograniczającą napięcie, oraz bufor (koniecznie z serii 74HC, nie 74HCT) zasilany ze stabilizatora 3V3. Czwartym sposobem można też by było zrobić przy tej okazji niskim koszem izolacje galwaniczną. Nigdy tego nie robiłem bo nie potrzebowałem.

    Co do anteny jako ścieżka na płytce to kiedyś liczyłem że najbardziej optymalna powinna mieć 3,1cm lub jej wielokrotność.

    pozdrawiam hot-dog

  Szukaj w 5mln produktów