ATmega8 od podstaw cz.1

Krótki wstęp.

Witam na pierwszej części kursu poświęconego mikrokontrolerowi Atmega8. Kurs jest przeznaczony głównie dla osób które miały już jakieś dośwadczenia z programowaniem, ale nie miały styczności z mikrokontrolerami.

Atmega 8 jest dość popularnym wśród hobbystów elektroników mikrokontrolerem produkowanym przez firmę Atmel. Należy on do serii dość sporej grupy o nazwie AVR która liczy już kilkadziesiąt  modeli różniących się między sobą parametrami takimi jak np. ilość dostępnej pamięci i funkcjonalnością. Wszystkich zainteresowanych rodziną AVR odsyłam na stronę Atmela.

Atmega8  stanowi dobry kompromis między ceną a możliwościami, w chwili gdy to piszę, można ją nabyć za 6-11 zł w zależności od sklepu i ilości.

Jest sprzedawany najczęściej w wersji w obudowie DIP oraz TQFP.

To tyle wstępu, zatem do rzeczy :)

Co będzie potrzebne?

Aby zacząć potrzebujemy:
- programator z kompletem przewodów
- zasilacz sieciowy 8-12v
- toolchain czyli odpowiednie oprogramowanie
- płytkę z mikrokontrolerem Atmega8
- dokumentacja

Programator
Programator czyli w skrócie płytka płytka drukowana  do której z jednej strony podłączamy komputer, a z drugiej  nasze programowane urządzenie, za momocą której będziemy ładować nasze programy Atmegi.
Proponuję USBasp, jest tani i w miarę dobry, podłączany do komputera przez złącze USB, można go dostać poniżej 40zł, propnuję poszukać na allegro. Sam takiego używam i sobie chwalę.

Wygląda mniej więcej tak:
programator USBasp

To tylko przykład, wersji tego programatora jest mnóstwo. Oryginalny USBasp znajdziesz tutaj: http://www.fischl.de/usbasp/

 

Zasilacz
Dowolny  zasilacz sieciowy prądu stałego o napięciu od 8 do 12v i wydajności 500 mA powinien w zupełności  wystarczyć do zasilenia mikrokontrolera i kilku diod. Jeżeli natomiast chcemy podpiąć jeszcze inne urządzenia, silniczki, serwa itp. to odpowiednio mocniejszy np 1500mA.
Możemy również zasilać nasz układ z programatora, a dokładniej z portu USB  komputera do ktorego jest podłączony programator, wtedy zasilacz nie będzie potrzebny, ale należy wtedy pamiętać o tym ze wydajność prądowa portu USB to max 500 mA, przekroczenie tej wartości może uszkodzić port.
Jeszcze jedna uwaga, nasz układ powinien byc zasilany napięciem 5V, więc dlaczego zasilacz 8-12v?
Otóż dlatego że moduły z mikrokontrolerami AVR często mają stabilizator napięcia, który obniza napięcie i stabilizuje je na poziomie 5V, oczy wiscie nie wszystkie, ale ten który zbudujemy ( o tym niżej ), będzie taki stabilizator posiadał.
Jeżeli moduł którego używasz nie ma stabilizatora to można do niego podłączyć co najwyżej 5V a  zasilacz musi musi byc koniecznie stabilizowany, ewentualnie może byc port USB komputera, ktory daje dość stabilne 5V.

Toolchain
Czyli zestaw oprogramowania dzięki ktoremu będziemy mogli kompilować oraz  wgrywać nasze programy do pamięci Atmegi.
Bardzo dobrym wyborem będzie tutaj  WinAVR, najważniejsze co w sobie zawiera ten zestaw to kompilator GCC oraz program avrdude obsługujący nasz programator USBasp.
WinAVR jest całkowicie darmowy zarówno dla hobbystów jak i firm.
Sciągniesz go ze strony:
winavr.sourceforge.net

Płytka z mikrokontrolerem.
Czyli najważniejszy element w naszej zabawie.  Na rynku jest trochę gotowych modułów z Atmegą8, różnią się parmatrami, wielkością, dodatkowymi elementami typu pamięć, no i ceną.
Jednak ja proponuję zrobić taki moduł samemu,  więcej się dzięki temu nauczysz, oraz możesz zrobić lepsze urządzenie za mniejsze pieniądze.  Jednak o tym w następnej części kursu.

Dokumentacja
Najważniejszym i najbardziej przydatnym dokumentem jest nota katalogowa naszego mikrokontrolora ( ang. datasheet ), dostępna na stronie Atmela. Znajdziesz w niej pełną specyfikację mikrokontrolera ze wszystkimi szczegółami. Przydatna była by tu znajomość języka angielskiego.
Podaję bezpośrednie linki:

nota katalogowa Atmega8A, wersja pełna
nota katalogowa Atmega8A, tylko podsumowanie

To tyle w pierwszej części, zapraszam do następnej.
Zapraszam również do pisania uwag ( równiez tych krytycznych) w komentarzach,  jeżeli są jakieś blędy to postaram się je poprawić.

 

 

Share

2 comments for “ATmega8 od podstaw cz.1

  1. Michał
    18 lutego 2014 at 3:25 pm

    Bardzo zgrabnie opisane. Jeśli kolejne części są podobne – będzie super ! Wielkie dzięki :))

  2. Michał
    18 lutego 2014 at 3:27 pm

    A to pech … nie ma kolejnych części :(

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *