Paano ikonekta ang Transistors (BJT) at MOSFET kay Arduino

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Ang interfacing ng mga aparato ng kuryente tulad ng BJTs, at MOSFETs na may output ng Arduino ay isang mahalagang pagsasaayos na nagpapahintulot sa paglipat ng mataas na mga karga ng kuryente sa pamamagitan ng mababang mga output ng kuryente ng isang Arduino.

Sa artikulong ito detalyadong tinatalakay namin ang mga tamang pamamaraan ng paggamit o pagkonekta ng mga transistor tulad ng BJTs at mosfets sa anumang microcontroller o isang Arduino.



Ang mga nasabing yugto ay tinukoy din bilang 'Level Shifter' dahil ang yugtong ito ay binabago ang antas ng boltahe mula sa isang mas mababang punto patungo sa isang mas mataas na punto para sa nauugnay na parameter ng output. Halimbawa dito ang pagpapatupad ng antas ay ipinatutupad mula sa output ng Arduino 5V hanggang sa output ng MOSFET 12V para sa napiling 12V load.

Hindi mahalaga kung gaano kahusay na na-program o naka-code ang iyong Arduino, kung hindi ito wastong isinama sa isang transistor o isang panlabas na hardware, maaaring magresulta sa hindi mabisang pagpapatakbo ng system o kahit na makapinsala sa mga sangkap na kasangkot sa system.



Samakatuwid, ito ay naging lubhang mahalaga upang maunawaan at malaman ang tamang pamamaraan ng paggamit ng panlabas na aktibong mga sangkap tulad ng mosfets at BJTs na may isang microcontroller, upang ang panghuling resulta ay mabisa, maayos at mahusay.

Bago namin talakayin ang mga paraan ng interfacing ng transistors kasama ang Arduino, kapaki-pakinabang na malaman ang mga pangunahing katangian at pagtatrabaho ng mga BJT at mosfet.

Mga Katangian ng Elektrikal ng Transistors (Bipolar)

Ang BJT ay nangangahulugang bipolar junction transistor.

Ang pangunahing pag-andar ng isang BJT ay upang lumipat SA isang naka-attach na karga bilang tugon sa isang panlabas na boltahe na nag-uudyok. Ang karga ay dapat na higit na mas mabigat sa kasalukuyang kumpara sa pag-trigger ng input.

Samakatuwid, ang pangunahing pag-andar ng isang BJT ay upang lumipat SA isang mas mataas na kasalukuyang pag-load bilang tugon sa isang mas mababang kasalukuyang gatilyo ng pag-input.

Teknikal, tinatawag din ito bias ng transistor , na nangangahulugang paggamit ng kasalukuyang at boltahe upang mapatakbo ang isang transistor para sa isang inilaan na pag-andar, at ang biasing na ito ay kailangang gawin sa pinaka-optimal na paraan.

Ang mga BJT ay mayroong 3 lead o 3 pin, katulad ng base, emitter, collector.

Ang base pin ay ginagamit para sa pagpapakain ng panlabas na gatilyo ng pag-input, sa anyo ng maliit na boltahe at kasalukuyang.

Ang pin ng emitter ay laging konektado sa lupa o sa negatibong linya ng suplay.

Ang pin ng kolektor ay konektado sa pag-load sa pamamagitan ng positibong supply.

Ang mga BJT ay matatagpuan sa dalawang uri ng polarities, NPN at PNP. Ang pangunahing pagsasaayos ng pin ay pareho para sa parehong NPN at PNP tulad ng ipinaliwanag sa itaas, maliban sa DC supply polarity na magiging kabaligtaran lamang.

Ang mauunawaan ang mga pinout ng isang BJT sa pamamagitan ng sumusunod na imahe:

Sa imahe sa itaas maaari nating makita ang pangunahing pagsasaayos ng pinout ng isang NPN at isang PNP transistors (BJTs). Para sa NPN ang emitter ay nagiging linya ng lupa, at konektado sa negatibong supply.

Karaniwan kapag ginamit ang salitang 'ground' sa isang DC circuit, ipinapalagay namin na ito ang negatibong linya ng supply.
Gayunpaman, para sa isang transistor ang linya ng lupa na nauugnay sa emitter ay tumutukoy sa base nito at mga voltages ng kolektor, at ang 'ground' ng emitter ay maaaring hindi nangangahulugang negatibong linya ng suplay.

Oo, para sa isang NPN BJT ang lupa ay maaaring ang negatibong linya ng suplay, ngunit para sa isang Transistor ng PNP ang 'ground' ay laging isinangguni sa positibong linya ng suplay, tulad ng ipinakita sa pigura sa itaas.

Ang paggalaw ng ON / OFF na pag-andar ng parehong mga BJT ay karaniwang pareho, ngunit nagbabago ang polarity.

Dahil ang emitter ng isang BJT ay ang 'exit' na daanan para sa kasalukuyang pagpasok at base at ang kolektor, dapat itong 'grounded' sa isang linya ng supply na dapat ay kabaligtaran ng boltahe na ginamit sa mga input ng base / kolektor. Kung hindi man ay hindi makukumpleto ang circuit.

Para sa isang NPN BJT, ang base at ang mga input ng kolektor ay nauugnay sa isang positibong pag-trigger o paglipat ng boltahe, samakatuwid ang emitter ay dapat na sumangguni sa negatibong linya.

Tinitiyak nito na ang mga positibong boltahe na pumapasok sa base at kolektor ay maaaring maabot ang negatibong linya sa pamamagitan ng emitter at kumpletuhin ang circuit.

Para sa isang PNP BJT, ang base at ang kolektor ay nauugnay sa isang negatibong input ng boltahe, samakatuwid natural na ang nagpapadala ng isang PNP ay dapat na sumangguni sa positibong linya, upang ang positibong supply ay maaaring makapasok sa pamamagitan ng emitter at tapusin ang paglalakbay nito mula sa base at ang mga pin ng kolektor.

Tandaan na ang daloy ng kasalukuyang para sa NPN ay mula sa base / kolektor patungo sa emitter, habang para sa PNP, ito ay mula sa emitter patungo sa base / kolektor.

Sa parehong mga kaso, ang layunin ay upang ilipat ON ang load ng kolektor sa pamamagitan ng isang maliit na input ng boltahe sa base ng BJT, ang polarity lamang ang nagbabago na lahat.

Ipinapakita ng sumusunod na simulation ang pangunahing operasyon:

kung paano nagsasagawa ang transistor na may isang panlabas na boltahe

Sa simulation sa itaas, sa lalong madaling pinindot ang pindutan, ang panlabas na input ng boltahe ay pumapasok sa base ng BJT at umabot sa linya ng lupa sa pamamagitan ng emitter.

Habang nangyayari ito ang kolektor / emitter na daanan sa loob ng BJT ay bubukas, at pinapayagan ang positibong supply mula sa itaas upang ipasok ang bombilya, at dumaan sa emitter sa lupa, lumilipat SA bombilya (load).

Parehas na nangyayari ang paglipat nang halos sabay-sabay bilang tugon sa pagpindot sa pindutan ng push.

Ang pin ng emitter dito ay nagiging karaniwang pinout na 'exit' para sa parehong mga input feed (base at kolektor).

At ang linya ng suplay ng emitter ay naging karaniwang linya ng ground para sa pag-input ng supply supply, at pati na rin ang pag-load.

Na nangangahulugang, ang linya ng suplay na kumokonekta sa emitor ng BJT ay dapat na mahigpit din na konektado sa lupa ng panlabas na mapagkukunan ng pag-trigger, at ang pagkarga.

Bakit gumagamit kami ng isang Resistor sa Base ng isang BJT

Ang batayan ng isang BJT ay idinisenyo upang gumana nang may mababang mga pag-input ng kuryente, at ang pin na ito ay hindi maaaring tumagal ng malalaking kasalukuyang mga input, at samakatuwid ay gumagamit kami ng isang risistor, tiyakin lamang na walang malalaking kasalukuyang pinapayagan na pumasok sa base.

Ang pangunahing pag-andar ng risistor ay upang limitahan ang kasalukuyang sa isang wastong tinukoy na halaga, ayon sa pagtutukoy ng pag-load.

Paalala iyon, para sa BJTs ang resistor na ito ay dapat na dimensyonado ayon sa kasalukuyang pagkarga ng tagilid ng kolektor.

Bakit?

Dahil ang mga BJT ay kasalukuyang umaasa na 'switch'.

Ibig sabihin, ang kasalukuyang batayan ay kailangang dagdagan o bawasan o ayusin alinsunod sa kasalukuyang mga spec ng pag-load sa panig ng kolektor.

Ngunit ang boltahe ng paglipat na kinakailangan sa base ng isang BJT ay maaaring mas mababa sa 0.6V o 0.7V. Ibig sabihin, ang load ng kolektor ng BJT ay maaaring ilipat ON na may boltahe na mas mababa sa 1V sa kabuuan ng base / emitter ng isang BJT.
Narito ang pangunahing formula para sa pagkalkula ng base resistor:

R = (Us - 0.6) Hfe / Load Kasalukuyan,

Kung saan ang R = base risistor ng transistor,

Sa amin = Pinagmulan o ang nag-uudyok na boltahe sa base risistor,

Hfe = Ipasa ang kasalukuyang pagkuha ng transistor (maaaring matagpuan mula sa datasheet ng BJT).

Bagaman ang formula ay mukhang maayos, hindi ganap na kinakailangan palaging i-configure nang wasto ang base risistor.

Ito ay dahil lamang, ang mga pagtutukoy ng BJT base ay may malawak na saklaw ng pagpapaubaya, at madaling tiisin ang malawak na pagkakaiba sa mga halaga ng resistor.

Halimbawa, upang ikonekta ang isang relay pagkakaroon ng isang 30mA coil paglaban, ang formula ay maaaring magaspang magbigay ng isang resistor halaga ng 56K para sa isang BC547 sa 12V supply input .... ngunit karaniwang gusto ko ang paggamit ng 10K, at ito ay gumagana nang walang kamali-mali.

Gayunpaman, kung hindi ka sumusunod sa pinakamainam na mga patakaran maaaring mayroong isang bagay na hindi maganda sa mga resulta, tama ba?

Teknikal na may katuturan, ngunit muli ang talo ay napakaliit kumpara sa pagsisikap na ginugol para sa mga kalkulasyon, maaari itong mapabayaan.

Halimbawa ang paggamit ng 10K sa halip na 56K ay maaaring pilitin ang transistor na gumana na may isang bahagyang mas kasalukuyang batayan, na nagiging sanhi ito upang magpainit nang kaunti pa, ay maaaring mas mataas ng ilang degree ... na hindi mahalaga.

Paano ikonekta ang BJT kay Arduino

OK, ngayon dumating tayo sa aktwal na punto.

Dahil sa ngayon malawak na natutuhan natin tungkol sa kung paano kailangang maging kampi at i-configure ang isang BJT sa 3 mga pinout nito, mabilis nating maunawaan ang mga detalye hinggil sa pakikialam nito sa anumang microcontroller tulad ng Arduino.

Ang pangunahing layunin ng pagkonekta ng isang BJT sa isang Arduino ay karaniwang upang ilipat ON sa isang pag-load o ilang mga parameter sa gilid ng kolektor, bilang tugon sa isang naka-program na output mula sa isa sa mga pin ng output ng Arduino.

Dito, ang input ng trigger para sa BJT base pin ay dapat na magmula sa Arduino. Ipinapahiwatig nito ang pagtatapos ng base risistor kailangang kailangan lamang na ikabit sa may-katuturang output mula sa Arduino, at ang kolektor ng BJT na may karga o anumang nilalayong panlabas na parameter.

Dahil ang isang BJT ay nangangailangan ng mahirap 0.7V sa 1V para sa isang mabisang paglipat, ang 5V mula sa Arduino output pin ay nagiging perpektong sapat para sa pagmamaneho ng isang BJT at pagpapatakbo ng makatwirang pag-load.
Ang isang halimbawa ng pagsasaayos ay maaaring makita ang sumusunod na imahe:

interfacing o pagkonekta sa Arduino sa isang transistor relay driver

Sa larawang ito maaari nating makita kung paano ginagamit ang isang naka-program na Arduino para sa pagpapatakbo ng isang maliit na pagkarga sa anyo ng relay sa pamamagitan ng yugto ng driver ng BJT. Ang coil ng relay ay nagiging load ng kolektor, habang ang signal mula sa napiling Arduino output pin ay gumaganap tulad ng input switching signal para sa BJT base.

pagkonekta sa Arduino na may isang mataas na LED power

Bagaman, ang isang relay ay naging pinakamahusay na pagpipilian para sa pagpapatakbo ng mabibigat na pag-load sa pamamagitan ng isang transistor driver, kapag ang mekanikal na paglipat ay naging isang hindi kanais-nais na kadahilanan, ang pag-upgrade ng BJTs ay naging isang mas mahusay na pagpipilian para sa pagpapatakbo ng mataas na kasalukuyang DC load, tulad ng ipinakita sa ibaba.

Sa halimbawa sa itaas ay makikita ang isang network ng transistor ng Darlington, na-configure para sa paghawak ng ipinahiwatig na mataas na kasalukuyang 100 wat na pagkarga nang hindi nakasalalay sa isang relay. Pinapayagan nito ang seamless switching ng LED na may minimum na kaguluhan, na tinitiyak ang isang mahabang buhay sa pagtatrabaho para sa lahat ng mga parameter.

Ngayon magpatuloy tayo sa karagdagang, at tingnan kung paano mai-configure ang mga mosfet sa isang Arduino

Mga Katangian ng Elektrikal ng MOSFET

Ang layunin ng paggamit ng isang mosfet na may isang Arduino ay karaniwang katulad ng BJT tulad ng tinalakay sa itaas.

Gayunpaman, dahil normal Ang mga MOSFET ay dinisenyo upang mahawakan ang mas mataas na kasalukuyang mga spec na mahusay kumpara sa BJTs, kadalasang ginagamit ito para sa paglipat ng mataas na mga karga sa kuryente.

Bago namin maintindihan ang interfacing ng isang mosfet sa Arduino nais na malaman ang pangunahing pagkakaiba sa pagitan ng mga BJT at mosfet

Sa aming nakaraang talakayan, naintindihan natin iyon Ang mga BJT ay kasalukuyang umaasang mga aparato , dahil ang kanilang kasalukuyang switching current ay nakasalalay sa kasalukuyang load ng kolektor. Ang mga mas mataas na daloy ng pag-load ay mangangailangan ng mas mataas na kasalukuyang pangkasalukuyan, at kabaliktaran.

Para sa mga mosfet hindi ito totoo, sa madaling salita mosfets gate na katumbas ng BJT base, nangangailangan ng kaunting kasalukuyang upang lumipat SA, hindi alintana ang kasalukuyang alisan ng tubig (drain pin ng mosfet ay katumbas ng collector pin ng BJT).

Nasabi ito, bagaman ang kasalukuyang hindi ang pagpapasya na kadahilanan para sa paglipat ng isang mosfet gate, boltahe ay.

Samakatuwid ang mga mosfet ay isinasaalang-alang bilang mga aparato na umaasa sa boltahe

Ang minimum na boltahe na kinakailangan para sa paglikha ng malusog na biasing para sa isang mosfet ay 5V o 9V, 12v ang pinakamainam na saklaw para sa ganap na paglipat SA isang mosfet.

Samakatuwid maaari nating ipalagay na upang lumipat SA isang mosfet, at isang pagkarga sa buong kanal nito, ang isang supply ng 10V ay maaaring magamit sa kanyang pintuang-bayan para sa isang pinakamainam na kinalabasan.

Mga katumbas na pin ng Mosfets at BJTs

Ipinapakita ng sumusunod na imahe ang mga pantulong na mga pin ng mosfet at BJTs.

Ang base ay tumutugma sa Gate-Collector na tumutugma sa Drain-Emitter na tumutugma sa Pinagmulan.

BJT mosfet pinout na pagpapalit sa Arduino

Ano ang dapat gamitin ng Resistor para sa isang Mosfet Gate

Mula sa aming mga naunang tutorial naintindihan namin na ang risistor sa base ng isang BJT ay mahalaga, kung wala ang BJT ay maaaring agad masira.

Para sa isang MOSFET maaaring hindi ito gaanong nauugnay, dahil ang mga MOSFET ay hindi apektado ng kasalukuyang mga pagkakaiba sa kanilang mga pintuang-daan, sa halip ang isang mas mataas na boltahe ay maaaring maituring na mapanganib. Kadalasan ang anumang bagay sa itaas ng 20V ay maaaring maging masama para sa isang MOSFET na gate, ngunit ang kasalukuyang maaaring hindi mahalaga.

Dahil dito, ang isang risistor sa gate ay hindi nauugnay dahil ang resistors ay ginagamit para sa paglilimita sa kasalukuyang, at ang mosfet gate ay hindi nakasalalay sa kasalukuyang.

Sinabi na, ang mga MOSFET ay lubos na mahina laban sa biglaang mga spike at transient sa kanilang mga pintuang-bayan, kung ihahambing sa BJTs.

Para sa kadahilanang ito ang isang mababang halaga risistor ay karaniwang ginustong sa mga pintuan ng MOSFETs, upang matiyak lamang na walang biglaang boltahe spike ay magagawang dumaan sa MOSFET gate at pilasin ito sa loob.

Karaniwan anumang risistor sa pagitan ng 10 at 50 ohms ay maaaring magamit sa MOSFET na pintuan para sa pag-iingat ng kanilang mga pintuang-daan mula sa hindi inaasahang mga boltahe na spike.

Ang pagitan ng isang MOSFET kay Arduino

Tulad ng ipinaliwanag sa talata sa itaas, ang isang mosfet ay mangangailangan ng humigit-kumulang 10V hanggang 12V para sa maayos na paglipat sa ON, ngunit dahil ang Arduinos ay gumagana sa 5V ang output nito ay hindi maaaring direktang mai-configure sa isang mosfet.

Dahil ang isang Arduino ay tumatakbo na may 5V supply, at ang lahat ng mga output nito ay dinisenyo upang makabuo ng 5V bilang signal ng mataas na supply ng lohika. Bagaman ang 5V na ito ay maaaring may kakayahang lumipat SA isang MOSFET, maaaring magresulta ito sa isang hindi mabisang paglipat ng mga aparato at pag-init ng mga isyu.

Para sa mabisang paglipat ng MOSFET, at upang ibahin ang output ng 5V mula sa Arduino sa isang 12V signal, ang isang intermediate buffer yugto ay maaaring mai-configure tulad ng ipinakita sa sumusunod na imahe:

kung paano ikonekta ang mosfet kay Arduino

Sa pigura, ang MOSFET ay maaaring makita na naka-configure sa isang pares ng mga yugto ng buffer ng BJT na nagpapahintulot sa MOSFET na gamitin ang 12V mula sa power supply at i-ON ang sarili nito at mabisang pag-load.

Dalawang BJT ang ginagamit dito dahil ang isang solong BJT ay magiging sanhi ng MOSFET na magsagawa ng salungat bilang tugon sa bawat positibong signal ng Arduino.

Ipagpalagay na ang isang BJT ay ginamit, pagkatapos ay habang ang BJT ay ON na may positibong signal ng Arduino, ang mosfet ay papatayin, dahil ang gate nito ay ibabatay ng kolektor ng BJT, at ang karga ay isasa ON habang ang Arduino ay OFF.

Talaga, ang isang BJT ay babaligtarin ang Arduino signal para sa mosfet gate na nagreresulta sa isang kabaligtaran na paglipat ng tugon.

Upang maitama ang sitwasyong ito, ginagamit ang dalawang BJT, upang ang pangalawang BJT ay ibabalik ang tugon at pinapayagan ang mosfet na mag-ON para sa bawat positibong signal mula sa Arduino lamang.

Pangwakas na Saloobin

Sa ngayon ay dapat na maunawaan mo nang komprehensibo ang tamang pamamaraan ng pagkonekta ng mga BJT at mosfet sa isang microcontroller o isang Arduino.

Maaaring napansin mo na halos ginagamit namin ang mga NPN BJT at N-channel mosfets para sa mga pagsasama, at naiwasan ang paggamit ng mga aparatong PNP at P-channel. Ito ay dahil gumagana nang perpekto ang mga bersyon ng NPN tulad ng isang switch at madaling maunawaan habang nag-configure.

Ito ay tulad ng pagmamaneho ng kotse nang normal sa pasulong na direksyon, kaysa sa pagtingin sa likuran at pagmamaneho nito sa reverse gear. Sa parehong paraan ang kotse ay maaaring gumana at gumalaw, ngunit ang pagmamaneho sa reverse gear ay mas mahusay at walang katuturan. Nalalapat ang parehong pagkakatulad dito, at ang paggamit ng mga aparato ng NPN o N-channel ay naging isang mas mahusay na kagustuhan kumpara sa mga mosfet ng PNP o P-channel.

Kung mayroon kang anumang mga pagdududa, o kung sa palagay mo ay may napalampas ako dito, mangyaring gamitin ang kahon ng komento sa ibaba para sa karagdagang talakayan.




Nakaraan: 2 Simpleng Bidirectional Motor Controller Circuits na ginalugad Susunod: Button ng Motorsiklo Magsimula sa Pag-lock ng Circuit