Programator mikrokontrolerów AVR na Arduino
Masz własną stronę WWW (prywatną lub firmową)? Dodaj ją do katalogu stron związanych z elektroniką. Wpis jest całkowicie darmowy!
Platforma Arduino jest na tyle fajnie skonstruowana, że do załadowania programu do mikrokontrolera, nie wymaga dodatkowego, zewnętrznego programatora. Jest to możliwe, ponieważ do mikrokontrolera wgrany jest wstępnie bootloader, który potrafi przeprogramować układ (komunikacja z bootloaderem zrealizwana jest z wykorzystaniem portu szeregowego).
Dla mnie stanowi to ogromną wygodę i sposób taki polecam nie tylko fanom Arduino, ale również każdemu, kto zajmuje się mikrokontolerami AVR. Ja często stosuję zestaw Boarduino oraz program do wgrywania wsadu (który w zasadzie stanowi nakładkę na avrdude).
No dobrze, ale jeśli już posiadasz Arduino, a teraz chcesz zaprogramować np. ATtiny45 (mój ulubieniec), który stanowi mózg Twojego projektu. Czy musisz kupować programator? Mało tego, jak masz szczęście takie jak ja, to używasz laptopa. Czy musisz kupować wtedy programator na USB (droższy)?
Programator
Dla takich osób znalazłem fajne rozwiązanie. Na stronie http://drug123.org.ua/mega-isp-shield/ opisane jest rozszerzenie do Arduino (shield), który wraz z odpowiednim wsadem do mikrokontrolera i programem avrdude zmienia Arduino w programator!
To co bardzo podoba mi się w programatorze, to fakt uwzględnienia dwóch standardów złącz programatorów: avr isp oraz kanda isp.
Co będzie potrzebne?
Rozszerzenie zostało zaprojektowane na jednowarstwowej płytce drukowanej. Możliwe jest więc wyprodukowanie jej w warunkach domowych. Dla leniwych polecam zamówienie wykonania obwodu drukowanego w jednej z firm lub osób, które się tym zajmują. Osobiście nie przetestowałem jeszcze rozszerzenia, ale przyglądając się konstrukcji, rzuca mi się w oczy mały problem z montażem złącz (tych, które połączą rozszerzenie z Arduino). Problem polega na tym, że należy je przylutować od spodu (jednostronna płytka), co nie jest zadaniem najłatwiejszym - na szczęście wykonalnym.
Plik z projektem programu Eagle oraz wzór płytki w formacie png dostępne są na wspomnianej stronie.
Niezbędne komponenty:
- płytka drukowana,
- złącza (1×2, 1×2, 1×3, 1×6, 1×8, 2×6, 2×10),
- 3 diody LED,
- 3 rezystory o wartości 1k
Na upartego można zrobić z tego jakiegoś pająka, ale osobiście nie polecam takiego rozwiązania. Później okazuje się, że coś nie działa - szukamy błędu w układzie, który projektujemy, a okazuje się (po mozolnych poszukiwaniach), ze w konstrukcji programatora coś nie styka. Jeśli jednak nie chcesz wykonywać płytki drukowanej, to lepiej już połączyć to wszystko na płytce stykowej niż w powietrzu.
Kompatybilność
Oprogramowanie do Arduino (wsad do mikrokontrolera) dostępny jest na stronie: http://code.google.com/p/mega-isp/.
Według autora rozszerzenia programator jest kompatybilny z: avrdude oraz Eclipse. Nie jest natomiast z: AVRStudio i PonyProg (PonyProg chyba ogólnie nie współpracuje z programatorami via USB).
Podsumowanie
Prezentowane rozwiązanie to bardzo fajny sposób na wyposażenie swojego laboratorium w programator mikrokontrolerów AVR przy minimalnych kosztach (dla osób posiadających Arduino). Zwracam jednakże uwagę na fakt, że jest on udostępniany na licencji Creative Commons Attribution-Noncommercial-Share Alike 3.0, wykluczone zostało więc komercyjne wykorzystanie projektu.


