Sisällysluettelo:

Digitaalinen volttimittari CloudX: 6 askelta
Digitaalinen volttimittari CloudX: 6 askelta

Video: Digitaalinen volttimittari CloudX: 6 askelta

Video: Digitaalinen volttimittari CloudX: 6 askelta
Video: تعرف على جهاز قياس الفولتميتر الرقمي بشاشة LED مزدوجة من Robotbanao جهاز قياس التيار الكهربائي بشاشة 2024, Marraskuu
Anonim
Digitaalinen volttimittari ja CloudX
Digitaalinen volttimittari ja CloudX

Paristot tarjoavat puhtaampaa tasavirtaa (tasavirtaa), kun niitä käytetään piireissä. Niiden alhainen melutaso tekee niistä aina täydellisen sopivan joihinkin erittäin herkkiin piireihin. Kuitenkin silloin, kun niiden jännitetaso laskee tietyn kynnyspisteen alapuolelle, piirit - (joihin ne on tarkoitettu syöttämään) - saattavat käyttäytyä epäsäännöllisesti; varsinkin kun ne eivät ole hyvin suunniteltuja käsittelemään sitä.

Siksi on tarpeen seurata säännöllisesti akun varaustasoa, jotta voimme opastaa oikein, milloin se on vaihdettava kokonaan tai ladattava - ladattavan akun tapauksessa. Siksi tässä DIY (Tee se itse) -suunnittelussa meidän on suunniteltava yksinkertainen akun jännitemittari CloudX -tekniikkaa käyttäen - käyttämällä 7 -segmenttiä näyttönä.

Vaihe 1: Laitteistovaatimus

CloudX -mikrokontrollerimoduuli

CloudX USB

SoftCard

7 Segmenttinäyttö

Vastukset

Virtalähde

Leipälauta

Hyppyjohdot (yhdistävät)

Vaihe 2: CloudX M633 -mikro -ohjain

CloudX M633 -mikro -ohjain
CloudX M633 -mikro -ohjain

CloudX -mikrokontrollerimoduuli

CloudX -moduuli on elektroniikan suunnittelutyökalu, jonka avulla voit olla kätevä ja helppo tapa muodostaa yhteys fyysiseen maailmaan yksinkertaisen mikrokortin kautta. Koko alusta perustuu avoimen lähdekoodin fyysiseen tietojenkäsittelyyn. Sen yksinkertainen IDE (integroitu kehitysympäristö) tekee siitä todella sopivan aloittelijoille, mutta säilyttää kuitenkin riittävän toiminnallisuuden, jotta kokeneet loppukäyttäjät voivat navigoida läpi. Pähkinänkuoressa CloudX tarjoaa paljon yksinkertaisemman prosessin mikrokontrollerin käsittelyyn-poistamalla siihen liittyvät normaalit monimutkaiset yksityiskohdat; samalla kun se tarjoaa erittäin rikkaan käyttäjäkokemusalustan. Se löytää laajoja sovelluksia kaikkialla: koulut, suurena koulutusvälineenä; teolliset ja kaupalliset tuotteet; ja loistavana apuvälineenä harrastajan käsissä.

Vaihe 3: Pin -liitännät

Pin -liitännät
Pin -liitännät

7-segmenttiset nastat: A, B, C, D, E, F, G, 1, 2 ja 3 on liitetty CloudX-MCU: n nastoihin 1, nasta 2, nasta 3, nasta 4, nasta 5, nasta 6, nasta 7, nasta 8, nasta 9, pin10 ja pin11 vastaavasti.

Vaihe 4: Piirikaavio

Piirikaavio
Piirikaavio

Keskusvaiheessa olevaan mikrokontrollerimoduuliin voidaan kytkeä virta:

joko Vin- ja Gnd-pisteiden kautta (eli liittämällä ne ulkoisen virtalähdeyksikön +ve- ja –ve-liittimiin) taululla;

tai CloudX USB softcard -moduulin kautta

. Lisäksi, kuten yllä olevasta piirikaaviosta voidaan helposti nähdä, tuloakun jännite on liitetty MCU (mikro) -moduuliin siten, että jännitteenjakajaverkon (muodostama ja) -piste on kytketty MCU -nastan A0: een.

ja ne valitaan seuraavasti:

rajoittaa verkon läpi kulkevan virran määrää;

MCU: n turvallisella alueella (0 - 5) V.

Käyttämällä kaavaa: VOUT = (R2/(R1+R2)) * VIN; ja voidaan helposti arvioida.

Voutmax = 5V

ja tälle projektille valitsemme: Vinmax = 50V;

5 = (R2/(R1+R2)) * 50 R1 = 45/5 * R2 Esimerkiksi R2 = 10 kΩ; R1 = 45/5 * 10 = 90 kΩ

Vaihe 5: Toimintaperiaate

Kun syötetty mitattu jännite luetaan jännitteenjakajaverkon VOUT -pisteen kautta, tiedot käsitellään edelleen MCU: ssa segmenttiyksikössä näkyvän lopullisen todellisen arvon arvioimiseksi. Se (järjestelmän rakenne) on automaattinen desimaalipisteiden sijoittelija, koska se (desimaalipiste) todella muuttaa näyttöyksikön sijaintia sen mukaan, mitä kelluva arvo määrää tiettynä ajankohtana. Tämän jälkeen koko laitteiston 7-segmenttinen näyttöyksikkö kytketään multipleksitilaan. Se on erityinen järjestely, jossa sama tietoväylä (8 datanappia) MCU: lta syöttää kolme aktiivista 7-segmenttiä näyttöyksikössä. Datakuvion lähettäminen kuhunkin komponenttiin saavutetaan skannauksella. Skannaus on tekniikka, joka sisältää tietojen lähettämisen kullekin komponentin 7-segmentille; ja mahdollistamalla (eli kytkemällä ne päälle) nopeasti peräkkäin niiden vastaavien tietojen saapuessa. Jokaisen heihin puuttuminen tapahtuu niin, että se onnistuu eksyttämään ihmisen näkemyksen uskomaan, että ne kaikki (osat) ovat käytössä (käsitelty) samanaikaisesti. Se (skannaus) yksinkertaisesti käytännössä käyttää ilmiötä, joka tunnetaan nimellä Persistence Of Vision.

Vaihe 6: Ohjelmisto

#sisältää

#sisältää

#sisältää

#define segment1 pin 9

#määritä segmentti2 nasta10

#määritä segmentti3 nasta11

kelluva batt_voltage;

int desimaalipiste, batt;

/*taulukot, jotka tallentavat segmenttimallin kullekin annetulle numerolle*/

char CCathodeDisp = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};

char CAnodeDisp = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};

int disp0, disp1, disp2;

näyttö () {

allekirjoittamaton merkki i;

jos (desimaalipiste <10) {

disp0 = (int) batt_voltage /100; // hakee MSD: n (merkittävin numero)

// on suurin painotettu

/* hakee seuraavan painotetun numeron; ja niin edelleen */

disp1 = ((int) batt_voltage % 100)/10;

disp2 = ((int) batt_voltage % 10);

}

muu {

disp0 = (int) batt_voltage /1000;

disp1 = ((int) batt_voltage % 1000)/100;

disp2 = ((int) batt_voltage % 100)/10;

}

/*Kuvioita kaadetaan näytettäväksi; ja 0x80 merkki lisäämällä desimaalin

jos liittyvä ehto pitää paikkansa*/

(i = 0; i <50; i ++) {

pin9 = pin10 = pin11 = HIGH;

jos (desimaalipiste <10)

portWrite (1, CCathodeDisp [disp0] | 0x80);

else portWrite (1, CCathodeDisp [disp0]);

segmentti 1 = LOW;

segmentti 2 = HIGH;

segment3 = HIGH;

delayMs (5);

pin9 = pin10 = pin11 = HIGH;

jos ((desimaalipiste> = 10) && (desimaalipiste <100))

portWrite (1, CCathodeDisp [disp1] | 0x80);

else portWrite (1, CCathodeDisp [disp1]);

segmentti 1 = HIGH;

segmentti 2 = LOW;

segment3 = HIGH;

delayMs (5);

pin9 = pin10 = pin11 = HIGH;

jos (desimaalipiste> = 100)

portWrite (1, CCathodeDisp [disp2] | 0x80);

else portWrite (1, CCathodeDisp [disp2]);

segmentti 1 = HIGH;

segmentti 2 = HIGH;

segment3 = LOW;

delayMs (5);

}

}

setup () {// setup here

analogSetting (); // analoginen portti alustettu

portti (1, LÄHTÖ); // Nastat 1-8, jotka on määritetty lähtönastoiksi

/ * skannaustapit, jotka on määritetty lähtönastoiksi */

pin9Mode = LÄHTÖ;

pin10Mode = LÄHTÖ;

pin11Mode = LÄHTÖ;

portWrite (1, LOW);

pin9 = pin10 = pin11 = HIGH; // skannaustapit (jotka ovat aktiivisia ja alhaisia)

// ovat pois käytöstä alussa

loop () {// Ohjelmoi tästä

batt_voltage = analoginen (A0); // ottaa mittausarvon

batt_voltage = ((batt_voltage * 5000) / 1024); // muuntokerroin 5Vin: lle

batt_voltage = (batt_voltage * 50)/5000; // muuntokerroin 50Vin

desimaalipiste = batt_voltage; // merkitsee desimaalipisteen

// alkuperäinen arvo ennen tietojen käsittelyä

näyttö();

}

}

Suositeltava: