Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Płytka do naprawy pada konsoli SEGa

phanick 29 Jan 2018 16:58 4590 0
Altium Designer Computer Controls
  • Płytka do naprawy pada konsoli SEGa
    Opisywane urządzenie to zastępcza płytka drukowana do naprawy uszkodzonego pada do konsol Sega. Może całość nie jest niczym wielce odkrywczym, ale mam myślę, że nie zaniża zbyt poziomu forum. Nie jest to wszakże wzięcie gotowych modułów i podłączenie ich do bieduino, lecz zaprojektowanie układu i wykonanie PCB.

    Projekt, jak to zwykle bywa, zrodził się z potrzeby - dostałem do naprawy uszkodzonego pada do Segi. Jak to z budżetowymi urządzeniami bywa, płytka składa się z pojedynczego scalaka bezpośrednio umieszczonego na PCB, więc naprawa istniejącej PCB nie była możliwa.

    Płytka do naprawy pada konsoli SEGa

    Postanowiłem zrobić więc nową płytkę od zera. Jednak, jak w przypadku naprawy padów do Pegasusa, gdzie zastosowałem mikrokontroler atmega8, tym razem postanowiłem zrobić dla sportu wszystko na bramkach.

    Na szczęście mam inny działający pad, więc mogłem zanalizować jego działanie. Dżojstik posiada czterokierunkowy krzyżak (d-pad) i cztery przyciski: A, B, C, Start. Dodatkowo obecne są przyciski TurboA, TurboB, TurboC, których naciśnięcie udaje szybkie naciskanie A,B,C. Od spodu konsoli jest przełącznik, który określa, czy przycisk Start po wduszeniu ma się zachowywać zwyczajnie, czy też jako Turbo. Turbo dla A,B,C jest 2 razy wolniejsze niż turbo dla Start (być może dla gier ma to jakieś znaczenie, nie wnikam).

    Protokół obsługi Pada jest czymś pomiędzy kontrolerem do Atari/C64, gdzie stan każdego przycisk był wyprowadzony na oddzielny pin w porcie, a padem do Pegasusa, gdzie stan wszystkich przycisków jest przekazywany do konsoli szeregowo jedną linią. W SEDZE niektóre przyciski są podłączone na stałe do pinów portu, a inne są podłączone parami do wspólnego pinu (ustawienie linii select określa, który przycisk ma być odczytany):

    Płytka do naprawy pada konsoli SEGa

    Koniecznym jest więc użycie multipleksera (74157). Jako generator Turbo użyłem prostego układu na trzech inwerterach 7406, które rozładowują/ładują kondensator C poprzez rezystor R (iloczyn tych wartości określa stałą czasową - częstotliwość generacji)
    Płytka do naprawy pada konsoli SEGa

    Drugie tyle czasu poświęciłem na dokładne zdjęcie wymiarów płytki - pozycje otworów montażowych oraz miejsce, gdzie można umieścić scalaki (wbrew pozorom jest go niedużo, gdyż w padzie są kołki przyciskające płytkę do obudowy z obu stron) - miejsce na elementy, które mogą `wystawać` z płytki oznaczone jest małym prostokątem w środku. Sprytne wybranie odpowiednich wejść układów pozwala zminimalizować stopień skomplikowania ścieżek (w zasadzie dałoby się to pewnie zrobić na jednej warstwie bez przelotek).
    Płytka do naprawy pada konsoli SEGa


    Płytkę wykonałem klasycznie termotransferem. Od niedawna do wiercenia małych otworów (0.8mm/1mm) używam wierteł z węglików spiekanych - muszę powiedzieć, że jakość otworów jest bez porównania. Wiertło też nie tępi się wcale. Jednak trzeba być ostrożnym, bo o ile klasycznego wiertła HSS/kobaltowego nigdy nie złamałem, a płytki robię od kilku lat, to pierwsze wiertło węglikowe złamałem po 30 sekundach (zawsze wiercę z dobrego statywu), kolejne pod koniec dnia (a szkoda, bo każde było po 5 zł). Potem kupiłem wiertła węglikowe z Chin za 1/10 tej ceny i od tej pory już żadnego nie złamałem. Podobno Chińczycy nie nauczyli się jeszcze robić tandetnych wierteł węglikowych. ;)

    Płytka do naprawy pada konsoli SEGa

    Po wykonaniu całość prezentuje się jak poniżej - w obudowie mieści się idealnie. PCB zwykle zabezpieczam topnikiem na bazie kalafonii (tanio i szybko), jednak dla pól kontaktowych do padów/złącz krawędziowych z oczywistych względów nie można go nanosić. Postanowiłem więc sprawdzić różne metody cynowania.
    *Cynowanie niskotopliwym stopem Lichtenberga - trochę drogie, powłoka wychodzi gruba, do tego trzeba to robić nad wrzątkiem, co mnie zniechęciło
    *Cynowanie pastą lutowniczą do rur miedzianych Sn97Cu3 - wychodzi całkiem ładnie, powłoka jest cieniutka - tą metodą pocynowałem PCB.
    To, co mnie pozytywnie zaskoczyło, to tak pocynowana PCB dużo lepiej się lutuje, niż jedynie po zabezpieczeniu kalafonią.

    Płytka do naprawy pada konsoli SEGa Płytka do naprawy pada konsoli SEGa
    Płytka do naprawy pada konsoli SEGa

    Mały kabelek na dole jest wynikiem drobnego błędu, natomiast taśma izolacyjna wokół pól turbo zabezpiecza przed zwieraniem ich gumką do masy (pola powinny być troszkę przesunięte w prawo). Ja pozycje przycisków określiłem mierząc pola kontaktowe na oryginalnej PCB. Dopiero potem po dokładniejszym przyjrzeniu się jej zauważyłem, że faktyczne położenie przycisków w padzie jest trochę inne - można to zauważyć np. poprzez ślady gumek odciśnięte na tej płytce.
    Płytka do naprawy pada konsoli SEGa


    Testy wyszły pomyślnie - nie mam niestety tej konsoli, więc musiałem sam stworzyć odpowiedni `tester`:

    Płytka do naprawy pada konsoli SEGa Płytka do naprawy pada konsoli SEGa Płytka do naprawy pada konsoli SEGa Płytka do naprawy pada konsoli SEGa Płytka do naprawy pada konsoli SEGa Płytka do naprawy pada konsoli SEGa Płytka do naprawy pada konsoli SEGa

    Kilka szczegółów:
    Realizując taki projekt na mikrokontrolerze, można wejścia przycisków podciągnąć do VCC wykorzystując wbudowane w scalak rezystory. Tutaj należałoby je podciągnąć rezystorami, ale jaką dać wartość? Przy korzystaniu z układów CMOS pewnie 10k byłoby odpowiednie. Ja akurat miałem `stare` scalaki TTL (seria LS). Ze swojego doświadczenia wiem, że pobierają one swoim wejściem prąd rzędu 0.5 mA, więc na rezystorze 10k odłożyłoby się 5V i zamiast wejścia w stanie wysokim, byłoby w stanie niskim. 1k wydaje się być lepszą wartością, ale z kolei przycisk po wciśnięciu powodowałby przepływ prądu 5 mA przez gumkę od pada (nie wiem, czy by mu to nie zaszkodziło).
    Ja zrezygnowałem w ogóle z rezystorów podciągających - wiszące wejścia układów TTL mają automatycznie stan wysoki, wynikający z ich budowy. Natomiast przyciski bezpośrednio podłączone do wyjścia pada nawet w oryginalnej PCB nie są podciągnięte, więc odpowiednie rezystory podciągające są zapewne obecne we wnętrzu konsoli.

    Cool? Ranking DIY
    About Author
    phanick
    Level 28  
    Offline 
    Has specialization in: energetyk najwyższych napięć
    phanick wrote 2609 posts with rating 2599, helped 61 times. Live in city Warszawa. Been with us since 2007 year.
  • Altium Designer Computer Controls