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

Jak skopiować program z PIC 16C73B-04SP i zaprogramować nowy mikrokontroler?

Konrad_M 12 Lis 2025 10:21 237 3
REKLAMA
  • #1 21748948
    Konrad_M
    Poziom 15  
    Posty: 223
    Pomógł: 5
    Ocena: 64
    Witam
    Mam częściowo uszkodzony Mikrokontroler PIC 16C73b-04/sp w maszynie stolarskiej do frezowania firmy feler. Nie załącza stycznia głównego, natomiast reszta działa. Zakupiłem nowy mikrokontroler, potrzebuje wyciągnąć program z starego procesora i zaprogramować nowy. Czym i jak najprościej, najszybciej mogę to zrobić lub może ktoś jest w stanie mi pomóc

    @ElektrodaBot
  • REKLAMA
  • #2 21748953
    ElektrodaBot
    AI od OpenAI ChatGPT4
    Posty: 8765
    Pomógł: 352
    Ocena: 926
    Konrad_M napisał:
    Witam
    Mam częściowo uszkodzony Mikrokontroler PIC 16C73b-04/sp w maszynie stolarskiej do frezowania firmy feler. Nie załącza stycznia głównego, natomiast reszta działa. Zakupiłem nowy mikrokontroler,...
    Bezpośrednia odpowiedź
    - Skopiowanie programu ze starego PIC16C73B do nowego w 99% przypadków nie będzie możliwe, bo urządzenia przemysłowe mają włączoną ochronę kodu (Code Protection). Sam układ jest OTP/EPROM (zapis jednorazowy, ale odczytywalny tylko jeśli CP nie jest ustawione). (alldatasheet.com)
    - Najszybsza i najbezpieczniejsza droga: potwierdzić, czy problem na pewno leży w samym MCU (często uszkadza się stopień wykonawczy stycznika), a jeśli potrzebny jest nowy wsad – skontaktować się z producentem/serwisem (Felder? Proszę potwierdzić nazwę).
    - Jeśli mimo wszystko chcesz sprawdzić, czy da się odczytać stary układ: użyj programatora, który obsługuje serię PIC16C (np. Elnec BeeProg/BeeHive, XGecu TL866II+, Microchip MPLAB PM3), spróbuj odczytu i zweryfikuj, czy nie dostajesz “pustego” wzorca (0x3FFF/0x0000). (elnec.com)

    Zastrzeżenie: bez pliku HEX/oryginalnego wsadu lub wsparcia producenta sklonowanie firmware’u praktycznie się nie uda.

    ---

    Co najpierw sprawdzić w Twojej maszynie (stycznik główny)
    Bardzo często winny jest tor wykonawczy, a nie MCU. Proponuję tę kolejność:
    1. Zasilanie logiki: 5 V na VDD układu, stan MCLR≈5 V (brak ciągłych resetów).
    2. Oscylator: czy rezonator/kwarc (najpewniej 4 MHz – oznaczenie “-04” na MCU) pracuje.
    3. Warunki bezpieczeństwa: awaryjne STOP, wyłącznik drzwiowy, termik, przekaźnik bezpieczeństwa – w większości maszyn cewka stycznika jest włączona w obwód bezpieczeństwa, a mikrokontroler jedynie “zezwala” lub wystawia sygnał żądania.
    4. Tor sterowania cewką: wyjście PIC → rezystor bazy/bramki → tranzystor/MOSFET lub optoprzekaźnik → cewka stycznika + dioda gasząca (lub SSR).
    - Jeśli na pinie MCU w momencie startu pojawia się stan logiczny (oscyloskop/multimetr), a stycznik nie klika – napraw stopień wykonawczy (transystor, przekaźnik pośredni, zasilanie cewki, dioda).
    - Jeśli pin MCU pozostaje “martwy” (a reszta funkcji działa), mógł ulec uszkodzeniu tylko ten port – to nadal nie oznacza uszkodzenia wsadu.

    ---

    Jeśli mimo wszystko chcesz “sklonować” stary układ

    1) Sprzęt, który to realnie obsłuży
    - Microchip MPLAB PM3 (obsługuje wszystkie PICmicro, w tym serię C/EPROM/OTP). (digikey.com)
    - Elnec BeeProg/BeeHive (profesjonalne uniwersalne). (elnec.com)
    - XGecu TL866II+ / T48 (tanie, ale zaskakująco szeroka lista – PIC16C73B jest w spisie). (obdii365.com)
    Uwaga: typowe “płytkowe” programatory Microchipa (PICkit) są projektowane głównie do układów Flash i nie zawsze wspierają stare PIC16C/OTP – dlatego polecam powyższe. (Do ICSP wymagane są linie MCLR/VPP, RB6/PGC, RB7/PGD). (onlinedocs.microchip.com)

    2) Procedura minimalna
    - Wylutuj PIC16C73B-04/SP (DIP-28). Użyj stopu niskotopliwego lub dwóch grotów, żeby nie podnieść pól.
    - W programatorze wybierz dokładnie PIC16C73B. Spróbuj Read (odczyt).
    - Wynik:
    - Prawidłowe dane + konfiguracja (adres 0x2007) → zapisujesz HEX i programujesz nowy układ.
    - Samo 0x3FFF/0x0000 lub komunikat o ochronie → włączona ochrona kodu (CP) i odczyt jest celowo bezużyteczny. (gputils.sourceforge.io)

    Wskazówki: zachowaj kopię konfiguracji/fuse’ów (oscylator, WDT, BOR, CP). Błędne fuse’y = pozorna “usterka” maszyny po wymianie. (gputils.sourceforge.io)

    3) Dlaczego “OTP” nie oznacza “nie da się czytać”
    Seria PIC16C73B to technologia EPROM/OTP (wersja JW ma okienko UV i daje się kasować UV, wersje bez okna – nie). Odczyt jest możliwy sprzętowo, ale blokuje go Code Protection, powszechnie włączany w sprzęcie komercyjnym. (suntsu.com)

    ---

    Co zrobić, jeśli nie da się odczytać
    - Oficjalna droga: kontakt z producentem/serwisem (prawdopodobnie Felder – proszę potwierdzić model i SN). Często oferują zaprogramowany MCU lub całą płytę.
    - Donor: używana/rozbitkowa płyta z identycznej maszyny i przeszczep całego, działającego PIC-a.
    - Inżynieria odwrotna/nowy firmware: możliwe, ale kosztowne i czasochłonne; bez schematu i pełnej analizy maszynowej ryzykowne (zwłaszcza z perspektywy bezpieczeństwa).
    - Ataki laboratoryjne (dekap, wizualizacja matrycy): technicznie wykonalne w wyspecjalizowanych laboratoriach, ale koszt to zwykle setki–tysiące USD i brak gwarancji sukcesu.

    ---

    Uwaga prawna i bezpieczeństwo
    - Firmware jest zwykle chroniony prawami autorskimi; kopiowanie może wymagać zgody właściciela praw.
    - “Stycznik główny” to element układu bezpieczeństwa. Każda obejście/“mostkowanie” poza oryginalnym torem (E-STOP, przekaźniki bezpieczeństwa) jest skrajnie niebezpieczne i może naruszać normy bezpieczeństwa maszyn.

    ---

    Dodatkowe wskazówki serwisowe (praktyka)
    - ICSP na tej rodzinie wymaga 5 linii: MCLR/VPP, RB6/PGC, RB7/PGD, VDD, VSS. Jeśli chcesz spróbować odczytu w układzie, musisz odizolować RB6/RB7 od reszty toru (rezystory/bufory), inaczej programator nie przejmie magistrali. (onlinedocs.microchip.com)
    - Jeśli przyczyną jest przepalony tranzystor wyjściowy: wymień tranzystor, rezystor bazy/bramki i diodę gaszącą; sprawdź, czy cewka stycznika nie ma zwarć, a jej zasilanie jest poprawne (24 V AC/DC w zależności od modelu).
    - Jeżeli pin MCU faktycznie “umarł”, a cała reszta działa – nadal warto naprawić stopień wykonawczy, bo często to on jest źródłem wrażenia, że “MCU nie steruje”.

    ---

    Jak mogę pomóc (co będzie potrzebne)
    - Dokładny model i numer seryjny maszyny (Feler czy Felder?).
    - Dobre zdjęcia obustronne płytki sterującej (w szczególności okolice PIC-a i toru stycznika).
    - Napięcie cewki stycznika i symbol elementów w torze (tranzystor/optoprzekaźnik).
    - Informacja, czy masz dostęp do któregoś z w/w programatorów; jeśli tak, przeprowadzimy wspólnie szybki test odczytu i ocenę, czy CP uniemożliwia klonowanie.

    Jeżeli chcesz, mogę przygotować checklistę pomiarów krok‑po‑kroku z konkretnymi punktami pomiarowymi na PCB i bezpieczną procedurą testu cewki stycznika (bez naruszania toru bezpieczeństwa).
    Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot. Zastrzeżenie: Niektóre odpowiedzi udzielone przez ElektrodaBota mogą być niedokładne. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi ElektrodaBota powinny być zweryfikowane przez użytkownika. OpenAI może monitorować i zapisywać informacje wprowadzane po wywołaniu ElektrodaBota.
  • REKLAMA
  • #3 21748959
    Gienek
    Poziom 37  
    Posty: 2775
    Pomógł: 393
    Ocena: 352
    Ten procesor prawdopodobnie zabezpieczony jest przed odczytem. Zatem potrzebny byłby wsad od producenta.
    Dlatego lepiej jest skontaktować się z firmą producenta tej maszyny i kupić oryginalny procesor zaprogramowany ( o ile posiadają w sprzedaży).
  • #4 21753594
    Konrad_M
    Poziom 15  
    Posty: 223
    Pomógł: 5
    Ocena: 64
    Niestety producent sprzedaje tylko kompletną płytę główną za około 2000zł. Procesor już zamówiłem spróbuję skopiować wsad, jeżeli się nie uda pozostaje zakup nowej płyty niestety.
REKLAMA