
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.

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):

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)

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³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.


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±.



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.

Testy wysz³y pomy¶lnie - nie mam niestety tej konsoli, wiêc musia³em sam stworzyæ odpowiedni `tester`:







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