INHOUDSOPGAWE:

4-bis binêre sakrekenaar: 11 stappe (met foto's)
4-bis binêre sakrekenaar: 11 stappe (met foto's)

Video: 4-bis binêre sakrekenaar: 11 stappe (met foto's)

Video: 4-bis binêre sakrekenaar: 11 stappe (met foto's)
Video: РАДУЖНЫЕ ДРУЗЬЯ — КАЧКИ?! НЕЗАКОННЫЕ Эксперименты VR! 2024, November
Anonim
4-bis binêre sakrekenaar
4-bis binêre sakrekenaar
4-bis binêre sakrekenaar
4-bis binêre sakrekenaar
4-bis binêre sakrekenaar
4-bis binêre sakrekenaar
4-bis binêre sakrekenaar
4-bis binêre sakrekenaar

Ek het 'n belangstelling ontwikkel in die manier waarop rekenaars op 'n fundamentele vlak werk. Ek wou die gebruik van diskrete komponente en die stroombane wat nodig is om meer komplekse take uit te voer, verstaan. Een belangrike fundamentele komponent in 'n SVE is die rekenkundige logiese eenheid of die ALU wat bewerkings op heelgetalle doen. Om hierdie taak te verrig, gebruik rekenaars binêre getalle en logiese hekke. Een van die eenvoudigste bewerkings wat uitgevoer word, is om twee getalle bymekaar te voeg in 'n byvoegingskring. Hierdie video deur numberphile lewer 'n uitstekende taak om hierdie konsep via Domino Addition te verduidelik. Matt Parker brei hierdie basiese konsep uit en bou 'n Domino -rekenaarbaan met 10 000 domino's. Dit is absurd om 'n hele persoonlike rekenaar uit domino's te bou, maar ek wou nog steeds die gebruik van diskrete komponente verstaan om hierdie bykomende taak uit te voer. In die video's is logiese hekke uit domino's geskep, maar dit kan ook bestaan uit basiese komponente, naamlik transistors en resistors. Die doel van hierdie projek was om hierdie diskrete komponente te gebruik om my eie 4-bis-optellerrekenaar te leer en te skep.

My doelwitte vir hierdie projek was: 1) Leer hoe om 'n pasgemaakte PCB te skep en te vervaardig.

Baie van die inspirasie en begrip van hierdie projek kom van Simon Inns.

Voorrade

Ek het Fritzing gebruik om skemas te maak, die PCB's te maak en te vervaardig

Stap 1: Teorie

Teorie
Teorie
Teorie
Teorie
Teorie
Teorie
Teorie
Teorie

Om in basis 10 te tel is eenvoudig omdat daar 'n ander heelgetal is wat die som van twee heelgetalle verteenwoordig. Die eenvoudigste voorbeeld:

1 + 1 = 2

Om in basis 2 of binêre te tel, gebruik slegs 1's en 0's. 'N Kombinasie van 1's en 0's word gebruik om verskillende heelgetalle en hul somme voor te stel. 'N Voorbeeld van tel in basis 2:

1+1 = 0 en jy dra die 1 na die volgende bietjie

As twee bisse (A en B) bymekaar getel word, is 4 verskillende resultate moontlik met die uitsette van Sum en Carry (Cout). Dit is wat in die tabel getoon word.

Logiese hekke neem insette en genereer 'n uitset. Sommige van die mees basiese logiese hekke bestaan uit die NOT-, AND- en OF -hekke wat almal in hierdie projek gebruik word. Hulle bestaan uit verskillende kombinasies en bedrading van transistors en resistors. Skema's van elke hek word verskaf.

Met verwysing na die tabel, kan 'n kombinasie van hierdie hekke gebruik word om die som -resultate in die tabel te lewer. Hierdie kombinasie van logika staan ook bekend as 'n eksklusiewe OF (XOR) hek. Die inset moet presies 1 wees om 'n uitset van 1. As beide insette 1 is, is die uitset 0. Die resultaat van die dra -bits kan deur 'n eenvoudige EN -hek voorgestel word. Die gebruik van beide 'n XOR met 'n EN -hek kan dus die hele tabel voorstel. Dit staan bekend as 'n halfadder en die skematiese voorstelling word hierbo getoon.

Om groter binêre getalle by te voeg, moet die dra -bit as 'n invoer ingesluit word. Dit word bereik deur twee Half Adder -kringe te kombineer om 'n Full Adder te genereer. Volle optellers kan dan saamgevoeg word om groter binêre getalle by te voeg. In my projek het ek 4 Full Adders opgeval, wat my in staat gestel het om 4 bis insette te hê. Die skema vir die volledige byvoeging is hierbo.

Simon Inns het 'n uitstekende en meer diepgaande artikel oor die teorie. Daar is ook 'n paar PDF's wat ek nuttig gevind het.

Stap 2: Toets die stroombaan

Toets die stroombaan
Toets die stroombaan
Toets die stroombaan
Toets die stroombaan

Die eerste stap na die verstaan van hoe logiese hekke werk en die teorie agter 'n Full Adder is om die kring te bou. Ek het begin met die versameling van al die komponente wat ek benodig: 10K en 1K weerstande, NPN Transistors, Breadboard, Jumperwires. Ek het gevolg met 'n afdruk van die volledige adder. Die proses was vervelig, maar ek kon 'n werkskring vir die volledige opteller kry. Ek sou die insette hoog of laag vasmaak en 'n multimeter gebruik om die uitsette te toets. Nou was ek gereed om die broodbord en die skematiese vertaling na 'n PCB te vertaal.

Stap 3: Ontwerp die volledige adder -PCB

Ontwerp van die volledige adder -PCB
Ontwerp van die volledige adder -PCB
Ontwerp van die volledige adder -PCB
Ontwerp van die volledige adder -PCB
Ontwerp van die volledige adder -PCB
Ontwerp van die volledige adder -PCB

Vir die ontwerp van die PCB het ek uitsluitlik Fritzing gebruik. Dit was die eerste keer dat ek 'n PCB ontwerp het, en hierdie program was die gebruikersvriendelikste en intuïtiefste met die kleinste leerkurwe. Daar is ander uitstekende programme soos EasyEDA en Eagle beskikbaar om 'n PCB te ontwerp. Met Fritzing kan u begin ontwerp op 'n virtuele broodplank of 'n skema, en dan na die PCB gaan. Ek het albei hierdie metodes vir hierdie projek gebruik. As u gereed is om die PCB te vervaardig, is dit so eenvoudig soos met die klik op 'n knoppie om u lêers uit te voer en dit direk op te laai na Aisler, die vervaardiger van Fritzing.

Teken die skematiese Ek begin met die skematiese oortjie om die proses te begin. Eerstens het ek al die komponente in die werkruimte gevind en ingevoeg. Vervolgens het ek al die spore tussen die komponente geteken. Ek het seker gemaak dat ek 5V insette en grond by die toepaslike plekke voeg.

Ontwerp die PCBI wat op die PCB -oortjie geklik het. As u direk van 'n skematiese stap beweeg, word u gemors met al die komponente wat met ratsnestlyne verbind is, gebaseer op die spore wat u in die skematiese teken gemaak het. Die eerste ding wat ek gedoen het, was om die grootte van die grys PCB te verander na die grootte wat ek wou hê, en om monteergate by te voeg. Ek het ook 16 penne vir die invoer en uitsette bygevoeg. Daarna het ek die komponente op 'n logiese manier begin rangskik. Ek het probeer om komponente te groepeer met verbindings wat naby aan mekaar was, sodat ek die spoorafstand sou verminder. Ek het 'n ekstra stap gegaan en die komponente saamgegroepeer volgens die logiese hek. Een van my doelwitte was om in staat te wees om te visualiseer hoe die kring werk en om die "bietjie" deur die kring te volg. Daarna het ek die outorouting -funksie gebruik wat outomaties deurloop en die geoptimaliseerde spore tussen die komponente teken. Ek was skepties dat hierdie proses al die regte opsporings voltooi het. Gelukkig het die outorouting -funksie baie goed gedoen en moes ek net 'n paar van die opsporings regstel. Die outorouter het ook 'n paar vreemde hoeke gemaak met die spore wat nie die 'beste praktyk' is nie, maar ek was goed daarmee en alles werk nog steeds goed. Die laaste ding wat ek gedoen het, was om teks by te voeg wat as die syskerm gedruk sou word. Ek het seker gemaak dat al die komponente gemerk is. Ek het ook persoonlike logiese hekfoto's ingevoer om die groepering van die komponente te beklemtoon. Die laaste prentjie hierbo toon die syskerm.

Vervaardig die PCBI en klik op die vervaardigingsknoppie onderaan die skerm. Dit het my direk na die Aisler -webwerf gestuur, waar ek 'n rekening kon maak en al my Fritzing -lêers kon oplaai. Ek het al die standaardinstellings verlaat en die bestelling geplaas.

Stap 4: Ontwerp die ander PCB's

Die ontwerp van die ander PCB's
Die ontwerp van die ander PCB's
Die ontwerp van die ander PCB's
Die ontwerp van die ander PCB's
Die ontwerp van die ander PCB's
Die ontwerp van die ander PCB's

Die oorblywende PCB's wat ek nodig gehad het, was die invoer/uitvoer -koppelvlakbord en die bord vir die IC. Ek het die proses gevolg soos Stap 3 vir hierdie borde. Die pdf van die skemas word hieronder geplaas. Vir die IC het ek alle verbindings gemaak met die virtuele broodbordfunksie. Ek het die skema vir volledigheid ingesluit, maar ek kon direk van die broodbord na die PCB -oortjie gaan, wat baie gaaf was. Ek het ook 'n basis 10 tot basis 2 -omskakelingskaart op die syskerm op die I/O -koppelvlakbord bygevoeg voordat ek dit in Aisler oplaai en bestel.

Stap 5: Soldeer komponente aan PCB

Soldeerkomponente aan PCB
Soldeerkomponente aan PCB
Soldeerkomponente aan PCB
Soldeerkomponente aan PCB
Soldeerkomponente aan PCB
Soldeerkomponente aan PCB
Soldeerkomponente aan PCB
Soldeerkomponente aan PCB

Al die PCB's het aangekom en ek was baie beïndruk met die kwaliteit. Ek het geen ervaring met ander vervaardigers nie, maar sal nie huiwer om Aisler weer te gebruik nie.

Die volgende taak was om al die komponente te soldeer, wat 'n moeisame proses was, maar my soldeervaardighede het aansienlik verbeter. Ek het begin met die volledige optellerborde en die komponente gesoldeer, begin met transistors, dan 1K weerstande, dan 10K weerstande. Ek het 'n soortgelyke metode gevolg om die res van die komponente op die I/O- en IC -bord te soldeer. Nadat elke Full Adder -bord voltooi was, het ek dit met dieselfde metode as die breadboard Full Adder getoets. Verbasend genoeg het al die borde sonder probleme gewerk. Dit het beteken dat die planke korrek gelei is en dat dit korrek gesoldeer is. Op na die volgende stap!

Stap 6: Voltooi die PCB's vir stapel

Die afwerking van die PCB's vir stapel
Die afwerking van die PCB's vir stapel
Die afwerking van die PCB's vir stapel
Die afwerking van die PCB's vir stapel
Die afwerking van die PCB's vir stapel
Die afwerking van die PCB's vir stapel

Die volgende taak was om al die koppenne aan elke bord vas te soldeer. Ek moes ook draaddrade tussen die korrekte koppen en die insette/uitsette van die Full Adder -borde (A, B, Cin, V+, GND, Sum, Cout) byvoeg. Hierdie stap kan vermy word as u verskillende PCB's vir elke vlak van die adder -kring ontwerp, maar ek wou die ontwerp en koste verminder deur slegs een Full Adder PCB te skep. As gevolg hiervan het verbindings met hierdie in-/uitsette jumperdrade nodig. Die skematiese uiteensetting is hoe ek hierdie taak verrig het en watter penne vir elke vlak van die Full Adder -borde gebruik is. Beelde wys hoe ek die jumperdrade vir elke bord gesoldeer het. Ek het begin deur gratis drade aan die regte penne op die kop te soldeer. Ek soldeer dan die kop aan die PCB. Nadat ek die koppenne met springdrade op hul plek laat soldeer het, het ek die vrye ente van die draaddrade aan die korrekte leidings op die PCB gesoldeer. Die foto hierbo toon 'n close -up van die koppenne met die jumperdrade daaraan vasgesoldeer.

Stap 7: Skakel die stroombane aan

Die krag van die stroombane
Die krag van die stroombane
Die stroombane aanskakel
Die stroombane aanskakel
Die krag van die stroombane
Die krag van die stroombane

Ek was van plan om 'n 12V DC -stroomaansluiting vir hierdie projek te gebruik, en ek het die I/O -koppelvlakbord ontwerp om 'n DC -jackaansluiting/-aansluiting vir die kraginvoer te hê. Omdat ek dieselfde I/O -bord gebruik en 'n enigste kragtoevoer wou gebruik, moes ek die spanning na 5V reguleer, aangesien dit die maksimum ingang vir die SN7483A IC is. Om dit te bereik, het ek 'n 5V -reguleerder en 'n skakelaar nodig wat tussen die 12V en 5V kan wissel. Die skema hierbo wys hoe ek die kragkring aanmekaar gekoppel het.

Stap 8: 3D -druk van die basis

3D -druk van die basis
3D -druk van die basis
3D -druk van die basis
3D -druk van die basis
3D -druk van die basis
3D -druk van die basis

Noudat al die bedrading en soldeerwerk voltooi is, moes ek uitvind hoe dit bymekaar gehou sou word. Ek het gekies vir CADing en 3D -drukwerk vir 'n ontwerp wat al die dele van hierdie projek kon akkommodeer en vertoon.

Ontwerpoorwegings Ek het plekke nodig om die PCB's met boute en afstande te monteer. Die gestapelde Adders is die mees aantreklikste en ek wou dit vertoon as dit nie gebruik word nie, so ek wou 'n plek hê om die IC PCB op te slaan. Ek moes die kragkring met uitsnydings vir die skakelaar en DC -vataansluiting/-aansluiting akkommodeer. Laastens wou ek 'n omhulselkas hê om te verhoed dat stof in die oop PCB's ophoop, so ek het 'n plek nodig vir die omhulsel.

3D -modellering Ek het Fusion360 gebruik om die basis te ontwerp. Ek het begin met die afmetings van die PCB en die afstand tussen die monteergate. Daarna het ek 'n reeks sketse en ekstrusies gebruik om die hoogte en grootte van die basis met die monteerpunte van die PCB vas te stel. Daarna het ek die uitsparings vir die omhulsel en die kragkring gemaak. Toe maak ek 'n plek om die IC PCB te stoor as dit nie gebruik word nie. Laastens het ek 'n paar besonderhede oor die afwerking bygevoeg en dit na Cura, my snyprogrammatuur, gestuur.

Drukwerk Ek het 'n swart PLA -filament gekies. Die afdruk het 'n bietjie meer as 6 uur geneem en het puik gevaar. Verbasend genoeg was al die afmetings korrek en het alles gelyk asof dit behoorlik bymekaar pas. Die foto hierbo toon die afdruk nadat ek die afstande in die bevestigingsgate gevoeg het. Hulle pas perfek!

Stap 9: Montering

Vergadering
Vergadering
Vergadering
Vergadering
Vergadering
Vergadering

Voeg die afstande in. Ek het al die afstande in die monteergate van die basis geplaas.

Plaas die kragkring in die basis. Ek het alles bymekaargemaak en al die komponente deur die gat vir die skakelaar getrek. Vervolgens het ek die kragaansluiting/adapter agter in die basis ingesteek. Ek het die 5V -reguleerder in sy gleuf gedruk en uiteindelik kon die skakelaar in sy posisie gedruk word.

Monteer die I/O PCB. Ek het die IC PCB in die stoorplek geplaas en die I/O interface PCB bo -op geplaas. Ek het die PCB vasgeskroef met 4x M3 -boute en 'n heksskroef. Uiteindelik het ek die DC -vataansluiting in die PCB gekoppel.

Stapel die Adder PCB's. Ek het die eerste Adder op sy plek gepak. Ek het die agterkant van die printplaat in die agterste bevestigingsgate vasgeskroef met 2 afstande. Ek het hierdie proses herhaal totdat die laaste Adder op sy plek was en dit vasgemaak met nog twee M3 -boute.

Maak die omhulsel. Ek het 1/4 akriel vir die omhulsel gebruik. Ek het die finale hoogte van die projek gemeet en met die CAD -afmetings 5 stukke aan die kante en bokant uitgesny om 'n eenvoudige boks met 'n oop bodem te maak. Ek het epoksie gebruik om te plak die stukke saam. Uiteindelik het ek 'n klein sny met 'n halwe sirkel aan die regterkant geskuur om aan die skakelaar te voldoen.

Klaar om te bereken

Stap 10: Bereken en vergelyk

Image
Image
Berekening en vergelyking
Berekening en vergelyking
Berekening en vergelyking
Berekening en vergelyking

Koppel u nuwe sakrekenaar aan en begin byvoeg! Die basis 10 na basis 2 grafiek kan gebruik word om vinnig tussen binêre en heelgetalle om te skakel. Ek verkies om die insette in te stel, druk dan op 'gelyk' deur die aan / uit -skakelaar om te skakel en die binêre uitset van die LED's te sien.

Vergelyk diskrete komponente met 'n geïntegreerde stroombaan. U kan nou die volledige adders uitpak en die SN7483A IC in die I/O -bord aansluit. (Moenie vergeet om die skakelaar in die teenoorgestelde rigting te draai om die IC met 5V in plaas van 12V aan te skakel nie). U kan dieselfde berekeninge uitvoer en u sal dieselfde resultate kry. Dit is redelik indrukwekkend om te dink dat beide die diskrete komponent Adder en die IC op dieselfde manier op 'n baie ander grootte skaal funksioneer. Die foto's toon dieselfde insette en uitsette vir stroombane.

Stap 11: Gevolgtrekking

Ek hoop jy het hierdie projek geniet en soveel geleer as ek. Dit is redelik bevredigend om iets nuuts te leer en dit te omskep in 'n unieke projek wat ook 'n nuwe vaardigheid soos PCB -ontwerp/vervaardiging vereis. Al die skemas word hieronder gelys. Vir almal wat belangstel, kan ek ook my PCB Gerber-lêers koppel sodat u u eie 4-bis binêre sakrekenaar kan maak. Lekker maak!

Aanbeveel: