środa, 12 września 2012

Programowanie mikrokontrolerów AVR cz. 2

Parę uwag na temat programowania w sensie wgrywania przygotowanego (skompilowanego) programu (wsadu) do pamięci flash mikrokontrolera ATtiny2313 (i nie tylko).
W pierwszym artykule na temat programowania AVR-ów założyłem, że dysponujemy płytką AVT3500 wraz z programatorem (kompatybilnym z STK500 v2) - płytka ta i programator wchodzą między innymi w skład zestawu do nauki programowania procesorów AVR. Nie każdy jednak ma dostęp do takiej płytki, czy też ma możliwość jej nabycia. Sam również postanowiłem uniezależnić się od tego zestawu - dotychczas używałem wypożyczonego z pracy. W związku z tym nabyłem (drogą kupna) polecany przez wielu użytkowników programator zgodny z USBASP i podłączyłem go do układu ATtiny2313 według wskazówek z artykułów:
Wszystko działa elegancko - mogę zaprogramować układ bezpośrednio ze środowiska BASCOM-AVR oraz korzystając z avrdude (zarówno w systemach Linux, jak i w moim wirtualizowanym Windows XP).

Muszę jednak, dla ścisłości, dodać kilka uwag od siebie (z krótkiego, kilkudziesięciominutowego doświadczenia programatorem USBASP).
Po pierwsze, żeby zaprogramować za pomocą tego programatora mikrokontroler ATtiny2313, należy założyć zworkę na styki opisane (na płytce programatora) jako Slow SCK (jak zwykle niezawodne forum elektroda.pl).
Po drugie, jeśli macie zamiar użyć taśmy do połączenia programatora z układem, pamiętajcie o wskazówce Łukasza z linkowanego wyżej artykułu:
"Jeżeli przewody podłączacie do taśmy, zamiast bezpośrednio do programatora, musicie “odbić” całość w pionie."
Chyba, że chcecie przetestować wytrzymałość i zabezpieczenia elektryczne łącza USB w Waszym komputerze. Ja niechcący przetestowałem - płyta główna przeżyła, programator i ATtiny też, choć, wyposażone w lampki kontrolne zasilania, urządzenia podłączone do USB nerwowo tymi lampkami mrugały... Po raz kolejny okazuje się, że płyty główne MSI tak szybko nie padają ;)

A wkrótce wrócę do konkretów, czyli napiszę o linijce świetlnej, w której zamiast specjalizowanych układów użyjemy naszego ATtiny. I oczywiście będzie też o możliwościach rozbudowy tego programu i wykorzystania go do innych rzeczy (np. wyświetlanie znaków na matrycy diodowej).

poniedziałek, 3 września 2012

Programowanie mikrokontrolerów AVR cz. 0

Zwykle w okolicach początku roku szkolnego piszę o edukacji jako takiej - co bym zmienił, co jest złe, co dobre itp. Dziś, zamiast tego co zwykle, będzie prequel poprzedniego artykułu o programowaniu AVR-ów w BASCOM-ie, a w zasadzie krótka prezentacja, jak w najprostszy sposób zmontować nieskomplikowany układ z ATtiny2313 w roli głównej.
Najpierw koncepcja. Wykorzystamy dwa wyjścia mikrokontrolera do zapalania i gaszenia (na przemian) dwóch diod świecących lub - jak w moim przypadku - kolorków jednej diody dwukolorowej ze wspólną katodą. Żeby nie przesadzać (jeszcze bardziej - wszak taki układ można zmontować z dwóch tranzystorów, dwóch kondensatorów i kilku rezystorów) z przerostem formy nad treścią, wykorzystamy wewnętrzny zegar taktujący ATtiny (co prawda 8MHz, ale mocno niestabilny - tutaj jednak nie powinno to w niczym przeszkadzać), cały układ natomiast zasilimy z trzech baterii AA (3*1,5V). Potrzebny będzie zatem ATtiny2313, dwa rezystory 220 Ohm, jedna dioda świecąca dwukolorowa ze wspólną katodą, kondensator 10 µF (choć przy tym zasilaniu nie jest on konieczny), płytka stykowa z drucikami. Podłączamy anody diody świecącej poprzez rezystory do wybranych wyprowadzeń mikrokontrolera - w moim projekcie są to odnóża 18 (bit 7 portu B) i 12 (bit 1 portu B). Pozostałe połączenia, czyli zasilanie - według dokumentacji ATtiny (napięcie zasilania przykładamy pomiędzy wyprowadzenia 20 i 10).
Kontroler trzeba zaprogramować, np. takim wsadem (tutaj będzie potrzebna nasza płytka uruchomieniowa lub programator):


przepiąć procesorek i włączyć zasilanie układu :)
Powinno ładnie mrygać - na zdjęciu tego nie widać:


ale już skręcony na szybko klip wideo pokazuje więcej:


Prawda, że proste?
Układ ten będzie jednym z pierwszych, które uczniowie zmontują i uruchomią podczas zajęć. Potem będzie już tylko ciekawiej.