sobota, 30 sierpnia 2014

Bezprzewodowy STK500 v2 testy bojowe

Po próbach u znajomego który jest nauczycielem ( uczy też programowania ), na jego komputerze zakończonych powodzeniem oraz wyraźnym zainteresowaniem posiadania takiego sprzętu celem wgrywania programów do sprzętu który jest jakieś 15m dalej w gablotce ( chodzenie za każdym razem do woźnego po klucz mocno męczące )  powoli zabieram się do zrobienia schematu owego zestawu. Próby przeprowadzone na HC-05 , ale mam zamiar użyć BTM-222 który ma znacznie większy zasięg. Oczywiście pcb zamówie w jakiejś firmie, bo wszystko w smd, ciężko by było zrobić. Jeszcze taka ciekawostka HC-05 z zasięgiem 10m, jest lepszy od takiego dongla usb bt który ma zasięg 20m ( przynajmniej tak się chwali producent )

środa, 27 sierpnia 2014

Bezprzewodowy STK500 V2_BT podejście drugie

Dzięki temu że Atmel Studio 6 "podtrzymuje " połączenie na danym porcie możliwe było ominięcie przejściówki na ft232rl i jednego modułu hc-05. Wystarczy moduł który mam w komputerze.
Niestety ta "opcja" nie działa w Bascomie, działa tylko w AS6 oraz mkavr calculator.
Filmik z programowaniem przez jeden hc-05. Sprawdziłem jeszcze programowanie w ECLIPSE
i okazuje się że działa, nawet przy użyciu tylko jednego hc-05, wcześniej nie miałem takiej możliwości i musiałem użyć przejściówki, ale po zmianie avrdude na nowszy ( tzn inny ) działa ok, co prawda tylko miganie diódką bo nie jestem biegłym w C ( co prawda widziałem kiedyś jak się pisze w C,.......) .

wtorek, 26 sierpnia 2014

Bezprzewodowy STK500 V2_BT

Opcja programowania uC bez użycia długiego przewodu, jest bardzo korzystna, nie trzeba być narażonym na np bardzo niskie temperatury czy deszcz. Aby to osiągnąć potrzebny był jakiś moduł bezprzewodowy np btm-222, czy hc-05  oraz bootloader. Z bootloaderem jest taka opcja że trzeba by było wciskać reset ręcznie. Nikt nie ma ręki długości 10m ani tym bardziej 100m, wiec równie dobrze można było sobie darować moduły radiowe. Jakiś czas temu gdy jeszcze nie miałem hc-05 chciałem zrobić sobie programator STK500 V2, ale miałem USBasp i jakoś o tym zapomniałem. Jednak teraz postanowiłem zrobić sobie STK500 V2, z tą drobną różnicą że zamiast połączeń linii rx tx z uC z programem stk500 i konwertera usb<>port szeregowy wstawić moduły HC-05. Udało się








Jedyna różnica między działaniem przewodowym i bezprzewodowym, jest taka, że jak w przypadku Bascoma zczytanie sygnatury trwa około 0,2 sek dłużej w przypadku bezprzewodowym.
A w AS6 przy sczytaniu sygnatury pojawia się komunikat że 0V , ale należy kliknąć yes i wszystko jest w porządku. Pomimo zwiększenia prędkości transmisji z 9600 na 115200 nie ma pogorszenia zasięgu ( w dalszym ciągu 2 ściany. Już nie trzeba pilnować reseta, wystarczy zwykłe sczytanie sygnatury. Wystarczy zamienić hc-05 na "mocniejszy" moduł i można np programować alarm w piwnicy ( będąc na piętrze ). Jescze tylko kilka słów komentarza do FILMIKU. Duży robaczek to atmega32A do której wgrywałem jakiś program, mały robaczek to atmega8A z kodem stk500, oraz moduł HC-05 w konfiguracji slave.
Duża żółta dioda, jak to piszą w dokumentacji z avt świeci gdy docelowy układ jest programowany ( odczyt i programowanie ).

wtorek, 12 sierpnia 2014

Arduino i atmega32

Jako że zainteresowało mnie arduino, postanowiłem się zapoznać z całym tym czymś.
Nie napisze co to jest arduino, bo każdy tekst, film, czy informacja mówi o tym.
Jednakże warto wspomnieć że arduino to jakaś płytka z procesorkiem i środowisko programistyczne ( coś jak avr / atmel studio czy bascom ). Z tego co się dowiedziałem to nie ma wielkich różnić między C a arduino. Zauważyłem że np. nózki od ADC nie nazywają się adc0,........adc7, tylko wejścia analogowe,
więc w programie napiszemy np A0 czy A1, a wszystkie inne nóżki to we/wy cyfrowe ( wyjścia analogowe to PWM np OC1A......... ). Być może są jeszcze jakieś różnice, ale o nich na razie nie wiem.

Gdzieś usłyszałem że arduino to platforma do robienia prototypów ( choć dzięki naszym przyjaciołom z dalekiego wschodu , można spokojnie kupować potrzebne moduły do zrobienia na gotowo danego urządzenia ), a gdy już zechcemy zrobić jakieś coś w ładnej obudowie i na pcb, jest to bardzo łatwe.

Idąc tym tropem przejrzałem listę dostępnych płytek arduino, owszem jest z mega328 ( ale mało nóżek, dodatkowo 2 zajęte przez kwarc ) czy taki potwór mega 2560 ( ale w smd i jak w przeciwieństwie do mega328, nóżek od groma i ciut ciut , a i tak nie wszystkie nóżki wykorzystane, jak  to podlutować do pcb ).
W swoich zasobach mam kilka mega32a, więc poszukałem i znalazłem sposób jak z trofiejnej płytki prototypowej zrobić arduino.

Aby się odnaleźć w pinologii stosowanej w arduino, stara radziecka szkoła, czyli karteczka z wyprowadzeniami. Jest tylko jedno małe ale, zabawa zaczyna się przy adc, pozostałe piny od D0 do D23
sprawdzone "Blink"-iem są w porządku natomiast gdy używamy portu A jako wyjścia cyfrowe ( miganie diody ) to ma oznaczenia D24 do D31. Gdy chciałem przetestować jakiś przykład z odczytem napięcia na którejś z nóżek adc, to numerologia się zmienia ( zamiast A0 trzeba wpisać 30 gdy chcemy odczytać U na nóżce 40 procka ), stąd między innymi ta karteczka.
 Aby się połączyć z arduino do procka potrzeba USBasp, czy jakiś inny rozpoznawany przez arduino

 oraz dodać do pliku boards.txt mega32, aby na pasku pojawił się mega32.

 

sobota, 2 sierpnia 2014

HC-05

Po miesiącu czekania jestem szczęśliwym posiadaczem dwóch modułów bluetooth hc-05.
Mają zasięg ok 10m, cena za 2szt to ok 35zł ( 10USD). Testowałem je jako slave'y i działają znakomicie, oraz jako "bezprzewodowy" przewód do np wgrywania wsadu do procesorka, jednak potrzeba jest manualnie wciskać reset, niestety linia rts, która by mi się przydała ciągle jest w stanie 0.




Oczywiście aby móc jeden modulik przestawić na mastera, należy zaopatrzyć się w najpodlejszą, ale działającą przejściówkę usb - rs232 , ja już sobie coś takiego kiedyś zrobiłem.
Fabrycznie ( czyli w momencie kiedy rozpakowałem moduły, miały ustawione prędkości 9600 ( reszty tego tałatajstwa nie pamiętam, ale jak sprawdzę to napiszę, ), oraz oba ustawione jako slave.
Proces połączenia z komputerem ( oczywiście z bt ) nie jest jakiś szczególny, tzn dajemy zasilanie 5V naszemu hc-05, wyszukujemy w pc dostępne ustrojstwa bt i łączymy się. Oczywiście wpisujemy super hiper mega skomplikowany kod "1234", patrzymy tylko w dymku ( instalacja nowego urządzenia ) jaki mamy nr COM portu, i to w zasadzie koniec.

 Przypisywane są 2 nr com w wypadku jak powyżej com 27 i com 28, ten pierwszy działa.
z procka wysyłana jest temperatura na pt1000, ale nie jest podłączony, więc wariuje.
Można sobie pozmieniać prędkości, nazwę jaka jest wysyłana np przy szukaniu modułu
domyślnie miałem "HC-05".
Teraz troszkę o hardware, czyli co i jak podłączyć.
Nóżka STATE, gdy moduł nie jest połaczony, jest w stanie "0", gdy się połączy na tym pinie jest "1", czyli 3.3V.
RXD i TXD podłaczamy do procka następująco TXprocka----------------RXmodułu, drugie połączenie analogicznie. ( nie używam żadnej konwersji 3.3V 5V, moduły "chodzą" już kilka godzin i jest ok )
GND i VCC, zasilanie VCC makymalnie 6V.
EN, nóżka która jest podłaczona do stabilizatora napięcia który jest na płytce modułu, panuje na tym pinie
3.8V, ale jak zewrzemy do masy, to moduł się wyłącza. Dla dociekliwych dlaczego tek się dzieje odsyłam  do pdf stabilizatora napięcia przyda się również pdf z komendami i opisem połączeń modułów
a dla tych którzy nie wiedzą jaki moduł wybrać porównanie HC-05 i HC-06 .
Kiedyś miałem używać do komunikacj radiowej rfm70 ( późniejsza wersja 73 ), ale protokół komunikacyjny
zawiły, a i zasięg niepewny, a hc-05 wręcz idealny.