Moottoriohjainkytkentä L298N IC-piirillä

Alunperin julkaistu: 10.2.2017

Viimeksi muokattu: lauantai 9.12.2017

Tämä kytkentä on rakennettu moottoreiden ohjaimeksi ja soveltuu liitettäväksi 5 voltin logiikkatasolla toimivaan ympäristöön. Moottoreita voidaan ohjata puolestaan jopa 50 voltin jännitteellä ja virtaa saadaan yhdestä kanavasta 2,5 - 3 A. Tehoinahan tämä tarkoittaa 125 - 150 W, mutta näin suuria tehoja tuskin kannattaa tällä piirillä ohjailla. Pienten robottien ja muiden kuormien ohjaamiseen varsin toimiva piiri.

Kytkentä

Puuhastelu alkoi kytkennän piirtämisellä. Kytkentä on yksinkertainen ja ohjainpiirin lisäksi tarvitaan vain muutama kondensaattori, suojadiodit ja shunttivastukset. Kytkentäkaaviosta osa alla:

Piirin toimintaa ohjataan yksinkertaisella logiikalla. ENA-tulo sallii OUT1 lähdöt, jotka ohjaavat moottoria M1. Kun lähtö on sallittu, IN1 ja IN2 tuloilla ohjataan moottorin pyörimissuuntaa. Alla olevaan taulukkoon on merkitty tulo-kombinaatiot ja miten lähtö käyttäytyy. Huomioi, että moottorin pyörimissuunta riippuu tietenkin miten päin se lähtöön kytketään!

ENA "0" "1" "1" "1" "1"
IN1 x "0" "1" "1" "0"
IN2 x "0" "0" "1" "1"
Lähtö Vapaa Seis/Jarru Myötäpäivään Seis/Jarru Vastapäivään

Kytkennässä alhaalla olevat vastukset ovat shunttivastuksia, joilla voidaan mitata kuinka paljon virtaa moottoreiden läpi menee. Näiden vastusten resistanssiarvon tulee olla pieni ja kyseisten vastusten tehonkesto pitää mitoittaa moottoreiden mukaan. Tässä olen käyttänyt caddockin MP930 0,5 ohmin vastuksia, jotka ovat TO-220 koteloituja. Nämä kestävät noin yhden Watin tehohäviön ilman jäähdytyselementtiä (tässä tapauksessa virran määrä on maksimissaan 2 A). Vastusten rinnalla ovat häiriönpoistokondensaattorit (eivät pakollisia).

Suojadiodit näkyvät kuvassa oikealla ja ne ovat pakollisia. Kannattaa käyttää nopeita ja virtaa kestäviä diodeja esim. schottcky-diodeja. Niin sanotusti "normaali" 1N4007 diodikin käy.

Lisäsin kytkentään myös ledit, jotka näyttävät moottorin pyörimissuunnan, näin on helpompi tarkastella toimiiko ohjaus vai ei. By-pass kondensaattorit tulee olla lähellä piirin VDRIVE ja VLOGIC nastoja (4 ja 9). Häiriönpoistoa ja suodatusta tehdään kytkennässä syöttöjännitteelle, koska moottorit ovat aikamoisia häiriön aiheuttajia yleensä.

Jos kytkentää haluaisi parantaa, niin pääkondensaattorin kapasitanssia voisi suurentaa ja ohjaustuloihin voisi lisätä esim. ESD suojausta, kuten diodeja tai varistoreita. En kuitenkaan kytkennän yksinkertaisuuden vuoksi alkanut suojakomponentteja enempää laittamaan.

Kytkentäkaavion voit kokonaisuudessaan ladata PDF-muodossa tästä.

Piirilevy

Piirilevyn kooksi valitsin tällä kertaa suurehkon, noin 10 cm x 7 cm kokoisen levyn. Olen todennut harrastellessa ja protolevyjä tehdessä, että "väljä" suunnittelu ei ole huono asia, virheitä kun pitää välillä korjata ja piirilevyn kasaaminen on myös helpompaa (myös eristevälit voivat tällöin olla suurempia). Tällä kertaa väljä suunnittelu aiheutti päänvaivaa vain lievästi, eikä oikosulkuja tai muita ongelmia juurikaan ollut.

Aluksi piirtelin piirilevykuvan PADS:illa, jonka jälkeen tulostin sen siirtokalvolle ja painoin silitysraudan avulla kuparilevylle. Kuvan siirron jälkeen syövytin levyn ferrokloridiliuoksessa.

Hyppyjohdoilta ei voinut välttyä tässä tapauksessa, mutta onneksi niitä ei niin hirveän paljon tarvinnut. Reiät poraan aina käsin, joten yritän tehdä mahdollisimman vähän hyppylankoja yleensäkin.

Piirilevyn valmistuksen jälkeen osat pitää tietenkin juottaa paikoilleen. Kuparipintaan juotin pintaliitoskomponentit ja läpijuotettavat komponentit aseteltiin piirilevyn toiselta puolen. Niitit ovat käteviä hyppylankoja ja ne ovat valmiiksi taivutettujakin. Juottamisen puolesta ne eivät ehkä parhaimpia ole (mitä lie materiaalia, en ole jaksanut ottaa selvää), mutta kun on tarpeeksi lämpöä niin tina tarttuu. Juottamisen jälkeen tarkistin sekä poistin oikosulut levyltä ja lopputestauksen jälkeen lakkasin levyn kuparipinnan eristävällä kirkkaalla lakalla. Alla olevassa kuvassa on näkyvillä lopputulos piirilevyn sekä ylä- että alapuolelta.

Testaus

Kytkentä toimi kuten oli oletettukin. Moottoriohjaus toimii oikein ja "ylimääräisiä" toimintoja levyltä ei löytynyt (eli ei ollut oikosulkuja väärissä paikoissa).

Koska kytkentä tulee joskus kiinni akkukäyttöiseen laitteeseen, niin oikeastaan ainoa merkittävä asia joka kiinnosti mitata oli virrankulutus. Kytkin moottorijännitteeksi 12 volttia ja ulkoisen regulaattorin avulla logiikkatason jännitteeksi 5 volttia. Tämän jälkeen testasin kytkentää painonappien avulla, jotka olivat kytketty ohjaustuloihin (ohjaus: 5V / 0V).

Virrankulutus kytkennällä on noin 3 mA, kun ENA ja ENB ovat 0-tilassa eli ei sallittuina. Kun yksi lähtö sallitaan (ENA = 1), niin virrankulutus kasvaa n. 10 mA:lla. Kuormaa ohjattaessa virta tietenkin kasvaa sitä suuremmaksi mitä virtasyöppöisempää kuormaa ohjataan. Itse käytin pientä DC-moottoria, jonka nimellinen käyttöjännite on 4,5 V, mutta hetken aikaa sitä voi suuremmallakin jännitteellä ohjata (joka tässä oli siis 12 V). Kyseinen moottori imaisi noin 240 mA virtaa pyöriessään tällä "setupilla".

Kytkennällä voidaan ohjata tietenkin myös resistiivistä kuormaa, kuten esimerkiksi lämpövastuksia, keraamisia lämmittimiä tms. Tällöin suojadiodit voidaan jättää pois, koska kytkentään ei suuresti induktanssia tule. Mikäli kuorman syöttökaapelit ovat useita metrejä pitkiä, suosittelen silloin kuitenkin käyttämään suojadiodeja, sillä pitkistä kaapeleista muodostuu jo jonkin verran induktanssia, mikä aiheuttaa jännitepiikkejä ohjauksen aikana.

Kytkentä toimii hyvin myös PWM-ohjauksen alaisuudessa, eikä ohjainpiiri kuumene liikoja pienillä moottoreilla.