Obsah:

Digitální voltmetr s CloudX: 6 kroků
Digitální voltmetr s CloudX: 6 kroků

Video: Digitální voltmetr s CloudX: 6 kroků

Video: Digitální voltmetr s CloudX: 6 kroků
Video: Digitální voltmetr s MHB7106 / Digital Voltmeter with 7106 2024, Listopad
Anonim
Digitální voltmetr s CloudX
Digitální voltmetr s CloudX

Při použití v obvodech poskytují baterie čistší formu stejnosměrného (stejnosměrného) proudu. Jejich nízká hladina hluku z nich vždy dělá perfektní volbu pro některé velmi citlivé obvody. Ve chvílích, kdy úroveň jejich napětí klesne pod určitý prahový bod, se však mohou obvody - (které mají napájet) začít chovat nevyrovnaně; zvláště když nejsou dobře navrženi, aby to zvládli.

Proto vyvstává potřeba pravidelně monitorovat úroveň nabití baterie, aby nás správně vedla, kdy je třeba provést úplnou výměnu nebo nabíjení - v případě nabíjecí baterie. Proto v tomto DIY (udělej si sám) navrhneme jednoduchý měřič napětí baterie pomocí CloudX - pomocí displeje 7Segment.

Krok 1: Hardwarový požadavek

Modul mikrokontroléru CloudX

CloudX USB

SoftCard

7 Segmentový displej

Rezistory

Napájecí jednotka

Prkénko

Propojovací (propojovací) dráty

Krok 2: Mikrokontrolér CloudX M633

Mikrokontrolér CloudX M633
Mikrokontrolér CloudX M633

Modul mikrokontroléru CloudX

Modul CloudX je hardwarový nástroj pro návrh elektroniky, který vám umožňuje velmi pohodlný a snadný způsob propojení s fyzickým světem prostřednictvím jednoduché desky mikrokontroléru. Celá platforma je založena na open-source fyzických počítačích. Díky své jednoduchosti IDE (Integrated Development Environment) je opravdu ideální pro začátečníky a přitom si zachovává dostatek funkcí, které umožňují pokročilým koncovým uživatelům procházet se skrz. Stručně řečeno, CloudX poskytuje značně zjednodušený proces manipulace s mikrokontrolérem-abstrahováním běžných složitých detailů, které jsou s ním spojeny; a zároveň nabízí velmi bohatou platformu uživatelského zážitku. Najde široké uplatnění napříč všemi oblastmi: školy jako skvělý vzdělávací nástroj; průmyslové a komerční produkty; a jako skvělý nástroj v rukou fandy.

Krok 3: Připojení pinů

Pin připojení
Pin připojení

7segmentové piny: A, B, C, D, E, F, G, 1, 2 a 3 jsou připojeny ke kolíku 1, pin2, pin3, pin4, pin5, pin6, pin7, pin8, pin9, pin10 respektive pin11.

Krok 4: Schéma zapojení

Kruhový diagram
Kruhový diagram

Modul mikrokontroléru, který je zde ve středu, lze zapnout:

buď prostřednictvím bodů Vin a Gnd (tj. jejich připojením ke kladným a záporným svorkám vaší externí napájecí jednotky) na desce;

nebo prostřednictvím vašeho modulu SoftCard CloudX USB

. Navíc, jak lze snadno vidět z výše uvedeného schématu zapojení, je vstupní napětí baterie propojeno s modulem MCU (mikrokontrolér) tak, že –bod sítě děliče napětí (tvořený a) je připojen k A0 pinu MCU.

a jsou vybrány tak, aby:

omezit množství proudu, který protéká sítí;

limit v bezpečném rozsahu (0 - 5) V pro MCU.

Pomocí vzorce: VOUT = (R2/(R1+R2)) * VIN; a lze je snadno vyhodnotit.

Voutmax = 5V

a pro tento projekt volíme: Vinmax = 50V;

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

Krok 5: Princip činnosti

Když je vstupní měřené napětí načteno přes bod VOUT sítě děliče napětí, data jsou dále zpracována v MCU, aby byla vyhodnocena konečná skutečná hodnota, která se zobrazuje na segmentové jednotce. It (the system design) is a automatic decimal point placer, in that it (decimal point) actually shifters position on the display-unit itself according to what what the float value dictits at any given point in time. Poté je celá hardwarová 7segmentová zobrazovací jednotka zapojena do multiplexního režimu. Jedná se o speciální uspořádání, kdy stejná datová sběrnice (8 datových pinů) z MCU napájí tři aktivní 7 segmenty v zobrazovací jednotce. Odesílání datového vzoru do každé ze součástí se provádí procesem označovaným jako skenování. Skenování je technika zahrnující odesílání dat napříč každým ze 7 segmentů komponenty; a umožnění (tj. zapnutí) v rychlém sledu za sebou, jak dorazí jejich příslušná data. Míra oslovení každého z nich je taková, že se mu podaří oklamat lidskou vizi a uvěřit, že všechny (součásti) jsou povoleny (adresovány) současně. Jednoduše (skenování) ve skutečnosti využívá jev známý jako Persistence Of Vision.

Krok 6: Softwarový program

#zahrnout

#zahrnout

#zahrnout

#definujte segment 1 pin9

#definovat segment2 pin10

#definujte segment3 pin11

float batt_voltage;

int decimalPoint, batt;

/*pole, která ukládají segmentový vzor pro každou danou číslici*/

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;

Zobrazit() {

nepodepsaný znak i;

if (decimalPoint <10) {

disp0 = (int) batt_voltage /100; // načte MSD (nejvýznamnější číslice)

// je nejvyšší váha

/* načte další váženou číslici; a tak dále */

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

disp2 = ((int) batt_voltage % 10);

}

jinak {

disp0 = (int) batt_voltage /1000;

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

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

}

/*Vzory se vylévají pro zobrazení; a 0x80 znak s přidáním desetinné čárky

pokud přidružená podmínka platí*/

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

pin9 = pin10 = pin11 = VYSOKÝ;

if (decimalPoint <10)

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

else portWrite (1, CCathodeDisp [disp0]);

segment1 = NÍZKÝ;

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 = LOW;

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ÍZKÝ;

delayMs (5);

}

}

setup () {// nastavení zde

analogSetting (); // analogový port inicializován

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

/ * skenovací piny nakonfigurované jako výstupní piny */

pin9Mode = VÝSTUP;

pin10Mode = VÝSTUP;

pin11Mode = VÝSTUP;

portWrite (1, LOW);

pin9 = pin10 = pin11 = VYSOKÝ; // skenování pinů (které jsou aktivní-nízké)

// jsou na začátku deaktivovány

loop () {// Programujte zde

batt_voltage = analogRead (A0); // vezme naměřenou hodnotu

batt_voltage = ((batt_voltage * 5000) / 1024); // převodní faktor pro 5Vin

batt_voltage = (batt_voltage * 50)/5000; // převodní faktor pro 50Vin

decimalPoint = batt_voltage; // značky, kde se zobrazuje desetinná tečka

// původní hodnota před manipulací s daty

Zobrazit();

}

}

Doporučuje: