Sadržaj:
- Supplies
- Korak 1: Teorija
- Korak 2: Testiranje kola
- Korak 3: Dizajniranje PCB -a za potpuno dodavanje
- Korak 4: Dizajniranje ostalih PCB -a
- Korak 5: Spajanje komponenti na PCB
- Korak 6: Dovršavanje PCB -a za slaganje
- Korak 7: Napajanje strujnih krugova
- Korak 8: 3D štampanje baze
- Korak 9: Montaža
- Korak 10: Izračunavanje i poređenje
- Korak 11: Zaključak
Video: 4-bitni binarni kalkulator: 11 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Razvio sam interesovanje za način rada računara na fundamentalnom nivou. Htio sam razumjeti upotrebu diskretnih komponenti i kola potrebnih za izvršavanje složenijih zadataka. Jedna važna fundamentalna komponenta u CPU -u je aritmetička logička jedinica ili ALU koja izvodi operacije nad cijelim brojevima. Da bi ispunili ovaj zadatak, računari koriste binarne brojeve i logička vrata. Jedna od najjednostavnijih izvedenih operacija je zbrajanje dva broja zajedno, u zbrojnom krugu. Ovaj video broj numberphile odlično radi objašnjavajući ovaj koncept putem Domino Addition. Matt Parker proširuje ovaj osnovni koncept i gradi Domino računarsko kolo koristeći 10 000 domina. Izgradnja cijelog personalnog računara od domina je apsurdna, ali sam i dalje želio razumjeti upotrebu diskretnih komponenti za postizanje ovog zadatka dodavanja. U video zapisima logička vrata su stvorena od domina, ali se mogu napraviti i od osnovnih komponenti, naime tranzistora i otpornika. Svrha ovog projekta bila je upotreba ovih diskretnih komponenti za učenje i stvaranje vlastitog 4-bitnog sabirača kalkulatora.
Moji ciljevi za ovaj projekt su uključivali: 1) Naučiti kako stvoriti i proizvesti prilagođenu PCB2) Učiniti dizajn lakim za osmišljavanje dodavanjem binarnih brojeva3) Pokazati razliku u razmjeri između diskretnih komponenti i integriranog kola koje obavlja isti zadatak
Većina inspiracije i razumijevanja ovog projekta došla je od Simon Inns -a.
Supplies
Koristio sam Fritzing za izradu shema, izradu i izradu PCB -a
Korak 1: Teorija
Brojanje u bazi 10 je jednostavno jer postoji različit cijeli broj koji predstavlja zbir dva cijela broja. Najjednostavniji primjer:
1 + 1 = 2
Brojanje u bazi 2 ili binarno koristi samo brojeve 1 i 0. Kombinacija 1 i 0 se koristi za predstavljanje različitih cijelih brojeva i njihovih zbira. Primjer brojanja u bazi 2:
1+1 = 0 i nosite 1 u sljedeći bit
Dodavanjem dva bita (A i B) zajedno, moguća su 4 različita rezultata sa izlazima Sum i Carry (Cout). Ovo je prikazano u tabeli.
Logička vrata uzimaju ulaze i generiraju izlaz. Neki od najosnovnijih logičkih vrata sastoje se od vrata NOT, AND i OR koji se koriste u ovom projektu. Sastoje se od različitih kombinacija i ožičenja tranzistora i otpornika. Dostavljene su sheme svake kapije.
Vraćajući se na tabelu, Kombinacija ovih kapija može se koristiti za dobivanje rezultata zbrajanja u tabeli. Ova kombinacija logike poznata je i kao ekskluzivna OR (XOR) kapija. Ulaz mora biti točno 1 da bi rezultat bio 1. Ako su oba ulaza 1, rezultirajući izlaz je 0. Rezultati bitova za prijenos mogu se predstaviti jednostavnim vratima AND. Dakle, upotreba oba XOR -a sa vratima AND može predstavljati cijelu tablicu. Ovo je poznato kao Half Ader, a shema je prikazana gore.
Da bi se dodali veći binarni brojevi, bit za prijenos mora biti ugrađen kao ulaz. Ovo se postiže kombinovanjem 2 kola polusabirača za stvaranje potpunog sabiranja. Potpuni zbrajatelji se tada mogu kaskadno spojiti kako bi se dodali veći binarni brojevi. U svom projektu kaskadirao sam 4 puna sabirača što mi je omogućilo da imam 4 bitne ulaze. Shema potpunog sabiranja je gore.
Simon Inns ima sjajno i detaljnije pisanje o teoriji. Postoji i nekoliko PDF -ova koji su mi bili od pomoći.
Korak 2: Testiranje kola
Prvi korak nakon razumijevanja kako logička vrata rade i teorije punog sabiranja je izgradnja kola. Počeo sam prikupljanjem svih komponenti koje su mi bile potrebne: 10K i 1K otpornici, NPN tranzistori, Breadboard, Jumperwires. Slijedio sam zajedno s ispisom punog sabirača. Proces je bio naporan, ali uspio sam nabaviti radni krug za potpuni zbrajač. Ja bih vezao ulaze visoko ili nisko i koristio bih multimetar za testiranje izlaza. Sada sam bio spreman prevesti matičnu ploču i shemu na PCB.
Korak 3: Dizajniranje PCB -a za potpuno dodavanje
Za dizajn PCB -a koristio sam isključivo Fritzing. Ovo je bio moj prvi put da dizajniram PCB i ovaj program mi se činio najprikladnijim za korisnike i intuitivnim s najmanjom krivuljom učenja. Dostupni su i drugi sjajni programi poput EasyEDA i Eagle koji će vam pomoći u dizajniranju PCB -a. Pomoću Fritzinga možete započeti projektiranje na virtualnoj ploči ili shemi, a zatim preći na PCB. Koristio sam obje ove metode za ovaj projekt. Kada ste spremni za izradu PCB -a, jednostavno je pritiskom na dugme izvesti vaše datoteke i otpremiti ih direktno u Aisler, partnerskog proizvođača za Fritzing.
Nacrtajte shemu Započeo sam sa karticom sheme za početak procesa. Prvo sam pronašao i umetnuo sve komponente u radni prostor. Zatim sam nacrtao sve tragove između komponenti. Pobrinuo sam se da dodam 5V ulaz i masu na odgovarajuća mjesta.
Dizajnirajte PCBI klikom na karticu PCB. Kada se pomaknete izravno sa sheme, dobivate nered sa svim komponentama spojenim pacovskim linijama na osnovu tragova koje ste napravili na shemi. Prvo što sam učinio je promijenio veličinu sive ploče na željenu veličinu i dodao rupe za montažu. Dodao sam i 16 pinova za ulaze i izlaze. Zatim sam počeo slagati komponente na logičan način. Pokušao sam grupirati komponente s vezama koje su blizu jedna drugoj kako bih minimizirao udaljenost praćenja. Napravio sam dodatni korak i grupirao komponente zajedno po logičkim vratima. Jedan od mojih ciljeva bio je biti u mogućnosti vizualizirati kako krug funkcionira i moći pratiti "bit" kroz kolo. Nakon toga sam upotrijebio funkciju automatskog usmjeravanja koja automatski prolazi i iscrtava optimizirane tragove između komponenti. Bio sam skeptičan da je ovaj proces dovršio sva prava praćenja pa sam prošao dvostruku provjeru i ponovno iscrtavanje tragova tamo gdje su trebali biti. Srećom, funkcija automatskog usmjeravanja odradila je prilično dobar posao i morao sam popraviti samo nekoliko tragova. Autorouter je napravio i neke čudne uglove sa tragovima što nije "najbolja praksa", ali bilo mi je to u redu i sve je i dalje radilo u redu. Posljednje što sam učinio je dodavanje teksta koji će se štampati kao sitotisak. Uvjerio sam se da su sve komponente označene. Takođe sam uvezao prilagođene slike logičkih vrata kako bih naglasio grupisanje komponenti. Posljednja gornja slika prikazuje sitotisak.
Izradite PCBI klikom na dugme za izradu pri dnu ekrana. Izravno me preusmjerio na web stranicu Aisler gdje sam mogao napraviti račun i učitati sve svoje Fritzing datoteke. Napustio sam sve zadane postavke i izvršio narudžbu.
Korak 4: Dizajniranje ostalih PCB -a
Preostale tiskane ploče koje su mi trebale bile su ulazno/izlazna ploča sučelja i ploča za IC. Pratio sam proces kao korak 3 za ove ploče. PDF sheme su objavljene u nastavku. Za IC, sve veze sam napravio pomoću funkcije virtualne ploče. Uključio sam shemu radi potpunosti, ali sam uspio preći direktno s matične ploče na karticu PCB -a, što je bilo super. Također sam dodao bazu 10 u bazu 2 grafikona konverzije na sitotisku na I/O ploči sučelja prije postavljanja i naručivanja u Aisler.
Korak 5: Spajanje komponenti na PCB
Stigle su sve PCB ploče i zaista sam bio impresioniran kvalitetom. Nisam imao iskustva s drugim proizvođačima, ali ne bih oklijevao ponovno upotrijebiti Aisler.
Sljedeći zadatak je bio lemljenje svih komponenti, što je bio mukotrpan proces, ali moje sposobnosti lemljenja su se uvelike poboljšale. Počeo sam s punim sabiralnim pločama i lemio komponente počevši od tranzistora, zatim 1K otpornika, pa 10K otpornika. Slijedio sam sličnu metodu za lemljenje ostatka komponenti na U/I i IC ploču. Nakon što je svaka ploča Full Adder završena, testirao sam ih istom metodom kao i matična ploča Full Adder. Iznenađujuće, sve ploče su radile ispravno bez problema. To je značilo da su ploče pravilno postavljene i da su pravilno lemljene. Pređite na sljedeći korak!
Korak 6: Dovršavanje PCB -a za slaganje
Sljedeći zadatak je bio lemljenje svih pinova zaglavlja na svaku ploču. Također sam morao dodati kratkospojnike između ispravnog pina zaglavlja i ulaza/izlaza ploča Full Adder (A, B, Cin, V+, GND, Sum, Cout). Ovaj korak bi se mogao izbjeći ako ste dizajnirali različite PCB -ove za svaki nivo zbrajajućeg kruga, ali sam htio minimizirati dizajn i troškove stvaranjem samo jedne PCB sa punim sabiranjem. Kao rezultat toga, za povezivanje na ove ulaze/izlaze potrebne su kratkospojne žice. Priložena shema prikazuje kako sam postigao ovaj zadatak i koje su igle korištene za svaki nivo ploča Full Adder. Slike pokazuju kako sam lemio kratkospojnike za svaku ploču. Započeo sam lemljenjem besplatnih žica na odgovarajuće pinove na zaglavlju. Zatim sam zalemio zaglavlje na PCB. Nakon što sam zalijepio igle zaglavlja sa žicama za kratkospojnike, lemio sam slobodne krajeve kratkospojnika za ispravne izvode na PCB -u. Gornja slika prikazuje krupne pinove zaglavlja sa spojenim žicama na njih.
Korak 7: Napajanje strujnih krugova
Za ovaj projekt sam planirao koristiti napajanje sa 12V DC barel utičnicom pa sam dizajnirao I/O interfejs ploču da ima DC barel jack/konektor za ulaz energije. Budući da sam koristio istu U/I ploču i želio sam koristiti jedino napajanje potrebno mi je za regulaciju napona na 5V jer je to maksimalni ulaz za SN7483A IC. Da bih to postigao, trebao sam regulator od 5 V i prekidač koji je mogao prebacivati između 12V i 5V. Gornja shema prikazuje kako sam spojio strujni krug.
Korak 8: 3D štampanje baze
Sada kada su ožičenje i lemljenje završeni, morao sam shvatiti kako će se sve to držati zajedno. Odlučio sam se za CADing i 3D štampanje, dizajn koji bi prilagodio i prikazao sve dijelove ovog projekta.
Razmatranja o dizajnu Trebala su mi mjesta za postavljanje PCB -a pomoću vijaka i nosača. Naslagani zbrajači su vizualno najatraktivniji i htio sam ih prikazati kada se ne koriste pa sam htio mjesto za pohranu IC PCB -a. Morao sam prilagoditi krug napajanja s izrezima za prekidač i DC priključnicom/konektorom. Na kraju, želio sam neku vrstu vitrine kućišta kako bih spriječio skupljanje prašine u otvorenim PCB -ovima pa mi je trebalo mjesto za sjedenje kućišta.
3D modeliranjeKoristio sam Fusion360 za dizajn baze. Počeo sam s dimenzijama PCB -a i razmakom rupa za montažu. Nakon toga sam upotrijebio niz skica i istiskivanja za postavljanje visine i veličine baze s točkama za ugradnju na PCB. Zatim sam napravio izreze za kućište i strujni krug. Zatim sam napravio prostor za pohranu IC PCB -a kada se ne koristi. Na kraju sam dodao neke završne detalje i poslao ih u Cura, moj softver za rezanje.
Štampanje Odabrao sam crnu PLA nit. Štampanje je trajalo nešto više od 6 sati i odlično je ispalo. Iznenađujuće, sve su dimenzije bile ispravne i sve je izgledalo kao da se dobro uklapa. Na gornjoj slici je otisak nakon što sam ugradne zastoje dodao u rupe za montažu. Savršeno su pristajali!
Korak 9: Montaža
Umetnite zastoje. Postavio sam sve zastoje u montažne rupe na bazi.
Postavite krug napajanja u bazu. Sve sam povezao i izvukao sve komponente kroz otvor za prekidač. Zatim sam umetnuo utičnicu/adapter u stražnju stranu baze. Gurnuo sam regulator 5V u njegov utor i konačno je prekidač mogao biti postavljen na mjesto.
Montirajte I/O PCB. Stavio sam IC PCB u skladišni prostor i postavio PCI ulazno/izlaznog interfejsa na vrh. Zašrafio sam PCB pomoću 4x M3 vijka i šesterokutnog odvijača. Konačno sam priključio priključak DC cijevi u PCB.
Složite Adder PCB -ove. Složio sam prvi Adder na mjesto. Zašrafio sam stražnju stranu PCB -a u rupe za pričvršćivanje stražnje strane s 2 nosača. Ponavljao sam ovaj postupak sve dok posljednji dodavač nije bio na mjestu i učvrstio ga s još 2 vijka M3.
Napravite kućište. Koristio sam 1/4 akril za kućište. Izmjerio sam konačnu visinu projekta i, dimenzijama CAD -a, izrezao 5 komada za stranice i vrh kako bih napravio jednostavnu kutiju s otvorenim dnom. Koristio sam epoksid za lijepljenje Konačno sam izbrusio mali izrez u obliku polukruga s desne strane kako bih prilagodio prekidač.
Spreman za izračun
Korak 10: Izračunavanje i poređenje
Uključite svoj novi kalkulator i počnite dodavati! Osnovni grafikon 10 u bazu 2 može se koristiti za brzu konverziju između binarnih i cijelih brojeva. Više volim postaviti ulaze, a zatim pritisnuti "jednako" okretanjem prekidača za napajanje i promatranjem binarnog izlaza sa LED dioda.
Poređenje diskretnih komponenti sa integrisanim kolom. Sada možete raspakirati pune zbrajalice i uključiti SN7483A IC u I/O ploču. (Ne zaboravite okrenuti prekidač u suprotnom smjeru za napajanje IC -a sa 5V umjesto 12V). Možete izvesti iste proračune i dobit ćete iste rezultate. Prilično je impresivno misliti da i diskretna komponenta Adder i IC funkcioniraju na isti način samo na vrlo različitoj skali veličina. Slike prikazuju iste ulaze i izlaze za kola.
Korak 11: Zaključak
Nadam se da ste uživali u ovom projektu i naučili isto koliko i ja. Prilično je zadovoljstvo naučiti nešto novo i pretvoriti ga u jedinstveni projekt koji također zahtijeva učenje novih vještina poput dizajna/izrade PCB -a. Sve sheme su navedene u nastavku. Za sve zainteresovane mogu povezati i svoje PCB Gerber datoteke tako da možete napraviti vlastiti 4-bitni binarni kalkulator. Sretno stvaranje!
Preporučuje se:
Mikro binarni sat: 10 koraka (sa slikama)
Mikro binarni sat: Nakon što je prethodno kreiran Instructable (Binary DVM), koji koristi ograničeno područje prikaza pomoću binarnog programa. Bio je to samo mali korak nakon što je prethodno kreiran glavni kodni modul za decimalnu u binarnu konverziju do stvaranja binarnog sata, ali t
BigBit binarni ekran sata: 9 koraka (sa slikama)
BigBit ekran sa binarnim satom: U prethodnom Instructable (Microbit Binary Clock), projekat je bio idealan kao prenosivi desktop uređaj jer je ekran bio prilično mali. Stoga se činilo prikladnim da sledeća verzija bude verzija na policu ili na zid, ali mnogo veća
Vrhunski binarni sat: 12 koraka (sa slikama)
Ultimativni binarni sat: Nedavno sam se upoznao sa konceptom binarnih satova i počeo sam istraživati kako bih vidio mogu li sebi napraviti jedan. Međutim, nisam uspio pronaći postojeći dizajn koji bi bio istovremeno funkcionalan i moderan. Pa sam odlučio
Arduino binarni budilnik, uradi sam: 14 koraka (sa slikama)
DIY Arduino binarni budilnik: Opet klasični binarni sat! Ali ovaj put s još više dodatnih funkcija! U ovom uputstvu pokazat ću vam kako izgraditi binarni budilnik sa Arduinom koji vam može pokazati ne samo vrijeme, već i datum, mjesec, čak i s mjeračem vremena i alarmom
Binarni kalkulator: 11 koraka
Binarni kalkulator: Pregled: Od prvog izuma logičke kapije u 20. stoljeću, došlo je do stalnog razvoja takve elektronike i ona je sada jedna od najjednostavnijih, ali fundamentalno važnih elektroničkih komponenti u mnogim različitim aplikacijama