Съдържание:

Направете XOR порта от транзистори: 6 стъпки
Направете XOR порта от транзистори: 6 стъпки

Видео: Направете XOR порта от транзистори: 6 стъпки

Видео: Направете XOR порта от транзистори: 6 стъпки
Видео: EMANUELA & ANELIA - KAM VRATATA / Емануела и Анелия - Към вратата | Official Video 2022 2024, Ноември
Anonim
Направете XOR порта от транзистори
Направете XOR порта от транзистори

ИЛИ портите са много полезни, но имат една странна функция, която може да работи отлично, но в някои приложения може да причини проблеми. Това е фактът, че ако и двата входа са единици, тогава изходът също е единица. Ако имахме приложение, където не искахме това, може би изграждахме суматор, щяхме да използваме нещо, наречено Exclusive Or Gate, което е съкратено XOR или EOR.

Стъпка 1: Дизайн

Дизайн
Дизайн
Дизайн
Дизайн
Дизайн
Дизайн

Един от начините за постигане на поведение XOR е да вземете обикновена порта ИЛИ, след което да се справите със случая, когато и двата входа са положителни. Ако завържем AND порта към входовете, можем да получим сигнал, когато този случай се появи. След това можем да вземем този сигнал, да го обърнем, след това да свържем това и изхода на OR порта към друга порта AND. Това ще направи така, че когато не е така, че и двата входа са включени, портата ИЛИ просто ще премине през втората порта И, но когато и двата входа се повишат, първата порта И ще изключи втората порта И и ще запази изходът е изключен независимо от състоянието на портата OR.

Една корекция, която направих в последната верига, е превключването на комбинацията И/НЕ за NAND порта, която е просто обърната И порта. Начинът, по който това работи, ще стане очевиден по -късно.

Сега нека напишем същата схема, но с транзистори и резистори. Типът транзистор, който използвах, е 2N2222 BJT, който е доста често срещан (2N4401 и 2N3904 също работят). Използвах 6 транзистора, 3 20k ома резистора, 3 47k ома резистора, 1 510 ома резистор, два бутона и светодиод. Избрах тези стойности на резистора въз основа на моя 5v източник на захранване и минималния ток от 0,1 mA или 0,0001A за 2N2222. ако използвате закона на Ом за изчисляване на правилното съпротивление на земята за тези стойности, получавате 50 000 ома. 47k ома е достатъчно близо за долната порта NAND, но защо по -ниската стойност за порта OR или първият вход на втората порта AND? Причината е, че излъчвателят на транзисторите, съставляващи порта OR, се свързва през основата на друг транзистор, следователно преминава през втори резистор, а не директно към земята. (Токоограничаващият резистор на светодиода е достатъчно ниска стойност, която е незначителна при това изчисление).

Стъпка 2: Добавяне на транзистори, бутони и светодиод

Добавяне на транзистори, бутони и светодиод
Добавяне на транзистори, бутони и светодиод

Стъпка 3: Добавяне на резистори

Добавяне на резистори
Добавяне на резистори

Стъпка 4: Добавяне на проводници

Добавяне на проводници
Добавяне на проводници
Добавяне на проводници
Добавяне на проводници

Начинът, по който захранвам дъската си, е да свържа захранващите релси към захранване на лабораторен стенд, настроен на максимален ток 5v и 500mA. Същият вид вход може да се постигне чрез свързване на захранването към 5V и и GND щифтове на Arduino, но наистина захранването с 5v работи (въпреки че се препоръчва ограничение на тока, за да се намали рискът от взривяване на компоненти).

Стъпка 5: Тестване и отстраняване на проблеми

Сега, когато е свързан, ще ви позволя да тествате своя. Ако един или другият бутон е натиснат, светодиодът трябва да светне. Ако и двете се натиснат, светодиодът ще се изключи.

Чести проблеми

  1. Ако изглежда, че един вход не работи както трябва, и случаят, когато и двата входа са включени, все още осигурява нула, проверете напрежението на входа на порта И, което идва от порта ИЛИ, когато този бутон е натиснат. Ако е ниско (<2V), намалете съпротивлението на резистора, преминаващ от OR към портата AND.
  2. Ако портата все още действа само като порта ИЛИ, което означава, че когато и двата входа са на изхода, е включено, проверете напрежението, влизащо във входа на порта И, което идва от порта NAND. Ако това е високо, когато и двата бутона са натиснати, уверете се, че транзисторите ви в порта AND работят и проверете съпротивлението от там до земята, когато и двата бутона са натиснати. Ако това съпротивление е високо и/или напрежението е ниско, сменете тези два транзистора или намалете съпротивлението на входовете към NAND портите.

Стъпка 6: Искате повече?

Ако ви хареса този Instructable, продължете и разгледайте моята книга на Amazon, наречена „Ръководство за начинаещи в Arduino“. Той разглежда основните принципи на схемите, както и кода на C ++, използван за програмиране на Arduino.

Препоръчано: