Portal dla pasjonatów motoryzacji

Programator PIC dla mikrokontrolerów Microchip. Jak programować mikrokontrolery PIC lub prosty programator JDM Programiści pracujący samodzielnie, kontrolery szczytowe

Rozwój elektroniki postępuje w szybkim tempie, a coraz częściej głównym elementem urządzenia jest mikrokontroler. Wykonuje większość pracy i uwalnia projektanta od konieczności tworzenia skomplikowanych projektów obwodów, redukując w ten sposób rozmiar płytki drukowanej do minimum. Jak powszechnie wiadomo, mikrokontrolerem steruje program zapisany w jego wewnętrznej pamięci. A jeśli doświadczony programista elektroniki nie będzie miał problemów z wykorzystaniem mikrokontrolerów w swoich urządzeniach, to dla początkującego radioamatora próba zapisania programu do sterownika (zwłaszcza PIC) może zakończyć się dużym rozczarowaniem, a czasem małym pokazem pirotechnicznym w postaci chipsów do palenia.

Co dziwne, ale przy całej wielkości Internetu jest bardzo mało informacji o oprogramowaniu sprzętowym Kontrolery PIC, a materiał, który można znaleźć, jest bardzo wątpliwej jakości. Oczywiście możesz kupić fabrycznego programistę za nieodpowiednią cenę i uszyć tyle, ile chcesz, ale co, jeśli dana osoba nie zajmuje się masową produkcją. Do tych celów można zamontować prosty i niedrogi w wykonaniu domowy, tzw Programista JDM według poniższego schematu (rysunek nr 1):



Rysunek nr 1 - schemat programatora


Od razu podaję listę elementów dla tych, którzy są zbyt leniwi, aby zajrzeć do schematu:

  • R1 - 10 kOhm
  • R2 - 10 kOhm (obcięty). Regulując rezystancję tego rezystora, podczas programowania należy osiągnąć około 13 V na pinie nr 4 (VPP). W moim przypadku rezystancja wynosi 1,2 kOhm
  • R3 - 200 omów
  • R4, R5 - 1,5 kOhm
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 - 1N4733A (stabilizacja napięcia 5,1 V)
  • VD7 - 1N4743A (stabilizacja napięcia 13V)
  • C1 – 100nF (0,1uF)
  • C2 - 470uF x 16V (elektrolityczny)
  • SUB-D9F - złącze portu COM (MAMA lub SOCKET)
  • Gniazdo DIP8 - zależy od używanego kontrolera

Na schemacie zastosowano przykład podłączenia takich popularnych sterowników jak PIC12F675 I PIC12F629, ale to wcale nie oznacza, że ​​​​firmware innych serii FOTKA będzie niemożliwe. Aby napisać program do sterownika innego typu wystarczy przełożyć przewody programatora zgodnie z rysunkiem nr 2, który pokazano poniżej.



Rysunek nr 2 - Opcje obudowy kontrolera PIC z niezbędnymi pinami


Jak można się domyślić, obudowa została wykorzystana w schemacie mojego programisty DIP8. Z silnym pragnieniem możesz wykonać uniwersalny adapter dla każdego rodzaju mikroukładu, uzyskując w ten sposób uniwersalny programator. Ale odkąd z Kontrolery PIC Pracuję rzadko i to mi wystarczy.

Choć sam obwód jest dość prosty i nie sprawi trudności w montażu, to jednak wymaga też szacunku. Dlatego miło byłoby zrobić do niego płytkę drukowaną. Po kilku manipulacjach w programie Układ Sprintu, tekstolit, wiertło i żelazko, taki blank przyszedł na świat (zdjęcie nr 3).



Zdjęcie nr 3 - płytka drukowana programatora


Pobierz źródło płytki drukowanej programu Układ Sprintu możesz skorzystać z tego linku:
(pobrań: 670)
W razie potrzeby można go zmienić, aby dopasować go do typu kontrolera PIC. Dla tych, którzy zdecydują się na pozostawienie deski bez zmian, zamieszczam widok części z boku, aby ułatwić montaż (Rysunek nr 4).



Rysunek nr 4 - tablica od strony montażu


Jeszcze trochę czarów z lutownicą i mamy gotowe urządzenie, które potrafi flashować Kontroler PIC Poprzez Port COM Twój komputer. Jeszcze ciepły i nie wypłukany z topnika, efekt moich wysiłków widać na zdjęciu nr 5.



Zdjęcie nr 5 - montaż programatora


Od teraz pierwszy etap na drodze do firmware Kontroler PIC, dobiegł końca. Drugi etap będzie obejmował podłączenie programatora do komputera i pracę z programem Program IC.
Niestety nie wszystkie współczesne komputery i laptopy są w stanie współpracować z tym programatorem ze względu na banalny brak Porty COM, a te, które są instalowane na laptopach, nie dają niezbędnych do programowania 12 V. Postanowiłem więc zwrócić się do mojego pierwszego komputer, który od dawna zbierał kurz i czekał na swoją najlepszą godzinę (i nadal czeka).
Włącz więc komputer i przede wszystkim zainstaluj program Program IC. Można ją pobrać ze strony autora lub pod tym linkiem:
(pobrań: 769)
Podłącz programator do Port COM i uruchom nowo zainstalowaną aplikację. Aby zapewnić prawidłowe działanie, konieczne jest wykonanie szeregu manipulacji. Początkowo musisz wybrać rodzaj kontrolera, który będziesz szyć. mam to PIC12F675. Na zrzucie ekranu nr 6 pole wyboru kontrolera jest podświetlone na czerwono.



Zrzut ekranu nr 6 - wybór typu mikrokontrolera




Zrzut ekranu #7 - ustawienie sposobu nagrywania kontrolera


W tym samym oknie przejdź do zakładki „ Programowanie„i wybierz element” Kontrola programowania”. Sprawdzanie po programowaniu może spowodować błąd, ponieważ w niektórych przypadkach oprogramowanie wewnętrzne samo ustawia bezpieczniki blokady odczytu SR. Aby się nie oszukać, lepiej wyłączyć tę kontrolę. Krótko mówiąc, postępuj zgodnie ze zrzutem ekranu nr 8.



Zrzut ekranu nr 8 – Konfiguracja weryfikacji


Kontynuujemy pracę z tym oknem i przechodzimy do zakładki „ Są pospolite„. Tutaj musisz ustawić priorytet programu i koniecznie go użyć NT/2000/XP sterownik (zrzut ekranu #9). W niektórych przypadkach program może zaproponować zainstalowanie tego sterownika i wymagane będzie ponowne uruchomienie. Program IC.



Zrzut ekranu nr 9 – ustawienia ogólne


Zatem z tym oknem praca się skończyła. Przejdźmy teraz do ustawień samego programatora. Wybierz z menu " Ustawienia"->"Ustawienia programisty lub po prostu naciśnij klawisz F3. Pojawi się następujące okno, pokazane na zrzucie ekranu #10.



Zrzut ekranu #10 - okno ustawień programatora


Przede wszystkim wybierz typ programatora - Programista JDM. Następnie ustaw przycisk radiowy na korzystanie ze sterownika Okna. Następnym krokiem jest wybór Port COM do którego podłączony jest programator. Jeśli jest to jeden, nie ma w ogóle pytań, a jeśli więcej niż jedno, sprawdź w menedżerze urządzeń, który z nich jest aktualnie używany. Suwak opóźnienia we/wy służy do regulacji szybkości zapisu i odczytu. Może to być potrzebne na szybkich komputerach i w przypadku problemów z oprogramowaniem - parametr ten należy zwiększyć. W moim przypadku domyślnie pozostało równe 10 i wszystko działało dobrze.

Na tym ustawieniu programu Program IC się skończył i możesz przystąpić do samego procesu oprogramowania, ale najpierw czytamy dane z mikrokontrolera i sprawdzamy, co jest na nim zapisane. W tym celu na pasku narzędzi kliknij ikonę mikroukładu z zieloną strzałką, jak pokazano na zrzucie ekranu nr 11.



Zrzut ekranu nr 11 - proces odczytu informacji z mikrokontrolera


Jeżeli mikrokontroler jest nowy i nie był wcześniej flashowany to wszystkie jego komórki pamięci zostaną wypełnione wartościami 3FFF z wyjątkiem ostatniego. Będzie zawierać wartość stałej kalibracyjnej. Jest to bardzo ważna i unikalna wartość dla każdego kontrolera. Od tego zależy dokładność taktowania, która jest ustawiana przez producenta poprzez wybranie i ustawienie tej bardzo stałej. Zrzut ekranu nr 12 pokazuje lokalizację pamięci, w której będzie przechowywana stała podczas odczytu sterownika.



Zrzut ekranu nr 12 - wartość stałej kalibracyjnej


Powtarzam, że wartość jest unikalna dla każdego chipa i nie musi odpowiadać tej na rysunku. Wielu, z powodu braku doświadczenia, zastępuje tę stałą, a następnie Kontroler PIC zaczyna działać niepoprawnie, jeśli projekt wykorzystuje taktowanie z wewnętrznego generatora. Radzę spisać tę stałą i nakleić napis z jej wartością bezpośrednio na sterowniku. W ten sposób unikniesz wielu kłopotów w przyszłości. Tak więc wartość jest zapisana - idziemy dalej. Otwórz plik oprogramowania sprzętowego, który zwykle ma rozszerzenie .klątwa. Teraz zamiast napisów 3FFF, bufor programowania zawiera kod naszego programu (zrzut ekranu #13).



Zrzut ekranu #13 - firmware załadowany do bufora programowania


Powyżej pisałem, że wielu przez zaniedbanie nadpisuje stałą kalibracyjną. Kiedy to się dzieje? Dzieje się tak podczas otwierania pliku oprogramowania sprzętowego. Wartość stałej zostaje automatycznie zmieniona na 3FFF a jeśli zaczniesz proces programowania, to nie będzie już odwrotu. Na zrzucie ekranu nr 14 podświetlona jest komórka pamięci, w której wcześniej znajdowała się stała 3450 (przed otwarciem plik szesnastkowy).

Czas więc przestudiować mikrokontrolery, a następnie je zaprogramować, a ja też chciałem na nich zamontować urządzenia, których obwody są teraz w Internecie, no cóż, tylko morze. No to znaleźliśmy obwód, kupiliśmy sterownik, pobraliśmy firmware.... i czym flashować ??? I tu pojawia się pytanie dla radioamatora, który zaczyna opanowywać mikrokontrolery - wybór programisty! Chciałbym znaleźć najlepszą opcję pod względem wszechstronności - prostoty obwodu - niezawodności. Programiści „markowi” i ich analogi zostali natychmiast wykluczeni ze względu na dość złożony obwód obejmujący te same mikrokontrolery, które należy zaprogramować. Oznacza to, że powstaje „błędne koło”: aby zostać programistą, potrzebny jest programista. Rozpoczęły się poszukiwania i eksperymenty! Na początku wybór padł na PIC JDM. Programator ten działa z portu com i jest stamtąd zasilany. Ta opcja była testowana, śmiało zaprogramowałem 4 z 10 sterowników, z osobnym zasilaczem, sytuacja się poprawiła, ale niewiele, na niektórych komputerach w ogóle nie chciała nic zrobić i nie zapewnia ochrony przed „głupcem” „. Następnie zbadano programistę Pony-Prog. W zasadzie prawie taki sam jak JDM.Programator "Pony-prog" to bardzo prosty układ, zasilany z portu com komputera, dlatego też na forach, w Internecie bardzo często pojawiają się pytania o awarie przy programowaniu tego lub inny mikrokontroler. W rezultacie zdecydowano się na model „Extra-PIC”. Spojrzałem na schemat - bardzo prosty, kompetentny! Wejście to MAX 232, które przetwarza sygnały portu szeregowego RS-232 na sygnały nadające się do stosowania w obwodach cyfrowych o poziomach TTL lub CMOS, nie powoduje przetężenia portu COM komputera, ponieważ wykorzystuje standard operacyjny RS232, nie stwarza zagrożenie dla portu COM. Oto pierwszy plus!
Współpracuje z dowolnymi portami COM, zarówno standardowymi (±12 V; ±10 V), jak i niestandardowymi portami COM niektórych modeli nowoczesnych laptopów z liniami sygnałowymi niskiego napięcia, do ± 5 V - kolejny plus! Obsługiwane przez popularne programy IC-PROG, PonyProg, WinPic 800 (WinPic800) i inne - trzeci plus!
A wszystko to zasilane jest z własnego źródła zasilania!
Zdecydowano - musimy zbierać! I tak w magazynie Radio 2007 nr 8 znaleziono zmodyfikowaną wersję tego programatora. Umożliwiało to programowanie mikrokontrolerów w dwóch trybach.
Istnieją dwa sposoby wprowadzenia mikrokontrolerów PICmicro w tryb programowania:
1. Przy włączonym napięciu zasilania Vcc podnieść napięcie Vpp (na pinie -MCLR) od zera do 12V
2. Przy wyłączonym Vcc zwiększ Vpp od zera do 12V, a następnie włącz Vcc
Pierwszy tryb przeznaczony jest głównie dla urządzeń we wczesnej fazie rozwoju, nakłada ograniczenia na konfigurację pinu -MCLR, który w tym przypadku może służyć jedynie jako wejście dla sygnału konfiguracji początkowej, a w wielu mikrokontrolerach istnieje możliwość obrócenia tego pinu na linię regularną jednego z portów. To kolejny plus tego programatora. Jego schemat pokazano poniżej:

Większy
Wszystko zostało zmontowane na płytce stykowej i przetestowane. Wszystko działa dobrze i stabilnie, nie zauważyłem żadnych usterek!
Został sporządzony sygnet dla tego programisty.
https://depozytfiles.com/files/mk49uejin
wszystko zostało zmontowane w otwartej obudowie, której zdjęcie znajduje się poniżej.




Kabel połączeniowy został wykonany niezależnie od odcinka kabla ośmiożyłowego i standardowych złączy Komovsky'ego, żadne złącza zero-modemowe nie będą tu działać, od razu ostrzegam! Montaż kabla należy wykonać ostrożnie, od razu pozbyć się bólu głowy w przyszłości. Długość kabla nie powinna przekraczać półtora metra.
Zdjęcie kabla


Tak więc programator jest zmontowany, kabel też, czas sprawdzić całą tę ekonomię pod kątem funkcjonalności, wyszukać usterki i błędy.
Przede wszystkim zainstaluj program IC-prog, który można pobrać ze strony internetowej dewelopera www.ic-prog.com Rozpakuj program do osobnego katalogu. Powstały katalog powinien zawierać trzy pliki:
icprog.exe - plik powłoki programisty.
icprog.sys - sterownik wymagany do pracy w systemie Windows NT, 2000, XP. Plik ten musi zawsze znajdować się w katalogu programu.
icprog.chm – plik pomocy.
Zainstalowany, teraz należałoby go skonfigurować.
Dla tego:
1. (Tylko dla systemu Windows XP): Kliknij prawym przyciskiem myszy plik icprog.exe. Właściwości >> zakładka Zgodność >> Zaznacz pole obok „Uruchom ten program w trybie zgodności z:” >> wybierz „Windows 2000”.
2. Uruchom plik icprog.exe. Wybierz „Ustawienia” >> „Opcje” >> zakładkę „Język” >> ustaw język na „rosyjski” i kliknij „OK”.
Zgadzam się ze stwierdzeniem „Musisz teraz zrestartować IC-Prog” (kliknij „Ok”). Powłoka programisty uruchomi się ponownie.
Ustawienia" >> "Programista

1. Sprawdź ustawienia, wybierz port COM, którego używasz, kliknij „OK”.
2. Następnie „Ustawienia” >> „Opcje” >> wybierz zakładkę „Ogólne” >> zaznacz pole „Wł.”. Sterownik NT/2000/XP” >> Kliknij „Ok” >> jeśli sterownik nie był wcześniej instalowany w Twoim systemie, w wyświetlonym oknie „Potwierdź” kliknij „Ok”. Sterownik zostanie zainstalowany, a powłoka programisty uruchomi się ponownie.
Notatka:
W przypadku bardzo szybkich komputerów może być konieczne zwiększenie ustawienia opóźnienia we/wy. Zwiększenie tego parametru zwiększa niezawodność programowania, jednak zwiększa się również czas poświęcony na programowanie mikroukładu.
3. „Ustawienia” >> „Opcje” >> wybierz zakładkę „I2C” >> zaznacz pola: „Włącz MCLR jako VCC” i „Włącz nagrywanie blokowe”. Kliknij „Ok”.
4. „Ustawienia” >> „Opcje” >> wybierz zakładkę „Programowanie” >> odznacz opcję: „Sprawdź po programowaniu” i zaznacz pole „Sprawdź podczas programowania”. Kliknij OK.
Tutaj jest to ustawione!
Teraz chcielibyśmy przetestować programator na miejscu z IC-progiem. A tutaj wszystko jest proste:
Następnie w programie IC-PROG w menu uruchom: Ustawienia >> Test programisty

Przed wykonaniem każdego elementu metodologii testowania nie zapomnij ustawić wszystkich „pól” w ich pierwotnej pozycji (wszystkie „ptaszki” są odznaczone), jak pokazano na powyższym rysunku.
1.Zaznacz „ptaszek” w polu „Włączone”. Data Out”, jednocześnie powinien pojawić się „ptaszek” w polu „Dane wejściowe”, a na styku (DATA) złącza X2 należy ustawić poziom logowania. „1” (co najmniej +3,0 V). Teraz zewrzyj ze sobą styk (DATA) i styk (GND) złącza X2, przy czym znak w polu „Wprowadzanie danych” powinien zniknąć po zwarciu styków.
2. Podczas ustawiania „ptaszka” w polu „Wł. Taktowanie ”, na styku (ZEGAR) złącza X2 należy ustawić poziom logowania. „1”. (nie mniej niż +3,0 woltów).
3. Podczas ustawiania „ptaszka” w polu „Wł. Reset (MCLR) ”, na styku (VPP) złącza X3 poziom powinien być ustawiony na +13,0 ... +14,0 V, a dioda D4 (zwykle czerwona) powinna się zaświecić. Jeśli przełącznik trybu jest ustawiony do pozycji 1, zaświeci się dioda HL3
Jeżeli podczas testu jakikolwiek sygnał nie przejdzie, należy dokładnie sprawdzić całą ścieżkę tego sygnału, łącznie z kablem łączącym się z portem COM komputera.
Testowanie kanału danych programatora EXTRAPIC:
1. 13 wyjść układu DA1: napięcie od -5 do -12 woltów. Podczas ustawiania „tika”: od +5 do +12 woltów.
2. 12 wyjść układu Da1: napięcie +5 woltów. Podczas zaznaczania pola: 0 woltów.
3. 6 układów wyjściowych DD1: napięcie 0 woltów. Podczas ustawiania „tika”: +5 woltów.
3. Układ wyjściowy 1 i 2 DD1: napięcie 0 woltów. Podczas ustawiania „tika”: +5 woltów.
4. 3 układ wyjściowy DD1: napięcie +5 woltów. Podczas zaznaczania pola: 0 woltów.
5. 14 wyjść układu DA1: napięcie od -5 do -12 woltów. Podczas ustawiania „tika”: od +5 do +12 woltów.
Jeśli wszystkie testy wypadły pomyślnie, programator jest gotowy do pracy.
Aby podłączyć mikrokontroler do programatora można zastosować odpowiednie gniazda lub wykonać przejściówkę na bazie gniazda ZIF (o zerowej sile docisku) np. tutaj radiokot.ru/circuit/digital/pcmod/18/.
Teraz kilka słów o ICSP – programowaniu w obwodzie
Kontrolery PIC.
W przypadku stosowania protokołu ICSP na płycie urządzenia należy przewidzieć możliwość podłączenia programatora. Przy programowaniu przy pomocy ICSP do programatora należy podłączyć 5 linii sygnałowych:
1. GND (VSS) - przewód wspólny.
2. VDD (VCC) - plus napięcie zasilania
3. MCLR" (VPP) - wejście resetu mikrokontrolera / wejście napięcia programowania
4. RB7 (DATA) - dwukierunkowa magistrala danych w trybie programowania
5. RB6 (ZEGAR) Wejście zegara w trybie programowania
Pozostałe piny mikrokontrolera nie są wykorzystywane w trybie programowania wewnątrzukładowego.
Opcja podłączenia ICSP do mikrokontrolera PIC16F84 w obudowie DIP18:

1. Linia MCLR” jest oddzielona od obwodu urządzenia za pomocą zworki J2, która otwiera się w trybie programowania w obwodzie (ICSP), przekazując wyjście MCLR do wyłącznej kontroli programatora.
2. Linia VDD w trybie programowania ICSP jest odłączona od obwodu urządzenia zworką J1. Jest to konieczne, aby uniknąć poboru prądu z linii VDD przez obwód urządzenia.
3. Linia RB7 (dwukierunkowa magistrala danych w trybie programowania) jest izolowana prądowo od obwodu urządzenia rezystorem R1 o wartości nominalnej co najmniej 1 kOhm. W związku z tym maksymalny prąd dopływający/odpływający zapewniany przez tę linię będzie ograniczony przez rezystor R1. Jeżeli konieczne jest zapewnienie maksymalnego prądu, rezystor R1 należy wymienić (jak w przypadku VDD) na zworkę.
4. Linia RB6 (wejście synchronizacji PIC w trybie programowania) oraz RB7 są odizolowane prądowo od obwodu urządzenia rezystorem R2 o wartości nominalnej co najmniej 1 kOhm. Dlatego maksymalny prąd upływający/upływający dostarczany przez tę linię będzie ograniczony przez rezystor R2. Jeżeli konieczne jest zapewnienie maksymalnego prądu, rezystor R2 należy wymienić (jak w przypadku VDD) na zworkę.
Lokalizacja pinów ICSP dla kontrolerów PIC:


Ten schemat ma charakter wyłącznie poglądowy, lepiej jest wyjaśnić wnioski programowe z arkusza danych mikrokontrolera.
Teraz rozważ oprogramowanie układowe mikrokontrolera w programie IC-prog. Rozważymy przykład konstrukcji stąd rgb73.mylivepage.ru/wiki/1952/579
Oto schemat urządzenia


tutaj jest oprogramowanie
Flashowanie kontrolera PIC12F629. Mikrokontroler ten do swojej pracy wykorzystuje stałą osccal - jest to szesnastkowa wartość kalibracyjna wewnętrznego oscylatora MK, za pomocą której MK raportuje czas wykonywania swoich programów, który jest rejestrowany w ostatniej komórce danych szczytowych. Podłączamy ten mikrokontroler do programatora.
Poniższy zrzut ekranu pokazuje kolejność działań w programie IC-prog w czerwonych cyfrach.


1. Wybierz typ mikrokontrolera
2. Nacisnąć przycisk „Odczytaj chip”.
W oknie „Kod programu” ostatnia komórka będzie naszą stałą dla tego kontrolera. Każdy kontroler ma swoją stałą ! Nie wymazuj go, zapisz na kartce papieru i przyklej na chipie!
Idziemy dalej


3. Naciśnij przycisk „Otwórz plik…”, wybierz nasze oprogramowanie. Kod oprogramowania sprzętowego pojawi się w oknie kodu programu.
4. Schodzimy na koniec kodu, klikamy prawym przyciskiem myszy ostatnią komórkę i z menu wybieramy „obszar edycji”, w polu „Hexadecimal” wpisujemy wartość stałej, którą zapisaliśmy, klikamy „OK” .
5. Kliknij „zaprogramuj chip”.
Rozpocznie się proces programowania, jeśli wszystko poszło dobrze, program wyświetli odpowiednie powiadomienie.
Wyciągamy chip z programatora i wkładamy go do zmontowanego układu. Włączamy zasilanie. Wciskamy przycisk start. Brawo, działa! Poniżej filmik przedstawiający działanie flashera
video.mail.ru/mail/vanek_rabota/_myvideo/1.html
Mam to załatwione. Ale co, jeśli mamy plik kodu źródłowego w asemblerze asm i potrzebujemy pliku oprogramowania sprzętowego w formacie szesnastkowym? Tutaj potrzebny jest kompilator. i tak jest - to jest Mplab, w tym programie możesz zarówno pisać oprogramowanie, jak i kompilować. Oto okno kompilatora


Zainstaluj MPlab
Program MPASMWIN.exe znajdujemy w zainstalowanym Mplabie, zwykle znajdującym się w folderze - Microchip - MPASM Suite - MPASMWIN.exe
Uruchommy to. W oknie (4) Przeglądaj znajdujemy nasz kod źródłowy (1) .asm, w oknie (5) Procesor wybieramy nasz mikrokontroler, klikamy Assemble, a Twoje oprogramowanie pojawi się w tym samym folderze, w którym podałeś kod źródłowy.HEX To jest To!
Mam nadzieję, że ten artykuł pomoże początkującym w opanowaniu kontrolerów PIC! Powodzenia!

1. PROGRAMATOR PICÓW

Mam nadzieję, że mój artykuł pomoże niektórym radioamatorom przekroczyć próg od technologii cyfrowej do mikrokontrolerów. W internecie i amatorskich magazynach radiowych pełno jest programistów: od najprostszych po bardzo pokrętne. Mój nie jest bardzo skomplikowany, ale niezawodny.

Pierwsza wersja programatora przeznaczona jest do programowania 18 i 28-pinowych sterowników PIC. Programator bazuje na schemacie z magazynu Radia nr 10 z 2007 roku. Ale dobór kondensatora C7, eksperymenty z różnymi wersjami ICprog, PonyProg, WinPic i prędkościami odczytu i zapisu nie dały pożądanego rezultatu: za każdym razem udało się zaprogramować. I trwało to do momentu, gdy zasilanie programowalnego mikroukładu + 5 V zostało wykonane osobno, a nie po stabilizatorze 12 V. Okazało się, że taki schemat.

W obawie przed niepowodzeniami narysowałem sygnet tak, aby płytkę wpiąć bezpośrednio do portu Com, co nie jest zbyt proste ze względu na wszelkiego rodzaju „sznurówki” i małą odległość od obudowy. Okazało się, że jest to sygnet o nieregularnym kształcie, ale jest on włożony do portu COM normalnie i programy bez błędów.

Z biegiem czasu zrobiłem przedłużacz o długości około 1 metra. Teraz programator leży obok monitora i jest podłączony do portu COM. Działa dobrze: Mikrokontrolery PIC16F84A, PIC16F628A, PIC16F873A były programowane wielokrotnie.

Uwaga: chip Max i diody LED są instalowane z boku drukowanych przewodów. Gniazda - ZIF-28, jedno z nich jest przeznaczone dla 18-pinowego PIC. Panele oznaczono pierwszymi nogami oraz numerami „18” i „28”. W obudowie wtyczki adaptera zainstalowany jest transformator 220 15 V i 4 W. Po zainstalowaniu mikrokontrolera w gnieździe należy podłączyć go do gniazdka. Tranzystory n-p-n małej mocy i wysokiej częstotliwości (300 MHz) w obudowie do-92.

Chwilowo nie instalowałem złącza XP, a potem okazało się, że nie jest ono specjalnie potrzebne. Musiałem jakoś zaprogramować lutowany MK, więc włożyłem przewody bezpośrednio do ZIF i naprawiłem. Przeprogramowanie przebiegło pomyślnie.

Pracuję z programami ICprog i WinPic-800.

W programie IC-prog 1.05D następujące ustawienia programatora:

  • Programista – Programista JDM
  • Port-Com1
  • Bezpośredni dostęp do portów.
  • Odwróć: wejście, wyjście i zegar (zaznacz).

W WinPic-800 – v.3.64f wszystko jest identyczne, ale nadal musisz ustawić „ptaka”, aby używał MCLR.

W Internecie można swobodnie i bezpłatnie pobrać te programy. Ale żeby ułatwić życie, postaram się załączyć wszystko, co niezbędne. Właśnie sobie przypomniałem: ile „bezużytecznych rzeczy” sam pobrałem z Internetu i ile czasu spędziłem na demontażu tego wszystkiego.

  • Programista PCB
  • Program WinPic-800 ( )
  • programu IC-Prog().
  • Artykuł o IC-Prog.

2. PROGRAMATOR-2 DO KONTROLERÓW PIC

Z biegiem czasu konieczne stało się zaprogramowanie pików 14 i 40 „pin”. Postanowiłem zrobić programistę dla całej przeciętnej rodziny PIC-ów. Schemat jest taki sam, dodano tylko dwa panele. Wszystko to umieszczono w obudowie pochodzącej z dawnego multimetru.

W dniu 13 lutego 2014 r. Na płytce drukowanej dokonano korekty: od 5. pinu złącza RS232 tor przechodzi do ujemnego zasilania (a na poprzednim do 6. pinu mikroukładu MAX). Nowy sygnet w "programerze2-2".

Możesz uratować jednego KREN-ku. Te. podłącz cały obwód z jednego stabilizatora 5 V. Nie instaluj VR3 i C9, ale załóż zworkę (oznaczoną linią przerywaną na schemacie). Ale jeszcze nie piłem Krenki. Wielokrotnie programowane PIC16F676, 628A, 84A i 873A. Ale jeszcze nie próbowałem 877.

Niektóre kondensatory są instalowane z boku drukowanych przewodów. Rolki znajdują się w pozycji poziomej. Aby nie układać przewodów zainstalowałem C7 - 2szt i R12 - 3szt.

Bardzo ważne: obudowa złącza RS232 musi być podłączona do ujemnego zasilania.

Zasilanie (15 V) i programy są takie same jak w pierwszej wersji.

Lista elementów radiowych

Przeznaczenie Typ Określenie Ilość NotatkaSklepMój notatnik
Schemat 1
DD1 Układ scalony interfejsu RS-232

MAX232E

1 MAX232CPE Do notatnika
VT1-VT4 tranzystor bipolarny

2N3904

4 TO-92 Do notatnika
VDS1 Mostek diodowy

DB157

1 Do notatnika
VD1 dioda prostownicza

1N4148

1 Do notatnika
VR1, VR3 regulator liniowy

L7805AB

1 Do notatnika
VR2 regulator liniowy

KA78R12C

1 Do notatnika
C1 470uF 35V1 Do notatnika
C2, C3, C5, C6 kondensator elektrolityczny10uF 50V4 Do notatnika
C4, C8 kondensator elektrolityczny470uF 16V2 Do notatnika
C7 kondensator elektrolityczny1uF 25V1 Do notatnika
C11 Kondensator0,1 mF1 Do notatnika
R1, R7 Rezystor

10 kiloomów

2 Do notatnika
R2 Rezystor

470 omów

1 Do notatnika
R3, R5, R11 Rezystor

4,7 kOhm

3 Do notatnika
R4, R10 Rezystor

2 kOhm

2 Do notatnika
R6, R8, R9 Rezystor

1 kOhm

3 Do notatnika
R12 Rezystor

240 omów

1 Do notatnika
HL1 Dioda LED 1 Czerwony Do notatnika
HL2 Dioda LED 1 Zielony Do notatnika
Schemat 2
DD1 Układ scalony interfejsu RS-232

MAX232E

1 MAX232CPE Do notatnika
VT1-VT4 tranzystor bipolarny

2N3904

4 TO-92 Do notatnika
VDS1 Mostek diodowy

DB157

1 Do notatnika
VD1 dioda prostownicza

1N4148

1 Do notatnika
VR1, VR3 regulator liniowy

L7805AB

2 Do notatnika
VR2 regulator liniowy

KA78R12C

1 Do notatnika
C1, C2, C4, C5 Kondensator10uF 50V4 Do notatnika
C3 kondensator elektrolityczny470uF 35V1 Do notatnika
C6, C9 kondensator elektrolityczny470uF 16V2 Do notatnika
C7.1-C7.3 Kondensator0,1 uF3

Obecnie pojawiło się wiele schematów obwodów wykorzystujących różne mikrokontrolery, w tym mikrokontrolery PIC firmy MicroChip. Umożliwiło to uzyskanie urządzeń wystarczająco funkcjonalnych, pomimo ich prostoty.

Jednak działanie mikrokontrolera nie jest możliwe bez napisanego programu sterującego. W tym artykule rozważymy uniwersalność Programista PIC- EXTRA-PIC umożliwia programowanie kontrolerów PIC i pamięci EEPROM I2C poprzez port COM lub poprzez .

Lista obsługiwanych chipów w przypadku użycia z IC-PROG v1.05D:

Kontrolery Microchip PIC: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, P IC1 6C433, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67 PIC16C71 PIC16C72 PIC16C72A PIC16C73A PIC16C73B PIC16C74A PIC16C74B PIC16C76 PIC16C77 PIC16F72 PIC16F73 PIC16F74 PIC16F76 PIC16F 77, PIC16C84, PIC16F83, P IC16F84, PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F6 27, PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C71 1, PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770* , PIC16C771*, PIC16C773, PIC16C774 PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876 , PIC16F877, PIC16F877A, PIC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F122 0, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8720*

Uwaga: mikrokontrolery oznaczone gwiazdką (*) muszą być podłączone do programatora poprzez złącze ICSP.

Pamięć szeregowa EEPROM I2C (IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, AT24C512.

Bezpośrednio sam obwód programatora EXTRA-PIC:

Sterownik programowalny podłącza się poprzez złącze X3. Poniżej znajduje się rozkład pinów programujących dla różnych kontrolerów:

A teraz instrukcja jak zaprogramować mikrokontroler.

Weźmy jako przykład mikrokontroler PIC16F876A.

Zmontuj programator i przygotuj zasilacz o napięciu wyjściowym co najmniej 15V

Rozpakuj program do osobnego katalogu. Utworzony katalog powinien zawierać trzy pliki:

icprog.exe— plik powłoki programisty;

icprog.sys— sterownik wymagany do pracy w systemie Windows NT, 2000, XP. Plik ten musi zawsze znajdować się w katalogu programu;

icprog.chm- Plik pomocy.

Konfiguracja programu IC-PROG v1.05D.

Dla Windows 95, 98, ME Dla Windows NT, 2000, XP
(Tylko dla Windowsa XP ):
Kliknij prawym przyciskiem myszy plik icprog.exe.
« Nieruchomości» >> zakładka « Zgodność » >>
Ustaw pole wyboru na Uruchom program w trybie zgodności dla:» >> wybierz « Windowsa 2000 «.
  1. Uruchom plik icprog.exe .
  2. Wybierać " Ustawienia » >> « Opcje» >> zakładka « język» >> ustaw język « Rosyjski"i naciśnij" OK «.
  3. zgodzić się ze stwierdzeniem „ Musisz teraz zrestartować IC-Prog" (naciskać " OK «).
  4. Powłoka programisty uruchomi się ponownie.
« Ustawienia » >> « programista «.
Sprawdź ustawienia, wybierz port COM, którego używasz, kliknij „ OK «.
Dalej, " Ustawienia » >> « Opcje» >> wybierz zakładkę « Są pospolite» >> zaznacz pole obok « NA Sterownik NT/2000/XP» >> Kliknij « OK » >>
jeżeli sterownik nie był wcześniej instalowany w systemie, w wyświetlonym oknie „ Potwierdzać" Kliknij " OK". Sterownik zostanie zainstalowany, a powłoka programisty uruchomi się ponownie.
Notatka: W przypadku bardzo „szybkich” komputerów może być konieczne zwiększenie wartości „ Opóźnienie we/wy". Zwiększenie tego parametru zwiększa niezawodność programowania, jednak zwiększa się również czas poświęcony na programowanie mikroukładu.
« Ustawienia » >> « Opcje» >> wybierz zakładkę « I2C» >> ustaw checkboxy na pozycjach:» Włącz MCLR jako VCC" I " Włącz nagrywanie blokowe". Kliknij " OK «.
Program jest gotowy do pracy.

Zainstaluj chip w panelu programatora, obserwując położenie klucza.

Podłącz przedłużacz, włącz zasilanie.

Uruchom program IC-PROG.

Z listy rozwijanej wybierz kontroler PIC16F876A.

Jeśli nie masz pliku oprogramowania sprzętowego, przygotuj go:

otwórz standardowy program Notatnik;

wstaw tekst oprogramowania sprzętowego do dokumentu;

zapisz pod dowolną nazwą, np. prohivka.txt (rozszerzenie *.txt lub *.hex).

Dalej w IC-PROG Plik >> Otwórz plik(! nie mylić z Otwórz plik danych) >> znajdź plik naszego oprogramowania (jeśli mamy plik *.txt, to w polu typu pliku wybierz Każdy plik *.* ). Pole „Kod programu” powinno zostać wypełnione informacjami.

Naciśnij przycisk „Zaprogramuj chip” (zaświeci się czerwona dioda LED).

Czekamy na zakończenie programowania (około 30 sekund).

Aby kontrolować, kliknij „Porównaj chip z buforem”.

Kiedyś postanowiłem zmontować prosty miernik LC na pic16f628a i oczywiście trzeba było go czymś sflashować. Kiedyś miałem komputer z fizycznym portem com, ale teraz mam do dyspozycji tylko usb i płytkę pci-lpt-2com. Na początek złożyłem prosty programator JDM, ale jak się okazało, nie chciał on współpracować ani z płytką pci-lpt-com, ani z adapterem usb-com (niskie napięcie sygnałów RS-232). Potem pospieszyłem szukać programistów do usb pic, ale tam, jak się okazało, wszystko ograniczało się do używania drogiego pic18f2550 / 4550, którego oczywiście nie miałem, a szkoda używać tak drogich MK, jeśli robię to bardzo rzadko coś na szczytach (wolę Avrs, nie ma problemu z ich flashowaniem, są dużo tańsze i wydaje mi się, że łatwiej jest na nich pisać programy). Po długim szperaniu w Internecie w jednym z wielu artykułów na temat programatora EXTRA-PIC i jego różnych opcji, jeden z autorów napisał, że Extrapic działa z każdym portem COM, a nawet adapterem USB-COM.

Schemat tego programatora wykorzystuje konwerter poziomów logicznych max232.

Pomyślałem, że jeśli używasz adaptera USB, byłoby bardzo głupio konwertować poziomy USB na usart TTL, TTL na RS232, RS232 z powrotem na TTL dwa razy, jeśli możesz po prostu pobrać sygnały TTL z portu RS232 z USB- układ konwertera usart.

I tak zrobił. Wziąłem układ CH340G (który ma wszystkie 8 sygnałów portu com) i podłączyłem go zamiast max232. I tak się stało.

W moim obwodzie jest zworka jp1, która nie jest w dodatkowym piku, założyłem ją bo nie wiedziałem jak zachowa się wyjście TX na poziomie TTL, więc umożliwiłem jej odwrócenie na pozostałym wolnym elemencie NAND i nie stracił, jak się okazało, bezpośrednio pin TX jest logiczny, dlatego po włączeniu na pinie VPP jest 12 V, a podczas programowania nic się nie stanie (chociaż można programowo odwrócić TX).

Po złożeniu płytki czas na testy. A potem przyszło główne rozczarowanie. Programista został zdeterminowany od razu (programem ic-prog) i zarobił, ale bardzo powoli! W zasadzie można się tego spodziewać. Następnie w ustawieniach portu com ustawiłem maksymalną prędkość (128 kilobaudów) i zacząłem testować wszystkie znalezione programy dla JDM. W rezultacie PicPgm okazał się najszybszy. Mój pic16f628a został całkowicie sflashowany (hex, eeprom i config) plus weryfikacja gdzieś około 4-6 minut (dodatkowo odczyt jest wolniejszy niż zapis). IcProg również działa, ale wolniej. Nie było żadnych błędów programistycznych. Próbowałem też flashować eeprom 24c08, efekt ten sam - wszystko szyje, ale bardzo wolno.

Wnioski: programator jest dość prosty, nie zawiera drogich części (CH340 - 0,3-0,5 $, k1533la3 można znaleźć wśród radiowych złomów), działa na każdym komputerze, laptopie (a nawet tablety z Windowsem 8/10 da się znaleźć). Minusy: Jest bardzo powolny. Wymaga także zewnętrznego zasilania dla sygnału VPP. W rezultacie, jak mi się wydawało, w przypadku rzadkiego migania szczytów jest to łatwa do powtórzenia i niedroga opcja dla tych, którzy nie mają pod ręką przestarzałego komputera z niezbędnymi portami.

Oto zdjęcie gotowego urządzenia:

Jak mówi piosenka: „Oślepiłem go na to, co było”. Zestaw części jest najbardziej zróżnicowany: zarówno smd, jak i DIP.

Dla tych, którzy odważą się powtórzyć schemat, prawie każdy (ft232, pl2303, cp2101 itp.) Jest odpowiedni jako konwerter USB-Uart, zamiast k1533la3, odpowiedni jest k555, myślę, że nawet seria k155 lub zagraniczny analog 74als00 , może nawet działać z elementami logicznymi NOT, takimi jak k1533ln1. Załączam moją płytkę drukowaną, ale okablowanie tam znajdujących się elementów było dostępne, każdy może sobie przerysować.

Lista elementów radiowych

Przeznaczenie Typ Określenie Ilość NotatkaSklepMój notatnik
IC1 ŻetonCH340G1 Do notatnika
IC2 ŻetonK1533LA31 Do notatnika
VR1 regulator liniowy

LM7812

1 Do notatnika
VR2 regulator liniowy

LM7805

1 Do notatnika
VT1 tranzystor bipolarny

KT502E

1 Do notatnika
VT2 tranzystor bipolarny

KT3102E

1 Do notatnika
VD1-VD3 dioda prostownicza

1N4148

2 Do notatnika
C1, C2, C5-C7 Kondensator100nF5 Do notatnika
C3, C4 Kondensator22 pF2 Do notatnika
HL1-HL4 Dioda LEDKażdy4 Do notatnika
R1, R3, R4 Rezystor

1 kOhm

3