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 2. Ovde je prikazan analogni signal (A), nad tim signalom se radi analogno digitalna konverzija, tj. semplovanje u diskretnim vremenskim trenucima analogne vrednosti napona se konvertuju u brojeve, brojevi su dati na slici pod (C). 1111 je maksimum u ovom slučaju, u našem slučaju je to 1023 što je prikazano na slici 3.a i 3.b.

Slika 3.a Ovo je konkretan primer Arduino programa gde treba da vidimo koliki je maksimalni digitalni broj na koji ADC može da konvertuje analognu vrednost napona koji se meri, pri čemu je Vref isto kao i Vcc Arduino pločice a to je +5VDC.

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.

Slika 5 - Ovo je serijski monitor COM3 preko koga Arduino komunicira serijskom vezom sa Serial monitor aplikacijom koja je prikazna na slici. Kao što se vidi Arduino program je izračunao da je potrošnja kroz LED diodu oko 12.25 mili ampera. Približnu vrednost prikazuje i digitalni ampermetar, pogledajte slike u nastavku bloga za detalje.

Slika 6.a - Ovo je merenje sa digitalnim multimetrom koji je setovan na podeoke za merenje potrošnje električne struje u jednosmernom opsegu gde sam stavio da je maksimum merenja 20 mili ampera kako bih pokrio ovo merenje. Kao što vidimo kada budem radio za 500 mili ampera opseg onda podešavam na 10 Ampera kako bih pokrio maksimalnih 500 mili ampera, jer kao što se vidi pored 20 mili ampera imamo dostupan opseg merenja 200 mili ampera ali mi oni nisu dovoljni za 500 mili ampera tako da moram da setujem na 10 A kada budem radio primer za 500 mili ampera.

Slika 6.b - ovde vidimo da je merenje 12.14 sa razlikom u odnosu na merenje sa slike 6.a. Ali bitno je da digitalni ameprmetar prikazuje upravo onu vrednost koju prikazuje i Arduino projekat što je dokaz da software radi dobro merenje kao i analogno digitalni konvertor koji sam konceptualno prikazivao u drugom delu ovog bloga o limiteru. Kao što se vidi sa slika merenja su približna što je odličan rezultat, naravno za razliku možemo uzeti razne faktore kao recimo razlika elektronike digitalnog multimetra i one koja je integrisana u Atmega 328 mikrokontroler Arduino pločice

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 takozvane sonde ili probe. Crvena i crna respektivno kao što je prikazano na slici. Kako sam već objasnio crvena kao vrela sonda uvek ide na veće tačke potencijala na električnoj šemi dok crna ide na niže kao hladnije, samim tim su takve i boje simbolički urađene. U Arduino projektu sam namerno koristio nazive sondi kako bih dočarao merenje isto kao što se radi i sa digitalnim uređajem i radi jasnoće.

Ovo su otpornosti koje sam koristio za konkretnu implementaciju ovoga primera. Kao što se vidi svi su od pola wata.

Da ne bih crtao električnu šemu, jasno se vidi da je ovo redna veza otpornika sa LED diodom kroz koju merimo jačinu potrošnje električne struje u isto vreme i putem ADCa tako što merimo napon na šantu tj. otporniku u ovom slučaju od 220 oma a zatim računanjem I  = U/R dobijamo kolika je vrednost struje a istu upravo prikazuje u isto vreme i digitalni ampermetar, što je ujedno dokaz da je program korektan i da ispravno radi kao merač.

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

Popular posts from this blog

Electrolytic capacitors and design rules

Fake VC830L digital multimeter

How to design LM324 Astable Multivibrator