| Author |
Message
|
Shanleaf Poziom 16

Joined: 10 Jul 2006 Posts: 308 Location: Łódź
|
#1
15 Apr 2007 15:05 Programator USBasp |
|
|
|
Przedstawiam moją drugą poważniejszą konstrukcję. Jest nią programator mikrokontrolerów AVR, firmy Atmel. Jest to, według mnie, dosyć ciekawa konstrukcja, ponieważ, przy małej ilości elementów, oraz prostej obsłudze, oferuje wygodę magistrali USB (hot plug, wydajność prądowa do 500mA, oraz zgodność, z prawie każdym komputerem od '99 roku : ] ), oraz obsługę dosyć szerokiej gamy mikrokontrolerów AVR.
1. Schemat i płytka drukowana:
Schemat który wykorzystałem pochodzi ze strony: http://www.fischl.de/usbasp/
Pobrałem stamtąd również projekt płytki, który potem przerobiłem wg. własnych potrzeb. Modyfikacje polegały na:
- dostosowaniu rozmiarów płytki, do posiadanej przeze mnie obudowy
- dodaniu dwóch diod zenera (3,6V), które służą ustaleniu odpowiedniego poziomu napięć sygnałów USB.
PCB, standardowo wydrukowane drukarką laserową, na papierze kredowym, następnie wytrawione w B327.
2. Elementy:
Z elementów wyszczególnionych w schemacie, najtrudniej było dostać, oraz zaprogramować Atmegę 8, gdyz do tej pory nie posiadałem żadnego programatora uC. Zostałem więc zmuszony do wykonania programatora BSD (bezpośrednie połączenie pinów LPT, z nogami scalaka), który posłużył mi, nie tylko do zaprogramowania ósemki, ale również do nauki obsługi AVRDUDE : ]. Problemem na początku, wydawało się również zaciśnięcie złączy na taśmie sygnałowej, ale po znalezieniu odpowiedniego młotka, wszystko poszło gładko : ).
3. Uruchomienie:
Komputer, po podłączeniu układu, momentalnie poprosił o sterowniki, a następnie (po podaniu ścieżki), bez problemu zainstalował USBasp.
PS: Stosowałem wartości elementów, z oryginalnego schematu, wartości, w programie eagle sa trochę inne, ale też powinny działać.
Oferuję pomoc, wszystkim, którzy będą chcieli zbudować ten wspaniały programator : ].
Na życzenie mogę również zamieścić pliki programu Eagle.
Pora na zdjęcia : ]
Schemat:
Obraz ścieżek:
Płytka pod koniec trawienia:
Po wyjęciu z roztworu:
Po wyczyszczeniu z tonera:
Po zmontowaniu (układ podłączonu):
Widok ścieżek (jeden kondensator przylutowany od spodu, gdyż nie zauważyłem jednej dziurki przy wierceniu : P):
W obudowie:
|
|
| Back to top |
|
 |
ciapciok Poziom 18

Joined: 05 Apr 2004 Posts: 481 Location: Opole
|
#2
15 Apr 2007 15:22 Re: Programator USBasp |
|
|
|
Ja też zbudowałem ten programator, tylko jeszcze nie zaprogramowałem atmegi. Czy w tym pliku HEX na stronie autora, są już zawarte informacje o bitach, czy trzeba je samemu ustawić ?
Pozdrawiam
|
|
| Back to top |
|
 |
Google

|
#
15 Apr 2007 15:22 |
|
|
|
|
|
| Back to top |
|
 |
Shanleaf Poziom 16

Joined: 10 Jul 2006 Posts: 308 Location: Łódź
|
#3
15 Apr 2007 15:26 Re: Programator USBasp |
|
|
|
Fuse-y (chyba o to chodzi) ustawia się według pliku makefile:
# TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef
# TARGET=atmega48 HFUSE=0xdd LFUSE=0xff
|
|
| Back to top |
|
 |
ghost666 Poziom 24

Joined: 10 Jun 2003 Posts: 4889 Location: Toruń
|
#4
15 Apr 2007 16:05 Re: Programator USBasp |
|
|
|
Ciekawie sie prezentuje... myśle że powinnienem sobie coś takiego sprawić :).
Z jakim programem to współpracuje?
|
|
| Back to top |
|
 |
ciapciok Poziom 18

Joined: 05 Apr 2004 Posts: 481 Location: Opole
|
#5
15 Apr 2007 16:25 Re: Programator USBasp |
|
|
|
| Quote: |
# TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef
# TARGET=atmega48 HFUSE=0xdd LFUSE=0xff |
Możesz podać ich nazwy ? Chcę programować innym programem, w którym zaznacza się odpowiednie pola, a nie wpisuje się wartości w HEXach.
Pozdrawiam
|
|
| Back to top |
|
 |
janek1815 Poziom 22

Joined: 03 Aug 2004 Posts: 2273 Location: Barrancabermeja
|
#6
15 Apr 2007 16:31 Re: Programator USBasp |
|
|
|
wspolpracuje to z Bascomem?
|
|
| Back to top |
|
 |
Shanleaf Poziom 16

Joined: 10 Jul 2006 Posts: 308 Location: Łódź
|
#7
15 Apr 2007 16:47 Re: Programator USBasp |
|
|
|
programator świetnie współpracuje z programem AVRDUDE, (występuje jako osobny program, lub część pakietu WINAVR), który obsługiwany jest z konsoli, istnieje co prawda nakładka graficzna, ale wg. mnie lepiej jednak posłużyć się okienkiem dosowym. Co do bascoma: można wygenerować plik *.hex a potem zaprogramować nim mikrokontroler przez AVRDUDE. Fusy w heksach, możesz za pomocą np. windowsowego kalkulatora zamienić na kod dwójkowy (zera i jedynki) a następnie porównać, z notą katalogową.
|
|
| Back to top |
|
 |
sylwunia35 Poziom 16

Joined: 14 Oct 2006 Posts: 284 Location: Iłża
|
#8
15 Apr 2007 17:39 Re: Programator USBasp |
|
|
|
Witam
Mam pytanie o zworke J3 co ona tam robi i co się ustawia za pomocą tej zworki? Daj wsad do procka żebym nie musiał bardzo szukać i wybierać tam są ze 4 pliki. Popracuj nad lutowaniem (mniej cyny a więcej topnika).
|
|
| Back to top |
|
 |
Google

|
#
15 Apr 2007 17:39 |
|
|
|
|
|
| Back to top |
|
 |
Shanleaf Poziom 16

Joined: 10 Jul 2006 Posts: 308 Location: Łódź
|
#9
15 Apr 2007 18:10 Re: Programator USBasp |
|
|
|
Zworka J3 umożliwia programowanie układów, taktowanych niskimi częstotliwościami. poniżej 1,5MHz chyba
|
|
| Back to top |
|
 |
snnaap Poziom 18

Joined: 06 Apr 2005 Posts: 506
|
#10
15 Apr 2007 18:31 Re: Programator USBasp |
|
|
|
Doczytał sie ktoś może gdzieś co można tym programować? Wszystkie avr-y a '51 tez?
|
|
| Back to top |
|
 |
lechoo Poziom 24

Joined: 17 Sep 2002 Posts: 4763 Location: łódzkie
|
#11
15 Apr 2007 19:02 Re: Programator USBasp |
|
|
|
@Shanleaf
Uwaga praktyczna - następnym razem zamieszczaj zdjęcia w mniejszej rozdzielczości. Te obecne są ponadto mocno zaszumione (użyłeś zbyt dużej czułości ISO w aparacie), po przeskalowaniu prezentowałyby się dużo lepiej.
|
|
| Back to top |
|
 |
c++ Poziom 19

Joined: 18 Nov 2006 Posts: 727 Location: Olsztyn
|
#12
15 Apr 2007 19:05 Re: Programator USBasp |
|
|
|
Czy można prosi o wzór ścieżek gotowych do termo transferu?? wiem ze idę na łatwiznę.
Obudowy użyłeś uni.??
Czym robiłeś otwory pod gniazda?
|
|
| Back to top |
|
 |
kaytec Poziom 17

Joined: 30 Jan 2005 Posts: 442 Location: Olsztyn
|
#13
15 Apr 2007 19:22 Re: Programator USBasp |
|
|
|
Witam. Układ świetnie wykonany 5/6 bo sam go nie wymyśliłeś :)
Ponawiam pytanie snnaap'a czy można tym zaprogramować starsze układy serii '51 np.at89c2051 ? Pozdrawiam
|
|
| Back to top |
|
 |
Shanleaf Poziom 16

Joined: 10 Jul 2006 Posts: 308 Location: Łódź
|
#14
15 Apr 2007 19:25 Re: Programator USBasp |
|
|
|
Co do '51 to nie mam pojęcia :( Otwory wywiercone, a następnie wypiłowane pilnikami. Obudowa to jakaś uniwersalna z elektronika. Zamieszczam schemat, oraz wzór ścieżek.
|
|
| Back to top |
|
 |
janek1815 Poziom 22

Joined: 03 Aug 2004 Posts: 2273 Location: Barrancabermeja
|
#15
15 Apr 2007 19:53 Re: Programator USBasp |
|
|
|
| kaytec wrote: |
| Ponawiam pytanie snnaap'a czy można tym zaprogramować starsze układy serii '51 np.at89c2051 ? Pozdrawiam |
1. 89c2051 nie są to starsze układy tylko maja odmienna architekturę.
2. to jest programator do programowania w systemie - ISP
3. 89c2051 niestety nie można zaprogramować ISP tylko w trybie równoległym a wiec ten programator się do tego nie nadaje.
|
|
| Back to top |
|
 |
Google

|
#
15 Apr 2007 19:53 |
|
|
|
|
|
| Back to top |
|
 |
snnaap Poziom 18

Joined: 06 Apr 2005 Posts: 506
|
#16
15 Apr 2007 20:16 Re: Programator USBasp |
|
|
|
A jakiś inny programator niż AVRDUDE?
|
|
| Back to top |
|
 |
Fantomen Poziom 18

Joined: 20 Mar 2003 Posts: 466
|
#17
15 Apr 2007 20:23 Re: Programator USBasp |
|
|
|
Z tego co pisza na stronie:
Software
AVRDUDE supports USBasp since version 5.2! Get AVRDUDE.
Czyli AVRDUDE i to powyzej wersji 5.2!
|
|
| Back to top |
|
 |
Mateusz120986 Poziom 19

Joined: 15 Jul 2004 Posts: 651 Location: Gdynia
|
#18
15 Apr 2007 20:56 Re: Programator USBasp |
|
|
|
ale przykladowo AT89s52 ma ISP wiec mozna bedzie go zaprogramowac tym programatorem czy nie ?
Shanleaf czy mogl bys zamiescic na forum skompilowanego avrdude 5.3 czy tez jakiegos innego z ktorego korzystasz bo mam problem z kompilacją
|
|
| Back to top |
|
 |
krzys-iek Poziom 17

Joined: 17 Dec 2003 Posts: 415
|
#19
15 Apr 2007 21:03 Re: Programator USBasp |
|
|
|
fatalnie wiercisz, termostransferu nie masz do konca w malym palcu bo sciezki nie sa o prostych krawedziach ;)
wiertlo tepe i chyba wiercisz gramofonem, nie centryczne otwory, przeciez eagle +drill aid ULP zalatwia sprawe, wiertlo ostre samo wskakuje w dziurke i wiercisz prawie jak CNC :) oczywiscie statyw wymagany
|
|
| Back to top |
|
 |
Shanleaf Poziom 16

Joined: 10 Jul 2006 Posts: 308 Location: Łódź
|
#20
15 Apr 2007 21:13 Re: Programator USBasp |
|
|
|
Skompilowany AVRDUDE wchodzi w skład pakietu WinAVR, ale mogę również tutaj go zamieścić, razem z interfejsem graficznym. Z tym wierceniem rzeczywiście nie do końca ciekawie. Posiadam jedynie wiertarko-wkrętarkę akumulatorową, a na statyw za bardzo miejsca nie mam. Proszę również, o jakieś porady n/t termotransferu.
Plik avrdude.rar zawiera skompilowany program, wraz z plikiem konfiguracyjnym, oraz sterownik dla W XP, pozwalający na pełne wykorzystanie portu LPT.
Drugi plik, jest to graficzna nakładka na AVRDUDE, wymagająca zainstalowanego AVRDUDE oraz JAVA
http://avr8-burn-o-mat.aaabbb.de/AVR8_Burn-O-Mat.zip
| Moderated by androot: |
| Usunąłem załącznik (za 3pkt), bo można go ściągnąć poprzez powyższy link |
| Filename: |
avrdude.rar |
 Download |
| Contents: |
avrdude.exe
, install_giveio.bat
, remove_giveio.bat
, status_giveio.bat
, avrdude.conf
See all... |
| Filesize: |
77.18 KB |
| Punkty: |
0.00 |
|
|
| Back to top |
|
 |
Pth Poziom 20

Joined: 12 Oct 2005 Posts: 1084 Location: Kraków
|
#21
15 Apr 2007 22:01 Re: Programator USBasp |
|
|
|
Witam. Projekt podoba mi się bardzo! Widząc, że mam akurat w domu potrzebne elementy od razu zabrałem się do lutowania. wszystko złożyłem tylko nie wiem jak poradzić sobie z tym avrdude.
Mam kabel LPT-ISP i Bascoma -> czy z tego da się zaprogramować odpowiednio fusebity i wgrać hex'a?!
|
|
| Back to top |
|
 |
Shanleaf Poziom 16

Joined: 10 Jul 2006 Posts: 308 Location: Łódź
|
#22
15 Apr 2007 22:15 Re: Programator USBasp |
|
|
|
Zacznij od włożenia zworki na JP2, upewnij się również, że odpowiednie piny Twojego programatora, są połączone, z odpowiednimi pinami układu.
Musisz uruchomić konsolę (start->uruchom...->command.com), przechodzisz do katalogu z plikami AVRDUDE, i w konsoli wpisujesz najpierw install_giveio.bat (co zainstaluje Ci sterownik do portu LPT. następnie, aby zaprogramować układ przy użyciu AVRDUDE, wpisujesz
| Code: |
| avrdude -p m8 (lub m48, zależnie od procesora, który posiadasz) -c bsd (tą komendą definiujesz użyty programator, wnioskując z Twojej wypowiedzi, wydaje mi się, że masz właśnie BSD) -P lpt1 -U (operacja na pamięci) flash:w:plik.hex (wgrywasz plik dostarczony, przez autora, zależnie od posiadanego procesora). |
Aby zaprogramować fusy, wpisz
| Code: |
| avrdude -p m8 -c bsd -P lpt1 -t |
wchodzisz w ten sposób do terminala programu. Następnie piszesz
(wartość hex, podana trochę wyżej w tym wątku, również zależna od typu procesora :])
Podsumowując:
| Code: |
avrdude -p m8 -c bsd -P lpt1 -U flash:w:plik.hex
avrdude -p m8 -c bsd -P lpt1 -t
w hfuse 0 0xff
w lfuse 0 0xff |
Tylko broń Boże nie wpisuj tych "ff" do fusów, to tylko przykładowe wartości.[/code]
Opis komend:
-p wybór procesora
-P wybór portu
-t wejście do terminala
-U operacja na pamięci (zapis, odczyt, weryfikacja)
-F zignorowanie błędnej sygnatury procesora
-c wybór programatora
-e wyczyszczenie procesora
-n zakaz zapisu, czegokolwiek do pamięci uC
-V bez weryfikacji
|
|
| Back to top |
|
 |
Pth Poziom 20

Joined: 12 Oct 2005 Posts: 1084 Location: Kraków
|
#23
15 Apr 2007 22:45 Re: Programator USBasp |
|
|
|
procesor który mam to : atmega8
kabel to : sample electronics programmer
Czy z kwarcdem 4MHz tez bedzie wszytko dobzre działać czy musi być koniecznie 12MHz? teraz dopiero zauważyłem, że atmege którą mam ma napis "ATMEGA8L-8PI" czyli jak 8PI to znaczy że max freq. to 8 MHz wiec niebardzo moge zastosować kwarc 12 MHZ (choć mam takie w domu)...
|
|
| Back to top |
|
 |
Shanleaf Poziom 16

Joined: 10 Jul 2006 Posts: 308 Location: Łódź
|
#24
15 Apr 2007 22:56 Re: Programator USBasp |
|
|
|
Miałem ten sam problem, ale po uzyskaniu porady na forum, kupiłem jednak Atmege bez "L" i kwarc 12MHz. Co do Twojego kabla, to wydaje mi się, że możesz spróbować zamiast BSD, wpisać bascom, gdyż to może być właśnie ten programator. A jeśli nie, to będziesz musiał zaprogramować uC, z Bascoma (nie mam doświadczenia z tym programem)
|
|
| Back to top |
|
 |
Pth Poziom 20

Joined: 12 Oct 2005 Posts: 1084 Location: Kraków
|
#25
15 Apr 2007 23:56 Re: Programator USBasp |
|
|
|
No niby zaprogramowałem to avrdude'm, ustawiłem fusebity (też avr-dude'm) ale po podłączeniu usb pisze, że "urządzenie usb ma awarię" - czyli standardowa komenda kiedy nie rozpoznaje jakiegoś urządzenia USB . . .
A czy te dwie zenerki w obwodzie D+ i D- są potrzebne?
|
|
| Back to top |
|
 |
Shanleaf Poziom 16

Joined: 10 Jul 2006 Posts: 308 Location: Łódź
|
#26
16 Apr 2007 06:58 Re: Programator USBasp |
|
|
|
Tak, ponieważ USB, chociaż dostarcza zasilanie 5V, to ma inne poziomy sygnałów. 0V-0,3V dla stanu niskiego i 2,8V-3,6V dla wysokiego (dane w Wikipedii)
|
|
| Back to top |
|
 |
lechoo Poziom 24

Joined: 17 Sep 2002 Posts: 4763 Location: łódzkie
|
#27
16 Apr 2007 10:20 Re: Programator USBasp |
|
|
|
Te diody Zenera (5V6) nie ograniczają poziomów logicznych, są użyte jedynie profilaktycznie. Teoretycznie zapobiegają mikrokontroler przed przepięciami na liniach danych w chwili podłączania programatora do portu USB komputera. Bez nich programator oczywiście też działa poprawnie.
|
|
| Back to top |
|
 |
Pth Poziom 20

Joined: 12 Oct 2005 Posts: 1084 Location: Kraków
|
#28
16 Apr 2007 13:30 Re: Programator USBasp |
|
|
|
Udało mi się znaleźć prosty graficzny interface do avrdude. W pliku załączyłem Program AVR-DUDE razem z trybem graficznym. Myślę, ze przyda się wszystkim początkującym, a przede wszystkim tym którzy chcą zaprogramować programator AVRasp!
| Filename: |
avr-dude + graphic interface.exe |
 Download |
| Contents: |
|
| Filesize: |
697.45 KB |
| Punkty: |
1.36 = 0.816 for transfer + 0.544 for the user (set automatically) |
|
|
| Back to top |
|
 |
Google

|
#
16 Apr 2007 13:30 |
|
|
|
|
|
| Back to top |
|
 |
Shanleaf Poziom 16

Joined: 10 Jul 2006 Posts: 308 Location: Łódź
|
#29
16 Apr 2007 15:19 Re: Programator USBasp |
|
|
|
Lechoo, to nie są diody 5V6, tylko 3V6, i właśnie przez brak tych diod, ten programator czasem działa, a czasem nie. Kolega Mad Bekon miał właśnie taki problem.
|
|
| Back to top |
|
 |
marenc Poziom 20

Joined: 07 May 2005 Posts: 880 Location: Katowice
|
#30
16 Apr 2007 15:36 Re: Programator USBasp |
|
|
|
Wścipski jestem, ale obudowa zamknięta, a LED'y w środku ... jaki to ma sens? :P
|
|
| Back to top |
|
 |