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

Programator PIC/AVR na USB wraz z podstawkami

p.kaczmarek2 16 Mar 2019 11:43 5706 18
REKLAMA
  • Programator PIC/AVR na USB wraz z podstawkami
    Witajcie moi drodzy.
    Dziś przedstawię projekt, który w zasadzie powstał tylko dlatego, że chciałem pierwszy raz wypróbować samodzielne tworzenie płytki w Eagle pod eksport plików Gerber i zlecenie wykonania płytek dwustronnych w fabryce. Zrobiłem go na bazie czegoś, co kiedyś wykonałem z pomocą termotransferu.

    Krótko o projekcie
    Jest to prosty klon PICKIT2 złożony z ogólnodostępnych elementów. Nie wymaga dodatkowych kości pamięci tak jak oryginał, tranzystory są z serii BC, wartość dławika nie jest krytyczna. Większość powierzchni płytki zajmują gniazda DIP pod różne PICe, tak by można było je programować bez zabaw z płytkami stykowymi. Dodatkowo na pokładzie znajdują się diody LED które można wykorzystać przy testowaniu różnych konstrukcji, jak również piny GND, 3.3V i 5V. Gniazda pod PIC mają również na płytce miejsce pod rezystor 10k na MCLR oraz wyprowadzone niektóre piny, by testowany mikroprocesor mógł 'wstać i zamrugać' jeszcze w programatorze.
    Na płytce również znajduje się zworka RST-PU, która pozwala na włączenie/wyłączenie rezystora 10k pull up dla pinu RESET.
    Na płytce również jest miejsce na dodatkowy rezystor 10k między RESET Atmegi a RESET z ICSP, ale tam powinna być zworka.

    Co można tym programować?
    Z pomocą tego narzędzia zaprogramujesz:
    - wszystkie te PIC-e i pamięci, które wspiera PICKIT2
    - dodatkowe PIC-e, które można dodać z pomocą PICkit2 Devicefile Editor
    - nowsze PIC32 z pomocą pic32prog (alternatywa dla softu PICKIT2 na Windowsa, z kolei firmware na programatorze dla niej pozostaje bez zmian)
    - również AVRy (PK2AVRISP)

    Schemat i PCB
    Projekt płytki powstał w Eagle i był robiony z założeniem, że całość jest dwustronna i będzie składać się tylko z elementów przewlekanych, tak by było każdemu łatwo wszystko zlutować. A same płytki zamówiłem z płytkarni, 10 sztuk.

    Schemat:
    Programator PIC/AVR na USB wraz z podstawkami
    Programator PIC/AVR na USB wraz z podstawkami
    Programator PIC/AVR na USB wraz z podstawkami
    Układ elementów:
    Programator PIC/AVR na USB wraz z podstawkami

    Wykonanie
    Na przestrzeni miesięcy wykonałem co najmniej dwie sztuki tego programatora, aczkolwiek wielu elementów do płytki nie lutowałem, bo najzwyczajniej nie były mi potrzebne tak jak np. podstawka pod Atmegę. Wrzucam pare zdjęć z konstrukcji i testów:

    PCB prosto z fabryki:
    Programator PIC/AVR na USB wraz z podstawkami
    PCB i gotowy programator:
    Programator PIC/AVR na USB wraz z podstawkami
    W trakcie lutowania:
    Programator PIC/AVR na USB wraz z podstawkami
    Gotowy:
    Programator PIC/AVR na USB wraz z podstawkami

    A tutaj już w trakcie użycia, wraz z innym moim projektem i płytką stykową:
    Programator PIC/AVR na USB wraz z podstawkami
    Zdjęcie przedstawia mój DIY klon PICKIT podłączony jako ICSP do innego projektu (sterowanie przez Ethernet). Dodatkowo płytka "Ethernetowa" tutaj jest podłączona do jednego z LEDów na programatorze (niby to nie dużo, ale one są zawsze dla mnie użyteczne, jak chcę coś szybko przetestować bez zbędnych zabaw ze stykówkami, płytek kabelków itp).

    Podstawki
    Na płytce znajdują się podstawki pod następujące mikroprocesory:
    - PIC12F683
    - PIC24FJ16GA002
    - dsPIC30F2010
    - dsPIC30F4011
    - PIC16F676
    - PIC18F2550
    - PIC18F4550
    - PIC16F1459
    - PIC16F628
    - Atmega8
    To oczywiście nie znaczy, że tylko one są wspierane, ponieważ bardzo dużo innych scalaków ma podobny układ wyprowadzeń tak jak te z listy. Dla ułatwienia piny PGD/PGC/RESET od podstawek też są podpisane na płytce.

    Podsumowanie
    W sumie wykonałem dwa takie programatory, w przypadku jednego użyłem dławika THT a w drugim SMD, oba odbiegające wartością od 680uH ze schematu, ale w obu przypadkach sprawdzają się idealnie. Nie było żadnych problemów z uruchomieniem.
    Z obu korzystam aż do tej pory.
    Co do dalszego rozwoju projektu, to myślałem jeszcze, by wziąć kod źródłowy 'openproga' ( http://openprog.altervista.org/ )i go dostosować pod mój hardware, ale na razie nie było takiej potrzeby.
    Do postu dołączam używany przeze mnie soft, wsad programatora, źródła Eagle, gerbery oraz dodatkowe narzędzia do programowania.
    Dodatkowo, jakby co to mam jeszcze trochę płytek pod ten projekt, jakby co to PW.
    Załączniki:
    • PICkit 2 v2-windows.zip (3.69 MB) Musisz być zalogowany, aby pobrać ten załącznik.
    • pickit2clone_new_17-gerbers.zip (267.51 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • pickit2clone_new_17-eagle.zip (126.3 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • PK2DeviceFile.rar (19.88 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • pickit2-editor-master.zip (150.5 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • com0com-3.0.0.0-i386-and-x64-signed.zip (463.93 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • PK2AVRISP.zip (19.89 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • pic32prog-master.zip (866.39 KB) Musisz być zalogowany, aby pobrać ten załącznik.

    Fajne? Ranking DIY
    Pomogłem? Kup mi kawę.
    O autorze
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    Inżynier programista z wieloletnim doświadczeniem embedded i full stack developer.
    Specjalizuje się w: embedded, Full-Stack Developer
    p.kaczmarek2 napisał 14580 postów o ocenie 12602, pomógł 654 razy. Jest z nami od 2014 roku.
  • REKLAMA
  • #2 17864554
    puszak
    Poziom 28  
    Posty: 1387
    Pomógł: 92
    Ocena: 114
    Zawsze gdy widzę programator pic okazuje się, że jest zbudowany w oparciu o pic i żeby go zbudować potrzebuję programatora do pic. Tym sposobem nie mam programatora pic.
  • REKLAMA
  • #3 17866670
    Matesz 063
    Poziom 15  
    Posty: 256
    Pomógł: 13
    Ocena: 25
    puszak napisał:
    Zawsze gdy widzę programator pic okazuje się, że jest zbudowany w oparciu o pic i żeby go zbudować potrzebuję programatora do pic. Tym sposobem nie mam programatora pic.

    Niestety :(. Tak samo potrzebujesz Internet Explorer by zdobyć np Chroma lub Firefoxa.
  • REKLAMA
  • #4 17866853
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    puszak napisał:
    Zawsze gdy widzę programator pic okazuje się, że jest zbudowany w oparciu o pic i żeby go zbudować potrzebuję programatora do pic. Tym sposobem nie mam programatora pic.


    A masz jakiś inny pomysł?
  • REKLAMA
  • #5 17867105
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14580
    Pomógł: 654
    Ocena: 12602
    yogi009 napisał:
    puszak napisał:
    Zawsze gdy widzę programator pic okazuje się, że jest zbudowany w oparciu o pic i żeby go zbudować potrzebuję programatora do pic. Tym sposobem nie mam programatora pic.


    A masz jakiś inny pomysł?


    Przecież wcale tak nie trzeba. Ja sam zaczynając przygodę z PIC poradziłem sobie bez programatora PIC.
    Mój pierwszy programator wyglądał tak:
    Programator PIC/AVR na USB wraz z podstawkami
    Z jego pomocą byłem w stanie zaprogramować PIC16F628A, jak również sam PIC18F2550, na którym można zrobić klon PICKIT2 lub OpenProga.
    Jedyny minus, że potrzeba komputer z wyjściem RS232.

    I do tego ten soft:
    Programator PIC/AVR na USB wraz z podstawkami
    No i ja nie używałem tego układu do in-circuit programming, tylko do jednorazowego wgrania wsadu w podstawce. Natomiast programator z pierwszego postu w temacie oczywiście radzi sobie z ICSP dobrze.
    Pomogłem? Kup mi kawę.
  • #6 17867130
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    p.kaczmarek2 napisał:
    Jedyny minus, że potrzeba komputer z wyjściem RS232.


    Sam sobie odpowiedziałeś. Cała masa prostych programatorów przeszła w ten sposób do historii.
  • #7 17867140
    lukaszd82
    Poziom 31  
    Posty: 1459
    Pomógł: 142
    Ocena: 489
    Większość stacjonarnych PC ma na płycie wyprowadzone COM. Wystarczy tylko kupić na allegro śledzia i podpiąć. Tak więc ja tu nie widzę problemu. Całe 4zł + wysyłka.
  • #8 17867151
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    Oczywiście można i tak. Zakładając, że każdy przyszły programista mikrokontrolerów chce się bawić w otwieranie obudowy jednostki głównej, przede wszystkim że ma komputer stacjonarny, a nie notebook'a. Wersja pod port USB jest po prostu uniwersalna. Ale - jak napisał wcześniej Kolega - do jej wykonania potrzebujemy zaprogramowanego PIC'a (lub Atmegę). Tyle, że tutaj mamy taką samą sytuację, jak z tym śledziem, wystarczy zamówić przez internet i masz zaprogramowany układ. Sądzę, że na naszym forum znajdziesz kilka osób, które chętnie Ci pomogą w temacie.
  • #9 17867167
    lukaszd82
    Poziom 31  
    Posty: 1459
    Pomógł: 142
    Ocena: 489
    Przejściówki USB-RS też są dostępne, część ma pełną obsługę RS.
    Programista wcześniej czy później może potrzebować portu COM. Niestety, szczególnie stare urządzenia jeszcze do tego zmuszają.
    Ja zajmuję się trochę inna branżą - automatyka (PLC itp.) i pomimo, że USB jest już na rynku wiele lat, to tylko COM gwarantuje komunikację z większością PLC (ok 70% obecnie), dalej Ethernet (ok 25%) i pozostałe 5% to USB i dedykowane rozwiązania (w większości oparte o przejściówki RS-USB).
  • #10 17867255
    kolgreen
    Poziom 16  
    Posty: 269
    Pomógł: 11
    Ocena: 240
    puszak napisał:
    Zawsze gdy widzę programator pic okazuje się, że jest zbudowany w oparciu o pic i żeby go zbudować potrzebuję programatora do pic. Tym sposobem nie mam programatora pic.


    Nonsens, tutaj znajdziesz kompletny projekt programatora PIC bez mikrokontrolera.
    Jest tam gotowa płytka, pełna dokumentacja, jak podłączyć PIC, jakich programów użyć, nawet PCB możesz zamówić do tego projektu w Chinach za parę złotych (a jak się dopiero rejestrujesz w PCBWay to nawet za darmo).
    I jeszcze oprogramowanie dla Linux opisane - jeśli ktoś używa. :D
  • #11 17867376
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    yogi009 napisał:
    puszak napisał:
    Zawsze gdy widzę programator pic okazuje się, że jest zbudowany w oparciu o pic i żeby go zbudować potrzebuję programatora do pic. Tym sposobem nie mam programatora pic.


    A masz jakiś inny pomysł?


    Zrobić programator do PIC-ów na dowolnie wybranym procesorze... magi w tym nie widzę :)

    kolgreen napisał:

    Nonsens, tutaj znajdziesz kompletny projekt programatora PIC bez mikrokontrolera.
    Jest tam gotowa płytka, pełna dokumentacja, jak podłączyć PIC, jakich programów użyć, nawet PCB możesz zamówić do tego projektu w Chinach za parę złotych (a jak się dopiero rejestrujesz w PCBWay to nawet za darmo).
    I jeszcze oprogramowanie dla Linux opisane - jeśli ktoś używa. :D


    Niestety większość takich programatorów działa bardzo kiepsko ;) Jak składałem klona PicKit-a udało mi się poprawnie zaprogramować procesor chyba za 20 razem (albo i po większej liczbie prób) :) Tutaj wiele zależy od konstrukcji UART-u w PC i niestety w nowszych komputerach działa to tragicznie, a jak pamiętam nawet i na starych (bo dawno temu używałem podobnej konstrukcji) też nie działało to najlepiej... No a jak ktoś nie używa stacjonarnego to praktycznie ma problem, chyba że kupi jakiegoś starocia (co się średnio opłaca) bo za mniej można kupić chińskiego klona PIC-kit-a.
  • #12 17867465
    tronics
    Poziom 38  
    Posty: 5062
    Pomógł: 358
    Ocena: 840
    yogi009 napisał:
    puszak napisał:
    Zawsze gdy widzę programator pic okazuje się, że jest zbudowany w oparciu o pic i żeby go zbudować potrzebuję programatora do pic. Tym sposobem nie mam programatora pic.


    A masz jakiś inny pomysł?

    FT232RL + odpowiedni soft np.
    https://github.com/gphalkes/fpicprog
    Dla AVR ten sam układ obsłuży wszystkie korzystające z SPI do programowania, a soft to wszystko co bazuje na AVRDude.
    Co ciekawsze nadal można wyprowadzić Rx, Tx i używać do programowania ESP8266, ESP32, LPC, STM32 itp. ;) Czyli opcja zdecydowanie łatwiejsza w implementacji i uniwersalna.
  • #13 17867865
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    W takim razie czekamy na nową konstrukcję w dziale DIY.
  • #14 17869128
    kolgreen
    Poziom 16  
    Posty: 269
    Pomógł: 11
    Ocena: 240
    tplewa napisał:
    Niestety większość takich programatorów działa bardzo kiepsko ;)


    Ja używałem go przez wiele lat. Zrezygnowałem tylko dlatego, że dostałem Pickit. Fakt, jeśli ktoś ma laptopa, brak portu COM, to ma problem.

    Fakt jest jednak taki, że elektronika (a tym bardziej dział mikrokontrolerów) do tanich nie należy. To nie bieganie, że wyjdzie się z domu i się zacznie to robić. Jakieś koszty trzeba ponieść...
  • #15 17872673
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    kolgreen napisał:
    tplewa napisał:
    Niestety większość takich programatorów działa bardzo kiepsko ;)


    Ja używałem go przez wiele lat. Zrezygnowałem tylko dlatego, że dostałem Pickit. Fakt, jeśli ktoś ma laptopa, brak portu COM, to ma problem.


    Ot jak mówię kwestia szczęścia... Kiedyś też używałem i na stacjonarce działał w sumie ok (ale nie idealnie) - potem na laptopie z RS232 miał już problemy... Natomiast na komputerze w firmie - to była totalna staroć chyba jakiś Pentium 3 (jeszcze miałem serwis RTV) działał bezproblemowo.

    Natomiast co do taniości to wiadomo, ale nie tylko o kwoty chodzi czasem potrzeba być też kreatywnym ;) Przykładowo kiedyś miałem polskiego UPROG-a HS48, ale że więcej leżał w szafie niż go używałem to sprzedałem (ot kilka tysięcy drogą nie chodzi)... potem nagle pojawił się problem i zbudowałem taki programator ;) https://www.elektroda.pl/rtvforum/topic2302500.html ot czasem trzeba być kreatywnym i robi się coś z tego co ma się w szufladzie :)

    W sumie po tym aby się znowu nie bawić kupiłem uniwersalny TNM5000 bo stwierdziłem że prędzej czy później znowu coś będzie potrzeba zaprogramować i jednak warto coś takiego mieć - zakup to w sumie kompromis cenowy pomiędzy najtańszymi programatorami, a tymi z wyższej półki.

    Do tego wiadomo inne do programowania w układzie czyli J-Tag do ARM-ów, kilka ISP do AVR-ów, Pic-kit do tego jeszcze do FPGA...

    Więc trochę się tego uzbierało. Z drugiej strony większość takich programatorów można zaprojektować i wykonać samodzielnie - tylko problem najczęściej jest taki że mało komu się chce :)
  • #16 17873520
    Konto nie istnieje
    Poziom 1  
  • #17 17874010
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    acctr napisał:
    puszak napisał:
    Tym sposobem nie mam programatora pic.

    Dla chcącego nic trudnego. Twój problem należy upatrywać gdzie indziej. Tym bardziej, że Pickity wersji 2 i 3 chodzą na portalu aukcyjnym poniżej 50zł, sprzedano nawet egzemplarz Pickit3 za 16zł.


    Dokładnie to co wspomniałem klony Pickita 3 są tanie u nas z 60zl na znanym portalu aukcyjnym, a na Aliexpress za 10$ z wysyłką bez problemu można kupić co daje jakieś 39zł - ot taka pierwsza lepsza aukcja https://de.aliexpress.com/item/PICKIT2-PIC-Ki...Color-w-USB-cable-Dupond-Wire/1814593020.html

    Więc jak się chce mieć tylko programator to mały problem... Bardziej kwestia tego czy chce się posiadać programator, czy chce się zbudować programator. Co przy budowie nie musi być tańsze ale za to zyskujemy tutaj satysfakcję z budowy, nową wiedzę itd. co trudno wycenić...
  • #18 17880745
    puszak
    Poziom 28  
    Posty: 1387
    Pomógł: 92
    Ocena: 114
    COM nie mam w laptopie, JDM leży zapomniany. Kupić gotowy nie sztuka, gdyby był mi mocno potrzebny kupił bym go. Mam USBasp i arduino, widziałem coś po angielsku w oparciu o arduino lecz słabo u mnie z angielskim. Także poczekam może natknę się na coś opartego na AVR lub arduino i sobie wykonam.
  • #19 17910674
    szlovak
    Poziom 12  
    Posty: 73
    Ocena: 4
    Gdybym nie miał programatora żadnego, to brałbym pickit4 teraz, ma od razu wsparcie najnowszego mplabx i programuje avr też. Nawet Jtaga ma. Oczywiście to debugger też jest, piców na pewno, nie wiem jak z avr, a ten programator tu to tylko programator i do tego powolny, stary, ludzie. Acha, jeszcze jedno, nie brałbym żadnych klonów programatorów, oryginały microchipa maja dozgonną gwarancję :) Czy tutaj w tym dziale wypychane są projekty których nikt nie potrzebuje?

Podsumowanie tematu

✨ Dyskusja dotyczy projektu programatora PIC/AVR na USB, który jest klonem PICKIT2, stworzonym z ogólnodostępnych komponentów. Uczestnicy wymieniają się doświadczeniami związanymi z budową programatorów, wskazując na problemy z dostępnością portów COM w laptopach oraz na konieczność posiadania zaprogramowanego mikrokontrolera do budowy. Wskazują również na alternatywy, takie jak FT232RL do programowania różnych mikrokontrolerów oraz dostępność tanich klonów PICKIT-a na rynku. Wiele osób podkreśla, że budowa własnego programatora może przynieść satysfakcję i nowe umiejętności, mimo że gotowe rozwiązania są łatwo dostępne. Wspomniano również o programatorze PICKIT4, który obsługuje AVR i ma wsparcie dla MPLABX.
Wygenerowane przez model językowy.
REKLAMA