Kazalo:

Digitalni voltmeter z CloudX: 6 korakov
Digitalni voltmeter z CloudX: 6 korakov

Video: Digitalni voltmeter z CloudX: 6 korakov

Video: Digitalni voltmeter z CloudX: 6 korakov
Video: Digitální voltmetr s MHB7106 / Digital Voltmeter with 7106 2024, November
Anonim
Digitalni voltmeter z CloudX
Digitalni voltmeter z CloudX

Baterije zagotavljajo čistejšo moč enosmernega (enosmernega) toka, če jih uporabljamo v vezjih. Zaradi nizke ravni hrupa se vedno odlično prilegajo nekaterim zelo občutljivim vezjem. Vendar pa lahko v času, ko njihova napetost pade pod določeno mejno točko, vezja - (ki so namenjena napajanju), pridejo do napačnega vedenja; še posebej, če niso dobro zasnovani za to.

Zato se pojavlja potreba po rednem spremljanju ravni energije akumulatorja, da nas lahko pravilno vodi, kdaj je treba opraviti popolno zamenjavo ali polnjenje - v primeru baterije za ponovno polnjenje. Zato moramo v tem DIY (Naredi sam) oblikovati preprost merilnik napetosti akumulatorja z uporabo CloudX - z uporabo 7Segmenta kot zaslona.

1. korak: Zahteve po strojni opremi

Modul mikrokrmilnika CloudX

CloudX USB

Mehka kartica

7Segmentni zaslon

Upori

Napajalna enota

Ogledna plošča

Povezovalne (povezovalne) žice

Korak: Mikrokrmilnik CloudX M633

Mikrokrmilnik CloudX M633
Mikrokrmilnik CloudX M633

Modul mikrokrmilnika CloudX

Modul CloudX je strojno orodje za oblikovanje elektronike, ki vam omogoča zelo priročen in enostaven način povezovanja s fizičnim svetom prek preproste plošče mikrokrmilnika. Celotna platforma temelji na odprtokodnem fizičnem računalništvu. Zaradi svoje preprostosti IDE (integrirano razvojno okolje) je resnično primeren za začetnike, obenem pa ohranja dovolj funkcionalnosti, da naprednim končnim uporabnikom omogoča navigacijo. V lupinasti lupini CloudX omogoča precej poenostavljen postopek ravnanja z mikrokrmilnikom-z odvzemom običajnih kompleksnih podrobnosti, povezanih z njim; hkrati pa ponuja zelo bogato platformo za uporabniško izkušnjo. Odkriva široko paleto aplikacij: šole kot odlično izobraževalno orodje; industrijski in komercialni izdelki ter kot odlično uporabno orodje v rokah hobista.

3. korak: Pin povezave

Pin Connections
Pin Connections

7-segmentni zatiči: A, B, C, D, E, F, G, 1, 2 in 3 so priključeni na pin1, pin2, pin3, pin4, pin4, pin5, pin6, pin7, pin8, pin9 pin10 oziroma pin11.

4. korak: Shema vezja

Shema vezja
Shema vezja

Modul mikrokrmilnika, ki je tukaj v središču pozornosti, se lahko vklopi:

bodisi prek točk Vin in Gnd (tj. povežete jih s sponkami +ve oziroma –ve vaše zunanje enote za napajanje) na plošči;

ali prek vašega modula USB mehke kartice CloudX

. Kot je razvidno iz zgornjega diagrama vezja, je vhodna napetost akumulatorja povezana z modulom MCU (mikrokrmilnik), tako da je –točka razdelilnika napetosti (ki jo tvorijo in) povezana z A0 pina MCU.

in so izbrani tako, da:

omejiti količino toka, ki teče po omrežju;

omejitev v varnem območju (0 - 5) V za MCU.

Z uporabo formule: VOUT = (R2/(R1+R2)) * VIN; in jih je mogoče enostavno oceniti.

Voutmax = 5V

in za ta projekt izberemo: Vinmax = 50V;

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

5. korak: Načelo delovanja

Ko se vhodna izmerjena napetost odčita prek točke VOUT omrežja delilnika napetosti, se podatki nadalje obdelajo v MCU za oceno do končne dejanske vrednosti, ki se prikaže na segmentni enoti. To (zasnova sistema) je samodejno mesto za decimalno vejico, saj dejansko (decimalna vejica) dejansko premakne položaj na sami prikazovalni enoti v skladu s tistim, kar plavajoča vrednost narekuje v danem trenutku. Nato je celotna strojna 7-segmentna prikazovalna enota ožičena v načinu multipleksa. Gre za posebno ureditev, po kateri isto podatkovno vodilo (8 podatkovnih zatičev) iz MCU napaja tri aktivne 7-segmente v prikazovalni enoti. Pošiljanje vzorca podatkov v vsakega sestavnega dela je doseženo s postopkom, imenovanim Skeniranje. Skeniranje je tehnika, ki vključuje pošiljanje podatkov v vsakega od sestavnih 7-segmentov; in jim omogočiti (tj. vklopiti) hitro zaporedoma, ko prispejo ustrezni podatki. Hitrost nagovarjanja vsakega od njih je narejena tako, da uspe zavesti človeško vizijo, da verjame, da so vsi (sestavni deli) omogočeni (obravnavani) hkrati. To (skeniranje) preprosto uporablja pojav, znan kot Persistence Of Vision.

6. korak: Program programske opreme

#vključi

#vključi

#vključi

#define segment1 pin9

#define segment2 pin10

#define segment3 pin11

float batt_voltage;

int decimalPoint, batt;

/*matrike, ki shranijo segmentni vzorec za vsako podano številko*/

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;

display () {

brez podpisa char i;

if (decimalna točka <10) {

disp0 = (int) batt_voltage /100; // pridobiva MSD (najpomembnejša številka)

// ki je najvišje utežen

/* pridobi naslednjo uteženo številko; in tako naprej */

disp1 = ((int) napetost batt_100 %)/10;

disp2 = ((int) batt_voltage % 10);

}

drugače {

disp0 = (int) batt_voltage /1000;

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

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

}

/*Vzorci se izlijejo za prikaz; in 0x80 znak, ki doda decimalno vejico

če je povezan pogoj resničen*/

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

pin9 = pin10 = pin11 = HIGH;

če (decimalna točka <10)

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

else portWrite (1, CCathodeDisp [disp0]);

segment1 = NIZKA;

segment2 = VISOKO;

segment3 = VISOKO;

zamudaMs (5);

pin9 = pin10 = pin11 = HIGH;

if ((decimalna točka> = 10) && (decimalna točka <100))

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

else portWrite (1, CCathodeDisp [disp1]);

segment1 = VISOKO;

segment2 = NIZKA;

segment3 = VISOKO;

zamudaMs (5);

pin9 = pin10 = pin11 = HIGH;

če (decimalna točka> = 100)

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

else portWrite (1, CCathodeDisp [disp2]);

segment1 = VISOKO;

segment2 = VISOKO;

segment3 = NIZKA;

zamudaMs (5);

}

}

setup () {// nastavitev tukaj

analogSetting (); // analogna vrata inicializirana

portMode (1, OUTPUT); // Zatiči od 1 do 8 konfigurirani kot izhodni zatiči

/ * skenirni zatiči konfigurirani kot izhodni zatiči */

pin9Mode = IZHOD;

pin10Mode = IZHOD;

pin11Mode = IZHOD;

portWrite (1, LOW);

pin9 = pin10 = pin11 = HIGH; // skeniranje zatičev (ki so nizko aktivni)

// so onemogočeni na začetku

loop () {// Program tukaj

batt_voltage = analogRead (A0); // sprejme izmerjeno vrednost

batt_voltage = ((batt_voltage * 5000) / 1024); // pretvorbeni faktor za 5Vin

batt_voltage = (batt_voltage * 50)/5000; // pretvorbeni faktor za 50Vin

decimalna točka = napetost batt; // označuje, kje je decimalna vejica

// prvotna vrednost pred manipulacijo s podatki

zaslon ();

}

}

Priporočena: