Arduino DIY - Limiter 500mA strujno ograničenje uz shutdown opciju - III deo
U drugom delu smo prikazali koncept rada analogno digitalnog konvertora i za šta se isti može koristiti. U ovom nastavku konkretno prikazujemo Arduino rešenje i program koji zapravo radi kao ampermetar za merenje potrošnje električne sturje koja protiče kroz LED diodu. Dokazi da je merenje pomoću Arduina tačno dokazani su putem digitalnog ampermetra koji pored Arduina meri potrošnju električne struje kroz granu LED diode. Kao što ćete videti Arduino program i digitalni ampermetar prikazuju istu vrednost sa čime se pokazalo da je merenje Arduino programom tačno, te isto možemo koristiti za limitiranje potrošnje do 500 miliampera maksimum.
Praktična realizacija merenja potrošnje električne struje kroz granu, u ovom slučaju LED
Da pređemo sa priče na konkretnu realizaciju, u drugom delu sam naveo koncept rada ADC tj. analogno digitalnog konvertora koji će se koristiti za projekat limitera potrošnje električne struje do 500 mili ampera. Ukoliko potrošač povuče iz bilo kojeg drugog razloga (recimo desi se kvar, kratak spoj) limiter tj. u ovom slučaju Arduino program mora da odreaguje i da isključi granu za napajanje putem tranzistora, što je sledeći korak u realizaciji limitera. Znači, ovaj deo ima za cilj implementaciju programskog merenja potrošnje kroz LED diodu Arduino pločicom uz pomoć ADC konverzije.
Slika 1 - Arduino UNO R3 pločica slikana sa strane analognih ulaza i externih izvoda za napajanje |
Ovo je Arduino pločica UNO R3 revizija, koju sam slikao sa strane gde se nalaze externi izvodi za napajanje, što je u ovom slučaju izvod USB porta sa PC računara jer se i sama Arduino pločica napaja istim. Gnd i +5VDC sa pločice sam proširio na prototipsku pločicu kako bih mogao da dodam razdelnik napona, dva otpornika od 50 KOhm-a, kao i da dodam potrošač kroz čiju granu se meri potrošnja električne struje - otpornik redno vezan za LED diodu. Ovde mi je bilo bitno da dokažem da Arduino program meri identičnu vrednost kao i digitalni multimetar (isti sam koristio kao dokaz da je merenje dobro). Da ponovim ovde što će biti prikazano na slici 2, ADC pretvara analogni signal u broj, broj ima maksimalnu vrednost u ovom slučaju je to 1023. Da bi se odredio maksimalni broj tj. 1023, koristi se naponski razdelnik od dva otpornika u ovom slučaju od 50 KOhm (uvek se za razdelnik koristi velika vrednost otpornosti da mi se maksimalno smanjila potrošnja struje kroz granu naponskog razdelnika) i radi se merenje kako bi videli kroz Serial Monitor da li je 1023 zapravo maksimalni digitalni broj. Maksimalni digitalni broj zavisi od Vref, to je referentni napon u odnosu na koji se radi konverzija, što je prikazano u drugom delu bloga, a u ovom slučaju je to +5VDC jer je integrisani ADC u okvriu Atmega 328 MCU-a Arduina povezan upravo na Vcc a to je +5VDC, slika 3.a i 3.b objašnjava ovo merenje.
Slika 3.a - prvo definišemo da je A3 Arduino pločice zapravo analogni ulaz, to je CHx gde je x od 0 do 7, što je prikazano u okviru drugog dela bloga. A3 ulaz je zapravo ulaz visoke impendanse koji ide na multipleksirani ulaz kanala, pri čemu se isti odabira kroz SPI Din ulaza, o čemu sam pisao u drugom delu ovog bloga o limiteru. Pošto se koristi Arduino program, kompletno podešavanje ADCa koje Arduino software radi za vas je skriveno, tako da se o istom ne vodi računa, ovde samo pozivam metodu koja se zove analogRead, koja ispod dole prosleđuje kroz Din koji se kanal multipleksira na ADC a to je u ovom slučaju na Slici 3.a analogni pin 3. Ovde smo takođe koristili serial debuger kako bi kroz Serial monitor mogli da pratimo digitalnu vrednost koja je dobijena konverzijom. Kada A3 pin povežete na +5VDC što je ustvari povezivanje na Vref, dobija se da je maksimalni digitalni broj konvezije 1023 odnosno analogno 5VDC.
Slika 3.b prikazuje maksimalni digitalni broj na koji se može odraditi mapiranje analogne vrednosti pod uslovom da je Vref +5VDC. |
Ono što sledi je konstrukcija kola za LED diodu što je jednostavno, koristi se otpornik od 220 oma i zelena LED dioda 5mm pakovanje 20 miliAmpera maksimum (nisam ovaj podatak proverio u katalogu, ali to je to +/- gore dole). Ono što se sada radi jeste pisanje Arduino programa koji služi da meri potrošnju električne struje kroz LED diodu, a istu tu vrednost digitalni ampermetar mora da prikaže kao dokaz da je merenje putem Arduino programa tačno.
Arduino program
Slika 4 prikazuje Arduino program, primetićete da sam nazive promenljivih davao po uzoru na digitalne multimetre, jer recimo crveni probe ili ti sonda je oznaka većeg potencijala, ista se uvek pozicionira na tačke višeg potencijala u električnom kolu, dok je crni prob ili ti sonda za niže potencijale i ujedno se povezuje na tačku GND koja je u ovom slučaju najniži potencijal (ne mora da znači da je i u drugim kolima GND tj. nula volti najniži potencijal jer imamo i kola sa negativnim potencijalnom).
Sika 4 - Merač potrošnje elektične struje kroz garnu za napajanje realizovan Arduino programom |
Kao što sam naveo u blogu broj dva, moram meriti pad napona na šantu, šant je u ovom slučaju otpornik od 220 oma koji se veže na red sa LED diodom i merimo napon na istom kako bi onda preko jednačine I = U/R izmerili tj. izračunali potrošnju struje kroz LED diodu a put digitalnog ampermetra ustanovili da li je ista vrednost merenja. Arduino merenje gledamo kroz Serial monitor koji je prikazan na slici 5. Jasno se vidi kroz program da prvo merim napon na jednom kraju šanta zatim na drugom kraju šanta, izračunavam diferencijal napona na otporniku i putem jednačine I = U/R računam potrošnju električne energije kroz LED što je ujedno potrošnja i kroz šant otptonik. Izačunato je da je isto 12.25 mili ampera pri čemu i digitalni ampermetar prikazuje približnu vrednost +/- 0.0x mili ampera. Takođe trebate da primetite deo sa if gde proveravam da li je potrošnja veća od 500 mili ampera, u slučaju da jeste korsitim tranzistor da isključim granu za napajanje te samim tim i LED bi se ugasio. Ovde sam stavio naznaku TO DO, što znači da je to za naredni blog post.
Iz ovih slika jasno dokazujemo ono šta sam pisao u drugom delu o ADC konveziji a to je da se Arduino može koristiti za merenje kao i za implementaciju različitih logičkih analizatora. Naravno, opšte je poznato da je Arduino samo prototipsko okruženje koje se koristi za razvoj i daleko je od finalnog rešenja koje kupujete u prodavnicama distributera elektronike, znači Arduino koristimo samo za razvoj i prototipove pri čemu se kasnije prozivodi konkretan uređaj za prodaju. Sledi još nekoliko slika koje sam uhvatio fotoaparatom smart telefona tokom rada na ovom primeru.
Ovo su otpornosti koje sam koristio za konkretnu implementaciju ovoga primera. Kao što se vidi svi su od pola wata. |
Naponski razdelnik i optornik redno vezan sa LED diodom. |
Sledeći nastavci tj. delovi ovog bloga prikazuju isključivanje grane za napajanje putem tranzistora kao i kompletnu implementaciju limitera potrošnje do 500 mili ampera.
Autor: Vladimir Savić
zilsel-invent
Referentni linkovi:
Comments
Post a Comment