Najprostszy programator AVR za 3zł do mini płytki testowej
W dwóch poprzednich wpisach dotyczących płytki testowej z mikrokontrolerem AVR ATtiny2313 (Mini płytka testowa AVR z odzysku i Usprawnienie mini płytki testowej AVR z dekodera Cyfrowego Polsatu) opisałem sposób jej pozyskania i modyfikacji zwiększającej funkcjonalność. Dzisiaj pokażę, jak zrobić bardzo prosty programator, dzięki któremu będzie można ładować do modułu programy. W poprzednich częściach skupiałem się na maksymalnym wykorzystaniu części z odzysku i jak najmniejszych wydatkach. Podobnie teraz – koszt budowy całego programatora to mniej niż 3zł – ceny sprawdziłem w pobliskim sklepie elektronicznym. Kupując przez internet lub bazując na posiadanych zapasach, może być jeszcze taniej.
Wtyczka i kabelek, czyli programator AVR
Do budowy programatora mikrokontrolerów AVR potrzebny będzie męski (czyli z bolcami) ) wtyk DB25, kawałek 5 żyłowego kabla – polecam tasiemkę z różnokolorowymi żyłami, ja użyłem jeszcze pojedyncze goldpiny, tak by kabelki można było łatwo wpinać w płytkę stykową. Gdybym chciał to kupić w sklepie elektronicznym, który czasem odwiedzam, to za wtyk DB25 zapłaciłbym 1,21zł, 5 goldpinów to koszt 20 groszy (trzeba kupić listwę z 40 pinami za 1,50zł, z której wyłamuje się pojedyncze końcówki), 50cm taśmy 6-żyłowej kosztuje 1,35zł (2,70zł za metr) – razem wychodzi mniej niż 3 zł. Budowany programator został opracowany przez producenta oprogramowania Bascom i nosi nazwę Sample Electronics programmer. W układzie pominąłem rezystory zabezpieczające – nasza mini płytka zawiera takie o wartości 100Ω. Oto jego schemat:
Jego budowa jest prostsza niż STK200 bez bufora, bo nie trzeba łączyć pinów we wtyczce. Drugi argument, który przemawiał za akurat tym “układem” to fakt, że zrobiłem taki naprędce ponad 7 lat temu i wykorzystałem do zaprogramowania AT90S2313 podczas wykonywania pracy inżynierskiej, a trzeci – jest on obsługiwany przez programator avrdude.
Patrząc na przód gniazda, jego piny będą pełniły następujące role:
W celu łatwiejszego lutowania kabelków do wtyczki, opisałem również jej tył. Piny od 18 do 25 można połączyć, ale nie jest to konieczne, bo są one dołączone do masy w gnieździe komputera. Zdjęcie z tyłu:
Jak wspomniałem wcześniej, do końcówek taśmy przylutowałem pojedyncze goldpiny, dzięki temu łatwo programatorek wpinać do płytki stykowej. To samo zrobiłem z kablami i 9-pinową wtyczką wylutowaną z dekodera DSB-616. Całość wygląda tak:
Kolejny etap to wpięcie programatora i płytki za pośrednictwem kabelka do wygodnej płytki stykowej. Warto się w taką zaopatrzyć, ja za swoją zapłaciłem mniej niż 10zł i była to bardzo dobra inwestycja. Budowa prototypów trwa teraz bardzo krótko i bez użycia lutownicy, łatwo też wprowadzać zmiany.
Przy łączeniu płytki i programatora warto podeprzeć się opisem gniazdka, który znajduje się tutaj Mini płytka testowa AVR z odzysku. Kabelki GND muszą być połączone ze sobą, płytka potrzebuje jeszcze zasilania. Najlepiej, gdy będzie to zasilacz stabilizowany, wtyczkowy o napięciu 5V, ale równie dobrze można je pozyskać z portu USB lub użyć 3 baterii AA połączonych szeregowo. Ja do zasilacza, który był ładowarką już nie pamiętam czego, dolutowałem stabilizator LM7805 i zamiast kabla wyjściowego zastosowałem metr jednej pary pomarańczowej skrętki komputerowej, którą miałem akurat pod ręką. U mnie całość wygląda tak:
Test programatora
Przed sprawdzeniem, czy wszystko działa, warto obejrzeć połączenia dwa razy i upewnić się, że wszystko jest dobrze wpięte. Do zabaw z elektroniką kupiłem sobie stary komputer PC – dokładniejszy opis jest tutaj Bardzo tani komputer dla elektronika amatora. Zainstalowałem na nim Linux Mint i po pewnym czasie stwierdziłem, że Windows nie jest mi potrzebny, dlatego dalsza część opisu będzie bazowała właśnie na linuksie, ale da się to zrobić w Windowsie w prawie taki sam sposób, tymi samymi programami. Do programowania wykorzystałem znany avrdude, jeśli nie masz go u siebie, wykonaj:
sudo apt-get install avrdude
Następnie podłącz zasilanie do płytki i wtyk programatora do komputera. W terminalu wpisz:
avrdude -c bascom -p t2313
W parametrze -c definiujemy typ programatora, w -p typ procesora. Ja po wciśnięciu entera dostałem błąd związany z brakiem uprawnień do portu lpt, czyli /dev/parport0 Permission denied, co wyglądało dokładnie tak:
Znalazłem na szybko metodę, która na czas bieżącej sesji nadaje uprawnienia do odczytu i zapisu zalogowanemu użytkownikowi. Tak więc chwilo problem rozwiązuje komenda:
sudo chmod a+rw /dev/parport0
Problem uprawnień definitywnie rozwiązuje dodanie się do grupy lp w linuksie. Po wpisaniu hasła roota możemy znowu wpisać linijkę pozwalającą na test programatora, lub wciśnąć kilka razy strzałkę do góry (wybór ostatnio wpisanych komend). U mnie wszystko zadziałało, oto efekt:
W następnych wpisach pokażę jak zainstalować środowisko programistyczne Eclipse, które bardzo zwiększy komfort pracy (tutaj: Instalacja narzędzi dla AVR i IDE Eclipse w Linux Mint) i udostępnię prosty program, który po skompilowaniu i wgraniu przetestuje wyświetlacz i porty mikrokontrolera ATtiny2313 (tutaj: Test mini płytki AVR z ATtiny2313 – pierwszy program)
Przydatne linki:
- Mini płytka testowa AVR z odzysku – pierwszy wpis, który zawiera informację skąd wziąć płytkę Atmel_display, jej schemat i opis elementów.
- Usprawnienie mini płytki testowej AVR z dekodera Cyfrowego Polsatu – czyli jak płytkę Atmel_display uczynić jeszcze bardziej użyteczną.
- Instalacja narzędzi dla AVR i IDE Eclipse w Linux Mint – wygodne, zintegrowane środowisko do pisania i kompilowania programów oraz programowania mikrokontrolerów.
- Test mini płytki AVR z ATtiny2313 – pierwszy program – kilka linijek kodu napisanego w C, dzięki którym dowiemy się, czy nasza płytka jest sprawna.
7 komentarzy
[…] Najprostszy programator AVR za 3zł do mini płytki testowej znajdziesz opis prostego programatora, za pomocą którego można wgrać do mikrokontrolera […]
[…] podłączenia programatora do płytki można znaleźć w tym wpisie Najprostszy programator AVR za 3zł do mini płytki testowej. Kabelki z wtyczką, odzyskane z dekodera DSB-616 są różnokolorowe, opisałem je, zakładając, […]
[…] do mikrokontrolera. Jakiś czas temu, przy okazji zabaw z mini płytka testową AVR opisałem bardzo prosty programator, który umożliwia łatwe i szybkie programowanie układów zbudowanych na płytce stykowej. Dziś […]
[…] Polsatu. Instrukcję budowy banalnie prostego, ale użytecznego programatora zamieściłem tutaj: Najprostszy programator AVR za 3zł do mini płytki testowej. W tym wpisie udostępniłem prosty program, który sprawdza, czy płytka działa prawidłowo: Test […]
[…] Najprostszy programator AVR za 3zł do mini płytki testowej – opis bardzo prostego programatora mikrokontrolerów AVR. […]
[…] będzie potrzebny… programator mikrokontrolerów AVR. Może to być choćby taki najprostszy, składający się z wtyczki DB25 i kabelka + zasilacz stabilizowany 5V, można też wykorzystać drugi programator […]
[…] szczęście nie jest to duży problemem – wystarczy płytka stykowa z zasilaczem, atmega8 i programator składający się z wtyczki lpt i kabelka. Jeśli ktoś posiada bardziej profesjonalny STK200, to oczywiście również się nada. Niezbędny […]