Как да свържете транзистори (BJT) и MOSFET с Arduino

Опитайте Нашия Инструмент За Премахване На Проблемите





Взаимодействието на захранващи устройства като BJT и MOSFET с изход Arduino е решаваща конфигурация, която позволява превключване на натоварвания с висока мощност чрез изходи с ниска мощност на Arduino.

В тази статия ние обсъждаме подробно правилните методи за използване или свързване на транзистори като BJT и MOSFET с всеки микроконтролер или Arduino.



Такива етапи също се наричат 'Ниво превключвател' тъй като този етап променя нивото на напрежението от по-ниска точка към по-висока точка за съответния изходен параметър. Например тук се осъществява изместване на нивото от Arduino 5V изход към MOSFET 12V изход за избрания товар 12V.

Без значение колко добре програмиран или кодиран може да бъде вашият Arduino, ако не е правилно интегриран с транзистор или външен хардуер, това може да доведе до неефективна работа на системата или дори да повреди компонентите, включени в системата.



Поради това става изключително важно да се разберат и научат правилните методи за използване на външни активни компоненти като MOSFET и BJT с микроконтролер, така че крайният резултат да бъде ефективен, гладък и ефикасен.

Преди да обсъдим методите за свързване на транзистори с Arduino, би било полезно да научим основните характеристики и работата на BJT и MOSFET-и.

Електрически характеристики на транзисторите (биполярни)

BJT означава биполярен транзистор.

Основната функция на BJT е да включи прикрепен товар в отговор на външно задействане на напрежението. Предполага се, че товарът е предимно по-тежък по ток в сравнение с входния спусък.

По този начин основната функция на BJT е да включи по-висок токов товар в отговор на по-нисък токов входен спусък.

Технически това също се нарича отклонение на транзистора , което означава използване на ток и напрежение за управление на транзистор за определена функция и това отклонение трябва да се извърши по най-оптималния начин.

BJT имат 3 извода или 3 извода, а именно основа, излъчвател, колектор.

Основният щифт се използва за захранване на външния входен спусък под формата на малко напрежение и ток.

Емитерният щифт винаги е свързан със земята или отрицателната захранваща линия.

Колекторът е свързан към товара чрез положително захранване.

BJT могат да бъдат намерени с два вида полярности, NPN и PNP. Основната конфигурация на щифтовете е еднаква както за NPN, така и за PNP, както е обяснено по-горе, с изключение на полярността на DC захранването, която става точно обратната.

The могат да се разберат пиноути на BJT чрез следното изображение:

На изображението по-горе можем да видим основната конфигурация на pinout на NPN и PNP транзистори (BJT). За NPN излъчвателят се превръща в земна линия и е свързан с отрицателното захранване.

Обикновено, когато думата „земя“ се използва в постояннотокова верига, приемаме, че това е отрицателната захранваща линия.
Въпреки това, за транзистор земната линия, свързана с емитера, е по отношение на неговата основа и напреженията на колектора, а емитерната „земя“ не може непременно да означава отрицателната захранваща линия.

Да, за NPN BJT земята може да бъде отрицателната линия за доставка, но за PNP транзистор „земята“ винаги се отнася за положителната линия за доставка, както е показано на фигурата по-горе.

Функцията за включване / изключване на двете BJT е по същество една и съща, но полярността се променя.

Тъй като излъчвателят на BJT е „изходният“ проход за тока, влизащ през и в основата и колектора, той трябва да бъде „заземен“ към захранваща линия, която трябва да е противоположна на напрежението, използвано на входовете база / колектор. В противен случай веригата няма да завърши.

За NPN BJT входовете на базата и колектора са свързани с положително задействащо или превключващо напрежение, поради което излъчвателят трябва да се отнася към отрицателната линия.

Това гарантира, че положителните напрежения, влизащи в основата и колектора, могат да достигнат отрицателната линия през излъчвателя и да завършат веригата.

За PNP BJT основата и колекторът са свързани с отрицателно входно напрежение, поради което естествено емитерът на PNP трябва да бъде отнесен към положителната линия, така че положителното захранване да може да влезе през излъчвателя и да завърши пътуването си от основата и щифтовете на колектора.

Имайте предвид, че потокът на ток за NPN е от база / колектор към емитер, докато за PNP, той е от емитер към база / колектор.

И в двата случая целта е да се включи натоварването на колектора през малък вход за напрежение в основата на BJT, само полярността се променя.

Следващата симулация показва основната операция:

как транзисторът провежда с външно напрежение

В симулацията по-горе, веднага щом бутонът бъде натиснат, външното входно напрежение влиза в основата на BJT и достига до земната линия чрез излъчвателя.

Докато това се случва, проходът колектор / емитер вътре в BJT се отваря и позволява на положителното захранване отгоре да влезе в крушката и да премине през емитера към земята, като включи крушката (товар).

И двете превключвания се случват почти едновременно в отговор на натискането на бутона.

Тук емитерният щифт се превръща в обичайния изходен изход за входните захранвания (основа и колектор).

И захранващата линия на емитера се превръща в обща заземителна линия за входящия захранващ спусък, а също и на товара.

Което означава, че захранващата линия, свързваща се с излъчвателя BJT, също трябва да бъде строго свързана със земята на външния източник на спусъка и товара.

Защо използваме резистор в основата на BJT

Основата на BJT е проектирана да работи с входове с ниска мощност и този щифт не може да приема големи токови входове и затова използваме резистор, само за да сме сигурни, че няма голям ток, който да може да влезе в основата.

Основната функция на резистора е да ограничи тока до точно определена стойност, съгласно спецификацията на товара.

Моля обърнете внимание че за BJT този резистор трябва да бъде оразмерен според тока на натоварване от страна на колектора.

Защо?

Тъй като BJT са зависими от тока „превключватели“.

Това означава, че базовият ток трябва да бъде увеличен или намален или коригиран в съответствие със спецификациите на тока на натоварване от страната на колектора.

Но превключващото напрежение, необходимо в основата на BJT, може да бъде толкова ниско, колкото 0.6V или 0.7V. Това означава, че BJT колекторното натоварване може да бъде включено с напрежение до 1V в базата / емитер на BJT.
Ето основната формула за изчисляване на базовия резистор:

R = (Us - 0,6) Hfe / ток на натоварване,

Където R = базов резистор на транзистора,

Us = източник или напрежение на спусъка към базовия резистор,

Hfe = Усилване на текущия ток на транзистора (може да се намери от листа с данни на BJT).

Въпреки че формулата изглежда добре, не е абсолютно необходимо винаги да конфигурирате базовия резистор толкова точно.

Просто защото базовите спецификации на BJT имат широк диапазон на допустимо отклонение и могат лесно да толерират големи разлики в стойностите на резистора.

Например, за свързване на реле с 30 mA съпротивление на бобината, формулата може приблизително да осигури стойност на резистора от 56K за BC547 при 12V вход за захранване .... но обикновено предпочитам да използвам 10K и работи безупречно.

Ако обаче не спазвате оптималните правила, може да има нещо лошо в резултатите, нали?

Технически това има смисъл, но отново загубата е толкова малка в сравнение с усилията, изразходвани за изчисленията, че може да се пренебрегне.

Например използването на 10K вместо 56K може да принуди транзистора да работи с малко по-базов ток, което да го накара да се загрее малко повече, може да е с няколко градуса по-високо ... което изобщо няма значение.

Как да свържете BJT с Arduino

Добре, сега нека да стигнем до действителната точка.

Тъй като досега всеобхватно се научихме как даден BJT трябва да бъде предубеден и конфигуриран в неговите 3 извода, можем бързо да разберем подробностите относно взаимодействието му с всеки микроконтролер като Arduino.

Основната цел на свързването на BJT с Arduino обикновено е да се включи товар или някакъв параметър от страната на колектора, в отговор на програмиран изход от един от изходните щифтове на Arduino.

Тук входът за задействане на базовия щифт BJT трябва да идва от Arduino. Това означава, че краят на базовия резистор просто трябва да бъде прикрепен със съответния изход от Arduino, а колекторът на BJT с товара или някакъв предвиден външен параметър.

Тъй като BJT изисква едва 0,7 V до 1 V за ефективно превключване, 5 V от изходния щифт Arduino става напълно подходящ за шофиране на BJT и работа с разумни товари.
Примерна конфигурация може да видите следното изображение:

взаимодействие или свързване на Arduino с драйвер за транзисторно реле

На това изображение можем да видим как програмиран Arduino се използва за работа с малък товар под формата на реле чрез BJT драйвер етап. Релейната намотка се превръща в колекторно натоварване, докато сигналът от избрания изходен щифт на Arduino действа като входния превключващ сигнал за BJT базата.

свързване на Arduino с LED с висока мощност

Въпреки че релето става най-добрият вариант за работа на тежки товари чрез транзисторен драйвер, когато механичното превключване се превръща в нежелан фактор, модернизирането на BJT се превръща в по-добър избор за работа с постоянни постоянни натоварвания, както е показано по-долу.

В горния пример може да се види транзисторна мрежа на Дарлингтън, конфигурирана за обработка на посочения висок ток от 100 вата, без да зависи от реле. Това позволява безпроблемно превключване на светодиода с минимални смущения, осигурявайки дълъг живот на всички параметри.

Сега нека да продължим по-нататък и да видим как MOSFET могат да бъдат конфигурирани с Arduino

Електрически характеристики на MOSFET

Целта на използването на MOSFET с Arduino обикновено е подобна на тази на BJT, както е обсъдено по-горе.

Въпреки това, тъй като обикновено MOSFETs са проектирани за да се справят ефективно с по-високи спецификации на тока в сравнение с BJT, те се използват най-вече за превключване на товари с висока мощност.

Преди да разберем взаимодействието на MOSFET с Arduino, би било интересно да знаем основното разлика между BJT и MOSFET-и

В предишната ни дискусия разбрахме това BJT са текущо зависими устройства , тъй като основният им превключващ ток зависи от тока на натоварване на колектора. По-високите токове на натоварване ще изискват по-висок базов ток и обратно.

За MOSFET това не е вярно, с други думи, MOSFET портата, която е еквивалентна на BJT база, изисква минимален ток, за да се включи, независимо от изтичащия ток (изпускателният щифт на MOSFET е еквивалентен на колекторния щифт на BJT).

Като каза това, въпреки че токът не е решаващият фактор за превключване на MOSFET порта, напрежението е.

Следователно MOSFET се считат за устройства, зависими от напрежението

Минималното напрежение, необходимо за създаване на здравословно отклонение за MOSFET, е 5V или 9V, като 12V е най-оптималният обхват за пълно включване на MOSFET.

Следователно можем да предположим, че за да се включи MOSFET и товар през изтичането му, 10V захранване може да се използва през портата му за оптимален резултат.

Еквивалентни щифтове на Mosfets и BJT

Следващото изображение показва допълващите щифтове на MOSFET и BJT.

Основата съответства на Gate-Collector съответства на Drain-Emitter съответства на Source.

Замяна на BJT mosfet pinout в Arduino

Какъв резистор трябва да се използва за Mosfet Gate

От предишните ни уроци разбрахме, че резисторът в основата на BJT е от решаващо значение, без който BJT може незабавно да се повреди.

За MOSFET това може да не е толкова важно, тъй като MOSFET не са засегнати от текущите разлики в портите им, вместо това по-високо напрежение може да се счита за опасно. Обикновено всичко над 20V може да бъде лошо за MOSFET порта, но токът може да е без значение.

Поради това резистор на портата не е от значение, тъй като резисторите се използват за ограничаване на тока и портата на MOSFET не зависи от тока.

Това каза, MOSFET са изключително уязвими към внезапни скокове и преходни процеси пред портите им, в сравнение с BJT.

Поради тази причина резисторът с ниска стойност обикновено се предпочита на портите на MOSFET-ите, само за да се гарантира, че няма внезапен скок на напрежението да може да премине през MOSFET-порта и да го разкъса вътрешно.

Обикновено всеки резистор между 10 и 50 ома може да се използва при MOSFET порти за предпазване на портите им от неочаквани скокове на напрежението.

Взаимодействие на MOSFET с Arduino

Както е обяснено в горния параграф, MOSFET ще се нуждае от около 10V до 12V за правилно включване, но тъй като Arduinos работи с 5V, изходът му не може да бъде конфигуриран директно с MOSFET.

Тъй като Arduino работи с 5V захранване и всичките му изходи са проектирани да произвеждат 5V като логически сигнал за високо захранване. Въпреки че този 5V може да има възможност да включи MOSFET, това може да доведе до неефективно превключване на устройствата и проблеми с нагряването.

За ефективно превключване на MOSFET и за трансформиране на 5V изход от Arduino в 12V сигнал, междинен буферен етап може да бъде конфигуриран, както е показано на следното изображение:

как да свържете MOSFET с Arduino

На фигурата MOSFET може да се види конфигуриран с няколко BJT буферни етапа, което позволява на MOSFET да използва 12V от захранването и да включи ефективно себе си и товара.

Тук се използват два BJT, тъй като един BJT би причинил MOSFET да се държи противоположно в отговор на всеки положителен Arduino сигнал.

Да предположим, че се използва един BJT, тогава докато BJT е включен с положителен сигнал Arduino, MOSFET ще бъде изключен, тъй като портата му ще бъде заземена от BJT колектора и натоварването ще бъде включено, докато Arduino е изключен.

По принцип, един BJT би инвертирал сигнала Arduino за портата на MOSFET, което би довело до противоположна реакция на превключване.

За да се коригира тази ситуация, се използват два BJT, така че вторият BJT обръща обратно отговора и позволява на MOSFET да се включва за всеки положителен сигнал само от Arduino.

Финални мисли

Досега трябваше да сте разбрали изчерпателно правилния метод за свързване на BJT и MOSFET-и с микроконтролер или Arduino.

Може би сте забелязали, че за интеграциите използваме предимно NPN BJT и N-канални MOSFET-и и сме избягвали използването на PNP и P-канални устройства. Това е така, защото версиите на NPN работят идеално като превключвател и са лесни за разбиране, докато конфигурирате.

Това е все едно да карате кола нормално в посока напред, вместо да гледате отзад и да я карате на задна предавка. И в двата начина колата ще работи и се движи, но шофирането в задна предавка е много неефективно и няма смисъл. Тук се прилага същата аналогия и използването на NPN или N-канални устройства става по-добро предпочитание в сравнение с PNP или P-каналните мосфетове.

Ако имате някакви съмнения или ако смятате, че може да съм пропуснал нещо тук, моля, използвайте полето за коментари по-долу за допълнителна дискусия.




Предишен: Изследвани са 2 прости двупосочни вериги за контрол на двигателя Напред: Мотоциклетният бутон стартира заключващата верига