Bipolarni tranzistori

Postoje dvije vrste bipolarnih tranzistora. To su PNP i NPN tranzistori. Obje vrste se najčešće koriste kao sklopke. Sastoje se od tri dijela koja zovemo: emiter, baza i kolektor. Kod njih se, za razliku od unipolarnih tranzistora, gibaju i elektroni i protoni. Fizički se sastoje od pozitvnih i negativnih slojeva poluvodljivih materijala koja su poboljšana kako bi postali “pravi vodiči”. NPN tranzistor se satoji od dva negativna sloja između kojih je pozitivan sloj, dok se PNP tranzistor sastoji od dva pozitivna sloja između kojih je negativan sloj. Kada se na bazu NPN tranzistora dovede slaba struja on propušta jaku struju s drugog izvora koja ulazi u kolektor i izlazi kroz emiter i u ovisnosti o tome kolika je struja dovedena na bazu, struja koju NPN tranzistor propušta s drugog izvora je veća. Odnos tih struja za pojedini tranzisot dan je u njegovim specifikacijama pod oznakom hFE i označava prirast sruje. Definiran je kao omjer struje dovedene na kolektor i struje dovedene na bazu. Tako primjerice ako želimo da tranzistor provede/propusti struju od 1A i pročitali smo iz tranzistorovih specifikacija da je hFE tranzistora jednak 100, tada na bazu moramo dovesti struju od 10mA. Ukoliko dovedemo manju struju tranzistor neće propustiti struju od 1A. Na taj način “veliku” struju od 1A kontroliramo “manjom” strujom od 10mA. Kod PNP tranzistora stvar je obratna. Kako struja koja se dovodi na bazu raste, tako struja koju on propušta s drugog izvora postaje sve manja. Pošto su kod PNP tranzistora nosioci struje “šupljine” odnosno pozitivni elementi, smjer kojim teče struja je u suprotnom smjeru od one u NPN tranzistoru. Zboga toga se kod korištenja PNP tranzistora izvor struje spaja na mjesto koje je označeno kao emiter, dok se kod NPN tranzistora spaja na mjesto koje je u specifikacijama označeno kao kolektor. Bipolarni (NPN) tranzistor kao sklopka:

Tekst o razlikama između NPN i PNP tranzistora:http://www.differencebetween.net/technology/difference-between-bjt-and-fet/.

Članak na Wikipediji o bipolarnim tranzistorima: http://en.wikipedia.org/wiki/Bipolar_junction_transistor#NPN.

Opisi i objašnjena raznih vrsta tranzistora: http://www.electronics-tutorials.ws/transistor/tran_1.html

Kako se koristi NPN tranzistor: http://www.ehow.com/how_7478127_use-npn-transistor.html

FET/MOSFET tranzistori

Unipolarni tranzistori (FET/MOSFET) su tranzistori kod kojih se gibaju samo jedni nosioci naboja - ili elektroni ili protoni. Za njih je svojstveno da imaju veliki ulazni otpor, pa se za njih kaže da su naponski upravljivi i većinom se koriste kao pojačala i sklopke. Razlikujemo p-kanalni i n-kanalni tip FET/MOSFET tranzistora. Primjer n-kanalnog FET/MOSFET tranzistora kao sklopke:

Objašnjenje razlike između n-kanalnog i p-kanalnog tipa:http://www.ehow.com/info_12175986_difference-between-p-channel-n-channel-mosfet.html.

Članak na Wikipediji o FET/MOSFET tranzistorima: http://en.wikipedia.org/wiki/Field-effect_transistor.

Gdje se sve koriste FET/MOSFET tranzistori: http://www.circuitstoday.com/fet-applications

Arduino

Arduino je elektronička pločica oprmeljenja mikrokontrolerom i pripadajućim komponentama koja omogućuje jednostavnu izradu raznih elektroničkih projekata. Jednostavan je za korištenje i njime se mogu služiti i djeca već od osnovne škole.

Youtube tutorijal o Arduinu i kako se koristi na hrvatskoj verziji koja se zove Croduino: http://www.youtube.com/channel/UC2ppjz9TLbBCuGPmmafptrg/videos.

Youtube tutorijal i uvod u rad s Arduinom: http://www.youtube.com/watch?v=fCxzA9_kg6s&list=SPA567CE235D39FA84.

Službena Arduino stranica na kojoj se nalaze detaljno opisani primjeri projekata i upute kako ih napraviti i opisi funkcija kojima se programira Arduino: http://arduino.cc/en/Tutorial/HomePage.

Programsko okruženje za programiranje Arduina, upload programa na Arduino, promjena jezika: http://arduino.cc/en/Guide/Environment.

Serijska komunikacija Arduina i računala: http://arduino.cc/en/reference/serial.

Youtube objašnjenje kako Arduino i računalo izmjenjuju podatke, primjer kako potenciometrom mijenjati boju na Arduinovom serial monitoru i kako računalom uključiti i isključiti ugrađenu LED lampicu: http://www.youtube.com/watch?v=g0pSfyXOXj8&list=SPA567CE235D39FA84&index=6.

Stranica na kojoj se nalazi popis svih verzija Arduino pločica i njihove karakteristike (model mikrokontrolera, memorija, ulazno/izlazni pinovi): http://en.wikipedia.org/wiki/List_of_Arduino_boards_and_compatible_systems

H-bridge

H-brdige je elekronički spoj čiji su glavni dijelovi tranzistori. Koristi se za kontrolu elektromotora. Ukoliko se koriste samo dva tranzistora moguće je samo, pomoću Arduina ili nekog drugog mikrokontrolera, pokrenuti motor u jednom smjeru. Ukoliko se koriste četiri tranzistora moguće je i mijenjati smjer okretaja elektromotora i zaustaviti ga. Sklop ima oblik slova H. Tranzistori se nalaze u vrhovima slova H, dok bi elektromotor bio crtica u samom slovu. Najčešće se u gornja dva vrha slova H nalaze PNP tranzistori, dok se u donja dva vrha nalaze NPN tranzistori kako bi se kontrolirale lijeva i desna strana H-bridgea i u toj kombinaciji potrebne su samo dvije žice koje spajaju posbno lijevu, a posebno desnu stranu na mikrokontroler. Tako se lijeva strana slova H pomoću Arduina postavni na logičku nulu odnosno na nula volti. Tada lijevi gornji PNP tranzistor propušta struju, dok donji NPN ne propušta. Desna strana slova H se dovede na logičku jedinicu odnosno na određeni napon i onda gornji desni PNP tranzistor ne vodi struju, dok donji desni NPN tranzistor provodi struju i motor se okreće u jednom smjeru. Kako bi se motor okretao u drugom smjeru potrebno je lijevu stranu slova H dovesti na logičku jedinicu tj. na određeni napon, a desnu stranu na logičku nulu (nula volti). Tada gornji lijevi PNP tranzistor neće provoditi struju i lijevi donji NPN će provoditi struju, dok na desnoj strani gornji PNP će provoditi i donji NPN neće provoditi struju. Na donjoj slici se na lijevoj strani nalazi skica H-bridgea za kontrolu DC motora koji je napravljen od četiri NPN tranzistora, dok je onaj na desnoj strani napravljen od dva NPN i dva PNP tranzistora:

U oba slučaja potrebno je dodati diode jer motor ima svojstvo induktiviteta i nakon što prestane kroz njega teči struja on postaje izvor struje koja bi potekla prema mikrokontroleru/Arduinu i oštetila ga, te diode služe kao osigurači koji sprječavaju tu struju da dođe do Arduina.

Još jedna schema H-bridgea za kontrolu DC motora s dva NPN i dva PNP tranzistora:

Simulacija H-bridgea i DC motora:

Niz tekstova o H-bridgeu, tranzistorima i kako se od njih radi H-bridge, korištenju H-bridgea za upravljanje elektromotorom: http://www.mcmanis.com/chuck/robotics/tutorial/h-bridge/index.html.

Pojašnjenje H-bridgea i osnovne scheme: http://browse.feedreader.com/c/Electronics_Circuits/16855099.

Upute na University of Pennsylvania za laboratorijsku vježbu na kojoj je potrebno napraviti H-bridge i njime upravljati elektromotorom: http://www.seas.upenn.edu/~ese206/labs/MOSFET/MOSFETHBridge.pdf.

Dodatno o tranzistorima i njihovoj upotrebi s Arduinom za kontrolu elektromotora: http://learn.adafruit.com/adafruit-arduino-lesson-13-dc-motors/transistors.

Upute kako napraviti H-bridge s četiri NPN tranzistora i arduinom kontrolirati elektromotor: http://www.instructables.com/id/H-Bridge-on-a-Breadboard/.

Poskakivanje signala (bouncing)

Kada se koriste prekidači (switch, push button), zbog njihovih fizičkih svojstava, u trenutku kada se upotrijebe dolazi do “iskrenja”, pa signal koji se njima upravlja oscilira. Željeli bismo da je signal (struja ili napon) pravokutnog oblika. Međutim, kada se upotrijebi prekidač, signal pri prijelazu iz logičke jedninice (high, postojanje signala) u logičku nulu (low, nema signala) ili obratno, nakratko oscilira odnosno malo je jedan/high ili nula/low. To se može vidjeti npr. kada se na Arduinu gumbom upravlja svijetlom ugrađene LED lampice. Kada se gumb pritisne da bi se LED lampica upalila, može se dogoditi da se lampica nakratko upali, ugasi i opet upali, kao da je gumb pritisnut par puta. Svaki put kada ulazni pin ide iz niskog stanja (LOW, nema signala, ne prolazi struja, ne postoji napon) u visoko stanje (HIGH, ima signala, teče struja) zbog pritiska gumba, izlazni pin se mijenja iz niskog stanja (LOW) u visoko (HIGH) stanje i obratno i zbog toga postoji maleno kašnjenje u promijeni signala. Potrebno je ignorirati taj “šum” odnosno kratku oscilaciju signala čije trajanje ovisi o mehanici prekidača i tipićno je kraće od 50 ms. Grafička predodžba:

Kako riješiti taj problem kod Arduina putem programiranja: http://arduino.cc/en/Tutorial/Debounce:

Što je kartkotrajna promjena signala kod korištenja prekidača i gumbi i kako programirati Arduino da bi se riješio problem: http://opensourcehardwaregroup.com/tutorial-19-debouncing-a-button-with-arduino-old-version/.

Unipolarni stepper (koračni) motor

Unipolarni stepp motor je jedna od dvije glavne vrste stepper motora. To je elektromotor koji, za razliku od običnih elektromotora, jedan okretaj dijeli na puno manjih jednakih pomaka odnosno koraka. Tim pomacima se može upravljati pomoću mikrokontrolera kao onim na Arduinu. Sastoji se od rotora i statora koji su “nazubljeni”. Na statoru se nalaze zavojnice, obično dvije. Rotor je zapravo permanentni magnet. Iz zavojnica izlaze dvije žice (center tap), koje dijele zavojnicu na dva dijela, i spajaju se na izvor napona. Krajevi zavojnica se uzemljuju. U bilo kojem trenutku samo je jedna zavojnica aktivna tj. kroz nju prolazi struja. Zatim se pomoću tranzistora određuje kroz koji dio zavojnice će teći struja i tako stvoriti magnetsko polje u jednom ili drugom smjeru. To magnetsko polje koje je nastalo na statoru će privući suprotan pol rotora i tako ga pomaknuti za određeni kut koji ovisi o broju “zubi” na rotoru i statoru. Taj proces se ponavlja drugom zavojnicom. Mikrokontrolerom se upravlja tranzistorima koji određuju kroz koji dio (lijevi ili desni) pojedine zavojnice će teći struja i tako sve dok se ne dođe u traženi položaj. Potrebna su dva tranzistora po zavojnici kako bi se odredilo kroz koji dio zavojnice će teći struja. Nedostatak unipolarnih stepper motora prema bipolarnima je manja obrtna sila (torque) zbog toga što je uvijek aktivna samo jedna od zavojnica. Skice unipolarnih stepper motora:

Wikipedia članak o stepper motorima: http://en.wikipedia.org/wiki/Stepper_motor

Dodatno o uinpolar stepper motorima: http://www.stepperworld.com/Tutorials/pgUnipolarTutorial.htm

Unipolar i bipolar stepper motori: http://mechatronics.mech.northwestern.edu/design_ref/actuators/stepper_intro.html

Kako otkriti je li stepper motor unipolaran ili bipolaran: http://electronics.stackexchange.com/questions/24848/how-to-find-out-whether-i-have-a-unipolar-or-a-bipolar-stepper-motor

Arduino i stepper motori: http://arduino.cc/en/Tutorial/MotorKnob

Bipolarni stepper (koračni) motor

Drugi glavni tip stepper motora, uz unipolarni, je bipolarni stepper motor. Jedina razlika između njih je u tome što bipolarni nemaju posebne žice (center tap) iz svake zavojnice, tako da kroz njihove zavojnice konstanto teče struja. Zboga toga je potreban drugačiji sustav za promjenu smjera struje i time promjenu magnetskog polja. Za promjenu struje zavojnice potreban je H-bridge i to dva, jedan za svaku zavojnicu. Prednost nad unipolarnim motorom je veća obrtna sila (torque) zbog toga što su konstantno aktivne obje zavojnice. Nedostatak je taj što su kod bipolarnog motora potrebna četiri tranzistora po zavojnici tj. jedan H-bridge po zavojnici. Skice bipolarnih stepper motora:

Schema sklopa za kontrolu bipolar stepper motora pomoću arduina i čipa SN754410NE (http://pdf1.alldatasheet.com/datasheet-pdf/view/28616/TI/SN754410NE.html) koji sadrži četiri polu H-bridgea tj. dva cijela H-brdigea, ovisno o načinu spajanja. Može se koristiti i bilo koji drugi čip koji ima istu funkcionalnost:

Wikipedia članak o unipolarnim i bipolarnim stepper motorima: http://en.wikipedia.org/wiki/Stepper_motor

Dodatno o bipolarnim motorima: http://www.stepperworld.com/Tutorials/pgBipolarTutorial.htm

Objašnjenja unipolarnih i bipolarnih motora: http://mechatronics.mech.northwestern.edu/design_ref/actuators/stepper_intro.html

Arduino i stepper motori: http://arduino.cc/en/Tutorial/MotorKnob

Arduino bootloader i Arudino parallel port programmer

Bootloader je program koji je stavljen (uploadan) na mikrokontroler na Arduino pločici. On omogučava stavljanje vlastitih programa (sketcheva) na Arduino bez dodatnih uređaja. Kada se Arduino spoji USB-om na računalo bootlader je aktivan par sekundi kada se pločica resetira, a zatim se izvodi zadnji program koji je na nju stavljen. Ukoliko dođe do oštećenja mikrokontrolera na Arduino pločici, potrebno je samo kupiti novi mikrokontroler i pomoću Arduino parallel port programmera uplodati bootloader na novi mikrokontroler i staviti ga na pločicu.

Sve o bootloaderu: http://arduino.cc/en/Hacking/Bootloader?from=Main.Bootloader

Kako napraviti Arduino parallel port programmer: http://arduino.cc/en/Hacking/ParallelProgrammer

Očitavanje više push-buttona pomoću jednog analognog pina