3 grudnia 2016

Programator USBasp

W mojej kolekcji programatorów posiadam już dwa różne programatory USBasp, które zostały przeze mnie zakupione. Mam podejrzenie, że w niektórych płytkach po dekoderach znajduje się właśnie mikrokontroler firmy Atmel. Jednakże z obawy o fakt, że programator USBasp
mógłby zostać uszkodzony, a wymiana mikrokontrolera w wersji SMD byłaby dość uciążliwa, postanowiłem stworzyć swój własny programator USBasp, który będzie posiadał na swoim pokładzie mikrokontroler w obudowie przewlekanej, który dodatkowo jest osadzony w gnieździe. Cały programator, standardowo opiera się o schemat oraz program ze strony fischl.de. Postanowiłem zrobić oryginalny programator z fizycznymi przełącznikami, które pozwalają zaprogramować mikrokontroler w programatorze oraz spowolnić taktowanie dla nowych mikrokontrolerów. Ponadto dodałem jeszcze bezpiecznik polimerowy 500mA na port USB oraz diodę LED, która sygnalizuje napięcie na porcie kanda. Mikrokontroler, którego użyłem do budowy programatora to Atmega8A-PU. Postanowiłem również dodać złączę USB typu A, które pozwala na bezpośrednie podłączenie się do portu komputera. Polecam również wymienić diody zenera z 3.6V na 3.3V.

Projekt płytki programatora USBasp
Płytka ma wymiary 50mm/55mm. Potrójny dip switch umożliwia zasilanie zewnętrznego układu z portu USB komputera ("power"), programowanie mikrokontrolera w programatorze ("service") oraz spowalniać taktowanie dla nowych mikrokontrolerów ("slow sck"). Oczywiście dwie ostatnie pozycje nie są wymagane, ponieważ taki mikrokontroler można wyciągnąć i zaprogramować go, choćby w płytce prototypowej. Natomiast samo spowalnianie taktowania można uzyskać programowo za pomocą znaku "-B". Oryginalny programator również ma podłączone piny 4, 5 portu kanda, które w przyszłości miały pozwolić na debugowanie programu za pomocą komunikacji RS232 ale obecnie nie są wykorzystywane dlatego, aby się nie bawić w dodatkowe prowadzenie ścieżek zrezygnowałem z ich podłączenia. Stan pracy pokazują trzy diody LED. Dioda zielona, opisana jako "PWR" sygnalizuje zasilanie programatora. Niebieska dioda LED "PROG" sygnalizuje programowanie programatorem innego układu. Natomiast czerwona dioda LED "PWR ISP" sygnalizuje napięcie na docelowym układzie. Trzeba uważać, aby nie spotkały się dwa oddzielne źródła zasilania. Albo zasilamy układ docelowy z programatora USBasp, albo z zewnętrznego źródła - nigdy oba na raz. Jak można zauważyć wartości rezystorów dla tych diod są stosunkowo małe ale jest to tylko podyktowane moimi prywatnymi preferencjami. Posiadam komputer stacjonarny i programator znajduje się przy moich nogach, programatora nie widzę bezpośrednio ponieważ zasłania mi go wysuwana szuflada z klawiaturą, poza tym prawie bezpośrednio na programator świeci światło i ciężko dotychczas było mi zauważyć kontrolki programatora.

Programator USBasp

Aby zaprogramować mikrokontroler, który znajduje się w tym programatorze, potrzebujemy innego programatora. Może to być prosty programator na LPT lub dowolny inny, którym zaprogramujemy mikrokontroler Atmega8. W moim przypadku, w celu zaprogramowania mikrokontrolera wykorzystałem inny programator USBasp. Oba programatory podłączyłem ze sobą przewodem IDC 10-io pinowym. Na programatorze, który został podłączony do komputera zwarłem zworkę zasilającą, aby zasilić płytkę z naszym programatorem. Następnie na przełączniku dip switch załączyłem zasilanie z gniazda kanda - "power" oraz załączyłem tryb programowania układu programatora - "service". Teraz możemy przystąpić do programowania naszego programatora. Ustawiamy Fuse bity w następujący sposób dla Atmega8: Low=0xEF, High=0xC9. Można je bez problemu ustawić np. w programie mkAVR calculator. Następnie wgrywamy plik w postaci HEX na nasz mikrokontroler - można go pobrać ze STRONY AUTORA - jak na razie najnowszy pochodzi z 2011r. program znajduje się w folderze: usbasp.2011-05-28 > bin > firmware; teraz wybieramy w zależności od mikrokontrolera.
Po całej operacji zaprogramowania programatora, wyłączamy tryb serwisowy "service" i cieszymy się nowym programatorem USBasp :)

Schemat programatora USBasp
Wykaz części:
Rezystory: 2x 68R, 7x 220R, 2.2K, 10K | kondensatory: 2x 22pF, 100nF, 2x 10uF | diody: 2x Zener 3.3V, 3x LED 3mm | inne: Atmega8, potrójny przełącznik dip switch, kwarc 12MHz, gniazdo kanda 10 pin, port USB typu A, bezpiecznik polimerowy 500mA, opcjonalnie gniazdo na mikrokontroler DIP28.


Wzór ścieżek i opis przygotowany do naniesienia na płytkę PCB oraz schemat, plik txt z wykazem części, zdjęcia i podglądowy widok płytki.

Brak komentarzy:

Prześlij komentarz

Aby uniknąć spamu, komentarze na blogu pojawiają się po zatwierdzeniu.