Elektroda.pl
Elektroda.pl
X
Computer ControlsComputer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Programator AVR na USB [usbasp]

Mateusz120986 04 Lip 2007 22:59 68792 118
  • Programator AVR na USB [usbasp]

    Witam

    Chciałbym zaprezentować wykonany przeze mnie programator do układów firmy ATMEL. Projekt został zaczerpnięty ze stronki
    http://www.fischl.de/usbasp/



    PCB wykonane u Barańskiego ( www.baranski.net.pl ). Niestety o potrzebie zastosowania zenerków na 3.6V dowiedziałem sie po wykonaniu PCB więc trzeba było dolutować je od spodu :)

    W załączniku macie wszystko co potrzeba do zbudowania tego programatora :
    -schemat
    -PCB ( już z miejscem na zenerki)
    -avrdude + graficzna nakładka AVR8_Burn-O-Mat
    -giveio + instrukcja jak to zainstalować
    -libusb0

    Przy poprawnym zmontowaniu i zaprogramowaniu uP + fusy układ działa bez problemu i jeszcze mi sie nie zdarzyło jak narazie by wyskoczyły jakieś błędy w zapisie , odczycie albo weryfikacji

    Obdowe wykonam po miesiącu bezawaryjnej pracy bo narazie nie wiadomo czy warto :)

    Programator AVR na USB [usbasp] Programator AVR na USB [usbasp] Programator AVR na USB [usbasp]

    Moderowany przez androot:

    Pierwsze zdjęcie trzeba wstawić na samym początku, zanim się cokolwiek napisze, używając "Załaduj zdjęcie". Wtedy pokaże się ono na stronie głównej!

    Załączniki:

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    Mateusz120986
    Poziom 22  
    Offline 
    sprzedam programator AVR + PIC, USBasp i Brenner 8 http://www.elektroda.pl/rtvforum/viewtopic.php?t=1812499&highlight=
    Specjalizuje się w: automatyka, mikrokontrolery
    Mateusz120986 napisał 647 postów o ocenie 25, pomógł 5 razy. Mieszka w mieście Gdynia. Jest z nami od 2004 roku.
  • Computer ControlsComputer Controls
  • #2
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #3
    majster256
    Poziom 21  
    chyba sobie taki zbuduje:)

    i rada dla autora: w cyfrówce chyba nie takie straszne ale w analogu nalezy unikać poligonów nie połączonych z masa ( takich 'wiszących w powietrzu') robiłem kiedyś stabilizator dość precyzyjny i ten mały szczegół na PCB wpływał na tętnienia na wyjściu o kilkadziesiąt mV

    programator bardzo fajny 6/6
  • Computer ControlsComputer Controls
  • #4
    RPG
    Poziom 13  
    Ile kosztuję taka atmega jaką masz w programatorku ?
    I jak wygląda przebieg programowania ?
    I jakie procesory możesz tym programować.

    Pozdrawiam i czekam na odpowiedź.
  • #5
    Mateusz120986
    Poziom 22  
    obsługiwane uP ( po lewej opcja avrdude ,ktorej i tak nie bedziesz musiał znać korzystając z graficznej nakładki , po prawej modele procków)

    m6450 = ATMEGA6450
    m3250 = ATMEGA3250
    m645 = ATMEGA645
    m325 = ATMEGA325
    usb1287 = AT90USB1287
    usb1286 = AT90USB1286
    usb647 = AT90USB647
    usb646 = AT90USB646
    t84 = ATtiny84
    t44 = ATtiny44
    t24 = ATtiny24
    m2561 = ATMEGA2561
    m2560 = ATMEGA2560
    m1281 = ATMEGA1281
    m1280 = ATMEGA1280
    m640 = ATMEGA640
    t85 = ATtiny85
    t45 = ATtiny45
    t25 = ATtiny25
    pwm3 = AT90PWM3
    pwm2 = AT90PWM2
    t2313 = ATtiny2313
    m168 = ATMEGA168
    m88 = ATMEGA88
    m48 = ATMEGA48
    t861 = ATTINY861
    t461 = ATTINY461
    t261 = ATTINY261
    t26 = ATTINY26
    m8535 = ATMEGA8535
    m8515 = ATMEGA8515
    m8 = ATMEGA8
    m161 = ATMEGA161
    m32 = ATMEGA32
    m6490 = ATMEGA6490
    m649 = ATMEGA649
    m3290 = ATMEGA3290
    m329 = ATMEGA329
    m169 = ATMEGA169
    m163 = ATMEGA163
    m162 = ATMEGA162
    m644 = ATMEGA644
    m324 = ATMEGA324
    m164 = ATMEGA164
    m16 = ATMEGA16
    c128 = AT90CAN128
    m128 = ATMEGA128
    m64 = ATMEGA64
    m103 = ATMEGA103
    8535 = AT90S8535
    8515 = AT90S8515
    4434 = AT90S4434
    4433 = AT90S4433
    2343 = AT90S2343
    2333 = AT90S2333
    2313 = AT90S2313
    4414 = AT90S4414
    1200 = AT90S1200
    t15 = ATtiny15
    t13 = ATtiny13
    t12 = ATtiny12
    t11 = ATtiny11

    koszt ATmega 8 u mnie to 4.70 zł wiec niewiele :) tylko pamiętaj , że tego ATmega8 który siedzi w programatorze też trzeba zaprogramować :)

    a tu masz schemat prostego programatora do lpt, zrobisz na pająka , zaprogramujesz nim ATmega8 i masz sprawny programator na USB
    Programator AVR na USB [usbasp]

    Samo programowanie gotowym programatorem i po zainstalowaniu driverów jest banalne. Odpalasz AVR8_Burn-O-Mat ( graficzna nakładka na avrdude) i wszystko jak na dłoni :P tu masz screena z programu
    Programator AVR na USB [usbasp]


    pozdro
  • #7
    Gienek
    Poziom 35  
    Czy to tak ciężko czytać ze zrozumieniem. To jest programator do AVR (pełna lista procesorów - powyżej).
  • #8
    c++
    Poziom 22  
    Witam,
    jaki byl calkowity koszt konstrukcji (wlacznie z PCB)
    PZDR
  • #9
    mardar
    Poziom 21  
    Czy można tu zastosować kwarc o mniejszej częstotliwości bo akurat 12MHz nie mam pod ręką?
  • #10
    Mateusz120986
    Poziom 22  
    nie można zastosować innego kwarcu bo częstotliwość definiujesz potem w programie .. chyba, że zmienisz w sofcie to może ci ruszy ale ja sie akurat na C nie za bardzo znam ( wole Bascom) , poza tym byś musiał inaczej fusy ustawić

    koszt:
    -PCB 16zł ( ale lepiej sprawdzić na stronce http://www.baranski.net.pl/nowy_kalk/kalk.html bo za bardzo nie pamiętam)
    - ATmega8 4,80 zł
    - gniazdo USB-B 1,5 zł
    - kwarc 12Mhz 2.30 zł
    - 2x led 0,60 zł
    - rezyst 0,14zł ale miałem swoje :D
    - kondensatory 0,40 zł ?
    - podstawka DIL20 + DIL8 do uP ~ 0,40 zł
    - gniazdo ~ 0,80 zł

    razem ok 26,94 ale jak by samemu robić PCB to by wyszło ok 10 zł :P
  • #11
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #12
    Mateusz120986
    Poziom 22  
    ale przecież nie zużyjesz całego wytrawiacza na taką małą pcb :) a termotransfer sie robi jakies 15 min ( już z rozgrzaniem naniesieniem i ze zdrapaniem papieru). zamiast soldermaski można roztwor kalafonii w denaturacie ( wspaniały zapach :D ) ale i tak powiem szczerze, że opłaca sie zamowic pcb bo przynajmniej jest idealnie wykonana i sie nie trzeba męczyć :D


    a co do szybkości programatora, to 4KB kodu sie programuje ok 2s i przynajmniej nie ma błędów w porównaniu z prostymi programatorami na LPT które całego kompa zamulają
  • #13
    Kristof-72
    Poziom 13  
    Witam!

    Mam pytanie odnośnie w/w modelu programatora, a mianowicie czy obsługiwany jest bezpośrednio z poziomu AVR Studio ?.

    Pozdrawiam
    Krzysztof.K
  • #14
    Mateusz120986
    Poziom 22  
    http://www.allegro.archiver.pl/programator-avr-isp-szybki-usb-windows-linux-310-32600.html
    Cytat:
    Programmer Type : usbasp Dzięki temu że avrdude uruchamia się z linii poleceń - można go bez problemu zintegrować z AVR-Studio lub WINAVR - i programować wprost jednym naciśnięciem guziczka...


    ale z własnego doświadczenia to nie wiem , bo nie korzystam ,wiec nie będę ręczyć za to, że zadziała :)
  • #15
    Tomekddd
    Poziom 23  
    witam jestem bardzo poczatkujacy i mam pytanko do autora
    jezeli mozesz opisz mi jak tym sie programuje
  • #16
    Mateusz120986
    Poziom 22  
    może troche nie trafie z odpowiedzią ale postaram sie odpowiedzieć :)

    1. robisz sobie jakiś projekt oparty na jednym z obsługiwanych przez ten programator mikrokontrolerów
    2 piszesz soft do procka, który chcesz użyć , albo ściągasz go
    3 podpinasz sobie ten oto programator do portu usb a drugie gniazdo łączysz ze złączem ISP które masz na płytce z układem który sobie wykombinowałeś i chcesz go teraz zaprogramować
    4 odpalasz program AVR8_Burn-O-Mat, ustawiasz fuse bity , podajesz ścieżke do programu który chcesz wgrać do Twojego układu
    5 klikasz WRITE
    6 dostajesz komunikat, że programowanie zakończono powodzeniem

    jeśli nie trafiłem z odpowiedzią to bardziej sprecyzuj pytanie

    POZDRO ALL
  • #17
    Tomekddd
    Poziom 23  
    dzieki to mi wystarczy
    czyli zeby zaprogramowac jakiegos procka to musze miec wykonany ukladzik z wejsciem "ISP" tak??
  • #18
    Mateusz120986
    Poziom 22  
    uu. widze że ktoś sie porywa na głębokie wody nie umiejąc pływać :) w poście zrobiłem błąd .... chodziło o SPI :) zrobisz sobie układ, podłączysz programator do magistrali SPI i będzie sz mógł wgrywać soft. a na początek polecam troche lektury :)
    np.
    http://www.edw.com.pl/ea/mikroprocesory.html
    http://toxygen.net/avr/
    http://freefm.pluton.one.pl/mike/avr/wstep.html
    http://mikrokontrolery.of.pl/

    itd... poszukaj na google bo nie gryzą:D

    pozdro
  • #19
    muszynsk
    Poziom 12  
    Witam.

    Mam dwie uwag odnośnie schematu.

    1. Dlaczego rezystory szeregowe linii danych USB maja wartość 69 Omów?
    Według specyfikacji USB terminacja powinna mieć wartość 28-44 Omów dla transmisji full speed 12Mb/s oraz 44.5-49.5 Omów dla transmisji HighSpeed 480Mb/s. Dlaczego użyto innych wartości?

    2. Diody 3.6 Volta są wykorzystane wyłącznie podczas stressu 5V - zwarci 5V we wtyczce USB do linii danych. Dodatkowo, jeżeli procesor jest wykonany w technologi z zasilaniem 5V wówczas taki diody są zbędne. Co więcej sygnał danych może mieć amplitudę do 4.4V, a więc diody zniekształcą sygnał.

    Bardzo proszę o nazwę dokumentu w którym zalecono wykorzystanie takich diód.

    Pozdrawiam,
    Michal
  • #20
    Mateusz120986
    Poziom 22  
    1 Nie wiem czemu takie rezysty zostały użyte, ale dla mnie najważniejsze jest, że działa :) możesz sie zapytać autora projektu pod adresem tfischl(malpa)gmx.de

    2 nazwa dokumentu ... proszę bardzo ... ten dokument to sie nazywa DOŚWIADCZENIE :)... wile osób robiło już ten programator i nie każdemu działa bez tych diod( u mnie tez nie działało). Nie bardzo rozumiem co oznacza "podczas stressu" ale w specyfikacji pisze,że USB poziomy napięć na liniach danych są 3,3V , a uP daje na wyjściu 5V tu masz linka do tego samego programatora wykonanego przez kogoś innego i też stosowali 3.6V zenki bo im po prostu bez nich nie działało.. https://www.elektroda.pl/rtvforum/topic737159-30.html


    pozdro :)
  • #21
    Tajniaq
    Poziom 11  
    [quote="Mateusz120986"]
    a tu masz schemat prostego programatora do lpt, zrobisz na pająka , zaprogramujesz nim ATmega8 i masz sprawny programator na USB
    Programator AVR na USB [usbasp]

    Mam pytanie do tego programatora..
    Czy tego At90S2313 trzeba programować? (domyślam sie ze nie ale wole sie upewnić)
    O co chodzi z tymi liniami na gnieździe DT104 te linie z lpt i z procka są tam połączone razem? bo skoro sygnały idą to po co jest ten układ?
    I ostatnie pytanie dotyczy tego kondensatora na końcu czy jest on potrzebny tam wogóle? bo coś dopisali po angielsku i nie czaje
    Aha no i najważniejsze gdzie tu wyjście na Atmege8 i które te końcówki do których nóżek atmegi podłączyć by ja zaprogramować?

    będę wdzięczny za pomoc :)
  • #22
    sylwunia35
    Poziom 18  
    Potrzymaj płytkę w rozpuszczalniku to się kalafonia rozpuści. Zelnerki pod spodem to trochę dziwne jak na wierzchu jest tyle miejsca. Ja zrobiłem chyba ze 15 tych programatorów i wszystko zmieściłem na płytce która jest jeszcze mniejsza. Ale tak to fajnie.
  • #23
    Tomekddd
    Poziom 23  
    mam jeszcze pytanko czy da sie tym zaprogramować procka bez tego złącza SPI??
    bo chciałbym sobie zbudować takie coś na atmege 8 ale tam nie ma takiego złącza i co w tedy??
  • #24
    Brutus_gsm
    Poziom 25  
    Tajniaq napisał:
    Czy tego At90S2313 trzeba programować? (domyślam sie ze nie ale wole sie upewnić)

    To jest właśnie układ który programujesz. Tam masz wstawić tę atmegę8.


    Tajniaq napisał:
    O co chodzi z tymi liniami na gnieździe DT104 te linie z lpt i z procka są tam połączone razem? bo skoro sygnały idą to po co jest ten układ?

    To nie układ, to po prostu goldpiny, czyli gniazdo do podłączenia.

    Tajniaq napisał:
    I ostatnie pytanie dotyczy tego kondensatora na końcu czy jest on potrzebny tam wogóle?

    Można go tam wstawić, ale nie trzeba. Lepiej jednak, żeby był.

    Tajniaq napisał:
    Aha no i najważniejsze gdzie tu wyjście na Atmege8 i które te końcówki do których nóżek atmegi podłączyć by ja zaprogramować?

    Jak już pisałem, zamiast at90s2313 podpinasz Atmege8. Wyprowadzenia musisz znaleźć w datasheecie (nocie katalogowej) np TUTAJ. Szukasz nóżek tak samo oznaczonych jak w przypadku at90s2313.

    Dodano po 2 [minuty]:

    Tomekddd napisał:
    mam jeszcze pytanko czy da sie tym zaprogramować procka bez tego złącza SPI??
    bo chciałbym sobie zbudować takie coś na atmege 8 ale tam nie ma takiego złącza i co w tedy??


    atmega8 ma możliwość programowania ISP (nie SPI), więc nie ma żadnego problemu. Jak podłączyć to pod procek, to możesz poszukać w necie.
  • #25
    Tajniaq
    Poziom 11  
    mam pytanie do tego prostego programatora..
    jaki powinien być kwarc jeśli chce zaprogramować atmege8..
    taki jak na schemacie 4mhz czy 12mhz ??

    i jeszcze jedno.. Poprzednik napisał bym podłączył te wyprowadzenia do uP zamiast At90S2313 to Atmege8 z tego schamatu niżej.. ale jak zobaczyć można na nim (chodzi mi o spis wyprowadzeń atmegi a nie cały schemat) to nóżki PB.6 i PB.7 do których jest podłączany programator to w atmedze są wejściem kwarcu.. wiec jak mam podłączyć ten prosty programator pod atmege i zaprogramować ją by potem wykorzystać w tym schemacie co poniżej??
    Programator AVR na USB [usbasp]
  • #26
    Mateusz120986
    Poziom 22  
    tu macie opis jak zbudować programator to jest chyba STK200/300

    http://ajd.czest.pl/~pawel.borkowski/wyklady/avrisp/budo_pro.html

    bardziej łopatologicznego opisu nie znalazłem :) jest wszystko opisnane co i jak podłączyć tylko, że tam autor jako przykład połanczanego ukłądu ma AT90S2313. a w waszym przypadku linie RST , MISO, MOSI , GND , SCK ,Vcc podłanczacie do odpowiednich wyprowadzeń w ATmega8 i to cała filozofia.

    pozdro
  • #27
    Brutus_gsm
    Poziom 25  
    Tajniaq, nóżki nie muszą się zgadzać, ważne, żeby linie się zgadzały, tak jak mówi poprzednik. RST , MISO, MOSI , GND , SCK ,Vcc to właśnie linie, w każdym procesorze mogą znajdować się na innej nóżce, Wszystko można sprawdzić w nocie katalogowej. I tak w układzie at90s2313 PB.6 to pin 18 linia MISO. W atmedze8 MISO to również pin 18, lecz oznaczony już PB.4. Nie ma to żadnego znaczenia. Tak dojdziesz co i gdzie podłączyć. Spójrz tylko na rysunki wyprowadzeń.
  • #29
    Mateusz120986
    Poziom 22  
    lock bity służą do zabezpieczania softu :)
    fusy służą do ustawiania częstotliwości, źródła generatora , czasu startu uP i jeszcze paru f-cji

    podaj jakiego typu jest to generator? kwarc ,rc czy może coś innego? no i na jaką częstotliwość?

    jeśli chodzi ci o rezonator do tego programatora to tu masz cały dobry opis jak co poustawiać [strona 6] http://ostry.w.szu.pl/bin/USBasp/USBasp_manual.pdf
  • #30
    Chesunio
    Poziom 10  
    Bardzo interesujące...
    Ja mam w szkole dopiero pierwszy rok ukł. mikroprocesorowe więc jestem jeszcze "zielony" w tym temacie...
    Za rok mam pracownie z Mikrokontrolerów..
    Będziemy właśnie pracować na AVR-ach i na 8051 więc wtedy będę mógł powiedzieć coś więcej...
    Pozdrawiam...