H-sild mootorile

Seda skeemi luues oli mul mõttes minu teleskoop. Sain selle headelt sõpradelt sünnipäeva kingituseks. See on mõõtmetelt kompaktne, kuid samas piisavalt võimas Jupiterist, Saturnist ja Kuust adekvaatne pilt saada. Ainus mure on pildi teravaks saamine. 700 kordse suurenduse juures on ülimalt keeruline saada terav pilt, sest niipea kui käsi hoova külge läheb hakkab pilt võbelema. Sedasi on raske aru saada mis momendil pilt selge on ja millal kruttisid õigest fookuskaugusest üle.

Lahenduseks nuputasin, et teravustamise hooba võiks pöörata tilluke elektrimootor. Mul on sahtlis üks 6V alalisvoolumootor mis teeb 50 pööret minutis. Hankisin selle kunagi mõttetu masina tarbeks, aga et mõttetu masin on mõttetu ei viinud ma projekti lõpuni.

Seda skeemi saab kasutada igal pool kus tahad mõne koormuse pinge polaarsust muuta. Mootorid on kaugelt kõige populaarsemad kuid meelde tulevad veel Peltieri elemendid ning trafode primaarmähised inverterites.

H-sild

Meil on tarvis, et mootor pööraks mõlemat pidi. Seega tuleb mootorit pingestada kord ühte, kord teist pidi. Selle jaoks on välja mõeldud H-sild. See on neljast lülitist koosnev H tähe kujuline ahel, mis lubab just seda: Muuta mootori toite polaarsust.

Ülal oleval pildil on kaks näidet. Vasakpoolsel on H-silla lülitid selliselt, et mootor töötaks “õiget pidi”. See on muidugi kokkuleppeline, aga mootori sümbolil on sellel poolel + märk. Ehk siis tekib vooluahel toitest läbi mootori maha selliselt, et mootor oleks pingestatud ühte pidi. Parempoolne pilt näitab vastupidist olukorda.

Sisuliselt saaks sellist skeemi juba kasutada. Aga ainult käsitsi lülitades. Mina tahaks aga pakkuda välja midagi mida saaks juhtida elektriliselt. Kas siis Arduino või mõne muu süsteemiga. Midagi universaalsemat. Seega toome lavale komponendi nimega

Transistor

Transistor, möödunud sajandi üks tähtsamaid leiutisi, on just täpselt see: elektriliselt juhitav lüliti. See on kolme klemmiga(jalaga) seade mille kahe klemmi vahel voolava voolu hulka saab reguleerida kolmanda klemmi voolu või pingega(sõltub transistori tüübist). Hoiatuseks! Ma ei kavatse siin väga sukelduda transistori tööpõhimõttesse. Ma ei tunne, et minu teoreetilised ja praktilised teadmised kuidagi netis saada olevat eestikeelset materjali täiendaksid.  Annan edasi ainult rusikareeglid ning neidki ainult niipalju kui ülaloleva skeemi mõistmiseks vaja. Huvi korral guugelda. Eestikeelne Wiki annab esmase ülevaate, ning siin lehel on päris põhjalik materjal.

Laias laastus aga on meil kahte tüüpi transistore: Bipolaar- ja väljatransistor. Siin skeemis kasutan ainult väljatransistore. Meil on n ja p tüüpi isoleeritud paisuga väljatransistorid (MOSFET-id). Alustame kõige levinumast, kõige populaarsemast ja kõige paremini tuntud lülitustransistorist n-MOSFET-ist. Uurime seda selle transistori enim levinud rakenduses milleks ongi lüliti.

Väljatransistori kolm klemmi kannavad nime Läte L (Source S), Neel N (Drain D) ja Pais P (Gate G). N-MOSFETi kasutatakse tavaliselt nii, et läte ühendatakse 0V külge, misiganes asi mida sa tahad lülitada(valgusdiood, mootor, relee) jääb neelu poole, ning kui paisule antakse lätte suhtes positiivne pinge hakkab transistor elektrit juhtima. Ma teen ühe kiire näite lambipirniga:

Enne nupule vajutust on paisu pinge 0V. Selle tagab R1. Väljatransistor on pingega juhitav seade. Paisu takistus alalisvoolule on tohutult suur ja tavaliselt arvestatakse, et paisu sisse voolu ei lähe. See tähendab, et kui pais nii öelda “õhku rippuma” jätta, ja mürast tekitud voolul ei ole kuhugi minna, võib paisu pinge tõusta piisavalt suureks ja transistor juhtima hakkaks. Selle vältimiseks ongi paisu küljes maaga ühendatud R1.

Vooluahela mõttes on transistor tühis ja mõlemal elektripirni kontaktil +12V.

Oletame nüüd, et keegi vajutab nuppu alla. Pinge Vss ühendatakse transistori paisuga ning transistor hakkab elektrit juhtima. Nüüd võib transistori lugeda lühiseks(tinglikult), ning kogu pingelang jääb elektripirnile. Elektripirni hakkab läbima vool ja tekib valgus. Loomulikult ei pea pinge paisule saama läbi päris lüliti, vaid seal võib olla mikrokontrolleri väljund või muu skeem, mis transistori sisse lülitamiseks piisava pinge tekitab.

Mis on piisav pinge? Sõltub sellest millist voolu transistor juhtima peab. Selle juurde tuleme tagasi siis, kui ma seletan kuidas transistore valida. Küll aga on Vss tavaliselt oluliselt väiksem kui transistori maksimaalne lubatud N-L pinge. Mistõttu transistor ongi sedavõrd kasulik. Sa saad väikese energiaga lülitada suurt energiat.

Edasi. P-MOSFET. Sarnane N-MOSFETile, aga kõik on tagurpidi.

P-MOSFET-i läte ühendatakse tavaliselt toitesse. Selleks, et transistor elektrit juhtima hakkaks tuleb pais tõmmata lättest madalamaks. Enamustes rakendustes tohib paisu otse vastu 0V toidet tõmmata, aga kui skeemi toitepinge on suurem kui maksimaalne lubatud L-P pinge siis tuleb leida/tekitada mõni muu pingenivoo.

P-MOSFET-i puhul jääb lülitatav transistorist 0V toite poole. See on intuitiivselt vist veidi lihtsam hoomata. Sa sisuliselt justkui keerad veekraani lahti ja kraani all olevad komponendid saavad elektrivoolu. Näide:

Enne nupule vajutamist on pinge paisul võrdne toitepingega, +12V. Selle tagab R1. Seega on transistor suletud. Kui nüüd nupp alla vajutada läheb paisu pinge oluliselt madalamaks kui toitepinge, transistor avaneb ja elektripirn saab voolu.

Tekkida võib küsimus, miks ei võiks N-MOSFET transistori kasutada koormusest toite pool? Võib ikka, aga tuleta meelde, et N-MOSFETi sisselülitamiseks tuleb paisule anda lättest kõrgem pinge. Ütleme, et paisu pinge on 0V. Sinu läte on ühendatud koormusega, aga et koormust ei läbi alguses vool on ka lätte pinge 0V. Kui nüüd paisu pinget tõstma hakkad hakkab transistor mingi hetk avanema, ning pinge koormusel hakkab tõusma. See aga kutsub esile vajaduse tõsta paisu pinget veelgi. Paisu pingel on aga lagi. Selleks on toitepinge. Ja kui pais on samal pingel mis toitepinge on vool läbi transistori parasjagu nii suur, et pinge koormusel annaks voolule vastava L-P pinge. Tekib nähtus nimega negatiivne tagasiside mis tekitab olukorra, kus koormus ei saa kunagi pingelanguks toitepinget. Variant oleks tekitada täiendav pingeallikas mis on +12V(või mis iganes toitepingest) kõrgem. Kusjuures on võimalik leida integraalskeeme, mis on mõeldud juhtima ainult N-MOSFETidest ehitatud H-silda. Neil on kavalad mahtuvuslikel elementidel baseeruvad pingeallikad mis tekitavad vajalikud toitepingest kõrgemad paisupinged ülemistele N-MOSFETidele. See on ihaldusväärne suure võimsusega seadmete lülitamisel, sest N-MOSFETidel on mingitel sisemistel füüsikalistel põhjustel parem juhtivus kui P-MOSFETidel.

H-silla lülitamine

H-silla lülitid on N-MOSFETid Q1 ja Q2, ning P-MOSFETid Q5 ja Q6. Nende valimiseks peab veidi teadma millist voolu tarbib mootor. Oomipood kahjuks andmelehte ei paku, ning ainus info mis sealt saan on tööpinge 6V ja kiirus ilma koormuseta 50RPM (revolutions per minute- pööret minutis). Ülejäänud info leidmine eeldas kõva guugeldamist ja ma ei saa olla üleliia kindel, et leitud info täpselt minu mootorile vastab. Aga miskit tuleb aluseks võtta. Sain seega teada, et mootori nominaalvool on 120mA, ning kui rootor ei saa ringi käia on vool 300mA.

Transistoride valimisel seadsin kolm kriteeriumit

  1. Nominaalne voolutugevus olgu vähemalt 500mA. See annab piisavalt varu ja kindluse, et transistor ei lähe kohe katki kui mõni viga sisse tuleb prototüüpi ehitades. Samuti ei lähe suuremaks vooluks ette nähtud transistor ka väga tuliseks, sest selle takistus sisselülitatud olekus kipub olema madalam kui madalamateks vooludeks loodud seadmetel.
  2. Seadet peab saama sisse lülitada ka 3,3V loogikanivoolt (mõned Arduinod). See tähendab et L-P lävipinge peaks olema alla 3,3V.
  3. Seade peaks olema “Jalgadega”. Ehk siis aukmontaaziks mõeldud. Nendega on lihtsam maketeerimisplaadil toimetada.

Ilmselt oleks valikukriteeriumid radikaalselt teistsugused kui mind huvitaks hind ja optimeerimine, masstootmine ja kättesaadavus.

Vaata ülemist skeemi ja oleta, et keegi ei vajuta kumbagi nuppu. See tähendab, et N-MOSFET transistoride Q1, Q2, Q3 ja Q4 paisul olev pinge on null. Kõigi nelja paisud on ühendatud maaga läbi 10k takistite. Seega on N-MOSFET-id suletud ning ei juhi voolu. Kui aga Q3 ja Q4 ei juhi voolu tõmbavad takistid R1 ja R2 pinge P-MOSFET transistoride Q5 ja Q6 paisul võrdseks toitepingega. Seega ei juhi ka P-MOSFET-id voolu. H-sild on välja lülitatud ja mootor püsib paigal.

Kui nüüd tuleb keegi ja vajutab nuppu S2, siis:

  1. Q4 ja Q2 paisud ühendatakse toitega, ning need avanevad. Mootori – klemm ühendatakse maaga.
  2. Q5 pais ühendatakse läbi Q4 maaga, mis toob esile Q5 avanemise ja mootori + klemm ühendatakse toitega.

Mootor hakkab tööle edaspidi. Kui vajutada teist nuppu juhtuvad samad asjad transistoridega Q1, Q3 ja Q6, aga siis ühendatakse klemmid toitega teistpidi.

Kui aga vajutad mõlemat nuppu korraga on pahandus. Elektrivoolul ei ole siis enam huvi voolata läbi mootori, sest mootoril on takistus. TTÜ professor Vello Kukk ütles loengus tabavalt “Vool ei ole loll. Ta läheb sealt kus takistus väiksem.” Seega voolaks kogu vool läbi avatud transistoride otse maha. Avatud transistori takistus on aga üsna madal. Seega on Oomi seadusest lähtudes tekkiv vool väga suur mis korraliku toiteallika korral hävitab transistorid. Need lihtsalt kuumenevad üle, hakkavad suitsema ja halval juhul lähevad põlema. Sõltuvalt toiteallika võimsusest võib see kõik toimuda imekiiresti.

Seletan korra ka takistite R4 ja R5 eesmärgi. Esmalt kujutame ette, et neid ei ole. Kui neid ei ole juhtuks nii, et lüliti vajutamisel avaneksid N-MOSFETid üheaegselt. H-silla N-MOSFET hakkaks elektrit juhtima. Aga P-MOSFET-i hakatakse alles lülitama. Seega siis näiteks “Edaspidi” nupu lülitamisel oleks alumise lüliti avamise aeg Q2 avanemise aeg. Ülemise lüliti oma aga Q4 + Q5 avanemise aeg. Ehk siis pikem. Seega on R4 ja  R5 eesmärk piirata voolu hulka mis voolab Q2 paisule aeglustades sellega pinge kasvu ja transistori avanemise kiirust. Väärtuse 100R võtsin laest ilma igasuguse arvutuseta. Küllalt ebaprofesionaalne minust, aga need takistid on seal probleemile tähelepanu juhtimiseks ja ei ole olulised selles rakenduses kus mina seda silda kasutan.

On veel üks asi mis väärib mainimist. Induktiivsete koormuste lülitamisega on see jama, et kui suure induktiivsusega koormuse vool katkestada sunnib induktiivsus voolu edasi voolama. Näitan  alloleva skeemi tomimist seda LTSpice-is simuleerides.

Sinine on transistori paisupinge. Roheline on pinge transistori ja pooli vahel. Nagu näha- lülitame transistori välja, aga vool tahab induktiivsuse toimel edasi voolata. Et aga kusagile ei ole minna hakkab pinge kasvama. Sellel pingehüppel on potensiaali hävitada lülitav transistor. Võib muidugi arvutada ja katsetada mis see pinge on mis tekkida võib ning siis piisavalt äge transistor valida. Targem on aga tekitada voolule mingi väljapääs ja vältida kogu inetu pingehüpe. Üsna tavaline on panna lülitatava koormusega paralleelselt üks vastupingestatud diood.

Diood on kahe jalaga seade mis üht pidi juhib voolu ja teist pidi ei juhi. Selle hingeks on PN-siire, P-tüüpi lisandiga räni ja N-tüüpi lisandiga räni ühenduskoht. Kui positiivne pinge on ühendatud P-räni külge ja negatiivne N-räni külge saab elekter läbi siirde voolata. Vastupidi ei saa. Dioodi oluline omadus on päripingelang. See sõltub natuke temperatuurist ja dioodi läbivast voolust, kuid rusikareegel on, et ränidioodil on see umbes 0,7V. Ehk siis kui dioodi läbib vool jääb dioodile pinge 0,7V.

Kui indutseeritud pinge transistori lättel ületab dioodi päripingelangu hakkab vool läbi dioodi uuesti positiivsesse toitesse voolama. See ei tähenda loomulikult, et vool läheks tagasi toiteplokki või akusse. See vool läheb uuele ringile läbi induktori ja voolab sedasi kuni traatide ja juhtmete oomiline takistus voolu soojuseks muutes ära kulutab. Pinge lättel on selline:

Nonii! Aga kus on dioodid H-silla skeemis? Täitsa ootamatult on need transistoride sees. MOSFET tüüpi transistoridel on nende arhidektuuri tõttu sisemine diood(inglise keeles intrinsic diode või body diode). Seda tegelikult tähistab ka see tilluke nooleke MOSFET-i sümboli sees.  

Aga et see igal juhul meeles püsiks tähistatakse selle dioodi olemasolu tihtipeale ka sedasi(pildid skeemis kasutatud MOSFET-ide andmelehtedest): 

Seega siis kui lülitid sulguvad ja mootori mähis hakkab indutseerima pinget vastupidiselt sellele millega mootorit hetk tagasi mõjutati saab positiivne pinge põgeneda läbi lülitamises mitte osalenud P-MOSFETi sisemise dioodi toite poole. Pane tähele, et mootor üritab oma teisele klemmile tõmmata negatiivse pinge (vool viib laengut ära) aga voolule on loodud tee läbi lülitamises mitte osalenud N-MOSFETi sisemise dioodi. Vihjed sellele on tegelikult ka selle suure pingehüppega graafikul näha.

Zeneri diood

Mündi kaks külge. MOSFETil on küll kasulikud sisemised dioodid, kuid H silla puhul ei pääse elektrivool tegema seda ringi mida ta sai teha selles skeemis mida kasutasin indutseeritud pingeimpulsi demonstreerimiseks. See ei saa tagasi patareisse ega uuesti läbi P-MOSFET-i mootori poole. Ehk siis pingeimpulsi probleem tegelikult ei ole lõpuni lahendatud.

Lahenduse annab komponent, mis hakkab elektrit juhtima alles mingist kindlast lävipingest alates. Selleks komponendiks on Zeneri diood.

Kui zeneril on vastupinge mis on alla zeneri lävipinge käitub zener nagu tavaline diood. See sisuliselt ei juhi elektrit. Kui aga pinge jõuab lävipingeni, milleks siin skeemis kasutatud zeneri puhul on 7,5V, hakkab diood juhtima. Tulemuseks on see, et pinge sellel dioodil ei saa ületada normaaloludes 7,5V.

Zeneri puhul on oluline hinnata, et see saaks hakkama selle energiaimpulsiga mida sellest läbi hakatakse juhtima.

See graafik on zeneri dioodi andmelehest. See seab lae sellele kui palju võimsust tohib zeneril soojuseks hajuda enne kui kuumus seadet pöördumatult kahjustab. Sellised arvutused on pea-aegu alati võimalikud ainult ligikaudsed ja seetõttu tasuks kõike ümardada üles.

Arvutame nii. Kui H-silla lülitid välja lülitada on esimesel hetkel vool mootoris ikkagi niisama suur kui ta oli siis kui sild oli sees. See tähendab, et maksimaalselt 300 mA. See vool hakkab langema, ning voolu langemise kiirus on seotud mootori induktiivsusega. Mootori induktiivsus ei ole teada. Seda saab mõõta, aga mina pean hetkel paremaks minna internetti ja otsida teisi sarnase suuruse, nominaalpinge ja nominaalvooluga mootoreid millel on põhjalik andmeleht.

Leid nr 1: 6V, 775mA, 0,2 mH

Leid nr 2: 6V, 2,4A. 0,04 mH

Leid nr 3: 6V, 860mA, 0,11 mH

Näib, et on mingi seos. Tundub, et mida väiksem on mootori nominaalvool seda suurem on induktiivsus. Minu mootori nominaalvool on 120 mA. Kui oletame, et minu mootori induktiivsuseks näiteks 5mH oleme üsna kindlasti turvaliselt üle reaalse induktiivsuse.

Kasutades valemit

saab arvutada voolu mida induktor tekitab igal ajahetkel pärast seda kui toitepinge on eemaldatud. Pärineb see siit: link. Kahjuks on tekst inglise keeles. Samuti, et seal uuritakse kuidas vool kasvab pärast pinge rakendamist on minu valemis 1 sulgude seest ja e eest eemaldatud. V on mootori pinge 6V. L on induktiivsus 5mH mille me välja mõtlesime. R on mootori mähise takistus. Selle saame arvutada sellest voolust mis voolab mootoris siis kui mootor on kinni kiilutud. Minu andmetel on selleks 300 mA. Sellest voolust ja mootori nominaalpingest saab oomi seaduse abil arvutada takistuse 20Ω. Ülejäänu eest hoolitseb tabelarvutusprogramm. Sedapuhku Google Docs Spreadsheet.

Ja nüüd siis teame, et vähem kui 1 ms kukub mootori vool sisuliselt nulli. Vaata veel korra graafikut mille võtsin dioodi andmelehest ja mis näitab kui palju võimsust tohib mingi aja jooksul dioodist läbi voolata. Kõige hullemal juhul voolab mootoris 300mA. Pinge on 6V ja võimsus sellest lähtuvalt 1,8W. Isegi kui meil oleks kogu 1 ms pulsi jooksul vool 0,3 mA oleks dioodiga kõik korras.

Eksperiment

Seekord ladusin skeemi maketeerimislauale.

Ekraani alumisse serva jooksvad must ja punane juhe kuuluvad patareihoidjale, mis mahutab 4 AA patareid. Küllap on pildil olevast juhtme puntrast keeruline aru saada täpsetest ühendustest. Aga sain kinnituse, et skeem toimib ja ma ei aja pada.

Eksperimendi käigus tuli välja üks skeemi puudus mis rikub mõõdukalt minu plaani seda sellisel kujul teleskoobi küljes kasutada. Nimelt on mootoril inerts. Kui nupu lahti lased teeb mootor veel umbes ⅙ pööret. Paljudel juhtudel ei ole see probleem, aga teleskoobi puhul muudaks selline “üle keeramine” täpse reguleerimise raskeks.

Lahendusi oleks kaks.

  1. Ma lühistan mootori niipea kui nupp lahti lastakse. Seda saab teha nii, et sa ühendad mõlemad mootori klemmid vastu maad. Loogika on selles, et kui miski mootorit ringi ajab hakkab mootor käituma generaatorina. Generaator aga käib ringi  seda raskemalt mida suurem koormus on generaarori klemmide vahel. Energia jäävuse seadus. Kui teha nii, et takistus kahe klemmi vahel on väike, siis on koormus suur ja kogu mootori pöörlemisenergia muundatakse kiiresti elektrivooluks läbi maa.
  2. Ma loon võimaluse mootorit sujuvalt juhtuda kasutades transistoride avamiseks PWM signaali. PWM signaalist räägin lähemalt ülejärgmises postituses.

Läks seega hästi minu otsusega kasutada maketeerimislauda.

Veel õppetunde. Tasub olla tählepanelik mis saab ostukorvi kui veebipoest elektroonikakomponente hangid. Mina tellimistuhinas asju lisades ja kustutades kustutasin tellimusest zeneri dioodi. Seega ülaloleval skeemil seda ei ole. Küllap on ilma koormuseta mootori vool nii väike, et tekkiv pingeimpulss ei tekita probleeme. Kindlasti ei ole see hea praktika ja teen selle korda enne kui seda kusagil päris asjana kasutama hakkan.