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 Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

p.kaczmarek2 08 Lis 2015 17:55 7191 19
  • Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Witajcie moi drodzy!
    Po wielu wysiłkach dotyczących zarówno hardware, jak i software, udało mi się zbudować moją wersję programatora mikroprocesorów PIC na USB wedle projektu Brenner9L. Chciałbym tutaj opisać budowę i podzielić się doświadczeniami, zwłaszcza że strona Spruta (autora Brennera) jest po niemiecku, co skutecznie odstrasza hobbystów, którzy nie znają tego języka. Opis uwzględnia dokonane przeze mnie modyfikacje układu, ze względu na brak dostępu do niektórych elementów.

    Co ten programator oferuje?
    - szybkie programowanie przez USB bez wymogu zewnętrznego zasilania
    - wsparcie dla PIC18FxxJxx, PIC24 i dsPIC33, w przyszłości może PIC32
    - prostotę budowy - powyższe PICe maja VPP na poziomie VDD, wiec na płytce nie jest już potrzebne źródło 12V
    - mały rozmiar plytki
    - no i ostatecznie - satysfakcje z samodzielnie złożonego układu!

    Programator ten ma wyjście ICSP takie jak PICKIT2:

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Schemat programatora
    Oto oryginalny schemat (wg Spruta):

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Jak widzimy, układ bazuje na PIC18LF2550:

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Jest to wersja PIC18F2550 na szerszy zakres napięć, dzięki czemu można całość zasilić z 3.3V - w ten sposób unikamy konieczności tłumaczenia sygnałów z poziomu 5V na 3.3V.

    Układ posiada dwie zworki:
    Zworka JP1 to RESET - można by tam wsadzić przycisk.
    Zworka JP2 to zasilanie programowanego układu z Brennera - u mnie jest zwarta.

    Układ posiada dwie diody LED:
    Dioda LED1 (zielona) oznacza włączenie VDD - czyli zasilania mikrokontrolera z programatora. Proszę pamiętać, że aby użyć VDD z programatora, należy jeszcze założyć zworkę JP2.
    Dioda LED2 (czerwona) oznacza włączenie VPP - czyli programowanie.

    Rezonator kwarcowy na schemacie ma wartość 20MHz, ale preferowane jest użycie 16 lub 12 - na niższym napięciu zasilania (tu 3.3V) PIC może nie poradzić sobie z takim taktowaniem. Ponadto firmware dostępne jest tylko w wersjach 12MHz i 16MHz.

    Moje zmiany:
    - zamiast REG1117/LD1117V33 użyłem TC1264v33 - niestety TC1264v33 ma inną kolejność wyprowadzeń - ale obyło się bez modyfikacji płytki, po prostu trzeba umiejętnie odgiąć nóżki
    - zamiast BF959 wsadziłem tam BC238 (tranzystor NPN)
    - zamiast BC328 wsadziłem tam BC327 (tranzystor PNP)
    Przy wsadzaniu tranzystorów proszę uważać na kolejność wyprowadzeń!


    Budowa krok po kroku:
    Najpierw musimy wypalić bootloader spruta na PIC18LF2550 - można to wykonać z pomocą prostego JDMa, PICKITa lub innego programatora:
    Ja użyłem PICKIT2. Po otwarciu hexa pojawił się dziwny komunikat, ale nie skutkował on żadnym błędem:

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33... Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33... Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Dociekliwy czytelnik zwróci uwagę na to, że PICKIT2 pokazuje PIC18F2550 (bez literki 'L') - to normalne, PICKIT2 pomija literkę L, a oba procesory są identyczne.

    Ten bootloader, autorstwa Spruta, pozwoli nam potem wgrać do naszego PICa firmware Brennera - ale na razie zajmijmy się hardwarem.
    Tworzymy płytkę preferowaną przez nas metodą - ja skorzystałem z metody termotransferu. Nie wyszła idealnie, ale była wystarczająco dobra, by złożyć na niej ten programator:
    Przed trawieniem:

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Po wytrawieniu:

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Po oczyszczeniu acetonem:

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Po wierceniu otworów:

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33... Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Zostało wlutować elementy i sprawdzić połączenia. Pamiętajmy, że jeśli chcemy użyć innego LDO 3.3V i/lub innych tranzystorów niż u Spruta, to musimy zwrócić uwagę na ich wyprowadzenia i ew. dogiąć je tak, by pasowały do ścieżek.
    Tak wygląda gotowy układ:

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...


    Instalacja:
    Po podłączeniu do komputera system powinien zobaczyć nowe urządzenie USB, ale niestety automatyczna instalacja sterowników się nie powiedzie:

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33... Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Mimo to urządzenie powinno być widoczne w menadżerze zadań - możemy tam samodzielnie zainstalować sterowniki. Sterowniki umieściłem w załączniku do postu.
    Tutaj też może być potrzeba zainstalowania USBlib - też jest w załączniku - ja tego nie robiłem, ponieważ na obu komputerach (Win XP i 7), na których testowałem było już zainstalowane (jak będę mieć okazję, to uzupełnię screeny).

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33... Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Od tego momentu nasze urządzenie powinno być inaczej widoczne w Menadżerze urządzeń - już jako działające poprawnie.

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Pierwsze uruchomienie (upload firmware):
    Uruchamiamy USBurn - od razu powinien wykryć, że mamy podłączonego Brennera:

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Zostaniemy zapytani o wskazanie firmware - wybieramy odpowiednią wersję dla użytego rezonatora kwarcowego (np. b9l_fw16.hex).

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Po zakończeniu uploadu firmware powinniśmy już moc zacząć korzystać z programatora:

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Test hardware:
    Teraz warto wykonać test hardware w celu sprawdzenia poprawności budowy układu. Potrzebny do tego będzie multimetr.

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Kolejno sprawdzamy:
    1. przycisk VDD: powinien włączać stan 3.3V na wyjściu VDD (przy założonej zworce JP2) oraz zapalać zieloną diodę.
    2. przycisk VPP: zapala lub gasi czerwona diodę
    3. przycisk SCLK - zmienia stan z 0 na 3.3V na linii PGC
    4. przycisk SDATA - zmienia stan z 0 na 3.3V na linii PGD
    Jeśli wszystko jest ok, to możemy przejść do testów z innym mikrokontrolerem - czy Brenner9L go widzi itp., jeśli nie to musimy sprawdzić połączenia i stan elementów na płytce.

    Końcowy test - wykrywanie i wypalanie
    Teraz będzie potrzebny nam jakiś mikrokontroler, którego chcemy zaprogramować.
    Ja wybrałem PIC24FJ64GA002.
    W tym momencie niezbędna jest umiejętność czytania datesheetow.
    Na płytce stykowej musimy wykonać minimalne podłączenie pinów dla programowanego procka ("Basic Connection Requirements"):

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...
    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Zwracamy uwagę na wymagane podłączenie regulatora napięcia (EN/DIS VREG) i postępujemy zgodnie z datasheetem:
    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...
    Wszystko powinno być jasne - DISVREG do masy, a na VCAP dajemy kondensator około 10uF.
    W moim przypadku tak wyglądał zmontowany układ:
    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...
    Teraz możemy sprawdzić, czy Brenner9L rozpoznaje podłączony mikroprocesor. Wybieramy odpowiednia rodzinę (PIC24 w moim przypadku) i klikamy "Identify PIC in Programmer":
    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...
    Jeśli wszystko dobrze złożyliśmy, to PIC powinien zostać rozpoznany - tak jak na powyższym screenie. Od tego momentu możemy wgrać na niego dowolny hex oraz wykonywać inne operacje, takie jak Blank check (sprawdzenie, czy pusty), Verify (weryfikacja hexa), itp.

    Jeśli PIC nie jest rozpoznawany, to możliwe, że nie wybraliśmy odpowiedniej rodziny - poniższy zrzut ekranu pokazuje, co się dzieje, jeśli wybiorę PIC18F** mając podłączony PIC24:

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Jeśli mamy już jakiś wsad (plik .hex), którym chcemy zaprogramować innego PICa z pomocą naszego Brenner9L, to po poprawnym wgraniu tekst powinien podświetlić się na zielono oraz powinien mrugać napis "o.k.":
    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Kosztorys
    PIC18LF2550 - 15 zł
    Gniazdo USB typ B - 1 zł
    Tych drobniejszych elementów można za 1zl dostać kilka sztuk, ale nie będę liczyć co do grosza, i tak raczej nikt nie kupuje pojedynczo.
    Kwarc 16 MHz - 1 zł
    Tranzystory (te co użyłem ja lub podobne) - 2 zł
    Gniazdo 28 DIP - 1 zł
    Diody LED - 1 zł
    Regulator LDO 3.3V - 1 zł
    Drobnica, rezystory - 3 zł
    Laminat - 5 zł

    Jak widać - koszt budowy tego programatora wynosi około 30 zł i to przy założeniu, że wszystko kupujemy - jeśli mamy na stanie już tranzystory, diody, laminat itp., to koszt spada praktycznie do wartości samego mikroprocesora.
    Przypomina, ze ponadto trzeba mieć jakiś inny programator, by wgrać bootloader spruta na użytego PICa - ewentualnie można skorzystać z uprzejmości znajomego, który taki programator posiada (mogę z tym pomóc, proszę pisać na PW).

    Podsumowanie
    W ten sposób udało mi się złożyć i uruchomić moja wersję programatora Brenner9L. Mam nadzieje, ze opisane tu moje doświadczenia przydadzą się komuś i ułatwią mu budowę Brennera - Brenner to dobry projekt, który bardzo "cierpi" na brak materiałów i dokumentacji dostępnej w sieci. W razie pytań proszę pisać.
    PS: Jak znajdę wolną chwilę, to uzupełnię screeny o instalację libusb oraz testy na Windows 10 - chyba, że ktoś z forumowiczów już to sprawdzał, w takim razie zapraszam do podzielenia się wiedza.

    Załączniki:
    - pliki Eagla z projektem płytki i schematem
    - pdf do druku do termotransferu
    - software i firmware programatora

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • Computer ControlsComputer Controls
  • #2
    Freddy
    Poziom 43  
    Wykonanie fatalne.
    Płytkę drukowaną mogłeś ładniej dociąć.
    Elementy trzeba było dobrać tak, aby nie było krzyżowania nóżek.
    Wiertło masz chyba bardzo tępe, bo otwory są straszne.
    Co to za ugryzione kable, czerwony i czarny? Do czego służą?
    Płytka nie jest wcale taka mała.
    Jeśli to rzekomo jest kompatibilne z ICSP, to powinno być 6 przewodów, a nie 5.
  • #3
    p.kaczmarek2
    Poziom 24  
    Freddy napisał:
    Wykonanie fatalne.
    Płytkę drukowaną mogłeś ładniej dociąć.
    Elementy trzeba było dobrać tak, aby nie było krzyżowania nóżek.
    Wiertło masz chyba bardzo tępe, bo otwory są straszne.

    Dopiero się uczę i wiem, że wykonanie jest słabe, ale całość działa i jest zmontowana solidnie. Z estetyką masz racje, następną płytkę postaram się wykonać lepiej.

    Freddy napisał:

    Co to za ugryzione kable, czerwony i czarny? Do czego służą?

    To wsadziłem na miejsce zworki od VDD by wygodniej sprawdzić multimetrem czy jest tam 3.3V w trakcie hardware test i programowania. Szybki sposób na brudno, docelowo rzecz jasna jest tam zwykła zworka nakładana na podwójny goldpin.

    Freddy napisał:

    Jeśli to rzekomo jest kompatibilne z ICSP, to powinno być 6 przewodów, a nie 5.

    O tyle co z wykonaniem masz racje, to tutaj nie mogę się zgodzić - korzystałeś trochę z PICów? Ja wykonałem na nich już kilka projektów i wiem, ze ta 6 nóżka nie jest używana przy programowaniu.

    Chociażby na wiki jest taki obrazek:
    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...
    Pin numer 6 jest "not used" - @Freddy, potrafisz przytoczyć jakiś konkretny przypadek w którym z niego korzystałeś?

    Ponadto cytat z wiki:
    Cytat:

    PICs are programmed using five signals (a sixth pin 'aux' is provided but not used).

    Typical chip connections
    Vpp - Programming mode voltage. This must be connected to the MCLR pin, or the Vpp pin of the optional ICSP port available on some large-pincount PICs. To put the PIC into programming mode, this line must be in a specified range that varies from PIC to PIC. For 5 V PICs, this is always some amount above Vdd, and can be as high as 13.5 V. The 3.3 V only PICs like the 18FJ, 24H, and 33F series use a special signature to enter programming mode and Vpp is a digital signal that is either at ground or Vdd. There is no one Vpp voltage that is within the valid Vpp range of all PICs. In fact, the minimum required Vpp level for some PICs can damage other PICs.
    Vdd - This is the positive power input to the PIC. Some programmers require this to be provided by the circuit (circuit must be at least partially powered up), some programmers expect to drive this line themselves and require the circuit to be off, while others can be configured either way (like the Microchip ICD2). The Embed Inc programmers expect to drive the Vdd line themselves and require the target circuit to be off during programming.
    Vss - Negative power input to the PIC and the zero volts reference for the remaining signals. Voltages of the other signals are implicitly with respect to Vss.
    ICSPCLK - Clock line of the serial data interface. This line swings from GND to Vdd and is always driven by the programmer. Data is transferred on the falling edge.
    ICSPDAT - Serial data line. The serial interface is bi-directional, so this line can be driven by either the programmer or the PIC depending on the current operation. In either case this line swings from GND to Vdd. A bit is transferred on the falling edge of PGC.

    Źródło: https://en.wikipedia.org/wiki/In-system_programming - akapit "Microchip ICSP".
    Nie ma tam mowy o tym, ze pin numer 6 jest potrzebny.
  • #4
    Freddy
    Poziom 43  
    To, że się uczysz, to nie znaczy, że możesz robić niestarannie.
    Złącze ICSP jest 6-pinowe i nie jest istotne, czy ten pin 6 jest wykorzystywany, czy nie. Skoro piszesz, że dajesz standard ICSP, to dawaj kompletny standard.
    W programatorze ISP do ATMega gniazdo 10 pin też nie jest kompletnie wykorzystane, ale wszyscy montują jednak pełne gniazdo. Są też oczywiście nowsze wersje złącza 6 pinowe.
  • #5
    djfarad02
    Poziom 18  
    Autor przyznał, że płytka mogła by być wykonana lepiej więc po co go dalej gnębić?
    Projekt jest wartościowy a tego rodzaju krytyka nic nie wnosi do tematu.
    Czepianie się autora, że złącze jest 5 pinowe to też jakieś dziwactwo - przecież widać, że z założenia ten programator ma być podłączony przewodami. Gdyby miał być dokładnie taki jak PICkit to zacząć należy od tego, że złącze jest tam żeńskie.

    Projekt na pewno przyda się innym użytkownikom, głównie ze względu na przytoczony przez autora fakt, że oryginał jest w języku niemieckim.
  • Computer ControlsComputer Controls
  • #6
    p.kaczmarek2
    Poziom 24  
    Moim zdaniem w kwestii złącza kanda sytuacja wygląda trochę inaczej, bo w przypadku innej ilości pinów będzie tam problem z podłączeniem się, a tutaj brak jednego pinu w niczym nie szkodzi.
    Osobiście nie widzę potrzeby do takiej nadgorliwości, zwłaszcza w konstrukcjach amatorskich.

    Umieszczam dodatkowo listę wspieranych układów - robię to w tym poście, bo w pierwszym nie jest to możliwe ze względu na limit "65000 znaków".

    Wspierane układy
    Lista jest dość długa i dla komfortu czytania umieściłem ją w tagu 'spoiler'. Lista została wzięta z programu USBurn.
    Spoiler:
    Nazwa PICPinyFlash(Kb)
    33FJ06GS001186
    33FJ06GS101186
    33FJ06GS101A186
    33FJ06GS102286
    33FJ06GS102A216
    33FJ06GS202286
    33FJ06GS202A286
    33FJ09GS302289
    33FJ128GP20228129
    33FJ128GP20444129
    33FJ128GP20664129
    33FJ128GP206A64129
    33FJ128GP30664129
    33FJ128GP306A64129
    33FJ128GP310100129
    33FJ128GP310A100129
    33FJ128GP70664129
    33FJ128GP706A64129
    33FJ128GP70880129
    33FJ128GP708A80129
    33FJ128GP710100129
    33FJ128GP710A100129
    33FJ128GP80228129
    33FJ128GP80444129
    33FJ128MC20228129
    33FJ128MC20444129
    33FJ128MC50664129
    33FJ128MC506A64129
    33FJ128MC510100129
    33FJ128MC510A100129
    33FJ128MC70664129
    33FJ128MC706A64129
    33FJ128MC70880129
    33FJ128MC708A80129
    33FJ128MC710100129
    33FJ128MC710A100129
    33FJ128MC80228129
    33FJ128MC80444129
    33FJ12GP2011812
    33FJ12GP2022812
    33FJ12MC2012012
    33FJ12MC2022812
    33FJ16GP1011816
    33FJ16GP1022816
    33FJ16GP3044416
    33FJ16GS4022816
    33FJ16GS4044416
    33FJ16GS5022816
    33FJ16GS5044416
    33FJ16MC1012016
    33FJ16MC1022816
    33FJ16MC3044416
    33FJ256GP50664256
    33FJ256GP506A64256
    33FJ256GP510100256
    33FJ256GP510A100256
    33FJ256GP710100256
    33FJ256GP710A100256
    33FJ256MC510100256
    33FJ256MC510A100256
    33FJ256MC710100256
    33FJ256MC710A100256
    33FJ32GP2022833
    33FJ32GP2044433
    33FJ32GP3022833
    33FJ32GP3044433
    33FJ32GS4066433
    33FJ32GS6066433
    33FJ32GS6088033
    33FJ32GS61010033
    33FJ32MC2022833
    33FJ32MC2044433
    33FJ32MC3022833
    33FJ32MC3044433
    33FJ64GP2022864
    33FJ64GP2044464
    33FJ64GP2066464
    33FJ64GP206A6464
    33FJ64GP3066464
    33FJ64GP306A6464
    33FJ64GP31010064
    33FJ64GP310A10064
    33FJ64GP7066464
    33FJ64GP706A6464
    33FJ64GP7088064
    33FJ64GP708A8064
    33FJ64GP71010064
    33FJ64GP710A10064
    33FJ64GP8022864
    33FJ64GP8044464
    33FJ64GS4066464
    33FJ64GS6066464
    33FJ64GS6088064
    33FJ64GS61010064
    33FJ64MC2022864
    33FJ64MC2044464
    33FJ64MC5066464
    33FJ64MC506A6464
    33FJ64MC5088064
    33FJ64MC508A8064
    33FJ64MC51010064
    33FJ64MC510A10064
    33FJ64MC7066464
    33FJ64MC706A6464
    33FJ64MC71010064
    33FJ64MC710A10064
    33FJ64MC8022864
    33FJ64MC8044464
    24F04KA200144
    24F04KA201204
    24F08KA101208
    24F08KA102288
    24F16KA1012016
    24F16KA1022816
    24F16KA3012016
    24F16KA3022816
    24F16KA3044416
    24F32KA3012033
    24F32KA3022833
    24F32KA3044433
    24FJ16GA0022816
    24FJ16GA0044416
    24FJ32GA0022833
    24FJ32GA0044433
    24FJ32GA1022833
    24FJ32GA1044433
    24FJ48GA0022849
    24FJ48GA0044449
    24FJ64GA0022864
    24FJ64GA0044464
    24FJ64GA0066464
    24FJ64GA0088064
    24FJ64GA01010064
    24FJ64GA1022864
    24FJ64GA1044464
    24FJ64GA1066464
    24FJ64GA1088064
    24FJ64GA11010064
    24FJ64GA3066464
    24FJ64GA3088064
    24FJ64GA31010064
    24FJ96GA0066496
    24FJ96GA0088096
    24FJ96GA01010096
    24FJ32GB0022833
    24FJ32GB0044433
    24FJ64GB0022864
    24FJ64GB0044464
    24FJ64GB1066464
    24FJ64GB1088064
    24FJ64GB11010064
    24FJ64GB5022864
    24FJ128GA00664129
    24FJ128GA00880129
    24FJ128GA010100129
    24FJ128GA10664129
    24FJ128GA10880129
    24FJ128GA110100129
    24FJ128GA30664129
    24FJ128GA30880129
    24FJ128GA310100129
    24FJ192GA10664196
    24FJ192GA10880196
    24FJ192GA110100196
    24FJ256GA10664256
    24FJ256GA10880256
    24FJ256GA110100256
    24FJ128GB10664129
    24FJ128GB10880129
    24FJ128GB110100129
    24FJ128GB20664129
    24FJ128GB210100129
    24FJ192GB10664196
    24FJ192GB10880196
    24FJ192GB110100196
    24FJ256GB10664256
    24FJ256GB10880256
    24FJ256GB110100256
    24FJ256GB20664256
    24FJ256GB210100256
    24FJ128GC006-129
    24FJ128GC010-129
    24FJ128DA10664129
    24FJ128DA110100129
    24FJ128DA20664129
    24FJ128DA210100129
    24FJ256DA10664256
    24FJ256DA110100256
    24FJ256DA20664256
    24FJ256DA210100256
    24HJ12GP2011812
    24HJ12GP2022812
    24HJ16GP3044416
    24HJ32GP2022833
    24HJ32GP2044433
    24HJ32GP3022833
    24HJ32GP3044433
    24HJ64GP2022864
    24HJ64GP2044464
    24HJ64GP2066464
    24HJ64GP206A6464
    24HJ64GP21010064
    24HJ64GP210A10064
    24HJ64GP5022864
    24HJ64GP5044464
    24HJ64GP5066464
    24HJ64GP506A6464
    24HJ64GP51010064
    24HJ64GP510A10064
    24HJ128GP20228129
    24HJ128GP20444129
    24HJ128GP20664129
    24HJ128GP206A64129
    24HJ128GP210100129
    24HJ128GP210A100129
    24HJ128GP30664129
    24HJ128GP306A64129
    24HJ128GP310100129
    24HJ128GP310A100129
    24HJ128GP50228129
    24HJ128GP50444129
    24HJ128GP50664129
    24HJ128GP506A64129
    24HJ128GP510100129
    24HJ128GP510A100129
    24HJ256GP20664256
    24HJ256GP206A64256
    24HJ256GP210100256
    24HJ256GP210A100256
    24HJ256GP610100256
    24HJ256GP610A100256
    18F24J102816
    18F24J112816
    18F24J502816
    18F25J102832
    18F25J112832
    18F25J502832
    18F26J112864
    18F26J132864
    18F26J502864
    18F26J532864
    18F27J1328128
    18F27J5328128
    18F44J104016
    18F44J114416
    18F44J504416
    18F45J104032
    18F45J114432
    18F45J504432
    18F46J114464
    18F46J134464
    18F46J504464
    18F46J534464
    18F47J1344128
    18F47J5344128
    18F63J11648
    18F63J90648
    18F64J116416
    18F64J906416
    18F65J106432
    18F65J116432
    18F65J156448
    18F65J506432
    18F65J906432
    18F66J106464
    18F66J116464
    18F66J156496
    18F66J166496
    18F66J506464
    18F66J556496
    18F66J606464
    18F66J656496
    18F66J906464
    18F66J936464
    18F67J1064128
    18F67J1164128
    18F67J5064128
    18F67J6064128
    18F67J9064128
    18F67J9364128
    18F83J11808
    18F83J90808
    18F84J118016
    18F84J908016
    18F85J108032
    18F85J118032
    18F85J158048
    18F85J508032
    18F85J908032
    18F86J108064
    18F86J118064
    18F86J158096
    18F86J168096
    18F86J508064
    18F86J558096
    18F86J608064
    18F86J658096
    18F86J728064
    18F86J908064
    18F86J938064
    18F87J1080128
    18F87J1180128
    18F87J5080128
    18F87J6080128
    18F87J7280128
    18F87J9080128
    18F87J9380128
    18F96J6010064
    18F96J6510096
    18F97J60100128
    18F13K22208
    18F13K50208
    18F14K222016
    18F14K502016
    18F23K20288
    18F23K22288
    18F24K202816
    18F24K222816
    18F24K502816
    18F25K202832
    18F25K222832
    18F25K502832
    18F26K202864
    18F26K222864
    18F43K20408
    18F43K22408
    18F44K204016
    18F44K224016
    18F45K204032
    18F45K224032
    18F45K504032
    18F46K204064
    18F46K224064
    18LF24J102816
    18LF24J112816
    18LF24J502816
    18LF25J102832
    18LF25J112832
    18LF25J502832
    18LF26J112864
    18LF26J132864
    18LF26J502864
    18LF26J532864
    18LF27J1328128
    18LF27J5328128
    18LF44J104016
    18LF44J114416
    18LF44J504416
    18LF45J104032
    18LF45J114432
    18LF45J504432
    18LF46J114464
    18LF46J134464
    18LF46J504464
    18LF46J534464
    18LF47J1344128
    18LF47J5344128
    18LF13K22208
    18LF13K50208
    18LF14K222016
    18LF14K502016
    18LF23K22288
    18LF24K222816
    18LF24K502816
    18LF25K222832
    18LF25K502832
    18LF26K222864
    18LF43K22408
    18LF44K224016
    18LF45K224032
    18LF45K504032
    18LF46K224064

  • #7
    a.bakus
    Poziom 15  
    Brawo!

    Bardzo podoba mi się twój projekt. Nie wnikam w wykonanie, szczerze mówiąc nawet nie przyglądałem się zdjęciom "z bliska", za to opis czyta się świetnie. Wszystko ładnie opisane i załączone wszystkie potrzebne do zbudowania i uruchomienia pliki.

    Życzyłbym sobie widzieć na elektrodzie więcej tak kompletnych projektów.

    Tak trzymać!
  • #8
    Freddy
    Poziom 43  
    Ja nie neguję przydatności projektu.
    Programator Brenner jest bardzo fajny i prosty.
    Można było oczywiście wykonać klona PICKIT2, ale autor wybrał taki.
    Pytanie do autora, czy będzie do tego jakaś obudowa?
  • #9
    zmyslonyy
    Poziom 26  
    @Freddy ma rację. Projekt jest w zasadzie skopiowany dlatego w zamian wypadało by więcej schludności i dokładności w takim kopiowaniu projektu. W sumie jeśli pozostali panowie nie widzą nic w tym złego to można w ogóle złożyć projekt na płytce stykowej i nie martwić się o produkowanie jakieś płytki PCB.
    Autor chyba zapomniał, że schludność, dokładność wykonania to jednak podstawa przy wykonywaniu w ogóle wszelkich projektów.
  • #10
    p.kaczmarek2
    Poziom 24  
    W wolnej chwili zamierzam zająć się jakąś obudową, płytka ma przygotowane miejsca na mocowanie więc nie będzie z tym problemu. Jak będzie jakiś postęp to zaktualizuję pierwszy post.
  • #11
    eurotips
    Poziom 36  
    Brenner to fajny programatorek który posiada autoidentyfikację PICa. Ja mam wersję 8P i dorobiony konwerter 5/3.3V do nowszych PICów. Nie widzę w tej wersji przetwornicy napięcia, to chyba wyklucza możliwość programowania starszych PIC-16xx (12V Vpp) ale niektóre z tej rodziny już mają wbudowany LVP.
  • #12
    p.kaczmarek2
    Poziom 24  
    eurotips napisał:
    Nie widzę w tej wersji przetwornicy napięcia, to chyba wyklucza możliwość programowania starszych PIC-16xx (12V Vpp)


    To prawda, jest mowa o tym w opisie konstrukcji:

    p.kaczmarek2 napisał:

    - prostotę budowy - powyższe PICe maja VPP na poziomie VDD, wiec na płytce nie jest już potrzebne źródło 12V


    ... oraz na liście wspieranych układów.

    Ale do starszych PICów wystarczy nawet prosty JDM na port szeregowy, bądź tak jak już było wspominane prosty klon PICKIT2 lub Brenner8. W sumie konstrukcję tych programatorów też mogę opisać jeśli jesteś ktoś zainteresowany (mam nadzieję, że już z lepszym wykonaniem).
  • #13
    michał_bak
    Poziom 17  
    Wartość takich prezentacji tkwi w opisie. Tu opis jest taki, że każdy, nawet absolutnie początkujący zrobi wszystko jak należy. Bez szukania, sprawdzania, prób trafiania itd.
    Tym odróżnia się od wielu innych prezentacji, które mają dużo doskonałych zdjęć z doskonale wykonanych konstrukcji i nic poza tym.
    Sam robiłem kiedyś ten programator i musiałem posłużyć się Google tłumaczem żeby przeskoczyć niemiecki.
    Tu wszystko jest podane na tacy, jest jak w tytule: po ludzku.
  • #14
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #15
    eurotips
    Poziom 36  
    michał_bak napisał:
    Wartość takich prezentacji tkwi w opisie. Tu opis jest taki, że każdy, nawet absolutnie początkujący zrobi wszystko jak należy. Bez szukania, sprawdzania, prób trafiania itd.
    Tym odróżnia się od wielu innych prezentacji, które mają dużo doskonałych zdjęć z doskonale wykonanych konstrukcji i nic poza tym.
    Sam robiłem kiedyś ten programator i musiałem posłużyć się Google tłumaczem żeby przeskoczyć niemiecki.
    Tu wszystko jest podane na tacy, jest jak w tytule: po ludzku.


    Dokładnie tak, największą trudność w tym projekcie sprawia zaprogramowanie PIC18F2550. Robiąc Brennera8 wystąpi problem przetwornicą i jednym z tranzystorów tak na prawdę nie wiadomo do czego przewidzianym, ja go całkiem usunąłem i dopiero programator ożył. Już pogodziłem się z faktem że ta konstrukcja nie będzie dalej wspierana programowo, a tu niespodzianka, po kilku latach ciszy pojawia się nowy soft.
  • #16
    p.kaczmarek2
    Poziom 24  
    eurotips napisał:

    Dokładnie tak, największą trudność w tym projekcie sprawia zaprogramowanie PIC18F2550.

    Wystarczy komputer z portem szeregowym, 7812 i parę innych części na JDMa - a jak nie to znajomy z programatorem, a jak nie ma to PW chociażby do mnie i coś się pomyśli.

    eurotips napisał:

    Robiąc Brennera8 wystąpi problem przetwornicą i jednym z tranzystorów tak na prawdę nie wiadomo do czego przewidzianym, ja go całkiem usunąłem i dopiero programator ożył.


    Który dokładnie schemat? Mógłbyś go umieścić tutaj i napisać co poprawiłeś? Ja robiłem jakiś czas temu wersję mini (ta z trzema tranzystorami) i wszystko było ok. Ta wersja miała jedynie takie dziwne zachowanie, że jeśli nie było żadnego PICa podłączonego, to rozpoznawała "PIC16F84" (chyba). To na początku mi trochę namieszało...

    W ogóle to dziękuję i za dobre słowa i za krytykę - nie spodziewałem się aż takiego odzewu.
  • #17
    eurotips
    Poziom 36  
    p.kaczmarek2 napisał:
    ,,,

    Który dokładnie schemat? Mógłbyś go umieścić tutaj i napisać co poprawiłeś? Ja robiłem jakiś czas temu wersję mini (ta z trzema tranzystorami) i wszystko było ok. Ta wersja miała jedynie takie dziwne zachowanie, że jeśli nie było żadnego PICa podłączonego, to rozpoznawała "PIC16F84" (chyba). To na początku mi trochę namieszało...,,.


    Chodzi o tranzystor w linii Vpp zwierający ją do masy poprzez rezystor 100R w kolektorze, do czego to ma służyć bo ja go musiałem wylutować,
    on występuje chyba w każdej wersji b8

    A co do pustej podstawki, tak ma być, wykryje 16F84, ale takich praktycznie nie ma, wszystkie są z literką A na końcu i po tym chociażby idzie się połapać że coś poszło nie tak
  • #18
    p.kaczmarek2
    Poziom 24  
    eurotips napisał:

    Chodzi o tranzystor w linii Vpp zwierający ją do masy poprzez rezystor 100R w kolektorze, do czego to ma służyć bo ja go musiałem wylutować


    Może do sterowania poziomem MCLR? Tam są chyba trzy stany, czyli 0 (reset), Vdd (układ pracuje) oraz Vpp (programowanie)?

    Czy działa Ci tam Target:Run (opcja startująca programowany układ po wgraniu hexa)?

    eurotips napisał:

    on występuje chyba w każdej wersji b8


    Nie w każdej - tutaj nie:
    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...
    ... a ja własnie tą budowałem. Ale ta ósemka wymaga kalibracji i jest trochę trudniejsza od opisanego w pierwszym poście Brenner9L. Któregoś dnia tez mogę opisać jej budowę.


    eurotips napisał:

    A co do pustej podstawki, tak ma być, wykryje 16F84, ale takich praktycznie nie ma, wszystkie są z literką A na końcu i po tym chociażby idzie się połapać że coś poszło nie tak


    Tak jest - ale moim zdaniem nie powinno być, zresztą jakoś PicGM czy PICKIT potrafią określić czy jest podłączony chip czy nie - wiec nie wiem czemu Brenner8 sobie z tym nie radzi.
  • #19
    NeoNeonowy
    Poziom 16  
    Witam,
    chyba nie warto - Kolego autorze tego tematu - wyważać już dawno otwartych drzwi.
    Polska strona o zestawie tych trzech przedmiotowych programatorów jest TU
    A strona niemieckiego pomysłodawcy - Spruta - TAM
    Obie w/w strony są mi od dawna znane...
    Zaś Google Chrome ma dostatecznie dobre tłumaczenie tego, że nie można zasłaniać się tym, iż dla nieznających j. nienieckiego nie jest ta strona zrozumiała.
    A co pozostawiam czytelnikom tego tematu do uważnego przeczytania stron z w/w linek i skonfrontowania z tym, co nam tu autor tego tematu przedstawił.

    Pozdrawiam
  • #20
    p.kaczmarek2
    Poziom 24  
    Witajcie moi drodzy.
    Niedawno zrobiłem prostą płytkę pod PIC24 - zawiera tylko to, co niezbędne, czyli rezystory na RESET, kondensator 100nF odsprzegający, kondensator na REG, przycisk RESET. Wyjścia są wyprowadzone na goldpiny. Do tego są ścieżki pod rezonator kwarcowy (opcjonalnie).
    Taka płytka może się przydać każdemu, kto chce się uczyć PIC24, więc udostępniam tutaj jej źródła Eagla.
    Dodatkowo wrzucam źródła i skompilowanego blinka dla PIC24FJ64GA002 z LEDem na RA1.
    Do płytki używam opisanego w temacie Brennera9L. Tyle, że aby odpalić program muszę odłączyć kabelek od RESET i włączyć "VDD" w Hardware Test Brennera.
    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...

    Programator Brenner9L po ludzku - PIC18FxxJxx, PIC24, dsPIC33...