Najprostszy programator AVR za 3zł do mini płytki testowej

Kabelek do mini płytki i programatorW 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:

Sample Electronics programmer
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:

DB25 - programator - piny z przodu

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:

Najprostszy programator AVR - LPT 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:

Kabelek do mini płytki i programator

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:

Płytka z dołączonym programatorem

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:

Następnie podłącz zasilanie do płytki i wtyk programatora do komputera. W terminalu wpisz:

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:

avrdude - brak uprawnień do portu

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:

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:

Test avrdude

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:

Wpis “Najprostszy programator AVR za 3zł do mini płytki testowej” komentowano 7 razy

Dodaj komentarz