12 minute read

BBC micro:bit [17

KODIRANJE

Poštovani čitatelji, u prošlom ste nastavku, radi proučavanja kodiranja analognih izlaza BBC micro:bita sastavili sklop s tranzistorom za upravljanje elektromotora. Na kraju teksta postavljeno je nekoliko intrigantnih pitanja, a ovdje možete pronaći odgovore i moguća praktična rješenja.

Advertisement

Prvo pitanje. Razmislite i odgovorite, zašto vratilo elektromotora staje kad klizač na zaslonu mobitela ugodite na vrijednost 20 (ili nešto manje), a trebalo bi se usporeno vrtjeti sve do broja 1? Otprije znate da je brzinu vrtnje rotora istosmjernog elektromotora moguće ugađati izazivanjem pada napona. Pritom je snaga manja što je napon niži (P = U × I), radi toga u određenom trenutku raspoloživa snaga više nije dovoljna da se savlada, na primjer, trenje koje se javlja u ležajevima rotora elektromotora. Situacija se pogoršava kada je na vratilo rotora priključen teret, na primjer kotač koji gura robotska kolica. Za rješavanje tog problema potreban je sklop koji neće snižavati priključeni napon, ali će ipak usporavati vrtnju. U elektronici postoji sklop koji se u stručnoj literaturi naziva sklop za pulsnoširinsku modulaciju od engleskog pulse-width modulation (PWM). Na Slici 17.1. prikazan je strujni krug koji opisuje načelo djelovanja PWM-sklopa. Za vrijeme intervala ΔtOFF, prekidač SW1 otvoren je pa na izvodima elektromotora nema napona napajanja. Za vrijeme intervala ΔtON, prekidač SW1 zatvoren je pa do izvoda elektromotora dolazi maksimalan napon napajanja. Pod ovim uvjetima prosječna vrijednost napona na izvodima elektromotora određena je odnosom ΔtON / (ΔtOFF + ΔtON). Na taj se način dobiva regulacija brzine rotora koja ne ovisi o naponu napajanja (Umaks), već o intervalu vremena napajanja elektromotora. Kako biste provjerili valjanost rečenog sagradite sklop prema elektroničkoj shemi sa Slike 17.2. kod kojeg ulogu prekidača SW1 preuzima tranzistor BC337 i BBC micro:bit. U ovom sklopu ispravljačka dioda D1 ima dvojaku funkciju. Prvo, štiti tranzistor T1 od induciranog napona koji nastaje prilikom isključivanja zavojnice rotora elektromotora. Taj inducirani napon može doseći vrijednosti koje su tri do pet puta više od vrijednosti napona napajanja elektromotora. Drugo, u trenucima intervala ΔtOFF, dioda se koristi kao šant (premosnica) jer se tada elektromotor ponaša kao generator struje. Radi svega navedenoga valja izabrati diodu koja će podnijeti barem polovinu struje koju treba elektromotor i koja će podnijeti reverzni (obrnuti) napon koji je barem pet puta viši od napona napajanja elektromotora. Dobro će poslužiti dioda 1N4007 jer podnosi struje do 1 A i reverzne napone do 1000 V. Nakon gradnje sklopa prijeđite na kodiranje BBC micro:bita. U MC E pokrenite novi projekt te ga imenujte, na primjer PWM te prepišite programski kôd sa Slike 17.3.

Slika 17.1. Kod ovog strujnog kruga treba uzastopno preklapati prekidač SW1 kako bi se na priključcima elektromotora dobili impulsi. Iz ponuđene formule da se zaključiti da će srednja vrijednost napona na priključcima elektromotora biti niža što je vrijeme ΔtON kraće

Slika 17.2. Ovaj sklop isti je kao onaj koji ste koristili u prošlom nastavku serije, s tom razlikom što je paralelno elektromotoru dodana ispravljačka dioda D1 spojena u zapornom smjeru

Slika 17.3. Umjesto uobičajenog bloka “pause (ms)” za vrlo kratka vremena precizniji je blok “wait (µs)”. Pronaći ćete ga kod “Advanced > Control” Kako se elektromotorom upravlja brzim paljenjem i gašenjem praktičnije je koristiti blokove “digital write pin …” nego “analog write pin…”. Program isprobajte. Rotor elektromotora trebao bi se okretati vrlo sporo. Izračunate li srednju vrijednost napona, uvrštavanjem predloženih vremena i maksimalnog napona dobit ćete da je srednja vrijednost napona na priključcima elektromotora približno 0,82 V (za napon baterije od 9 V). To je nešto manje od 10%. Odmah valja napomenuti da to nije točno. Najme, sam blok “forever” unosi kašnjenje u izvođenju programa. Prema autoru ovih redaka procjena je da je kašnjenje približno 10 ms (10 000 µs) pa je stoga ukupno ΔtOFF = 20 000 µs. Radi toga ne treba vam blok “wait (µs) 10000”. Uklonite ga i izračun će biti točan. Eksperimentirajte s vrijednostima za ΔtON. Kod bloka “wait (µs)” umjesto 1000 upišite 10 000, a potom 100 000. Morali biste doći do zaključka da se kod svakog produljenja vremena ΔtON vratilo okreće sve brže i brže.

Drugo pitanje. Razmislite, kako biste s tranzistorima riješili obrnuti polaritet napajanja elektromotora radi dobivanja suprotnog smjera vrtnje vratila? Trebate sklop s četiri tranzistora u mosnom spoju. U stručnoj literaturi taj se sklop naziva H-bridge, Slika 17.4. Funkcionalnost sklopa trebala bi biti jasna. Kad je priključak P0 BBC micro:bita na logičkoj razini 1 do baza tranzistora T1 i T3 dovodi se napon pa se tranzistori otkoče te propuštaju struju kroz elektromotor u smjeru koji je na slici označen plavim strelicama. Rotor se vrti ulijevo. U tom trenutku priključak P1 BBC micro:bita mora biti na logičkoj razini 0. Kad je pak priključak P1 BBC micro:bita na logičkoj razini 1 do baza tranzistora T2 i T4 dovodi se napon pa se tranzistori otkoče te propuštaju struju kroz elektromotor u smjeru koji je na slici označen crvenim strelicama. Rotor se vrti udesno. U tom trenutku priključak P0 BBC micro:bita mora biti na logičkoj razini 0. Odmah je jasno da se na

Slika 17.4. H-bridge s četiri tranzistora tipa NPN

Slika 17.5. Shema takozvanog “dual full bridge motor drivera” koji uključuje: H-bridge s dva para komplementarnih tranzistora, četiri sklopa za invertiranje i sklop za “ENABLE” (od engl. omogućiti). Tranzistori T3 i T4 su BC327, a svi ostali su BC337. Sve diode su 1N4007

priključcima elektromotora s tim načinom upravljanja dobivaju traženi polariteti napajanja. Što se dešava kad su priključci P0 i P1 BBC micro:bita na istoj logičkoj razini, na 0 ili na 1? Kad su oba na nuli tranzistori su zakočeni, vratilo elektromotora miruje. Kad su oba priključka na jedinici svi su tranzistori otkočeni, a to je problem jer bi tako svi tranzistori mogli stradati. Naime struja ne bi prolazila kroz elektromotor, već bi parovi tranzistora T1–T4 i T2–T3 bili u neposrednom spoju s plusom i minusom baterije. Potekla bi struja spoja ukratko koja bi mogla biti mnogostruko jača od maksimalne dozvoljene struje tranzistora. U elektronici treba spojeve ukratko izbjegavati jer izazivaju nemale probleme! Ima još nešto važno. Tranzistor se uobičajeno koristi u takozvanom spoju sa zajedničkim emiterom, Slika 17.2. primjer je takvog spoja. Kod takvog je načina spajanja teret (u ovom slučaju elektromotor) u kolektorskoj grani. Taj je slučaj vidljiv i na Slici 17.4. kod tranzistora T1 i T2, no tranzistori T3 i T4 na toj su slici u takozvanom spoju sa zajedničkim kolektorom. Kod zajedničkog kolektora teret je u emiterskoj grani. To izaziva pregrijavanje tranzistora. Ako tranzistori nisu prikladno hlađeni mogli bi pregorjeti. Radi izbjegavanja navedenih problema najbolje rješenje je da se u mostu koriste komplementarni parovi tranzistora. Što su komplementarni parovi tranzistora? To su dva tranzistora jednakih električkih svojstava, ali jedan je NPN, a drugi PNP. Na primjer, PNP tranzistor BC327 je komplementaran s NPN tranzistorom BC337 (na internetu potražite podatkovne tablice za oba tranzistora pa ih usporedite). Na Slici 17.5. prikazana je elektronička shema sklopa s navedenim tranzistorima. Ako odlučite sagraditi sklop krajnji će rezultat sličiti ovome na Slici 17.6. Postavlja se pitanje, zašto se koristi toliko sklopova? Zato jer treba riješiti dva dodatna problema. Prvo, radi izbjegavanja spojeva ukratko, koji se javljaju kad su logičke razine P0 i P1 na 1 (kao na Slici 17.4.), zamijenjeni su priključci koji s BBC micro:bita dolaze do baza tranzistora H-bridge. Sada je priključak P0 u vezi s bazama tranzistora T1 i T4, a priključak P1 je u vezi s bazama tranzistora T2 i T3 (Slika 17.5.). Kako T1 i T4 ne smiju biti istovremeno otkočeni, dodan je sklop za invertiranje logičke razine (tranzistor T6) u strujni krug baze tranzistora T1. Isto važi i za tranzistore T2 i T3 pa je stoga dodan sklop za invertiranje logičke razine (tranzistor T7) i

Slika 17.6. Fotografija sklopa sastavljenog na eksperimentalnoj pločici prema shemi sa Slike 17.5.

Slika 17.7. Upravljački program omogućava promjenu smjera vrtnje rotora elektromotora pritiskom na tipke A ili B BBC micro:bita. Kada se istovremeno pritisnu obje tipke vrtnja rotora se zaustavlja. U bloku “forever” PWM je ugođen na 60%

u strujni krug baze tranzistora T2. Što je sklop za invertiranje? Sklop za invertiranje pretvara logičku razinu 0 u logičku razinu 1 i obrnuto, logičku razinu 1 u logičku razinu 0. Drugo, kod PNP-tranzistora T3 i T4 baze treba polarizirati naponom koji je u odnosu na masu (GND) negativan. BBC micro:bit ne radi s naponom koji je negativan u odnosu na masu. Najbolje što može dati je 0 V pa su dodana još dva sklopa za invertiranje kako bi i taj problem bio riješen. Radi boljeg razumijevanja evo objašnjenja za dva moguća stanja izvoda P0: - Na izvodu P0 BBC micro:bita vlada logička razina 1. Preko otpornika R7 polarizira se baza tranzistora T6. Tranzistor se otkoči pa preko otpornika R5 spaja bazu NPN-tranzistora T1 prema masi. Pod ovim je okolnostima tranzistor T1 zakočen. Istovremeno se preko otpornika R3 polarizira baza tranzistora T5. Tranzistor se otkoči pa se preko otpornika R1 spaja baza PNP-tranzistora T4 prema masi. Pod ovim je okolnostima tranzistor T4 otkočen. - Na izvodu P0 BBC micro:bita vlada logička razina 0. Baza tranzistora T6 nije polarizirana. Tranzistor T6 je zakočen pa se baza NPN-tranzistora T1 polarizira preko otpornika R5 i R6. Pod ovim je okolnostima tranzistor T1 otkočen. Istovremeno i baza tranzistora T5 nije polarizirana. Tranzistor T5 zakočen je pa se preko otpornika R1 i R2 spaja baza PNP-tranzistora T4 prema plusu napajanja. Pod ovim je okolnostima tranzistor T4 zakočen. Situacija je istovjetna i za tranzistore u spoju s izvodom P1 BBC micro:bita. Na kraju, dodan je tranzistor T9 koji radi kao prekidač kako bi se omogućio (ENABLED) nadzor brzine vrtnje vratila elektromotora preko izvoda P2 BBC micro:bita. Napomena! Nemojte zaboraviti spojiti GND BBC micro:bita s masom opisanog sklopa. Na Slici 17.7. vidljiv je programski kôd koji trebate. Mnogi će od vas vjerojatno odustati od sastavljanja opisanog sklopa, i to s razlogom. Naime, u elektronici postoji jednostavnije rješenje, a to

je upotreba specifičnog integriranog sklopa. Na tržištu postoji nekoliko raznih integriranih sklopova koji obavljaju maloprije opisane funkcije. U nastavku ćete upoznati integrirani sklop L293D proizvođača TEXAS INSTRUMENTS.

Integrirani sklop L293D

To je takozvani “quadruple half-H drivers”. Na njegove izlazne izvode moguće je priključiti jedan koračni motor (step motor) ili dva istosmjerna elektromotora ili četiri releja. Blok-dijagram i raspored izvoda prikazani su na Slici 17.8. i Slici 17.9.

Slika 17.9. Raspored izvoda integriranog sklopa L293D, pogled sa strane natpisa (odozgo)

Slika 17.8. Blok-dijagram koji prikazuje unutrašnju arhitekturu integriranog sklopa L293D Elektronička shema spajanja vidljiva je na Slici 17.10., a montažna shema na Slici 17.11. U podatkovnoj tablici piše da integrirani sklop treba hladilo. U ovom eksperimentu hladilo nije predviđeno jer na vratilu elektromotora nema tereta te se koristi samo jedan elektromotor, no poželite li sklopom upravljati robotska kolica,

Slika 17.11. Montažna shema sklopa. Vrijednosti otpornika su R1 = 100 Ω, a R2 = 330 Ω

Slika 17.10. Elektronička shema spajanja sklopa za upravljanje elektromotora. U ovom su primjeru korištene dvije grane sklopa za upravljanje samo jednim elektromotorom. Preostale dvije grane ostaju slobodne, a moguće ih je koristiti za možebitni drugi elektromotor

tada obavezno proučite proizvođačke upute i ugradite odgovarajuće hladilo. Radi ispitivanja funkcionalnosti bit će dobar program sa Slike 17.7.

Mobilna aplikacija

Pokrenite MIT AI te imenujte aplikaciju, na primjer “ELEKTROMOTOR”. U svojstvima za Screen1 kod Title upišite “ELEKTROMOTOR”. Do virtualnog mobitela dovucite, preimenujte i ugodite svojstva za uobičajene elemente za Bluetooth. Nemojte zaboraviti ekstenzije “BluetoothLE1” i “Microbit_Io_Pin_Simple1”. Ako niste sigurni što vam sve treba, onda prelistajte prethodne brojeve ABC tehnike. Osim navedenih umetnite još neke elemente, dva “HorizontalArrangement”, četiri “Button” i jedan “Notifier” te im ugodite svojstva. Pogledajte Sliku 17.12. Button3SPOJI. Click do…”, “when Button4ODVOJI. Click do…”, “when BluetoothLE1. DeviceFound do…” i “when BlueoothLE1 .Disconnected do…”, . Nakon toga, iz “Blocks” dovucite blokove prema Slici 17.13., Slici 17.14., Slici 17.15., Slici 17.16. i Slici 17.17.

Slika 17.12. Izgled virtualnog mobitela nakon umetanja svih potrebnih elemenata

Kodiranje

Iz ruksaka izvucite potrebne blokove, “when Button1SKENIRAJ. Click do…”, “when Button2ZAUSTAVI. Click do…”, “when

Slika 17.13. Blokovi koji određuju početna stanja izvoda BBC micro:bita

Slika 17.14. Kôd za virtualnu tipku za pokretanje vrtnje rotora elektromotora ulijevo

Slika 17.15. Kôd za virtualnu tipku za zaustavljanje vrtnje vratila elektromotora

Slika 17.16. Kôd za virtualnu tipku za pokretanje vrtnje rotora elektromotora udesno

Slika 17.17. Kôd za virtualnu tipku za napuštanje aplikacije s pripadajućim skočnim prozorom upozorenja

To je sve. Otpremite i instalirajte aplikaciju na vaš mobitel te krenite s kodiranjem BBC micro:bita. Pokrenite MC E te imenujte projekt, na primjer “ELEKTROMOTOR”. Učitajte ekstenziju za “BluetoothLE”. Napišite uobičajeni program za “bluetooth io pin service”. Ako ste ga zaboravili pronađite ga u pretprošlom nastavku serije na Slici 15.14. Program preuzmite i otpremite do BBC micro:bita. Izvedite “Bluetooth” uparivanje mobitela i BBC micro:bita. Na mobitelu pokrenite aplikaciju “ELEKTROMOTOR” te skenirajte, a potom se spojite s BBC micro:bitom. Ako je sve kako valja, vratilo elektromotora miruje. U mobilnoj aplikaciji tapkajte po virtualnoj tipki za smjer ulijevo. Vratilo elektromotora trebalo bi se vrtjeti punom brzinom ulijevo. Tapkajte po virtualnoj tipki “STOP”. Vratilo elektromotora trebalo bi se zaustaviti. Tapkajte po virtualnoj tipki za smjer udesno. Vratilo elektromotora trebalo bi se vrtjeti punom brzinom udesno. Tapkajte po virtualnoj tipki “Izlaz iz aplikacije”. Vratilo elektromotora trebalo bi se zaustaviti, a na zaslonu mobitela trebao bi se pojaviti skočni prozor s porukom. Tapkajte po virtualnoj tipki “OK”. Mobilna aplikacija trebala bi se zatvoriti.

Zadatak za samostalan rad. Mobilnoj aplikaciji dodajte potrebne elemente i blokove kako biste dobili mogućnost mijenjanja brzine vrtnje vratila elektromotora.

Za ove ste vježbe trebali: • BBC micro:bit, • USB-kabel, • baterije za BBC micro:bit, • mobitel (dlanovnik, tablet) sa sustavom Android, • eksperimentalnu pločicu na ubadanje, • spojne žice raznih boja s krokodil-štipaljkama i muškim nastavcima, 4 komada, • priključak za bateriju 9 V (ili ležište za drugačije baterije), • baterije prilagođene elektromotoru (na primjer blok 9 V/200 mA), • DC-elektromotor 9 V/200 mA (ili nekih drugačijih vrijednosti, ali neka je napon do 12 V), • integrirani sklop L293D, • otpornik 100 Ω (SMEĐA-CRNA-SMEĐA-ZLATNA), • otpornik 330 Ω (NARANČASTA-NARANČASTA-SMEĐA-ZLATNA), • dvije crne i jednu crvenu premosnicu. Marino Čikeš, prof.

This article is from: