Obsah:

Digitálny voltmetr s CloudX: 6 krokov
Digitálny voltmetr s CloudX: 6 krokov

Video: Digitálny voltmetr s CloudX: 6 krokov

Video: Digitálny voltmetr s CloudX: 6 krokov
Video: Digitálny voltmeter 12V - s LCD displejom + LED indikácia 2024, November
Anonim
Digitálny voltmeter s CloudX
Digitálny voltmeter s CloudX

Batérie poskytujú čistejšiu formu jednosmerného (jednosmerného) prúdu, ak sú použité v obvodoch. Vďaka nízkej hladine hluku sa perfektne hodia pre niektoré veľmi citlivé obvody. Avšak v čase, keď úroveň ich napätia klesne pod určitý prahový bod, môžu obvody - (ktoré sú určené na napájanie) vstúpiť do nevyrovnaného správania; zvlášť keď nie sú dobre navrhnuté, aby to zvládali.

Preto vzniká potreba pravidelne monitorovať úroveň nabitia batérie, aby nás správne usmernila, kedy je potrebná úplná výmena alebo nabíjanie - v prípade nabíjateľnej batérie. Preto v tomto DIY (Urob si sám) navrhneme jednoduchý merač napätia batérie pomocou CloudX - pomocou displeja 7Segment.

Krok 1: Hardvérová požiadavka

Modul mikrokontroléra CloudX

CloudX USB

SoftCard

7 Segmentový displej

Rezistory

Napájací zdroj

Breadboard

Prepojovacie (prepojovacie) vodiče

Krok 2: Mikrokontrolér CloudX M633

Mikrokontrolér CloudX M633
Mikrokontrolér CloudX M633

Modul mikrokontroléra CloudX

Modul CloudX je hardvérový nástroj na navrhovanie elektroniky, ktorý vám umožňuje veľmi pohodlný a ľahký spôsob prepojenia s fyzickým svetom prostredníctvom jednoduchej dosky mikrokontroléra. Celá platforma je založená na fyzickom výpočte s otvoreným zdrojovým kódom. Vďaka svojej jednoduchosti IDE (integrovaného vývojového prostredia) je skutočne ideálny pre začiatočníkov a zachováva si dostatok funkcií, ktoré umožňujú pokročilým koncovým používateľom prechádzať ich. Stručne povedané, CloudX poskytuje oveľa zjednodušený proces manipulácie s mikrokontrolérom-abstrahovaním bežných zložitých podrobností, ktoré sú s ním spojené; a zároveň ponúka veľmi bohatú platformu používateľského zážitku. Nájde široké spektrum aplikácií: školy ako vynikajúci vzdelávací nástroj; priemyselné a obchodné výrobky; a ako užitočný nástroj v rukách domácich majstrov.

Krok 3: Pripojenia pinov

Pripojenia pinov
Pripojenia pinov

7-segmentové kolíky: A, B, C, D, E, F, G, 1, 2 a 3 sú pripojené k pinom 1, pin2, pin3, pin4, pin5, pin6, pin7, pin8, pin9, pin10 respektíve pin11.

Krok 4: Schéma zapojenia

Schéma zapojenia
Schéma zapojenia

Modul mikrokontroléra, ktorý je v strede, je možné zapnúť:

buď prostredníctvom bodov Vin a Gnd (tj. ich prepojením s kladnými a zápornými svorkami externého zdroja napájania) na doske;

alebo prostredníctvom modulu softvérovej karty CloudX USB

. Navyše, ako je zrejmé z vyššie uvedenej schémy zapojenia, vstupné napätie batérie je prepojené s modulom MCU (mikrokontrolér) tak, že –bod siete deliča napätia (tvorený a) je pripojený k A0 pinu MCU.

a sú zvolené tak, aby:

obmedziť množstvo prúdu, ktorý preteká sieťou;

limit v bezpečnom rozsahu (0 - 5) V pre MCU.

Podľa vzorca: VOUT = (R2/(R1+R2)) * VIN; a dá sa ľahko vyhodnotiť.

Voutmax = 5V

a pre tento projekt vyberáme: Vinmax = 50V;

5 = (R2/(R1+R2)) * 50 R1 = 45/5 * R2, napríklad R2 = 10 kΩ; R1 = 45/5 * 10 = 90 kΩ

Krok 5: Princíp činnosti

Keď sa vstupné namerané napätie odčíta cez bod VOUT siete deliča napätia, údaje sa ďalej spracujú v MCU, aby sa vyhodnotila konečná skutočná hodnota, ktorá sa zobrazí na segmentovej jednotke. Je to (návrh systému) automatický prepisovač desatinnej čiarky v tom zmysle, že (desatinná čiarka) v skutočnosti posúva pozíciu na samotnej zobrazovacej jednotke v súlade s tým, čo plávajúca hodnota diktuje v ktoromkoľvek danom časovom bode. Potom je celá hardvérová 7-segmentová zobrazovacia jednotka zapojená v multiplexnom režime. Ide o špeciálne usporiadanie, v ktorom rovnaká dátová zbernica (8 dátových pinov) z MCU napája tri aktívne 7 segmenty v zobrazovacej jednotke. Odosielanie dátových vzorov do každej z komponentných častí sa dosahuje procesom nazývaným skenovanie. Skenovanie je technika zahŕňajúca odosielanie údajov do každého zo 7 segmentov komponentu; a umožnenie (tj. zapnutie) ich v rýchlom slede, ako prídu ich príslušné údaje. Miera oslovenia každého z nich je taká, aby sa mu podarilo oklamať ľudskú víziu a uveriť, že všetky (súčasti) sú povolené (adresované) súčasne. Jednoducho (skenovanie) v skutočnosti využíva jav známy ako Persistence Of Vision.

Krok 6: Softvérový program

#zahrnúť

#zahrnúť

#zahrnúť

#definujte segment1 pin9

#definujte segment2 pin10

#definujte segment3 pin11

float batt_voltage;

int decimalPoint, batt;

/*polia, ktoré ukladajú segmentový vzor pre každú danú číslicu*/

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

nepodpísaný znak i;

if (decimalPoint <10) {

disp0 = (int) batt_voltage /100; // vyvolá MSD (najvýznamnejšia číslica)

// je najvyššia váha

/* vyvolá ďalšiu váženú číslicu; a tak ďalej */

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

disp2 = ((int) batt_voltage % 10);

}

inak {

disp0 = (int) batt_voltage /1000;

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

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

}

/*Vzory sa vylievajú na zobrazenie; a 0x80 znak s pridaním desatinnej čiarky

ak pridružená podmienka platí*/

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

pin9 = pin10 = pin11 = VYSOKÝ;

if (decimalPoint <10)

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

else portWrite (1, CCathodeDisp [disp0]);

segment1 = NÍZKY;

segment2 = VYSOKÝ;

segment3 = VYSOKÝ;

delayMs (5);

pin9 = pin10 = pin11 = VYSOKÝ;

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

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

else portWrite (1, CCathodeDisp [disp1]);

segment1 = VYSOKÝ;

segment2 = NÍZKY;

segment3 = VYSOKÝ;

delayMs (5);

pin9 = pin10 = pin11 = VYSOKÝ;

if (decimalPoint> = 100)

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

else portWrite (1, CCathodeDisp [disp2]);

segment1 = VYSOKÝ;

segment2 = VYSOKÝ;

segment3 = NÍZKY;

delayMs (5);

}

}

setup () {// nastavenie tu

analogSetting (); // analógový port inicializovaný

portMode (1, VÝSTUP); // Piny 1 až 8 nakonfigurované ako výstupné piny

/ * skenovacie piny nakonfigurované ako výstupné piny */

pin9Mode = VÝSTUP;

pin10Mode = VÝSTUP;

pin11Mode = VÝSTUP;

portWrite (1, NÍZKA);

pin9 = pin10 = pin11 = VYSOKÝ; // skenovanie pinov (ktoré sú aktívne-nízke)

// sú na začiatku deaktivované

loop () {// Programujte tu

batt_voltage = analogRead (A0); // prevezme nameranú hodnotu

batt_voltage = ((batt_voltage * 5000) / 1024); // konverzný faktor pre 5Vin

batt_voltage = (batt_voltage * 50)/5000; // konverzný faktor pre 50Vin

decimalPoint = batt_voltage; // označuje, kde sa nachádza desatinná čiarka

// pôvodná hodnota pred manipuláciou s údajmi

displej ();

}

}

Odporúča: