İçindekiler:

4-bit İkili Hesap Makinesi: 11 Adım (Resimlerle)
4-bit İkili Hesap Makinesi: 11 Adım (Resimlerle)

Video: 4-bit İkili Hesap Makinesi: 11 Adım (Resimlerle)

Video: 4-bit İkili Hesap Makinesi: 11 Adım (Resimlerle)
Video: BUNU YAŞAMAYAN YOKTUR 😂 #emirbeşli #shorts 2024, Temmuz
Anonim
4-bit İkili Hesap Makinesi
4-bit İkili Hesap Makinesi
4-bit İkili Hesap Makinesi
4-bit İkili Hesap Makinesi
4-bit İkili Hesap Makinesi
4-bit İkili Hesap Makinesi
4-bit İkili Hesap Makinesi
4-bit İkili Hesap Makinesi

Bilgisayarların temel düzeyde nasıl çalıştığına ilgi duydum. Ayrık bileşenlerin kullanımını ve daha karmaşık görevleri gerçekleştirmek için gerekli devreleri anlamak istedim. Bir CPU'daki önemli bir temel bileşen, aritmetik mantık birimi veya tamsayılar üzerinde işlemler gerçekleştiren ALU'dur. Bu görevi gerçekleştirmek için bilgisayarlar ikili sayıları ve mantık kapılarını kullanır. Gerçekleştirilen en basit işlemlerden biri, bir toplayıcı devresinde iki sayıyı birbirine eklemektir. Numberphile tarafından hazırlanan bu video, bu konsepti Domino Addition ile açıklamak için mükemmel bir iş çıkarıyor. Matt Parker bu temel konsepti genişletiyor ve 10.000 domino kullanarak bir Domino Bilgisayar devresi kuruyor. Dominodan bütün bir kişisel bilgisayar inşa etmek saçma ama yine de bu ekleme görevini gerçekleştirmek için ayrı bileşenlerin kullanımını anlamak istedim. Videolarda mantık kapıları domino taşlarından oluşturulmuş ancak temel bileşenlerden, yani transistörlerden ve dirençlerden de yapılabilir. Bu projenin amacı, kendi 4 bitlik toplayıcı hesaplayıcımı öğrenmek ve oluşturmak için bu ayrı bileşenleri kullanmaktı.

Bu proje için hedeflerim şunları içeriyordu: 1) Özel bir PCB'nin nasıl oluşturulacağını ve üretileceğini öğrenin 2) İkili sayılar ekleyerek tasarımın kavramsallaştırılmasını kolaylaştırın 3) Aynı görevi gerçekleştiren ayrık bileşenler ve tümleşik devre arasındaki ölçek farkını gösterin

Bu projenin ilhamının ve anlayışının çoğu Simon Inns'den geldi.

Gereçler

Fritzing'i şema yapmak, PCB'leri oluşturmak ve imal etmek için kullandım

1. Adım: Teori

teori
teori
teori
teori
teori
teori
teori
teori

10 tabanında saymak basittir çünkü iki tamsayının toplamını temsil eden farklı bir tamsayı vardır. En basit örnek:

1 + 1 = 2

Taban 2'de veya ikili sistemde sayma yalnızca 1'leri ve 0'ları kullanır. Farklı tam sayıları ve toplamlarını temsil etmek için 1 ve 0'ların bir kombinasyonu kullanılır. 2 tabanında saymaya bir örnek:

1+1 = 0 ve 1'i bir sonraki bite taşıyorsunuz

İki bit (A ve B) birlikte eklendiğinde, Sum ve Carry (Cout) çıkışları ile 4 farklı sonuç mümkündür. Tabloda gösterilen bu.

Mantık kapıları girdileri alır ve bir çıktı üretir. En temel mantık kapılarından bazıları bu projede kullanılan NOT, AND ve OR kapılarından oluşur. Transistörlerin ve dirençlerin farklı kombinasyonlarından ve kablolamalarından oluşurlar. Her kapının şemaları verilmiştir.

Tabloya geri dönersek, Tablodaki Toplam sonuçlarını üretmek için bu kapıların bir kombinasyonu kullanılabilir. Bu mantık kombinasyonu, özel VEYA (XOR) kapısı olarak da bilinir. 1 çıktısının elde edilmesi için girdinin tam olarak 1 olması gerekir. Her iki girdi de 1 ise sonuç 0 olur. Taşıma biti sonuçları basit bir VE kapısı ile temsil edilebilir. Böylece, hem bir XOR'u hem de bir AND geçidiyle birlikte kullanmak tüm tabloyu temsil edebilir. Bu, Yarım Toplayıcı olarak bilinir ve şematik yukarıda gösterilmiştir.

Daha büyük ikili sayılar eklemek için, taşıma biti bir giriş olarak dahil edilmelidir. Bu, bir Tam Toplayıcı oluşturmak için 2 Yarım Toplayıcı devresini birleştirerek gerçekleştirilir. Tam Toplayıcılar daha sonra daha büyük ikili sayılar eklemek için birlikte basamaklandırılabilir. Projemde 4 bit girişe sahip olmamı sağlayan 4 Tam Toplayıcıyı basamaklandırdım. Tam Toplayıcının şeması yukarıdadır.

Simon Inns'in teori hakkında harika ve daha derinlemesine bir yazısı var. Ayrıca yararlı bulduğum birkaç PDF var.

Adım 2: Devreyi Test Etme

Devreyi Test Etme
Devreyi Test Etme
Devreyi Test Etme
Devreyi Test Etme

Mantık kapılarının nasıl çalıştığını ve Tam Toplayıcı'nın arkasındaki teoriyi anladıktan sonraki ilk adım, devreyi kurmaktır. İhtiyacım olan tüm bileşenleri bir araya getirerek başladım: 10K ve 1K dirençler, NPN Transistörler, Breadboard, Jumperwires. Tam toplayıcının bir çıktısı ile birlikte takip ettim. İşlem sıkıcıydı ama tam toplayıcı için çalışan bir devre elde edebildim. Girişleri yüksek veya düşük olarak bağlardım ve çıkışları test etmek için bir multimetre kullanırdım. Artık devre tahtası ve şemayı bir PCB'ye çevirmeye hazırdım.

Adım 3: Tam Toplayıcı PCB'sini Tasarlama

Tam Toplayıcı PCB'sini tasarlama
Tam Toplayıcı PCB'sini tasarlama
Tam Toplayıcı PCB'sini tasarlama
Tam Toplayıcı PCB'sini tasarlama
Tam Toplayıcı PCB'sini tasarlama
Tam Toplayıcı PCB'sini tasarlama

PCB'yi tasarlamak için özel olarak Fritzing kullandım. Bu benim ilk PCB tasarımımdı ve bu program en küçük öğrenme eğrisi ile en kullanıcı dostu ve sezgisel görünüyordu. Bir PCB tasarlamaya yardımcı olacak EasyEDA ve Eagle gibi başka harika programlar da var. Fritzing ile sanal bir devre tahtası veya şema üzerinde tasarlamaya başlayabilir, ardından PCB'ye geçebilirsiniz. Bu proje için bu iki yöntemi de kullandım. PCB'yi üretmeye hazır olduğunuzda, dosyalarınızı dışa aktarmak ve doğrudan Fritzing'in ortak üreticisi olan Aisler'e yüklemek için bir düğmeye tıklamak kadar basit.

İşleme başlamak için şematik sekmesi ile başlayan şemayı çizin. İlk olarak, tüm bileşenleri çalışma alanına buldum ve ekledim. Ardından, bileşenler arasındaki tüm izleri çizdim. Uygun yerlere 5V giriş ve toprak eklemeye özen gösterdim.

PCB sekmesine tıklanan PCBI'yi tasarlayın. Doğrudan bir şemadan hareket ettiğinizde, şemada yaptığınız izlere dayalı olarak, ratsnest çizgileriyle birbirine bağlanan tüm bileşenlerle karışıklık yaşarsınız. Yaptığım ilk şey gri PCB'yi istediğim boyuta getirmek ve montaj delikleri eklemek oldu. Ayrıca giriş ve çıkışlar için 16 pin ekledim. Ardından bileşenleri mantıklı bir şekilde düzenlemeye başladım. İz mesafesini en aza indirmek için bileşenleri birbirine yakın bağlantılarla gruplamaya çalıştım. Fazladan bir adım attım ve bileşenleri mantık kapısına göre gruplandırdım. Hedeflerimden biri devrenin nasıl çalıştığını görselleştirmek ve devre boyunca "bit"i takip edebilmekti. Bundan sonra, otomatik olarak geçen ve bileşenler arasında optimize edilmiş izleri çizen autorouting fonksiyonunu kullandım. Bu sürecin tüm doğru izlemeleri tamamladığı konusunda şüpheliydim, bu yüzden izlemeleri olması gereken yerde tekrar kontrol edip yeniden çizmeye gittim. Neyse ki, otomatik yönlendirme özelliği oldukça iyi bir iş çıkardı ve sadece birkaç izlemeyi düzeltmek zorunda kaldım. Otomatik yönlendirici, "en iyi uygulama" olmayan izlerle bazı garip açılar da yaptı, ancak bunda sorun yoktu ve her şey hala iyi çalıştı. Yaptığım son şey, serigrafi olarak basılacak metin eklemek oldu. Tüm bileşenlerin etiketlendiğinden emin oldum. Bileşenlerin gruplandırılmasını vurgulamak için özel mantık kapısı resimlerini de içe aktardım. Yukarıdaki son resim serigrafiyi göstermektedir.

Ekranın altındaki fabrikasyon düğmesine tıklayarak PCBI'yi üretin. Beni doğrudan bir hesap oluşturabildiğim ve tüm Fritzing dosyalarımı yükleyebildiğim Aisler web sitesine yönlendirdi. Tüm varsayılan ayarları bıraktım ve siparişi verdim.

Adım 4: Diğer PCB'lerin Tasarlanması

Diğer PCB'lerin Tasarımı
Diğer PCB'lerin Tasarımı
Diğer PCB'lerin Tasarımı
Diğer PCB'lerin Tasarımı
Diğer PCB'lerin Tasarımı
Diğer PCB'lerin Tasarımı

İhtiyacım olan kalan PCB'ler, giriş/çıkış arayüz kartı ve IC kartıydı. Bu panolar için Adım 3 olarak bir süreç takip ettim. Şemaların pdf'si aşağıdadır. IC için tüm bağlantıları sanal breadboard özelliğini kullanarak yaptım. Bütünlük için şemayı ekledim ama doğrudan devre tahtasından oldukça havalı olan PCB sekmesine geçebildim. Ayrıca Aisler'e yükleme ve sipariş vermeden önce G/Ç arayüz kartındaki serigrafiye taban 10'dan taban 2'ye dönüşüm tablosu ekledim.

Adım 5: Bileşenleri PCB'ye Lehimleme

Bileşenleri PCB'ye Lehimleme
Bileşenleri PCB'ye Lehimleme
Bileşenleri PCB'ye Lehimleme
Bileşenleri PCB'ye Lehimleme
Bileşenleri PCB'ye Lehimleme
Bileşenleri PCB'ye Lehimleme
Bileşenleri PCB'ye Lehimleme
Bileşenleri PCB'ye Lehimleme

Tüm PCB'ler geldi ve kaliteden gerçekten etkilendim. Diğer üreticilerle herhangi bir deneyimim olmadı ama tekrar Aisler'i kullanmakta tereddüt etmem.

Bir sonraki görev, tüm bileşenleri lehimlemekti, bu zorlu bir süreçti ama lehimleme becerilerim büyük ölçüde gelişti. Tam toplayıcı kartlarla başladım ve transistörlerle başlayan bileşenleri lehimledim, ardından 1K dirençler, ardından 10K dirençler. Bileşenlerin geri kalanını G/Ç ve IC kartına lehimlemek için benzer bir yöntem izledim. Her Full Adder panosu tamamlandıktan sonra, bunları breadboard Full Adder ile aynı yöntemle test ettim. Şaşırtıcı bir şekilde, tüm panolar sorunsuz bir şekilde çalıştı. Bu, panoların doğru yönlendirildiği ve doğru lehimlendiği anlamına geliyordu. Bir sonraki adıma geçin!

Adım 6: Yığınlama için PCB'lerin Bitirilmesi

Yığınlama için PCB'lerin Bitirilmesi
Yığınlama için PCB'lerin Bitirilmesi
Yığınlama için PCB'lerin Bitirilmesi
Yığınlama için PCB'lerin Bitirilmesi
Yığınlama için PCB'lerin Bitirilmesi
Yığınlama için PCB'lerin Bitirilmesi

Bir sonraki görev, tüm başlık pimlerini her bir panoya lehimlemekti. Ayrıca doğru başlık pini ile Full Adder kartlarının (A, B, Cin, V+, GND, Sum, Cout) giriş/çıkışları arasına jumper kabloları eklemem gerekiyordu. Toplayıcı devresinin her seviyesi için farklı PCB'ler tasarladıysanız bu adımdan kaçınılabilir, ancak ben yalnızca bir Tam Toplayıcı PCB oluşturarak tasarım ve maliyeti en aza indirmek istedim. Sonuç olarak, bu giriş/çıkışlara bağlantılar için jumper kablolar gerekliydi. Sağlanan şema, bu görevi nasıl başardığım ve Full Adder kartlarının her seviyesi için hangi pinlerin kullanıldığıdır. Görüntüler, her bir kart için atlama tellerini nasıl lehimlediğimi gösteriyor. Başlıktaki doğru pinlere serbest kabloları lehimleyerek başladım. Daha sonra başlığı PCB'ye lehimledim. Bağlantı kabloları olan başlık pimlerini lehimledikten sonra, bağlantı kablolarının serbest uçlarını PCB üzerindeki doğru uçlara lehimledim. Yukarıdaki resim, bağlantı tellerinin lehimlendiği başlık pimlerinin yakından görünümünü göstermektedir.

Adım 7: Devrelere Güç Verme

Devrelere Güç Verme
Devrelere Güç Verme
Devrelere Güç Verme
Devrelere Güç Verme
Devrelere Güç Verme
Devrelere Güç Verme

Bu proje için bir 12V DC varil jakı güç kaynağı kullanmayı planladım, bu nedenle G/Ç arabirim kartını güç girişi için bir DC varil jakı/konektörü olacak şekilde tasarladım. Aynı G/Ç kartını kullandığım ve tek bir güç kaynağı kullanmak istediğim için voltajı 5V'a ayarlamam gerekiyordu, çünkü bu SN7483A IC için maksimum giriştir. Bunu başarmak için 5V'luk bir regülatöre ve 12V ile 5V arasında geçiş yapabilen bir anahtara ihtiyacım vardı. Yukarıdaki şema, güç devresini nasıl birbirine bağladığımı gösterir.

Adım 8: Tabanı 3B Yazdırma

Tabanı 3D Yazdırma
Tabanı 3D Yazdırma
Tabanı 3D Yazdırma
Tabanı 3D Yazdırma
Tabanı 3D Yazdırma
Tabanı 3D Yazdırma

Artık tüm kablolama ve lehimleme tamamlandığında, bunların nasıl bir arada tutulacağını bulmam gerekiyordu. Bu projenin tüm parçalarını barındıracak ve gösterecek bir tasarım CAD ve 3D baskıyı seçtim.

Tasarım Hususları PCB'leri cıvata ve ayırıcılarla monte etmek için yerlere ihtiyacım vardı. İstiflenmiş Toplayıcılar görsel olarak en çekici olanlardır ve bunların kullanılmadığında sergilenmesini istedim, bu yüzden IC PCB'yi saklamak için bir yer istedim. Anahtar ve DC varil jakı/konektörü için kesikli güç devresini yerleştirmem gerekiyordu. Son olarak, açık PCB'lerde toz birikmesini önlemek için bir çeşit muhafaza vitrini istedim, bu yüzden muhafazanın oturması için bir yere ihtiyacım vardı.

3D ModellemeTabanı tasarlamak için Fusion360'ı kullandım. PCB'nin boyutları ve montaj deliklerinin aralığı ile başladım. Bundan sonra, PCB montaj noktalarıyla tabanın yüksekliğini ve boyutunu ayarlamak için bir dizi eskiz ve ekstrüzyon kullandım. Sonra muhafaza ve güç devresi için kesikler yaptım. Daha sonra IC PCB'yi kullanılmadığında saklamak için bir alan yaptım. Son olarak bazı sonlandırma detayları ekledim ve dilimleme yazılımım Cura'ya gönderdim.

Siyah PLA filamenti seçtim. Baskı 6 saatten biraz fazla sürdü ve harika çıktı. Şaşırtıcı bir şekilde, tüm boyutlar doğruydu ve her şey birbirine tam olarak uyacakmış gibi görünüyordu. Yukarıdaki resim, ayırıcıları montaj deliklerine ekledikten sonraki baskıyı göstermektedir. Mükemmel bir uyum içindeydiler!

Adım 9: Montaj

toplantı
toplantı
toplantı
toplantı
toplantı
toplantı

Zıtlıkları yerleştirin. Tüm ayırıcıları tabanın montaj deliklerine yerleştirdim.

Güç devresini tabana yerleştirin. Her şeyi birbirine bağladım ve tüm bileşenleri anahtarın deliğinden çektim. Ardından, güç jakını/adaptörünü tabanın arkasına yerleştirdim. 5V regülatörünü yuvasına ittim ve sonunda anahtar yerine oturtulabildi.

G/Ç PCB'sini takın. IC PCB'yi depolama alanına yerleştirdim ve I/O arabirim PCB'sini üstüne yerleştirdim. PCB'yi 4x M3 cıvata ve altıgen sürücü kullanarak vidaladım. Sonunda DC varil jakını PCB'ye taktım.

Toplayıcı PCB'lerini istifleyin. İlk Toplayıcıyı yerine yerleştirdim. PCB'nin arkasını 2 zıtlık ile arka montaj deliklerine vidaladım. Bu işlemi son Toplayıcı yerine oturana kadar tekrarladım ve 2 adet daha M3 cıvata ile sabitledim.

Muhafazayı yapın. Muhafaza için 1/4 akrilik kullandım. Projenin son yüksekliğini ölçtüm ve CAD boyutlarıyla, yanlar ve üst için 5 parça kestim ve alt kısmı açık basit bir kutu yaptım. Yapıştırmak için epoksi kullandım Son olarak, anahtarı yerleştirmek için sağ tarafta küçük bir yarım daire oyuk zımparaladım.

Hesaplamaya Hazır

Adım 10: Hesaplama ve Karşılaştırma

Image
Image
Hesaplama ve Karşılaştırma
Hesaplama ve Karşılaştırma
Hesaplama ve Karşılaştırma
Hesaplama ve Karşılaştırma

Yeni hesap makinenizi takın ve eklemeye başlayın! Taban 10'dan taban 2'ye grafik, ikili ve tamsayılar arasında hızlı bir şekilde dönüştürmek için kullanılabilir. Girişleri ayarlamayı ve ardından güç anahtarını çevirerek ve LED'lerden ikili çıkışı gözlemleyerek "eşittir" düğmesine basmayı tercih ederim.

Ayrık bileşenlerin bir Entegre devre ile karşılaştırılması. Artık tüm Adder'ları kaldırabilir ve SN7483A IC'yi G/Ç kartına takabilirsiniz. (IC'yi 12V yerine 5V ile çalıştırmak için anahtarı ters yöne çevirmeyi unutmayın). Aynı hesaplamaları yapabilir ve aynı sonuçları alırsınız. Hem ayrık bileşen Adder'ın hem de IC'nin çok farklı bir boyut ölçeğinde aynı şekilde çalıştığını düşünmek oldukça etkileyici. Resimler devreler için aynı giriş ve çıkışları göstermektedir.

Adım 11: Sonuç

Umarım bu projeden keyif almışsınızdır ve benim kadar öğrenmişsinizdir. Yeni bir şey öğrenmek ve bunu PCB tasarımı/fabrikasyonu gibi yeni bir beceri öğrenmeyi de gerektiren benzersiz bir projeye dönüştürmek oldukça tatmin edici. Tüm şemalar aşağıda listelenmiştir. İlgilenenler için, kendi 4-bit İkili Hesaplayıcınızı yapabilmeniz için PCB Gerber dosyalarımı da bağlayabilirim. Mutlu yapım!

Önerilen: