Mogu li i ja da napravim Galaksiju?
Projekat samogradnje nove Galaksije vam se čini zanimljiv, probali biste da je i sami sastavite, ali nikada pre ništa niste lemili, nemate opremu i alat, a ni adekvatan radni prostor. Deluje da ima i sitnih delova, a ni vid vam baš nije savršen. Možete li, uprkos svemu, da sastavite računar koji će na kraju proraditi? Lično iskustvo je dalo odgovor – DA!
Kada sam početkom godine saznao da se priprema reprint Računara u vašoj kući i novi projekat samogradnje Galaksije, priča mi se odmah dopala. Iako sam imao sreću da pripadam generaciji koja je mogla da iz prve ruke prati razvoj kućnih računara od njihovih skromnih početaka (moj prvi računar bio je 8-bitni Oric Nova 64, koji je ubrzo zamenjen moćnijim Commodore-om 64, zatim su došli PC računari…) do onoga što su oni danas, ostao mi je osećaj da sam, propustivši originalnu Galaksiju, ipak ostao uskraćen za jedno važno iskustvo. Možda čak i ono najvažnije i najzanimljivije. Sada se ukazala prilika da to ispravim…
Iako smo na fakultetu temeljno izučavali oblasti arhitekture računara, digitalne elektronike i mikroprocesorskih sistema (u to vreme su se i na računarskom smeru ETF-a polagali vrlo ozbiljni ispiti iz analogne elektronike), od nas nikada nije traženo da nešto lemimo. Ipak sam odlučio da pokušam da naučim da lemim i da sastavim računar. Nisam se pokajao: nastala je potpuno funkcionalna Galaksija! Nakon završenog posla mogu da kažem da prethodno obrazovanje iz oblasti eletrotehnike i profesionalno bavljenje IT tehnologijama (ali ne elektronikom) nisu naodmet, ali apsolutno nisu neophodni za krajnji uspeh. Sve što treba da uradite jeste da svaku od komponenti prepoznate i ispravno je zalemite na odgovarajuće, jasno obeleženo mesto. Daleko najveći deo posla u celom projektu je samo lemljenje.
Govoreći iz perspektive nekog ko nije lemio ništa pre Galaksije, mogu reći da nivo tehnike lemljenja koji treba posedovati da bi se uspešno sklopio računar ne treba potceniti, ali nema potrebe ni precenjivati ga. Uz malo prethodne vežbe, moći ćete relativno brzo da krenete u sastavljanje računara. Komponente koje se prvo leme najmanje su zahtevne za lemljenje, tako da će se proces učenja zapravo nastaviti kroz sklapanje samog računara. Ukoliko nemate prethodno iskustvo sa lemljenjem, možete očekivati da ćete na čitav posao potrošiti 10 do 15 radnih sati.
Šta sve treba da imate?
Pre nego što uđete u ceo posao preporučujem da pročitate publikacije koje prate projekat. Reč je, pre svega, o sajtu racunari.com/galaksija/ i tekstovima u štampanom izdanju Računari u vašoj kući. Da biste sastavili Galaksiju, potrebni su vam delovi za samogradnju i alat. Treba od PC Press-a nabaviti osnovni kit koji sadrži ploču i programirane EPROM-e, dok se čipovi i pasivne komponente mogu kao komplet kupiti u firmi Kelco u Beogradu. U kompletu se ne nalaze tasteri i kapice tastera za tastaturu, ali i njih možete da kupite u firmi Kelco.
Najvažniji alat je sama lemilica. Ako je nikada niste kupovali, u prvi mah možete biti zbunjeni velikim izborom koji postoji na tržištu, ali stvari zapravo i nisu tako komplikovane. Ja sam gledao cenovni rang od 5.000 do 10.000 dinara. Za taj novac možete nabaviti štapnu lemilicu renomiranog proizvođača ili no-name lemnu stanicu. Lemna stanica ima centralnu jedinicu s displejem koji pokazuje temperaturu i tastere koji omogućavaju njeno podešavanje. Na centralnu jedinicu je kablom povezana sama lemilica, koja ima izmenjivi vrh – ovu mogućnost je korisno imati, jer se upotrebom vrh troši, a njegovom zamenom se lemilica praktično potpuno zanovi. Za no-name uređaje ovi vrhovi koštaju oko 300 dinara, dok su za uređaje renomiranih proizvođača oni znatno skuplji. Kroz čitav posao potrošio sam tri vrha, a koristio sam oštre vrhove od 0,2 mm. Po savetu iskusnijih kolega, opredelio sam se za no-name lemnu stanicu, jer se tako dobija mogućnost podešavanja temperature i zamenjivi vrhovi.
Trebaće vam tinol-žica (ja sam koristio 0,5 mm), a poželjno je da imate i vakuum pumpu (osnovni model koji sam ja koristio košta manje od 1000 din) i „fitilj“ ili „pletenicu“ za razlemljivanje (manje od 500 din). Treba imati i klešta-sečice kojima ćete odseći višak žičanih vrhova sa zalemljenih komponenti i pincetu (trebaće vam samo da pridržite i pozicionirate EEPROM čip tokom lemljenja, ja sam iskoristio običnu pincetu koju sam imao u kući).
Prethodno obrazovanje iz oblasti eletrotehnike i profesionalno bavljenje IT tehnologijama nisu naodmet, ali apsolutno nisu neophodni za krajnji uspeh
Koristio sam i univerzalni merni instrument („unimer“). Za manje od 2000 din može se kupiti elementarni model. On će pomoći da proverite da li ste ispravno prepoznali otpornike, a meni je bio od pomoći i pred kraj posla kada je trebalo identifikovati i korigovati manje probleme.
Da bi se Galaksija sastavila, potrebno je dosta lemljenja, a prilikom lemljenja se emituju isparenja, ostatak lema može da tu i tamo kapne, tako da treba odabrati odgovarajuće mesto gde možete radite. Ako nemate radionicu, možete to da uradite i na nekom dobro provetrenom mestu u kući, najbolje terasi ili lođi. Ja sam u zastakljenu lođu izneo mali sto, na njega stavio stari plastični poslužavnik da sačuva sto od kapanja i prljanja, a onda postavio mali USB ventilator koji sam usmerio ka otvorenom prozoru da bih eliminisao udisanje isparenja. Mogu se kupiti i razni filteri za prečišćavanje isparenja, kao i profesionalne stone podloge za lemljenje, ali ja to nisam imao.
Lemljenje i kako ga naučiti
Predlažem da za početak pročitate tekst o lemljenju u časopisu i na sajtu projekta (tekst „Kako zalemiti komponente“, s puno primera i ilustracija, je veoma koristan). Možete i odgledati neki video na YouTube-u o tome. Zamolio sam za pomoć kolegu koji ima nešto iskustva, a potom i ljubaznog gospodina iz obližnjeg elektroservisa (dva puta po pola sata). Suštinu onoga što sam tom prilikom i kroz kasniji rad naučio, pokušaću da prenesem ovim tekstom. Ove redove ne piše elektroničar-profesionalac, pa ih ne treba posmatrati kao precizno uputstvo za rad i nabavku alata, već pre svega kao podelu iskustva jednog hobiste koji je uspešno prošao kroz projekat samogradnje.
Pre nego što krenete bilo šta da radite s lemilicom, imajte u vidu da ona radi na vrlo visokoj temperaturi – lako je opeći se ili istopiti i oštetiti neki kabl (uključujući i kabl same lemilice), tako da vam preporučujem da budete pažljivi.
Ako bi trebalo najkraće opisati lemljenje, moglo bi se reći da je reč o postupku u okviru koga se lemni materijal (tinol) zagrejanom lemilicom istopi tako da se razlije po metalnim kontaktima elemenata koje treba međusobno povezati. Potom se lemilica ukloni, tinol ohladi, očvrsne i tako poveže elemente i između njih uspostavi provodni kontakt.
Na 99% lemnih mesta na Galaksiji se komponente leme takozvanim THT (Through Hole Technology) metodom. To praktično znači da je lemno mesto mali kružni otvor/rupica na ploči kroz koju treba provući pin ili izvod komponente koja se lemi. Sa obe strane ploče oko otvora/lemnog mesta postoji mala metalizirana površina oblika prstena. Ove dve prstenaste površine su međusobno povezane jer je i obod otvora kroz celu dubinu ploče takođe metaliziran. Cilj je da sve ove metalizirane površine nakon lemljenja budu prekrivene tinolom. Pošto se tinol mnogo bolje prostire po prethodno zagrejanom metalu, pre prinošenja tinol žice ovakvom lemnom mestu, zagrejani vrh lemilice treba istovremeno prisloniti na pin/izvod koji se lemi i površinu prstena / lemnog mesta, zadržati ga tu 1-2 sekunde, pa onda još 1-2 sekunde sa druge strane pina (ploča se ne okreće, samo se lemilica premesti) i tako ravnomerno zagrejati celu lemnu površinu, pa tek onda prineti vrh tinol žice.
Vrh lemilice, vrh tinol žice i pin/izvod komponente koja se lemi na ploču treba da se tokom lemljenja sretnu na praktično istoj tački na lemnom mestu. Tinol će se brzo istopiti i rastopljena masa će „optrčati“ krug i pokriti čitav metalizirani prsten. Kada vidite da je rastopljeni tinol zatvorio krug i pokrio ceo prsten (za to je potrebna otprilike sekunda od trenutka kada se tinol rastopi), uklonite tinol žicu, a vrh lemilice ostavite na lemnom mestu još sekundu do dve da bi se tinol lepo rastopio i rasporedio po celoj lemnoj površini, pa onda uklonite i lemilicu. I to je to: kontakt je zalemljen.
Preostali 1% čine osam lemnih mesta koja su predviđena za osmopinski SMD EEPROM čip. SMD znači Surface Mount Device – nema rupice, već na ploči postoji samo mala metalizirana površina na koju se lemi pin komponente. Ovo lemljenje je malo komplikovanije, ali nije neizvodljivo. Dobra stvar je da računar radi i bez ovog čipa (ali tada nije moguće snimati programe na EEPROM), tako da možete da isprobate ispravnost računara i pre nego što ga zalemite. Najbolje je da taj čip lemite kao poslednji, kada ste već uvežbani. Vrhom tinol žice dodirnuo sam zagrejani vrh lemilice, pa malu količinu tinola koji je bio na vrhu lemilice naneo na lemno mesto u uglu.
Onda sam pincetom postavio čip, pritisnuo vrhom lemilice po pinu koji se nalazi na mestu na koje sam prethodno naneo malo tinola, i kada se tinol rastopio taj pin se, ne sasvim čvrsto, vezao za metalnu podlogu. To je i bio cilj – ostali pinovi nisu bili sasvim na svom mestu, pa slabiji prvi lem omogućava da ga lemilicom istopite i pincetom polako pozicionirate čip. Kada su se svi pinovi našli na svojim mestima, vrhom tinol žice sam ponovo dodirnuo vrh lemilice i onda lemilicu s malo tinola na vrhu prislonio na sledeći pin, zatim prineo i tinol žicu lemnom mestu i tako na svih osam pinova.
Ako nikada niste lemili, prvo vežbajte lemljenje na nečemu drugom. Nabavio sam dve male test-ploče sa tačkama (a ne sa linijama!), nekoliko pin letvica (na slici) i nekoliko otpornika (mogu biti proizvoljne otpornosti) za vežbanje THT lemljenja.
Sklapanje računara
Nakon uspešno završene vežbe, vreme je za lemljenje računara. Komponente treba lemiti redosledom od nižih ka višim, jer to omogućava da ploča lepo stoji na stolu dok radite, i da komponente koje lemite ne ispadaju kada okrenete ploču lemnom stranom naviše. Kolege iz kompanije Kelco su se potrudile da klasiraju i razdvoje komponente, kao i da prilože papirno uputstvo koje olakšava pronalaženje delova.
Prvo se leme otpornici. Ako imate Unimer, sada je trenutak da ga iskoristite. Otpornost otpornika se na njihovom kućištu ne navodi kao brojka, već kodom sa obojenim linijama. Ne morate da znate kako se taj kod čita (mada ni to nije komplikovano) jer na Kelco papirnom uputstvu imate naveden redosled obojenih linija za svaku veličinu otpornika. Ipak, otpornici su mali i neke boje se nekad teško razlikuju pa je merni instrument tu da otkloni svaku dilemu. Otpornici nemaju polaritet, kako god da ih okrenete, nećete pogrešiti. Žičane izvode na otporniku treba saviti na veličinu koju diktira rastojanje između otvora na ploči, ugurati otpornik do kraja, zatim okrenuti ploču tako da legne na otpornik koji ste ubacili i drži ga u mestu, i zalemiti ga. Ploča treba da bude okrenuta tako da se lemi na onoj strani na kojoj je oznaka „LEMNA STRANA“. Kada zalemite otpornik, sečicama uklonite višak žice. Isto važi i za ostale komponente koje imaju takve izvode.
Odmah posle otpornika treba zalemiti diode manjih dimenzija (D1-D4). Diode je moguće okrenuti naopako i tu treba biti pažljiv. Negativan pol diode je označen linijom i na crtežu na ploči je označeno gde taj kraj treba da stoji. Zatim na red dolaze čipovi i podnožja, gde takođe treba paziti na orijentaciju. Svaki od njih ima urezan mali polukrug na jednoj strani, i na ploči je obeleženo na kojoj strani on treba da bude.
Na malenom SMD EEPROM čipu (podsećam da je njega najbolje lemiti kasnije) nema polukruga – njegovu ispravnu orijentaciju odredićete tako što ga okrenete tako da su oznake na njemu normalno čitljive (nisu obrnute). Tada je pin 1 dole levo, a upravo je pozicija prvog pina označena na ploči.
Sledeći na redu za lemljenje su kondenzatori. Za većinu kondenzatora orijentacija nije bitna, a kapacitet ćete prepoznati po brojnoj oznaci navedenoj u papirnom uputstvu. Izuzetak su kondenzatori C5 i C6 gde treba obratiti pažnju na orijentaciju/polaritet. Papirno uputstvo će vam pomoći da odredite koji je pol pozitivan, i on je označen na ploči. Na elektrolitskim polarisanim kondenzatorima koji su bili u mom kompletu, pozitivan pol se označava dužim provodnikom.
Primetićete da su za kondenzator C3 predviđene tri pozicije iako on ima samo dva kraja – to je zato što se on isporučuje u fizičkim pakovanjima različitih veličina. Ploča dozvoljava upotrebu bilo koje varijante pakovanja kondenzatora. Ako ne možete da se snađete sa oznakom na ploči, da biste bili sigurni da ste izabrali dva prava mesta, podesite merni instrument na merenje otpornosti na najmanji opseg, pa pronađite dve tačke između kojih je otpornost blizu nule (oko 1 om ili manje). Tako ćete pronaći dve tačke koje su kratko spojene. Za lemljenje treba iskoristiti samo jednu od te dve tačke za jedan kraj kondenzatora C3 i treću tačku za njegov drugi kraj.
Na ploči postoji i jedan NPN tranzistor. Prepoznaćete ga jer je to jedina komponenta sa tri pina. Na ploči su slovima B i C označene pozicije baze i kolektora, okrenite tranzistor kao na slici da mu ravna strana bude napred a polukružna pozadi i identifikujte odgovarajuće pinove.
Pozicija kvarc kristala na ploči označena je slovom Q (njegova orijentacija nije bitna). Njega, kao i LED (svetleću) diodu, možete lemiti pred kraj. Na orijentaciju LED diode treba paziti, pozitivan konektor je duži i njegova pozicija je označena na ploči. Takođe, LED diodu ne treba dogurati do same ploče, jer ona treba da bude vidljiva i u nivelaciji s kućištem računara (u slučaju da ga pravite ili nabavljate). Pozicije dva RESET tastera i konektora za video-izlaz i napajanje lako je pronaći.
Tropolni konektor za vezu sa PC-jem lemite tako da tri provodnika budu okrenuta ka boku računara ili naviše, u zavisnosti od tipa konektora koji vam je došao u kompletu (u slučaju ravnog konektora pinovi će ići uvis, a u slučaju konektora od 90 stepeni konektori će biti usmereni na bok računara). Ako vam ne odgovara onaj koji ste dobili u kompletu, kupite drugi, košta svega nekoliko desetina dinara. Postoje dve tropolne pozicije za lemljenje, možete lemiti na bilo koju od njih, one su predviđene samo da bi oba raspoloživa tipa (ravan ili 90 stepeni) konektora mogla da se lepo pozicioniraju u odnosu na ploču i kućište.
Ovo je trenutak kada je zalemljeno sve osim tastera i SMD EEPROM čipa. Sada možete da isprobate računar. Priključite ga na napajanje od 5 V tako što ćete preraditi USB kabl po uputstvu sa sajta/časopisa ili iskoristiti kućni ispravljač koji ima 5 V izlaz, povežite ga na monitor (koristi se jedan od tri provodnika standardnog kompozitnog AV kabla – na monitoru treba koristiti žuti konektor; crveni i beli su namenjeni za zvuk koji Galaksija nema) i trebalo bi da se na ekranu pojavi poruka READY.
Ukoliko se pojavi nečitljiva poruka koja ipak podseća na READY ali kojoj nedostaje dosta piksela, verovatno imate varijantu Z80 mikroprocesora koja zahteva malu i jednostavnu korekciju na ploči – pogledajte tekst „Ispravke na matičnoj ploči“ na sajtu projekta.
Možete da isprobate i tastaturu iako je još niste zalemili. Ubacite jedan taster bez kapice na neku od pozicija, pritisnite ga i onda blago zarotirajte na jednu ili drugu stranu – to uspostavlja vezu između dve lemne tačke tastera, i odgovarajući karakter bi trebalo da se pojavi na ekranu.
Ako nikada pre niste lemili, poželjno je da pre rada na računaru malo vežbate na nečem drugom. Možete da nabavite test-ploče, nekoliko pravih pin letvica i par otpornika da biste savladali tehniku THT lemljenja
Ostaje da zalemite EEPROM i tastere. Postoje tri rešenja za montažu tastera SPACE: ja sam odabrao drugo, koje podrazumeva lemljenje dva bočna stubića tastera i montažu dugačke kapice za SPACE na njih (treći, srednji taster, u tom slučaju se ne lemi). Ono je vrlo jednostavno za izradu, nije ništa složenije nego za ostale tastere, i vrlo sam zadovoljan kako se pokazalo u praksi.
Na kraju, možda će biti potrebno da obavite nekoliko manjih korektivnih intervencija na ploči koje su opisane u tekstu „Ispravke na matičnoj ploči“ na sajtu projekta. Ima ih ukupno tri i odnose se na prvu seriju proizvedenih ploča koju ćete prepoznati po oznaci V2R5 Jan 2024 iznad oznake „PC Press“. Korekciju „tajming procesora“ možda nećete morati ni da radite (samo neki od modela Z80 procesora to zahtevaju). Korekcija „PAL ili NTSC“ je potrebna na svim pločama, dok korekcija „Vertikalna pozicija slike“ nije uvek neophodna – ona je potrebna samo ako je na vašem monitoru slika pomerena previše ka gornjoj ivici ekrana – ova korekcija će je spustiti za jedan red.
U ovom trenutku pred vama bi trebalo da se nalazi funcionalna Galaksija. Na sajtu projekta ćete naći i detaljno uputstvo kako da je povežete na PC i prebacite programe i igre sa sajta na EEPROM svog novog računara.
Tri megaherca danas?
U današnje vreme svi smo skloni pragmatizmu, pa i ovo pitanje zaslužuje pažnju. Razloge vidim pre svega u zadovoljstvu koje pruža samo sklapanje, a na kraju posla i činjenica da ste sopstvenim rukama sastavili jedan računar. To zadovoljstvo ne mogu da pruže svi gigaherci i terabajti koje je danas moguće kupiti na svakom (fizičkom ili online) ćošku. Ako nemate prethodno znanje i/ili obrazovanje iz oblasti elektronike, ovo zadovoljstvo će možda biti i veće.
Ako vas oblast arhitekture računara zanima i imate određeni nivo razumevanja te materije, tek onda Galaksija postaje prava poslastica. Moderni računari jesu mnogo kompleksniji, ali su i dalje zasnovani na istim osnovnim principima kao Galaksija i njoj slični računari. Galaksija predstavlja sjajnu ilustraciju kako stvari funkcionišu na osnovnom hardverskom nivou, školski primer optimalnog dizajna hardvera i softvera i njihovog precizno usklađenog rada. Analizom njene arhitekture i ROM-a (na sajtu dejanristanovic.com/galaksija/ na linku „Disasemblirani ROM 1 za Galaksiju“ može se naći kompletan asemblerski kod ROM-a originalne Galaksije) mogu se razumeti mnogi praktični aspekti dizajna hardvera i sistemskog softvera u mašinskom jeziku i videti brojna zanimljiva rešenja. Navešću samo neke od primera koji su meni bili zanimljivi.
U vreme kada je originalna Galaksija dizajnirana, memorija je bila skupa i trebalo je u 4 kilobajta smestiti čitav ROM: BASIC interpreter i operativni sistem računara koji uključuje i kod koji ispisuje sadržaj ekrana (u odsustvu zasebnog video hardvera, ovaj posao u Galaksiji obavlja procesor). Zato je trebalo štedeti na memoriji na svakom koraku, pa je memorijski zapis pet instrukcija koje na ekranu iscrtavaju piksele jednog reda pet susednih karaktera, iskorišćen da se istovremeno kodira string BREAK koji računar ispisuje na ekranu kada korisnik prekine rad programa pritiskom na taster ESC odnosno BREAK. Izbegavanjem kodiranja stringa BREAK na zasebnoj lokaciji, uštedelo se tada dragocenih 5 bajtova memorije.
Posebnu pažnju privlači elegantno rešenje kontrole ispisa karaktera na ekranu. Njih na video izlaz, bit po bit (piksel po piksel) šalje pomerački registar (čip 74HCT166), a u njega oni stižu iz ROM čipa Character generator, čija svaka lokacija (bajt) sadrži definiciju jednog horizontalnog reda od osam piksela. Svaki karakter koji Galaksija može da ispiše na ekranu definisan je u matrici od 13×8 tačaka, tako da je za njegovu definiciju potrebno 13 bajtova u generatoru karaktera. Za adresiranje u generatoru karaktera koristi se specifičnost procesora Z80 da u jednom delu ciklusa izvršavanja instrukcija procesor na adresnu magistralu izbaci sadržaj dva svoja registra.
Projektanti procesora Z80 su predvideli ovu funkciju za potrebe osvežavanja sadržaja dinamičkih RAM memorija. Galaksija koristi statički RAM, pa osvežavanje nije potrebno i ova funkcionalnost je iskorišćena da bi se adresirala lokacija u generatoru karaktera. Veštom upotrebom upravljačkih signala procesora i spoljašnjeg flip-flopa kontroliše se rad pomeračkog registra (kada se upisuje novi sadržaj a kada samo pomera postojeći, šaljući bit na video izlaz). Zahvaljujući ovom lucidnom rešenju, bilo je moguće da procesor koji radi na samo 3 MHz, dovoljno brzo i u precizno određenom trenutku ažurira sadržaj registra koji izbacuje piksele na ekran i da ceo računar ostane jednostavan i ekonomičan.
Samogradnja Galaksije je privlačan zadatak i za hobiste-amatere i za profesionalce, pa može biti zanimljiva svim generacijama. Ako ste počeli da se bavite IT-jem u osamdesetim godinama prošlog veka, nova Galaksija će vam omogućiti da ponovo osetite šarm vremena koga se sa nostalgijom sećate, a ako ste mlađi, omogućiće vam da iz prve ruke vidite kako je ono izgledalo. Sklapanjem Galaksije postaćete učesnik i deo projekta koji je, u domaćim IT okvirima, od istorijskog značaja. Zato, lemilicu u ruke, i samo napred. Budite uporni, strpljivi, pažljivi i – proradiće!
Autor: Nemanja Milutinović