Tartalomjegyzék:

Digitális voltmérő CloudX -el: 6 lépés
Digitális voltmérő CloudX -el: 6 lépés

Videó: Digitális voltmérő CloudX -el: 6 lépés

Videó: Digitális voltmérő CloudX -el: 6 lépés
Videó: Digitális voltmérő 12/24 V 2024, November
Anonim
Digitális voltmérő CloudX -el
Digitális voltmérő CloudX -el

Az akkumulátorok áramkörökben használva tisztább formájú egyenáramot (egyenáramot) biztosítanak. Az alacsony zajszint mindig tökéletesen illeszkedik néhány nagyon érzékeny áramkörhöz. Mindazonáltal, amikor feszültségszintjük egy bizonyos küszöbérték alá csökken, az áramkörök - (amelyeket tápellátásra szánnak) - szabálytalan viselkedésbe léphetnek; különösen akkor, ha nem jól vannak kialakítva ennek kezelésére.

Ezért felmerül annak szükségessége, hogy rendszeresen ellenőrizni kell az akkumulátor töltöttségi szintjét, hogy megfelelően tájékoztasson minket arról, hogy mikor kell teljes cserét végezni, vagy újratölthető akkumulátor esetén tölteni kell. Ezért ebben a barkácsolásban (csináld magad) egy egyszerű akkumulátorfeszültség -mérőt kell terveznünk a CloudX használatával - a 7 -es szegmenst használva kijelzőnként.

1. lépés: Hardverkövetelmények

CloudX mikrovezérlő modul

CloudX USB

SoftCard

7 Szegmens kijelző

Ellenállások

Tápegység

Kenyeretábla

Jumper (csatlakozó) vezetékek

2. lépés: CloudX M633 mikrokontroller

CloudX M633 mikrokontroller
CloudX M633 mikrokontroller

CloudX mikrovezérlő modul

A CloudX modul egy elektronikai tervező hardver eszköz, amely lehetővé teszi a fizikai világgal való kényelmes és egyszerű kapcsolatot egy egyszerű mikrokontroller táblán keresztül. Az egész platform nyílt forráskódú fizikai számítástechnikán alapul. Az IDE (Integrált Fejlesztési Környezet) egyszerűsége tökéletesen alkalmassá teszi a kezdők számára, ugyanakkor megtartja a szükséges funkciókat ahhoz, hogy a haladó végfelhasználók navigálhassanak. Egy dióhéjban a CloudX sokkal egyszerűbb eljárást biztosít a mikrokontroller kezeléséhez, elvonva a hozzá tartozó normál komplex részleteket; ugyanakkor rendkívül gazdag felhasználói élményt nyújtó platformot kínál. Széles körben alkalmazható: iskolák, mint nagyszerű oktatási eszköz; ipari és kereskedelmi termékek; és kiváló segédeszköz a hobbisták kezében.

3. lépés: Pin kapcsolatok

Tűcsatlakozások
Tűcsatlakozások

A 7 szegmensű csapok: A, B, C, D, E, F, G, 1, 2 és 3 a CloudX-MCU 1-es, 2-es, 3-as, 4-es, 5-ös, 6-os, 7-es, 8-as, 9-es, pin10 és pin11 sorrendben.

4. lépés: Áramköri diagram

Kördiagramm
Kördiagramm

A mikrovezérlő modul, amely itt a középpontban van, bekapcsolható:

vagy a tábla Vin és Gnd pontjain keresztül (azaz összekapcsolva őket a külső tápegység +ve és –ve csatlakozóival);

vagy a CloudX USB softcard modulon keresztül

. Sőt, amint az a fenti kapcsolási rajzból is könnyen látható, a bemeneti akkumulátor feszültsége úgy van illesztve az MCU (mikrokontroller) modulhoz, hogy a feszültségosztó hálózat –pontja (és a) az MCU csap A0 -jához csatlakozik.

és úgy választják meg, hogy:

korlátozza a hálózaton átáramló áram mennyiségét;

az MCU biztonságos (0 - 5) V tartományán belül.

A képlet segítségével: VOUT = (R2/(R1+R2)) * VIN; és könnyen értékelhető.

Voutmax = 5V

és ehhez a projekthez a következőket választjuk: Vinmax = 50V;

5 = (R2/(R1+R2)) * 50 R1 = 45/5 * R2 Például R2 = 10 kΩ; R1 = 45/5 * 10 = 90 kΩ

5. lépés: Működési elv

Amikor a bemeneti mért feszültséget a feszültségosztó hálózat VOUT pontján keresztül olvassák le, az adatokat tovább feldolgozzák az MCU -ban, hogy kiértékeljék a szegmens egységen megjelenő végső tényleges értéket. Ez (a rendszer kialakítása) egy automatikus tizedespont-elhelyező, mivel (tizedespont) ténylegesen megváltoztatja a pozíciót a kijelzőegységen, annak megfelelően, amit az úszóérték diktál egy adott időpontban. Ezután az egész hardveres 7 szegmenses kijelzőegység be van kötve multiplex üzemmódba. Ez egy speciális elrendezés, amely szerint az MCU-ból származó ugyanaz az adatbusz (8 adatadat) táplálja a kijelzőegység három aktív 7 szegmensét. Az adatminták elküldése az egyes alkatrészekbe egy szkennelésnek nevezett eljárással érhető el. A szkennelés egy olyan technika, amely magában foglalja az adatok átvitelét a 7 komponens minden szegmensébe; és lehetővé teszik (azaz a bekapcsolást) gyors egymásutánban, amint megérkeznek az adatok. Mindegyikük megszólításának gyakorisága úgy történik, hogy sikerül megtéveszteni az emberi látást, hogy elhiggye, hogy mindegyikük (az alkotóelemek) egyszerre engedélyezve vannak (megszólítva). Ez (szkennelés) valójában egyszerűen a Persistence Of Vision néven ismert jelenséget használja fel.

6. lépés: A szoftver program

#befoglalni

#befoglalni

#befoglalni

#define segment1 pin9

#define segment2 pin10

#define segment3 pin11

float batt_voltage;

int decimalPoint, batt;

/*tömbök, amelyek minden egyes számjegyhez szegmensmintát tárolnak*/

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 () {

előjel nélküli char i;

if (tizedespont <10) {

disp0 = (int) batt_voltage /100; // lekéri az MSD -t (legjelentősebb számjegy)

// a legnagyobb súlyozott

/* lekéri a következő súlyozott számjegyet; stb */

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

disp2 = ((int) batt_voltage % 10);

}

más {

disp0 = (int) batt_voltage /1000;

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

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

}

/*A mintákat kiöntik a megjelenítéshez; és 0x80 karakter tizedespont hozzáadásával

ha a kapcsolódó feltétel teljesül*/

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

pin9 = pin10 = pin11 = HIGH;

ha (decimális pont <10)

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

else portWrite (1, CCathodeDisp [disp0]);

szegmens1 = LOW;

szegmens2 = MAGAS;

szegmens3 = MAGAS;

delayMs (5);

pin9 = pin10 = pin11 = HIGH;

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

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

else portWrite (1, CCathodeDisp [disp1]);

szegmens1 = MAGAS;

szegmens2 = LOW;

szegmens3 = MAGAS;

delayMs (5);

pin9 = pin10 = pin11 = HIGH;

if (decimalPoint> = 100)

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

else portWrite (1, CCathodeDisp [disp2]);

szegmens1 = MAGAS;

szegmens2 = MAGAS;

szegmens3 = LOW;

delayMs (5);

}

}

setup () {// beállítás itt

analogSetting (); // analóg port inicializálva

portMode (1, OUTPUT); // 1–8. Láb kimeneti csapként konfigurálva

/ * szkennelőtüskék kimeneti csapként konfigurálva */

pin9Mode = KIMENET;

pin10Mode = KIMENET;

pin11Mode = KIMENET;

portWrite (1, LOW);

pin9 = pin10 = pin11 = HIGH; // szkennelési csapok (amelyek alacsonyak)

// le vannak tiltva az elején

loop () {// Programozzon itt

batt_voltage = analógRead (A0); // felveszi a mért értéket

batt_voltage = ((batt_voltage * 5000) / 1024); // 5Vin konverziós tényezője

batt_voltage = (batt_voltage * 50)/5000; // 50Vin konverziós tényezője

decimalPoint = batt_voltage; // jelzi, hogy hol jelenik meg a tizedespont

// az eredeti érték az adatkezelés előtt

kijelző();

}

}

Ajánlott: