Obsah:
- Zásoby
- Krok 1: Teorie
- Krok 2: Testování obvodu
- Krok 3: Návrh desky plošných spojů Full Adder
- Krok 4: Navrhování ostatních desek plošných spojů
- Krok 5: Pájení součástí na desku plošných spojů
- Krok 6: Dokončení desek plošných spojů pro skládání
- Krok 7: Napájení obvodů
- Krok 8: 3D tisk základny
- Krok 9: Sestavení
- Krok 10: Výpočet a srovnání
- Krok 11: Závěr
Video: 4bitová binární kalkulačka: 11 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:19
Začal jsem se zajímat o to, jak počítače fungují na základní úrovni. Chtěl jsem porozumět použití diskrétních komponent a obvodů nezbytných pro splnění složitějších úkolů. Jednou důležitou základní součástí CPU je aritmetická logická jednotka nebo ALU, která provádí operace s celými čísly. K provedení tohoto úkolu používají počítače binární čísla a logické brány. Jednou z nejjednodušších prováděných operací je sčítání dvou čísel dohromady v obvodu sčítačky. Toto video od numberphile odvádí skvělou práci při vysvětlování tohoto konceptu pomocí Domino Addition. Matt Parker rozšiřuje tento základní koncept a staví obvod Domino Computer pomocí 10 000 domina. Vybudování celého osobního počítače z domina je absurdní, ale přesto jsem chtěl pochopit použití diskrétních komponent pro splnění tohoto přidávacího úkolu. Ve videích byly logické brány vytvořeny z domina, ale mohou být také vyrobeny ze základních komponent, jmenovitě tranzistorů a rezistorů. Účelem tohoto projektu bylo využít tyto diskrétní komponenty k učení a vytvoření vlastní 4bitové kalkulačky sčítačky.
Moje cíle pro tento projekt zahrnovaly: 1) Naučte se vytvářet a vyrábět vlastní PCB 2) Usnadněte koncepci přidáním binárních čísel design 3) Ukažte rozdíl v měřítku mezi diskrétními komponentami a integrovaným obvodem, který provádí stejný úkol
Velká část inspirace a porozumění tomuto projektu pochází od Simon Inns.
Zásoby
Použil jsem Fritzing k vytváření schémat, vytváření a výrobě desek plošných spojů
Krok 1: Teorie
Počítání v základu 10 je jednoduché, protože existuje jiné celé číslo, které představuje součet dvou celých čísel. Nejjednodušší příklad:
1 + 1 = 2
Počítání v základně 2 nebo binární používá pouze 1 a 0. Kombinace 1 a 0 se používá k reprezentaci různých celých čísel a jejich součtů. Příklad počítání v základu 2:
1+1 = 0 a přenesete 1 na další bit
Při sčítání dvou bitů (A a B) dohromady jsou možné 4 různé výsledky s výstupy Sum a Carry (Cout). To je uvedeno v tabulce.
Logické brány přijímají vstupy a generují výstup. Některé z nejzákladnějších logických bran se skládají z bran NOT, AND a OR, které jsou všechny použity v tomto projektu. Skládají se z různých kombinací a zapojení tranzistorů a rezistorů. K dispozici je schéma každé brány.
S odkazem zpět na tabulku lze pro vytvoření součtových výsledků v tabulce použít kombinaci těchto bran. Tato kombinace logiky je také známá jako exkluzivní brána OR (XOR). Vstup musí být přesně 1, aby měl výstup 1. Pokud jsou oba vstupy 1, je výsledný výstup 0. Výsledky bitového přenosu mohou být reprezentovány jednoduchým hradlem AND. Použití XOR s bránou AND tedy může představovat celou tabulku. Toto je známé jako poloviční sčítač a schéma je uvedeno výše.
Aby bylo možné přidat větší binární čísla, musí být přenosový bit začleněn jako vstup. Toho je dosaženo kombinací obvodů 2 poloviční sčítačky pro generování úplného sčítače. Plné aditory pak lze kaskádovat dohromady a přidat větší binární čísla. V mém projektu jsem kaskádoval 4 úplné addery, které mi umožnily mít 4 bitové vstupy. Schéma pro plnou sčítačku je výše.
Simon Inns má skvělý a podrobnější zápis o teorii. Existuje také několik souborů PDF, které mi přišly užitečné.
Krok 2: Testování obvodu
Prvním krokem po pochopení toho, jak fungují logické brány a teorie za plnou sčítačkou, je vybudování obvodu. Začal jsem shromážděním všech komponent, které jsem potřeboval: 10K a 1K rezistory, NPN tranzistory, Breadboard, Jumperwires. Následoval jsem spolu s výtiskem úplné sčítačky. Tento proces byl únavný, ale dokázal jsem získat pracovní obvod pro úplnou sčítačku. Vstupy bych svázal vysoko nebo nízko a pomocí multimetru otestoval výstupy. Nyní jsem byl připraven přeložit prkénko a schéma na desku plošných spojů.
Krok 3: Návrh desky plošných spojů Full Adder
K návrhu DPS jsem použil výhradně Fritzing. Toto bylo poprvé, co jsem navrhoval desku plošných spojů, a tento program vypadal jako uživatelsky nejpříjemnější a nejintuitivnější s nejmenší křivkou učení. K dispozici jsou další skvělé programy jako EasyEDA a Eagle, které vám pomohou navrhnout desku plošných spojů. S Fritzingem můžete začít navrhovat na virtuálním prkénku nebo schématu a poté přejít na desku plošných spojů. Pro tento projekt jsem použil obě tyto metody. Když jste připraveni vyrobit desku plošných spojů, je to tak jednoduché, že kliknutím na tlačítko exportujete své soubory a nahrajete je přímo do Aisler, partnerského výrobce Fritzing.
Proces zahájíte nakreslením SchematicI started with the schematic tab. Nejprve jsem našel a vložil všechny komponenty do pracovního prostoru. Dále jsem nakreslil všechny stopy mezi součástmi. Zajistil jsem přidání 5V vstupu a uzemnění na příslušná místa.
Navrhněte PCBI, na které jste klikli na kartě PCB. Když se přesunete přímo ze schématu, dostanete nepořádek se všemi součástmi spojenými krysími liniemi na základě stop, které jste ve schématu vytvořili. První věc, kterou jsem udělal, byla změna velikosti šedé desky plošných spojů na požadovanou velikost a přidání montážních otvorů. Také jsem přidal 16 pinů pro vstup a výstupy. Dále jsem začal logicky uspořádat komponenty. Zkoušel jsem seskupit komponenty se spoji, které byly blízko sebe, abych minimalizoval stopovou vzdálenost. Udělal jsem další krok a seskupil komponenty dohromady pomocí logické brány. Jedním z mých cílů bylo být schopen vizualizovat, jak obvod funguje, a být schopen sledovat "bit" obvodem. Poté jsem použil funkci automatického rozložení, která prochází automaticky a vykresluje optimalizované trasování mezi součástmi. Byl jsem skeptický, že tento proces dokončil všechna správná trasování, takže jsem prošel dvojitou kontrolou a překreslením trasování tam, kde měli být. Naštěstí funkce automatického načítání odvedla docela dobrou práci a musel jsem opravit jen několik trasování. Autorouter také vytvořil nějaké podivné úhly se stopami, což není „nejlepší praxe“, ale s tím jsem byl v pořádku a vše stále fungovalo dobře. Poslední věc, kterou jsem udělal, bylo přidat text, který bude vytištěn jako sítotisk. Zajistil jsem, aby všechny součásti byly označeny. Také jsem importoval obrázky vlastní logické brány, abych zdůraznil seskupení komponent. Poslední obrázek nahoře ukazuje sítotisk.
Vytvořte PCBI kliknutím na tlačítko vyrobit ve spodní části obrazovky. Přesměrovalo mě to přímo na web Aisler, kde jsem si mohl vytvořit účet a nahrát všechny své soubory Fritzing. Nechal jsem všechna výchozí nastavení a zadal objednávku.
Krok 4: Navrhování ostatních desek plošných spojů
Zbývající PCB, které jsem potřeboval, byla deska rozhraní vstupu/výstupu a deska pro IC. U těchto desek jsem postupoval podle kroku 3. Dokumenty ve formátu pdf jsou zveřejněny níže. U IC jsem provedl všechna připojení pomocí funkce virtuálního prkénka. Pro úplnost jsem zahrnoval schéma, ale mohl jsem přejít přímo z desky na kartu PCB, což bylo docela skvělé. Před nahráním a objednáním v Aisleru jsem také přidal konverzní graf base 10 na base 2 na silkscreen na desce rozhraní I/O.
Krok 5: Pájení součástí na desku plošných spojů
Všechny PCB dorazily a kvalita mě opravdu ohromila. S jinými výrobci nemám žádné zkušenosti, ale neváhal bych znovu použít Aisler.
Dalším úkolem bylo pájet všechny součásti, což byl náročný proces, ale moje pájecí schopnosti se výrazně zlepšily. Začal jsem s deskami plných sčítačů a pájel komponenty počínaje tranzistory, pak 1K odpory, pak 10K odpory. Podobnou metodou jsem připájel zbytek součástek na desku I/O a IC. Poté, co byla každá deska Full Adder hotová, jsem je testoval stejnou metodou jako breadboard Full Adder. Překvapivě všechny desky fungovaly správně bez problému. To znamenalo, že desky byly správně směrovány a že byly správně připájeny. Přejít na další krok!
Krok 6: Dokončení desek plošných spojů pro skládání
Dalším úkolem bylo připájet všechny kolíky záhlaví na každou desku. Také jsem potřeboval přidat propojovací vodiče mezi správný pin záhlaví a vstupy/výstupy desek Full Adder (A, B, Cin, V+, GND, Sum, Cout). Tomuto kroku by se dalo vyhnout, kdybyste pro každou úroveň obvodu sčítače navrhli různé DPS, ale chtěl jsem minimalizovat design a náklady vytvořením pouze jedné DPS s plným přívodem. V důsledku toho připojení k těmto vstupům/výstupům vyžadovalo propojovací vodiče. Uvedené schéma je, jak jsem tento úkol splnil a které piny byly použity pro každou úroveň desek Full Adder. Obrázky ukazují, jak jsem pájel propojovací vodiče pro každou desku. Začal jsem pájením volných vodičů na správné piny na záhlaví. Poté jsem připájel záhlaví k DPS. Poté, co jsem nechal připájet kolíky záhlaví s propojovacími vodiči na místo, připájel jsem volné konce propojovacích vodičů ke správným vodičům na desce plošných spojů. Na výše uvedeném obrázku je detailní pohled na kolíky záhlaví s propojenými propojovacími vodiči.
Krok 7: Napájení obvodů
Plánoval jsem pro tento projekt použít napájecí zdroj 12 V DC, takže jsem navrhl desku rozhraní I/O tak, aby měla DC vstup/konektor pro vstup. Protože jsem používal stejnou desku I/O a chtěl jsem použít jediný napájecí zdroj, potřeboval jsem regulovat napětí na 5V, protože toto je maximální vstup pro IC SN7483A. K tomu jsem potřeboval 5V regulátor a spínač, který by mohl přepínat mezi 12V a 5V. Výše uvedené schéma ukazuje, jak jsem zapojil napájecí obvod dohromady.
Krok 8: 3D tisk základny
Teď, když jsou všechny kabely a pájení hotové, potřeboval jsem zjistit, jak to všechno bude drženo pohromadě. Rozhodl jsem se pro CADing a 3D tisk, který by pojal a zobrazil všechny části tohoto projektu.
Aspekty návrhu Potřeboval jsem místa pro montáž desek plošných spojů pomocí šroubů a distančních sloupků. Skládané addery jsou vizuálně nejpřitažlivější a chtěl jsem je mít na displeji, když se nepoužívají, takže jsem chtěl místo pro uložení IC PCB. Potřeboval jsem umístit napájecí obvod s výřezy pro spínač a DC konektor/konektor. Nakonec jsem chtěl nějakou vitrínu skříně, aby se zabránilo hromadění prachu v otevřených deskách plošných spojů, takže jsem potřeboval místo, kde by skříň mohla sedět.
3D modelování K návrhu základny jsem použil Fusion360. Začal jsem s rozměry DPS a roztečí montážních otvorů. Poté jsem pomocí řady náčrtků a vysunutí nastavil výšku a velikost základny pomocí montážních bodů DPS. Dále jsem udělal výřezy pro skříň a napájecí obvod. Poté jsem vytvořil prostor pro uložení desky plošných spojů IC, když se nepoužívá. Nakonec jsem přidal několik detailů dokončovací hrany a odeslal je do Cury, mého softwaru pro krájení.
Tisk Vybral jsem černé vlákno PLA. Tisk trval něco málo přes 6 hodin a dopadl skvěle. Překvapivě byly všechny rozměry správné a vše vypadalo, jako by do sebe správně zapadalo. Výše uvedený obrázek ukazuje tisk poté, co jsem přidal distanční sloupky do montážních otvorů. Dokonale se hodily!
Krok 9: Sestavení
Vložte distanční sloupky. Umístil jsem všechny podpěry do montážních otvorů základny.
Umístěte napájecí obvod do základny. Zapojil jsem všechno dohromady a protáhl všechny součásti otvorem pro spínač. Dále jsem vložil napájecí konektor/adaptér do zadní části základny. Zatlačil jsem 5V regulátor do jeho slotu a nakonec bylo možné spínač zasunout do své polohy.
Namontujte I/O PCB. Umístil jsem IC PCB do jeho úložného prostoru a umístil PCB rozhraní I/O nahoře. DPS jsem přišrouboval pomocí 4x šroubů M3 a šestihranného ovladače. Nakonec jsem zapojil DC barel jack do PCB.
Stack PCB Adder. Naskládal jsem první zmije na místo. Zašrouboval jsem zadní část desky plošných spojů do zadních montážních otvorů pomocí 2 distančních sloupků. Tento postup jsem opakoval, dokud nebyl na místě poslední zmije, a zajistil jej dalšími 2 šrouby M3.
Vytvořte přílohu. Na ohradu jsem použil 1/4 akryl. Změřil jsem konečnou výšku projektu a s rozměry CAD vyřízl 5 kusů na boky a nahoře, abych vytvořil jednoduchou krabici s otevřeným dnem. K lepení jsem použil epoxid Nakonec jsem zbrousil malý půlkruhový výřez na pravé straně, aby se do něj vešel vypínač.
Připraveni k výpočtu
Krok 10: Výpočet a srovnání
Připojte novou kalkulačku a začněte přidávat! Graf 10 na základ 2 lze použít k rychlému převodu mezi binárními a celými čísly. Dávám přednost nastavení vstupů a poté přepnutí na „stejné“otočením vypínače a pozorováním binárního výstupu z LED diod.
Porovnání diskrétních komponent s integrovaným obvodem. Nyní můžete odinstalovat úplné doplňky a zapojit IC SN7483A do desky I/O. (Nezapomeňte přepnout přepínač do opačného směru, abyste integrovali IC 5 V místo 12 V). Můžete provádět stejné výpočty a získáte stejné výsledky. Je docela působivé si myslet, že jak diskrétní komponenta Adder, tak IC fungují stejným způsobem, jen ve velmi odlišném měřítku velikosti. Obrázky ukazují stejné vstupy a výstupy pro obvody.
Krok 11: Závěr
Doufám, že se vám tento projekt líbil a naučil jste se stejně jako já. Je docela uspokojující naučit se něco nového a proměnit to v jedinečný projekt, který také vyžaduje učení se nové dovednosti, jako je návrh/výroba DPS. Všechna schémata jsou uvedena níže. Pro kohokoli, koho to zajímá, mohu také propojit soubory PCB Gerber, abyste si mohli vytvořit vlastní 4bitovou binární kalkulačku. Šťastné tvoření!
Doporučuje:
DIY Arduino binární budík: 14 kroků (s obrázky)
DIY Arduino binární budík: Jsou to opět klasické binární hodiny! Ale tentokrát s ještě více doplňkovými funkcemi! V tomto návodu vám ukážu, jak pomocí Arduina postavit binární budík, který vám může ukázat nejen čas, ale i datum, měsíc, dokonce i s časovačem a zábavou s budíkem
Binární kalkulačka: 11 kroků
Binární kalkulačka: Přehled: Od úplně prvního vynálezu logické brány ve 20. století dochází k neustálému vývoji takové elektroniky a nyní je jednou z nejjednodušších, ale zásadně důležitých elektronických součástek v mnoha různých aplikacích
4bitová binární sčítačka: 3 kroky
4bitová binární sčítačka: Ahoj všichni! Vítejte u našeho prvního pokynu! Dnes vám ukážeme, jak vytvořit 4bitový binární sčítač s jednoduchými logickými hradly. Toto je část série, kterou děláme, abychom vytvořili funkční kalkulačku, takže zůstaňte naladěni na další
Kalkulačka Arduino: 8 kroků (s obrázky)
Kalkulačka Arduino: V tomto Instructable vám ukážu, jak vytvořit kalkulačku Arduino, která je stejně dobrá jako jakákoli jiná kalkulačka (dobře … něco). I když to pravděpodobně není praktické kvůli své velikosti, opakované použití tlačítka rovná se (kvůli nedostatku
Varhanní kalkulačka Atari Punk: 9 kroků (s obrázky)
Atari Punk Calculator Organ: Atari Punk Console je skvělý malý obvod, který používá buď 2 x 555 časovačů nebo 1 x 556 časovač. 2 potenciometry slouží k ovládání frekvence a šířky výšky tónu a pokud posloucháte velmi pozorně, zní to jako konzole Atari