Table des matières:

Calculatrice binaire 4 bits : 11 étapes (avec photos)
Calculatrice binaire 4 bits : 11 étapes (avec photos)

Vidéo: Calculatrice binaire 4 bits : 11 étapes (avec photos)

Vidéo: Calculatrice binaire 4 bits : 11 étapes (avec photos)
Vidéo: Le langage binaire cours + exercices 2024, Juillet
Anonim
Calculatrice binaire 4 bits
Calculatrice binaire 4 bits
Calculatrice binaire 4 bits
Calculatrice binaire 4 bits
Calculatrice binaire 4 bits
Calculatrice binaire 4 bits
Calculatrice binaire 4 bits
Calculatrice binaire 4 bits

J'ai développé un intérêt pour le fonctionnement des ordinateurs à un niveau fondamental. Je voulais comprendre l'utilisation de composants discrets et les circuits nécessaires pour accomplir des tâches plus complexes. Un composant fondamental important dans une CPU est l'unité arithmétique et logique ou l'ALU qui effectue des opérations sur des nombres entiers. Pour accomplir cette tâche, les ordinateurs utilisent des nombres binaires et des portes logiques. L'une des opérations les plus simples à effectuer consiste à additionner deux nombres dans un circuit additionneur. Cette vidéo de numberphile explique très bien ce concept via Domino Addition. Matt Parker étend ce concept de base et construit un circuit informatique Domino utilisant 10 000 dominos. Construire un ordinateur personnel entier à partir de dominos est absurde, mais je voulais quand même comprendre l'utilisation de composants discrets pour accomplir cette tâche d'ajout. Dans les vidéos, les portes logiques ont été créées à partir de dominos mais elles peuvent également être constituées de composants de base, à savoir des transistors et des résistances. Le but de ce projet était d'utiliser ces composants discrets pour apprendre et créer ma propre calculatrice d'additionneur 4 bits.

Mes objectifs pour ce projet comprenaient: 1) Apprendre à créer et fabriquer un PCB personnalisé2) Rendre la conception facile à conceptualiser en ajoutant des nombres binaires3) Démontrer la différence d'échelle entre des composants discrets et un circuit intégré effectuant la même tâche

Une grande partie de l'inspiration et de la compréhension de ce projet est venue de Simon Inns.

Fournitures

J'ai utilisé Fritzing pour faire des schémas, créer et fabriquer les PCB

Étape 1: Théorie

Théorie
Théorie
Théorie
Théorie
Théorie
Théorie
Théorie
Théorie

Le comptage en base 10 est simple car il existe un nombre entier différent pour représenter la somme de deux nombres entiers. L'exemple le plus simple:

1 + 1 = 2

Le comptage en base 2 ou binaire n'utilise que des 1 et des 0. Une combinaison de 1 et de 0 est utilisée pour représenter différents nombres entiers et leurs sommes. Un exemple de comptage en base 2:

1+1 = 0 et vous portez le 1 au bit suivant

Lors de l'addition de deux bits (A et B) ensemble, 4 résultats différents sont possibles avec les sorties de Sum et Carry (Cout). C'est ce qui est indiqué dans le tableau.

Les portes logiques prennent des entrées et génèrent une sortie. Certaines des portes logiques les plus élémentaires se composent des portes NON, ET et OU qui sont toutes utilisées dans ce projet. Ils sont constitués de différentes combinaisons et câblages de transistors et de résistances. Les schémas de chaque porte sont fournis.

En revenant au tableau, une combinaison de ces portes peut être utilisée pour produire les résultats Sum dans le tableau. Cette combinaison de logique est également connue sous le nom de porte OU exclusif (XOR). L'entrée doit être exactement 1 pour donner une sortie de 1. Si les deux entrées sont à 1, la sortie résultante est 0. Les résultats du bit de retenue peuvent être représentés par une simple porte ET. Ainsi, l'utilisation à la fois d'un XOR avec une porte ET peut représenter l'ensemble de la table. Ceci est connu comme un demi-additionneur et le schéma est montré ci-dessus.

Afin d'ajouter des nombres binaires plus grands, le bit de retenue doit être incorporé en tant qu'entrée. Ceci est accompli en combinant 2 circuits Half Adder pour générer un Full Adder. Les additionneurs complets peuvent ensuite être mis en cascade pour ajouter des nombres binaires plus grands. Dans mon projet, j'ai mis en cascade 4 additionneurs complets qui m'ont permis d'avoir des entrées 4 bits. Le schéma de l'additionneur complet est ci-dessus.

Simon Inns a une excellente et plus approfondie écriture sur la théorie. Il y a aussi quelques PDF que j'ai trouvé utiles.

Étape 2: Test du circuit

Test du circuit
Test du circuit
Test du circuit
Test du circuit

La première étape après avoir compris le fonctionnement des portes logiques et la théorie derrière un additionneur complet est de construire le circuit. J'ai commencé par rassembler tous les composants dont j'avais besoin: résistances 10K et 1K, transistors NPN, Breadboard, Jumperwires. J'ai suivi avec une impression de l'additionneur complet. Le processus était fastidieux mais j'ai pu obtenir un circuit fonctionnel pour l'additionneur complet. Je lierais les entrées haut ou bas et j'utilisais un multimètre pour tester les sorties. J'étais maintenant prêt à traduire la maquette et le schéma en PCB.

Étape 3: Conception du circuit imprimé Full Adder

Conception du circuit imprimé Full Adder
Conception du circuit imprimé Full Adder
Conception du circuit imprimé Full Adder
Conception du circuit imprimé Full Adder
Conception du circuit imprimé Full Adder
Conception du circuit imprimé Full Adder

Pour concevoir le PCB, j'ai utilisé exclusivement Fritzing. C'était la première fois que je concevais un PCB et ce programme semblait être le plus convivial et le plus intuitif avec la courbe d'apprentissage la plus courte. Il existe d'autres excellents programmes comme EasyEDA et Eagle disponibles pour aider à concevoir un PCB. Avec Fritzing, vous pouvez commencer à concevoir sur une maquette virtuelle ou un schéma, puis passer au PCB. J'ai utilisé ces deux méthodes pour ce projet. Lorsque vous êtes prêt à fabriquer le PCB, il vous suffit de cliquer sur un bouton pour exporter vos fichiers et les télécharger directement sur Aisler, le fabricant partenaire de Fritzing.

Dessinez le schéma que j'ai commencé avec l'onglet schéma pour commencer le processus. Tout d'abord, j'ai trouvé et inséré tous les composants dans l'espace de travail. Ensuite, j'ai dessiné toutes les traces entre les composants. Je me suis assuré d'ajouter une entrée 5V et une masse aux endroits appropriés.

Concevez le PCBI en cliquant sur l'onglet PCB. Lorsque vous passez directement d'un schéma, vous obtenez un désordre avec tous les composants connectés par des lignes de nid de rats en fonction des traces que vous avez faites dans le schéma. La première chose que j'ai faite a été de redimensionner le PCB gris à la taille que je voulais et d'ajouter des trous de montage. J'ai également ajouté 16 broches pour l'entrée et les sorties. Ensuite, j'ai commencé à organiser les composants de manière logique. J'ai essayé de regrouper les composants avec des connexions proches les unes des autres afin de minimiser la distance de trace. Je suis allé une étape supplémentaire et j'ai regroupé les composants par porte logique. L'un de mes objectifs était de pouvoir visualiser le fonctionnement du circuit et de pouvoir suivre le "bit" à travers le circuit. Après cela, j'ai utilisé la fonction d'autoroutage qui passe automatiquement et trace les tracés optimisés entre les composants. J'étais sceptique quant au fait que ce processus ait terminé tous les bons tracés, alors j'ai vérifié et redessiné les tracés là où ils étaient censés être. Heureusement, la fonction de routage automatique a fait du bon travail et je n'ai eu qu'à corriger quelques-uns des tracés. L'autorouteur a également fait des angles étranges avec les traces, ce qui n'est pas la "meilleure pratique", mais j'étais d'accord avec cela et tout fonctionnait toujours bien. La dernière chose que j'ai faite a été d'ajouter du texte qui serait imprimé en sérigraphie. Je me suis assuré que tous les composants étaient étiquetés. J'ai également importé des images de portes logiques personnalisées pour souligner le regroupement des composants. La dernière image ci-dessus montre la sérigraphie.

Fabriquer le PCBI a cliqué sur le bouton Fabriquer en bas de l'écran. Il m'a directement dirigé vers le site Web d'Aisler où j'ai pu créer un compte et télécharger tous mes fichiers Fritzing. J'ai laissé tous les paramètres par défaut et passé la commande.

Étape 4: Concevoir les autres PCB

Concevoir les autres PCB
Concevoir les autres PCB
Concevoir les autres PCB
Concevoir les autres PCB
Concevoir les autres PCB
Concevoir les autres PCB

Les PCB restants dont j'avais besoin étaient la carte d'interface d'entrée/sortie et la carte pour le circuit intégré. J'ai suivi le processus de l'étape 3 pour ces planches. Le pdf des schémas est affiché ci-dessous. Pour le circuit intégré, j'ai effectué toutes les connexions à l'aide de la fonction de maquette virtuelle. J'ai inclus le schéma pour être complet, mais j'ai pu passer directement de la planche à pain à l'onglet PCB, ce qui était plutôt cool. J'ai également ajouté un tableau de conversion de base 10 à base 2 sur la sérigraphie de la carte d'interface E/S avant de télécharger et de commander dans Aisler.

Étape 5: Souder les composants sur le PCB

Composants à souder sur PCB
Composants à souder sur PCB
Composants à souder sur PCB
Composants à souder sur PCB
Composants à souder sur PCB
Composants à souder sur PCB
Composants à souder sur PCB
Composants à souder sur PCB

Tous les PCB sont arrivés et j'ai été vraiment impressionné par la qualité. Je n'ai pas eu d'expérience avec d'autres fabricants mais n'hésiterais pas à utiliser Aisler à nouveau.

La tâche suivante consistait à souder tous les composants, ce qui était un processus ardu, mais mes compétences en soudure se sont considérablement améliorées. J'ai commencé avec les cartes d'addition complètes et j'ai soudé les composants en commençant par des transistors, puis des résistances 1K, puis des résistances 10K. J'ai suivi une méthode similaire pour souder le reste des composants sur la carte E/S et IC. Une fois chaque carte Full Adder terminée, je les ai testées avec la même méthode que la planche à pain Full Adder. Étonnamment, toutes les cartes ont fonctionné correctement sans problème. Cela signifiait que les cartes étaient acheminées correctement et qu'elles étaient soudées correctement. Passons à l'étape suivante !

Étape 6: Finition des PCB pour l'empilage

Finition des PCB pour l'empilage
Finition des PCB pour l'empilage
Finition des PCB pour l'empilage
Finition des PCB pour l'empilage
Finition des PCB pour l'empilage
Finition des PCB pour l'empilage

La tâche suivante consistait à souder toutes les broches d'en-tête à chaque carte. J'avais également besoin d'ajouter des cavaliers entre la broche d'en-tête correcte et les entrées/sorties des cartes Full Adder (A, B, Cin, V+, GND, Sum, Cout). Cette étape pourrait être évitée si vous conceviez différents PCB pour chaque niveau du circuit additionneur, mais je voulais minimiser la conception et les coûts en créant un seul PCB Full Adder. Par conséquent, les connexions à ces entrées/sorties nécessitaient des cavaliers. Le schéma fourni indique comment j'ai accompli cette tâche et quelles broches ont été utilisées pour chaque niveau des cartes Full Adder. Les images montrent comment j'ai soudé les fils de connexion pour chaque carte. J'ai commencé par souder des fils libres aux bonnes broches de l'en-tête. J'ai ensuite soudé l'en-tête au PCB. Après avoir soudé les broches d'en-tête avec les fils de connexion, j'ai soudé les extrémités libres des fils de connexion aux bons fils sur le PCB. L'image ci-dessus montre un gros plan des broches d'en-tête avec les fils de liaison qui y sont soudés.

Étape 7: Alimentation des circuits

Alimentation des circuits
Alimentation des circuits
Alimentation des circuits
Alimentation des circuits
Alimentation des circuits
Alimentation des circuits

J'avais prévu d'utiliser une alimentation jack 12V CC pour ce projet, j'ai donc conçu la carte d'interface E/S pour avoir une prise/connecteur CC pour l'entrée d'alimentation. Parce que j'utilisais la même carte d'E/S et que je voulais utiliser une seule alimentation, j'avais besoin de réguler la tension à 5 V car il s'agit de l'entrée maximale pour le circuit intégré SN7483A. Pour ce faire, j'avais besoin d'un régulateur 5V et d'un interrupteur pouvant basculer entre le 12V et le 5V. Le schéma ci-dessus montre comment j'ai câblé le circuit d'alimentation ensemble.

Étape 8: Impression 3D de la base

Impression 3D de la base
Impression 3D de la base
Impression 3D de la base
Impression 3D de la base
Impression 3D de la base
Impression 3D de la base

Maintenant que tout le câblage et la soudure sont terminés, je devais comprendre comment tout cela allait se tenir ensemble. J'ai opté pour la CAO et l'impression 3D d'un design qui accueillerait et afficherait toutes les parties de ce projet.

Considérations de conception J'avais besoin d'endroits pour monter les PCB avec des boulons et des entretoises. Les additionneurs empilés sont les plus attrayants visuellement et je voulais les afficher lorsqu'ils ne sont pas utilisés, donc je voulais un endroit pour stocker le circuit imprimé IC. J'avais besoin d'adapter le circuit d'alimentation avec des découpes pour l'interrupteur et la prise/connecteur à barillet CC. Enfin, je voulais une sorte de vitrine de boîtier pour empêcher la poussière de s'accumuler dans les circuits imprimés ouverts, j'avais donc besoin d'un endroit pour que le boîtier puisse s'asseoir.

Modélisation 3DJ'ai utilisé Fusion360 pour concevoir la base. J'ai commencé par les dimensions du PCB et l'espacement des trous de montage. Après cela, j'ai utilisé une série de croquis et d'extrusions pour définir la hauteur et la taille de la base avec les points de montage du PCB. Ensuite, j'ai fait les découpes pour le boîtier et le circuit d'alimentation. Ensuite, j'ai créé une zone pour stocker le PCB IC lorsqu'il n'est pas utilisé. Enfin, j'ai ajouté quelques détails de finition et les ai envoyés à Cura, mon logiciel de tranchage.

ImpressionJ'ai choisi le filament PLA noir. L'impression a pris un peu plus de 6 heures et s'est avérée excellente. Étonnamment, toutes les dimensions étaient correctes et tout semblait s'emboîter correctement. L'image ci-dessus montre l'impression après avoir ajouté les entretoises dans les trous de montage. Ils étaient parfaits !

Étape 9: Assemblage

Assemblée
Assemblée
Assemblée
Assemblée
Assemblée
Assemblée

Insérez les entretoises. J'ai placé toutes les entretoises dans les trous de montage de la base.

Positionnez le circuit d'alimentation dans la base. J'avais tout câblé ensemble et tiré tous les composants à travers le trou pour l'interrupteur. Ensuite, j'ai inséré la prise/adaptateur d'alimentation à l'arrière de la base. J'ai poussé le régulateur 5V dans sa fente et finalement l'interrupteur a pu être enfoncé en position.

Montez le PCB d'E/S. J'ai placé le PCB IC dans son espace de stockage et placé le PCB d'interface I/O sur le dessus. J'ai vissé le PCB à l'aide de 4 boulons M3 et d'un tournevis hexagonal. Enfin, j'ai branché la prise cylindrique DC dans le PCB.

Empilez les PCB Adder. J'ai empilé le premier Adder en place. J'ai vissé l'arrière du PCB dans les trous de montage arrière avec 2 entretoises. J'ai répété ce processus jusqu'à ce que le dernier Adder soit en place et je l'ai fixé avec les 2 autres boulons M3.

Faire l'enclos. J'ai utilisé de l'acrylique 1/4 pour le boîtier. J'ai mesuré la hauteur finale du projet et, avec les dimensions CAO, j'ai découpé 5 pièces pour les côtés et le dessus pour faire une simple boîte avec un fond ouvert. J'ai utilisé de l'époxy pour coller Enfin, j'ai poncé une petite découpe en demi-cercle sur le côté droit pour accueillir l'interrupteur.

Prêt à calculer

Étape 10: Calcul et comparaison

Image
Image
Calcul et comparaison
Calcul et comparaison
Calcul et comparaison
Calcul et comparaison

Branchez votre nouvelle calculatrice et commencez à ajouter ! Le graphique de base 10 à base 2 peut être utilisé pour convertir rapidement entre le binaire et les entiers. Je préfère régler les entrées puis appuyer sur "égal" en basculant l'interrupteur d'alimentation et en observant la sortie binaire des LED.

Comparer des composants discrets à un circuit intégré. Maintenant, vous pouvez désempiler les additionneurs complets et brancher le CI SN7483A sur la carte d'E/S. (N'oubliez pas de basculer le commutateur dans la direction opposée pour alimenter le circuit intégré avec 5V au lieu de 12V). Vous pouvez effectuer les mêmes calculs et vous obtiendrez les mêmes résultats. C'est assez impressionnant de penser que le composant discret Adder et le circuit intégré fonctionnent de la même manière à une échelle de taille très différente. Les images montrent les mêmes entrées et sorties pour les circuits.

Étape 11: Conclusion

J'espère que vous avez apprécié ce projet et appris autant que moi. C'est assez satisfaisant d'apprendre quelque chose de nouveau et de le transformer en un projet unique qui nécessite également l'apprentissage d'une nouvelle compétence comme la conception/fabrication de PCB. Tous les schémas sont listés ci-dessous. Pour toute personne intéressée, je peux également lier mes fichiers PCB Gerber afin que vous puissiez créer votre propre calculatrice binaire 4 bits. Bonne fabrication !

Conseillé: