Orodha ya maudhui:

Voltmeter ya dijiti na CloudX: Hatua 6
Voltmeter ya dijiti na CloudX: Hatua 6

Video: Voltmeter ya dijiti na CloudX: Hatua 6

Video: Voltmeter ya dijiti na CloudX: Hatua 6
Video: Обзор Deek-Robot BL-02 100 В постоянного тока, 10 А, Амперметр - Robojax 2024, Novemba
Anonim
Voltmeter ya dijiti na CloudX
Voltmeter ya dijiti na CloudX

Betri hutoa fomu safi ya nguvu ya DC (moja kwa moja sasa) wakati wa kuajiriwa kwenye nyaya. Kiwango chao cha chini cha kelele huwafanya kuwa sawa kwa mizunguko nyeti sana. Walakini, wakati mwingine kiwango chao cha voltage kinapungua chini ya kizingiti fulani, mizunguko - (ambayo imekusudiwa nguvu), inaweza kuingia katika tabia isiyo sawa; haswa wakati hazijatengenezwa vizuri kushughulikia hilo.

Kwa hivyo, kuna haja ya kufuatilia mara kwa mara kiwango cha nguvu ya betri ili kutuongoza vizuri ni lini inastahili kuchukua nafasi kamili, au kuchaji casekatika hali ya betri inayoweza kuchajiwa tena. Kwa hivyo, katika hii DIY (Jifanyie mwenyewe), tunatakiwa kubuni mita rahisi ya voltage ya betri kwa kutumia CloudX - kutumia Sehemu ya 7 kama onyesho letu.

Hatua ya 1: Mahitaji ya vifaa

Moduli ya Microcontroller ya CloudX

CloudX USB

Kadi laini

Onyesho la Sehemu ya 7

Resistors

Kitengo cha Ugavi wa Umeme

Bodi ya mkate

Jumper (Kuunganisha) waya

Hatua ya 2: CloudX M633 Microcontroller

CloudX M633 Mdhibiti mdogo
CloudX M633 Mdhibiti mdogo

Moduli ya Microcontroller ya CloudX

Moduli ya CloudX ni vifaa vya muundo wa vifaa vya elektroniki ambavyo hukuruhusu njia rahisi na rahisi ya kuingiliana na ulimwengu wa mwili kupitia bodi rahisi ya microcontroller. Jukwaa lote linatokana na kompyuta ya asili ya chanzo. Unyenyekevu wake wa IDE (Mazingira Jumuishi ya Maendeleo) kwa kweli hufanya iwe sawa kwa Kompyuta, lakini inabaki na utendaji wa kutosha kuruhusu watumiaji wa hali ya juu wapitie njia yao. Katika ganda la nati, CloudX hutoa mchakato rahisi zaidi wa kushughulikia microcontroller − kwa kuondoa maelezo ya kawaida tata yanayohusiana nayo; wakati huo huo kutoa jukwaa tajiri sana la uzoefu wa mtumiaji. Inapata matumizi mengi kukatiza bodi: shule, kama zana kubwa ya Elimu; bidhaa za viwandani na biashara; na kama zana kubwa ya matumizi mikononi mwa mtu anayependa mazoezi.

Hatua ya 3: Unganisha Miunganisho

Pini Uunganisho
Pini Uunganisho

Pini zenye sehemu 7: A, B, C, D, E, F, G, 1, 2 na 3 zimeunganishwa kwenye pinX ya CloudX-MCU, pin2, pin3, pin4, pin5, pin6, pin7, pin8, pin9, pin10 na pin11 mtawaliwa.

Hatua ya 4: Mchoro wa Mzunguko

Mchoro wa Mzunguko
Mchoro wa Mzunguko

Moduli ya microcontroller, kuwa katika hatua ya katikati hapa, inaweza kuwezeshwa:

ama kupitia Vin na alama za Gnd (yaani. kuziunganisha hadi vituo vyako vya nje vya usambazaji wa umeme na -ve kwa mtiririko huo) kwenye ubao;

au kupitia moduli yako ya kadi ya laini ya CloudX USB

. Zaidi zaidi, kama inavyoweza kuonekana kwa urahisi kutoka kwa mchoro wa mzunguko hapo juu, voltage ya betri ya pembejeo imeingiliana na moduli ya MCU (microcontroller) kama vile -poti ya mtandao wa mgawanyiko wa voltage (iliyoundwa na na) imeunganishwa na A0 ya pini ya MCU.

na huchaguliwa kwa njia kama:

punguza kiwango cha sasa kinachopita kupitia mtandao;

kikomo ndani ya safu salama ya (0 - 5) V kwa MCU.

Kutumia fomula: VOUT = (R2 / (R1 + R2)) * VIN; na inaweza kutathminiwa kwa urahisi.

Voutmax = 5V

na kwa mradi huu, tunachagua: Vinmax = 50V;

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

Hatua ya 5: Kanuni ya Uendeshaji

Wakati voltage inayopimwa ya pembejeo inasomwa kupitia njia ya VOUT ya mtandao wa mgawanyiko wa voltage, data inashughulikiwa zaidi katika MCU kutathmini kwa thamani halisi ya mwisho inayoonyeshwa kwenye sehemu ya sehemu. Ni (muundo wa mfumo) ni mpangaji wa nambari moja kwa moja wa desimali, kwa kuwa (sehemu ya decimal) inabadilisha msimamo kwenye kitengo cha kuonyesha yenyewe kulingana na kile thamani ya kuelea inaamuru wakati wowote kwa wakati. Halafu, kitengo chote cha vifaa vya 7-Sehemu ya onyesho imeunganishwa katika hali ya multiplex. Ni mpangilio maalum ambao basi hiyo hiyo ya data (pini za data 8) kutoka kwa MCU hulisha sehemu tatu zinazofanya kazi kwenye kitengo cha maonyesho. Kutuma muundo wa data katika kila sehemu ya sehemu kunapatikana kwa mchakato unajulikana kama Kutambaza. Skanning ni mbinu inayojumuisha kutuma data kwa kila sehemu ya sehemu-7; na kuwezesha (kwa mfano kuwasha) kwa mfululizo haraka wakati data zao zinafika. Kiwango cha kuhutubia kila mmoja wao kinafanywa hivi kwamba inafanikiwa kudanganya maono ya mwanadamu kuamini kwamba zote (sehemu za sehemu) zinawezeshwa (kushughulikiwa) kwa wakati mmoja. Ni (skanning) kwa urahisi, kwa kweli, hutumia jambo linalojulikana kama Uvumilivu Wa Maono.

Hatua ya 6: Programu ya Programu

# pamoja

# pamoja

# pamoja

#fafanua sehemu1 pin9

#fafanua sehemu 2 pin10

#fafanua sehemu3 pin11

kuelea batt_voltage;

int decimalPoint, batt;

/ * safu ambazo zinahifadhi muundo wa sehemu kwa kila nambari iliyopewa * /

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;

onyesha () {

char iliyosainiwa i;

ikiwa (decimalPoint <10) {

disp0 = (int) batt_voltage / 100; // huchukua MSD (Nambari muhimu zaidi)

// kuwa mzani wa juu zaidi

/ * huleta tarakimu inayofuata yenye uzito; Nakadhalika */

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

disp2 = ((int) batt_voltage% 10);

}

mwingine {

disp0 = (int) batt_voltage / 1000;

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

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

}

/ * Sampuli hutiwa nje kwa onyesho; na herufi 0x80 ikiongeza nukta ya desimali

ikiwa hali inayohusiana inashikilia kweli * /

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

pin9 = pin10 = pin11 = JUU;

ikiwa (decimalPoint <10)

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

bandari nyingine Andika (1, CCathodeDisp [disp0]);

sehemu1 = CHINI;

segment2 = JUU;

segment3 = JUU;

kucheleweshaMimi (5);

pin9 = pin10 = pin11 = JUU;

ikiwa ((decimalPoint> = 10) && (decimalPoint <100))

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

bandari nyingine Andika (1, CCathodeDisp [disp1]);

sehemu1 = JUU;

se22 = CHINI;

segment3 = JUU;

kucheleweshaMimi (5);

pin9 = pin10 = pin11 = JUU;

ikiwa (decimalPoint> = 100)

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

bandari nyingine Andika (1, CCathodeDisp [disp2]);

sehemu1 = JUU;

segment2 = JUU;

segment3 = CHINI;

kucheleweshaMimi (5);

}

}

kuanzisha () {// kuanzisha hapa

Kuweka Analog (); // bandari ya Analog imeanzishwa

PortMode (1, OUTPUT); // Pini 1 hadi 8 iliyosanidiwa kama pini za pato

/ * pini za kuchanganua zilizosanidiwa kama pini za pato * /

pin9Mode = Pato;

pin10Mode = PATO;

pin11Mode = Pato;

andika bandari (1, CHINI);

pin9 = pin10 = pin11 = JUU; // pini za kuchanganua (ambazo ni za chini)

// wamelemazwa mwanzoni

kitanzi () {// Programu hapa

batt_voltage = AnalogSoma (A0); // inachukua thamani iliyopimwa

batt_voltage = ((batt_voltage * 5000) / 1024); // sababu ya uongofu kwa 5Vin

batt_voltage = (batt_voltage * 50) / 5000; // sababu ya uongofu kwa 50Vin

decimalPoint = batt_voltage; // alama ambapo nukta ya desimali inaonekana ndani

// thamani ya asili kabla ya kudanganywa kwa data

onyesha ();

}

}

Ilipendekeza: