logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Rozbudowany programator ISP AVR (zgodny z STK200/300)

RomanWorkshop 28 Cze 2013 12:48 18582 20
REKLAMA
  • Rozbudowany programator ISP AVR (zgodny z STK200/300)

    Wykonałem własną wersję programatora ISP mikrokontrolerów AVR. Podłącza się go do portu równoległego (LPT), wymaga zewnętrznego napięcia zasilania 9-15V (o dowolnej polaryzacji, może być niestabilizowane). Jest to ulepszony STK200/300 (www.lancos.com/e2p/betterSTK200.gif, opisany w EdW 2/2008), ale zawierający dodatkowo:

    * rezonator kwarcowy (4 MHz) - podłączany bezpośrednio do wyprowadzeń XTAL1/XTAL2, zapewnia sygnał taktujący uC.

    * generator kwarcowy (8 MHz) z dzielnikiem - źródło zewnętrznego sygnału taktującego uC, podłączane do XTAL1. Umożliwia uzyskanie częstotliwości f=8 MHz (w zależności od kwarcu) oraz f/2, f/4, f/8 i f/16. Przydatne w przypadku programowania uC, ustawionych na pracę z zewnętrznym zegarem.

    * 7 podstawek DIP dla większości uC z rodziny ATtiny/ATmega oraz kilku AT90S i AT89S (rozwiązanie podobne do adaptera opisanego w EP 7/2007)

    * 2 diody sygnalizujące włączenie zasilania oraz odczyt/zapis uC

    * układ zasilania: mostek prostowniczy ze stabilizatorem 78L05 (maks. 100 mA)

    Tak on wygląda (pierwszy obrazek to widok 3D z programu DipTrace 2.3.1):

    Rozbudowany programator ISP AVR (zgodny z STK200/300) Rozbudowany programator ISP AVR (zgodny z STK200/300)

    Programator jest bardzo prosty i jednocześnie funkcjonalny. Użyto w nim 3 układy scalone: 74HC244, 74LS04 i 74LS93. Pobór prądu przez sam programator wynosi ok. 30 mA. Prototyp został wykonany na płytce jednostronnej, o wymiarach 161x146 mm z 39 zworkami (grube ścieżki 1 mm). Jednak nic nie stoi na przeszkodzie, aby przeprojektować go na mniejszą płytkę. Kondensatory filtrujące zasilanie uC (CX1-CX7: 100n), przylutowano od strony druku, bezpośrednio do wyprowadzeń podstawek.

    Programator był testowany i współpracuje z programami:
    PonyProg2000 2.08c (free)
    ISP Programmer 1.2.0.56 (free)
    AVR-ISP 5.6.0.1 (free)
    Bascom AVR 2.0.7.1 (demo)

    Dodałem złącze z wyprowadzonymi sygnałami do programowania mikrokontrolerów w systemie oraz złącze do zasilania programatora z systemu docelowego. Ponadto podstawki pod rezonatory kwarcowe (po 2 piny z podstawki precyzyjnej), co umożliwia ich szybką wymianę w zależności od potrzebnej częstotliwości.

    Rozbudowany programator ISP AVR (zgodny z STK200/300) Rozbudowany programator ISP AVR (zgodny z STK200/300)

    W załączonym archiwum znajdują się: schematy dla Eagle (5.9) i DipTrace (2.3.1), płytka dla DipTrace oraz dokument PDF zawierający: opis podstawek i zworek, schemat ideowy, spis elementów oraz krótki wykaz mikrokontrolerów AVR z podstawowymi informacjami o nich.

    W drugim archiwum znajdują się modele 3D w formacie WRL (dla DipTrace).
    Załączniki:
    • 3Dmodels.7z (543.83 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • AVRprog.7z (156.87 KB) Musisz być zalogowany, aby pobrać ten załącznik.

    Fajne? Ranking DIY
    Pomogłem? Kup mi kawę.
    O autorze
    RomanWorkshop
    Poziom 14  
    Offline 
    RomanWorkshop napisał 221 postów o ocenie 423, pomógł 2 razy. Jest z nami od 2013 roku.
  • REKLAMA
  • #2 12465319
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    Napracowałeś się ... tylko po co się tak męczyć, skoro producenci mikrokontrolerów po to wymyślili programowanie w docelowym układzie (tzw ISP - In System Programming), by nie męczyć się z przekładaniem układów pomiędzy programatorem a, układem docelowym? O układach SMD już tylko wspomnę.

    Wystarczy programator na powszechnym w obecnych czasach USB - za kilkanaście złotych np. USBAsp lub USBTiny.

    Nie obraź się, ale muzeum to dobra miejsce ... tym bardziej, że port LPT :)

    A jeżeli już LPT i chcemy za grosze (dosłownie) to działający poprawnie:

    Rozbudowany programator ISP AVR (zgodny z STK200/300)
    i programujemy w układzie docelowym podłączając pod piny mikrokontrolera.

    BTW.
    Wrzuć początkową grafikę (patrz inne tematy w tym dziale), bo moderator ....
  • #3 12465411
    RomanWorkshop
    Poziom 14  
    Posty: 221
    Pomógł: 2
    Ocena: 423
    Wychodzi na to, że nie jest to programator stricte ISP, a tylko działający na tej zasadzie. Może się przydać, np. gdy mamy nowe/używane mikrokontrolery bez systemu docelowego i chcemy je sprawdzić/odczytać zawartość pamięci. A port LPT... jeszcze całkiem nie wymarł :)
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #4 12465427
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    RomanWorkshop napisał:
    Może się przydać, np. gdy mamy nowe/używane mikrokontrolery bez systemu docelowego i chcemy je sprawdzić/odczytać zawartość pamięci.

    Każde, urządzenie znajdzie swoje zastosowanie

    RomanWorkshop napisał:
    A port LPT... jeszcze całkiem nie wymarł :)

    Ja także czasami używam w jednym z komputerów przeznaczonym stricte do elektroniki :)
    Dokładnie ten prościutki schemat, który wkleiłem powyżej.

    A tak swoją drogą, to LPT warto wykorzystać na analizator stanów logicznych jeżeli ktoś nie ma.
  • REKLAMA
  • #5 12465713
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    Cóż, poza tym co napisał dondu (tym bardziej, że najprostszy programator USB kupimy za parę złotych):
    + generatory - to się czasem przydaje, jeśli nie mamy programatora HV, szczególnie ze zmianą częstotliwości
    - estetyka wykonania pozostawia wiele do życzenia... Ponadto całość można było upchnąć na mniejszej powierzchni stosując elementy SMD jeśli już
    - kwarc tak odległy od najdalszego układu - niezbyt dobry pomysł
    - podstawki zwykłe... Wkładanie i wyjmowanie wcześniej czy później skończy się uszkodzeniem podstawki i/lub układu

    Można było już zainwestować w jedną podstawkę ZIF 40-pin mix, zrobić jej wszystkie wyprowadzenia i podłączać odpowiednie piny kabelkami (jak w AvrDragon), tym bardziej, ze sam piszesz:
    RomanWorkshop napisał:
    mamy nowe/używane mikrokontrolery bez systemu docelowego i chcemy je sprawdzić/odczytać zawartość pamięci

    Bo niestety szybkość nie kwalifikuje raczej układu jako programator do produkcji seryjnych, a takie zastosowanie, hmm, lepiej było zrobić fusebit doctora lub ewentualnie jego połączenie z jakimś programatorem ISP, jeśli ma być to układ do sprawdzania "nieznanych" procesorów AVR/89S...

    + Za chęci
    - Za funkcjonalność - urządzenie ma raczej ograniczoną przydatność we współczesnym warsztacie elektronika

    Co do LPT zaś - szkoda że na płytach nawet w postaci mini złącz już nie ma tego. Obecnie pracuję nawet nad przejściówką USB<>LPT mogącą służyć jako multiprogramator (ISP, JTAG, ...)
  • #6 12465772
    krzycho123
    Poziom 31  
    Posty: 1867
    Pomógł: 135
    Ocena: 106
    Trochę sztuka dla sztuki :D

    LPT niestety wymarł , w nowym sprzęcie brak - trzeba się posiłkować PCI czy kartami expresscard choć i z nimi są często problemy.

    Druga sprawa to czas programowania , przez LPT ładując 256KB będzie naprawdę długo - przez USB w najtańszym programatorku kilka sekund.
  • #7 12465951
    androot
    VIP Zasłużony dla elektroda
    Posty: 1801
    Pomógł: 54
    Ocena: 635
    Do tego co napisali przedmówcy dodam:

    Płytka ręcznie rzeźbiona - jaki to miało cel??
    Mnie to wygląda na zaliczenie przedmiotu w technikum, jedynie taki ma sens.
  • #9 12467564
    kaka0204
    Poziom 28  
    Posty: 954
    Pomógł: 148
    Ocena: 153
    zackass1 napisał:
    Skoro i tak robiłeś wzór ścieżek na komputerze to czemu nie zastosowałeś metody żelazkowej?

    Zapewne ten sam problem co ja niegdyś. Brak drukarki laserowej.
  • REKLAMA
  • #11 12468296
    Alana
    Poziom 37  
    Posty: 3146
    Pomógł: 361
    Ocena: 245
    Szacun za metodę mazakowa!
    Co do urządzenia to skoro jest ono zrobione na LPT to widocznie kolega ma swoje powody do budowy takiego urzadzonka. Np zajęte porty USB w komputerze. Takie wynalazki jak to buduje się pod konkretny warsztat i konkretny komputer!
    Tylko ze jak już budować tego typu zabawkę to może lepiej jest poszukać schematu programatora HVPP [wysokonapięciowego] tak żeby dało się odblokowywać procesory np z wyłączonym SPI albo końcówka reset przestawiona w tryb IO
  • #12 12468331
    RomanWorkshop
    Poziom 14  
    Posty: 221
    Pomógł: 2
    Ocena: 423
    Jest to prototyp wykonany w stylu "starej szkoły" (i nie chodzi tu o technikum), a co do pisaka, to chciałem się popisać :) Oczywiście płytkę można zrobić mniejszą stosując cieńsze ścieżki i termotransfer (pomijam elementy SMD). Po przeprojektowaniu można też zmniejszyć odległość kwarcu od podstawek (już precyzyjnych). Nie zastosowałem jednej podstawki (ZIF), bo wymaga to przestawiania jumperów lub lutowania kabelków. Co do portu LPT, jak ktoś nie ma, to może użyć przejściówki USB-LPT. Jego szybkości niestety nie da się zmienić, ale w amatorskich zastosowaniach nie jest to wielki problem. Estetykę wykonania też można poprawić, funkcjonalność jak dla mnie jest zadowalająca. Stworzenie tego "cuda" miało taki sens, że bez problemu programuje nim AVR'y.

    Faktycznie przydałaby się możliwość zmiany tych fusebitów (RSTDISBL i SPIEN)... może w kolejnym programatorze.
    Pomogłem? Kup mi kawę.
  • #13 12468927
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    Alana napisał:
    Np zajęte porty USB w komputerze.

    A huby USB? Nie prościej tak?
    RomanWorkshop napisał:
    jak ktoś nie ma, to może użyć przejściówki USB-LPT

    To poproszę model na działającą bez problemu w takich zastosowaniach przejściówkę USB2LPT (i jeszcze pod Win7). Poza tym jaki jest sens inwestować w 2 urządzenia (programator LPT + przejściówka USB2LPT), skoro można kupić od razu jedno szybsze urządzenie?

    Skoro Autorowi to wystarcza to to jest najważniejsze, że spełnia swoją rolę...
  • #14 12469920
    piwkooo
    Poziom 25  
    Posty: 551
    Pomógł: 81
    Ocena: 127
    Witam
    Może nie na temat, ale ile masz lat i ile lat zajmujesz się elektroniką, bo to może mieć wpływ na oceny ?
    Druga sprawa to, że sam kiedyś szukałem schematu programatora, bo "chciałem sam" i zrobiłem AVT-5125 kompatybilny z STK500 v.2. Nie twierdzę, że jest idealny, ale przede wszystkim jest na USB i chyba nie ma komputera, który go nie ma ! Wiem, wiem twój komputer ma LPT, ale co jak zmienisz na nowszy model, będziesz robił następny programator, po co ?

    Płytki mazakiem to chyba by mi się już nie chciało robić, to wiercenie, nie ma to jak SMD !

    Pozdrawiam
    Andrzej
  • #15 12470248
    11111olo
    Poziom 42  
    Posty: 13609
    Pomógł: 1
    Ocena: 795
    Szacunek że Ci się chciało.

    Samo wykonanie to już tragedia w trzech aktach:
    - brak podstawek precyzyjnych
    - elementy lutowane od spodu
    - fatalna jakość lutowania (za dużo kalafonii)

    Dużo lepszym pomysłem jest zrobienie programatora i adaptera do układów DIL. Przy przejściu na inny programator adapter zostaje.
  • #16 12472096
    RomanWorkshop
    Poziom 14  
    Posty: 221
    Pomógł: 2
    Ocena: 423
    Faktycznie, większość przejściówek USB-LPT nie nadaje się do podłączenia mojego sprzętu. Wasze oceny są jak najbardziej słuszne, bez względu na mój wiek/płeć/status społeczny/staż w elektronice :) Gdybym chciał mieć nowy programator USB, to na pewno bym go nie robił tylko sobie kupił, oczywiście z odpowiednimi adapterami w zależności od potrzeb i świetnym softem. Ale byłby to zwykły, niczym nie wyróżniający się z tłumu programatorek. A tak mam niepowtarzalny, unikalny i wyjątkowy programator, który trudno jest zgubić :) Co do wykonania: dałem takie podstawki jakie miałem pod ręką, a nie planuje masowego programowania AVR'ów więc trochę wytrzymają. Trudno żeby na płytce jednostronnej lutować elementy od góry (do laminatu?) :) Im więcej kalafonii się daje tym lepiej, bo zapobiega ona utlenianiu się lutowanych elementów, przez co cyna bardziej i szybciej do nich przywiera. Osobną sprawą jest usunięcie jej nadmiaru, ale mi ona nie przeszkadza. Ważne, że luty są mocne więc pod tym względem ich jakość jest dobra.
    Pomogłem? Kup mi kawę.
  • #18 12475142
    gbd.reg
    Poziom 21  
    Posty: 529
    Pomógł: 3
    Ocena: 45
    Wybór programatorów USB jest bardzo duży:
    USBAsp
    STK500
    FT-232 w trybie bit bang (musisz mieć wyprowadzone wszystkie sygnały, a nie tylko rx i tx)
    i wiele innych...
    Sens w budowaniu programatora pod LPT w dzisiejszych czasach widzę tylko po to, aby zaprogramować megę w USBAsp własnej roboty.
  • #19 12475333
    RomanWorkshop
    Poziom 14  
    Posty: 221
    Pomógł: 2
    Ocena: 423
    O właśnie, dobre zastosowanie dla mojego rękodzieła.
    Pomogłem? Kup mi kawę.
  • #20 12475763
    11111olo
    Poziom 42  
    Posty: 13609
    Pomógł: 1
    Ocena: 795
    Dondu w 2 poście pokazał jaki programator się nada do zaprogramowania mikrokontrolera - jest prosty jak drut i nie wymaga płytki drukowanej.

    Twój to jak dla mnie "sztuka dla sztuki".
  • #21 12541968
    RomanWorkshop
    Poziom 14  
    Posty: 221
    Pomógł: 2
    Ocena: 423
    "11111olo" wiedziałem, że gdzieś widziałem tą ksywkę. Po mieście, województwie i ładnej pani na avatarze wnioskuję, że jesteś tym samym "11111olo" z forum PPA (Link). Ponieważ byłeś kilka razy na mojej stronie (wczoraj o 13:37:47), to może uruchamiałeś na swojej Amidze mój program do sprawdzania modelu procesora 680x0. A jeśli tak, to czy rozpoznaje on twój procesor 68030?

    Dołączone archiwa zawierają poprawioną wersję programatora (dodane złącze ISP, złącze zasilania z systemu docelowego oraz podstawki pod kwarce) wraz z modelami 3D.
    Załączniki:
    • 3Dmodels.7z (545.57 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • AVRprog.7z (174.35 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    Pomogłem? Kup mi kawę.

Podsumowanie tematu

✨ Użytkownik zaprezentował własną wersję programatora ISP dla mikrokontrolerów AVR, podłączanego do portu równoległego (LPT) i wymagającego zewnętrznego zasilania. Konstrukcja jest ulepszonym modelem STK200/300, zawierającym dodatkowe elementy, takie jak rezonator kwarcowy 4 MHz, generator kwarcowy 8 MHz z dzielnikiem oraz podstawki DIP dla różnych mikrokontrolerów. W dyskusji podkreślono, że programator LPT jest przestarzały w porównaniu do nowoczesnych rozwiązań USB, które są szybsze i bardziej praktyczne. Użytkownicy zwrócili uwagę na estetykę wykonania, jakość lutowania oraz możliwość zastosowania programatora w specyficznych warunkach, takich jak testowanie nowych mikrokontrolerów. Wskazano również na alternatywne rozwiązania, takie jak programatory USB, które są bardziej uniwersalne i dostępne.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA