Taula de continguts:

Voltímetre digital amb CloudX: 6 passos
Voltímetre digital amb CloudX: 6 passos

Vídeo: Voltímetre digital amb CloudX: 6 passos

Vídeo: Voltímetre digital amb CloudX: 6 passos
Vídeo: КАК ПОЛЬЗОВАТЬСЯ ЦИФРОВЫМ МУЛЬТИМЕТРОМ.? (НАПРЯЖЕНИЕ, АМПЕР, ОМОМЕТР). 2024, De novembre
Anonim
Voltímetre digital amb CloudX
Voltímetre digital amb CloudX

Les bateries proporcionen una forma més pura de corrent continu (corrent continu) quan s’utilitzen en circuits. El seu baix nivell de soroll els fa sempre un ajust perfecte per a circuits molt sensibles. Tanmateix, en els moments en què el seu nivell de tensió baixa per sota d'un determinat punt llindar, els circuits (que estan destinats a alimentar-se) poden tenir un comportament erràtic; sobretot quan no estan ben dissenyats per fer-ho.

Per tant, sorgeix la necessitat de controlar periòdicament el nivell de potència de la bateria per orientar-nos adequadament sobre quan s’ha de substituir totalment o carregar-se en cas de bateria recarregable. Per tant, en aquest bricolatge (Do It Yourself), hem de dissenyar un simple mesurador de voltatge de la bateria mitjançant el CloudX, utilitzant el Segment 7 com a pantalla.

Pas 1: requisit de maquinari

Mòdul de microcontrolador CloudX

CloudX USB

SoftCard

7 Visualització del segment

Resistències

Unitat de subministrament d'energia

Taula de pa

Cavalls de pont (connectant)

Pas 2: microcontrolador CloudX M633

Microcontrolador CloudX M633
Microcontrolador CloudX M633

Mòdul de microcontrolador CloudX

El mòdul CloudX és una eina de maquinari de disseny d'electrònica que us permet una manera molt còmoda i senzilla d'interfaccionar amb el món físic mitjançant una simple placa de microcontrolador. Tota la plataforma es basa en una informàtica física de codi obert. La seva simplicitat d’un IDE (entorn de desenvolupament integrat) el converteix realment en un ajust perfecte per a principiants, tot i que conserva una funcionalitat suficient per permetre als usuaris finals avançats navegar. En un nucli, CloudX proporciona un procés molt simplificat de manipulació del microcontrolador, abstracte dels detalls complexos normals associats; alhora que ofereix una plataforma d’experiència d’usuari molt rica. Troba àmplies aplicacions transversals: les escoles, com a gran eina educativa, productes industrials i comercials, i com a gran eina d’utilitat en mans d’un aficionat.

Pas 3: fixar les connexions

Fixa les connexions
Fixa les connexions

Els pins de 7 segments: A, B, C, D, E, F, G, 1, 2 i 3 estan connectats als pins pin1, pin2, pin3, pin4, pin5, pin6, pin7, pin8, pin9 de la CloudX-MCU. pin10 i pin11 respectivament.

Pas 4: Diagrama de circuits

Esquema de connexions
Esquema de connexions

El mòdul de microcontrolador, que es troba aquí al centre, es pot encendre:

ja sigui a través dels punts Vin i Gnd (és a dir, connectant-los als terminals + ve i –ve de la vostra unitat de subministrament d’alimentació externa respectivament) a la placa;

o bé a través del mòdul de targeta suau USB de CloudX

. A més, com es pot veure fàcilment a l'esquema del circuit anterior, la tensió de la bateria d'entrada està relacionada amb el mòdul MCU (microcontrolador) de manera que el punt –de la xarxa divisora de tensió (format per i) estigui connectat a A0 del pin MCU.

i es trien de manera que:

limitar la quantitat de corrent que circula per la xarxa;

límit dins d’un rang segur de (0 - 5) V per a la MCU.

Utilitzant la fórmula: VOUT = (R2 / (R1 + R2)) * VIN; i es pot avaluar fàcilment.

Voutmax = 5V

i per a aquest projecte, escollim: Vinmax = 50V;

5 = (R2 / (R1 + R2)) * 50 R1 = 45/5 * R2 Prenent R2 = 10kΩ per exemple; R1 = 45/5 * 10 = 90kΩ

Pas 5: Principi de funcionament

Quan la tensió mesurada d’entrada es llegeix a través del punt VOUT de la xarxa divisòria de tensió, les dades es processen a l’MCU per avaluar-se fins al valor real final que es mostra a la unitat del segment. (El disseny del sistema) és un marcador automàtic de punt decimal, ja que (punt decimal) realment canvia la posició sobre la mateixa unitat de visualització d’acord amb el que dicta el valor flotant en un moment determinat. A continuació, tota la unitat de visualització de 7 segments de maquinari es connecta al mode multiplex. És un acord especial pel qual el mateix bus de dades (8 pins de dades) de la MCU alimenta els tres segments actius de 7 de la unitat de visualització. L’enviament de patrons de dades a cadascuna de les parts components s’aconsegueix mitjançant un procés anomenat Escaneig. L’escaneig és una tècnica que consisteix a enviar dades a cadascun dels components de 7 segments; i habilitant-los (és a dir, encenent-los) de forma ràpida a mesura que arribin les seves respectives dades. La velocitat d’adreçar-se a cadascun d’ells es fa de manera que aconsegueix enganyar la visió humana per creure que totes elles (les parts components) estan habilitades (tractades) al mateix temps. (Escaneig) simplement, en efecte, utilitza un fenomen conegut com a Persistència de la visió.

Pas 6: el programa de programari

#incloure

#incloure

#incloure

#define segment1 pin9

#define segment2 pin10

#define segment3 pin11

flotador volt_bat;

int decimalPoint, batt;

/ * matrius que emmagatzemen patrons de segments per a cada dígit donat * /

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

unsigned char i;

if (decimalPoint <10) {

disp0 = (int) volt_bat / 100; // obté el MSD (dígit més significatiu)

// ser el més ponderat

/ * obté el següent dígit ponderat; etcètera */

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

disp2 = ((int) batt_voltage% 10);

}

més {

disp0 = (int) volt_bat / 1000;

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

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

}

/ * Els patrons s’abocen per mostrar; i 0x80 caràcters que afegeixen un punt decimal

si la condició associada és certa * /

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

pin9 = pin10 = pin11 = ALTA;

if (decimalPoint <10)

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

else portWrite (1, CCathodeDisp [disp0]);

segment1 = BAIX;

segment2 = ALT;

segment3 = ALT;

delayMs (5);

pin9 = pin10 = pin11 = ALTA;

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

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

else portWrite (1, CCathodeDisp [disp1]);

segment1 = ALT;

segment2 = BAIX;

segment3 = ALT;

delayMs (5);

pin9 = pin10 = pin11 = ALTA;

if (decimalPoint> = 100)

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

else portWrite (1, CCathodeDisp [disp2]);

segment1 = ALT;

segment2 = ALT;

segment3 = BAIX;

delayMs (5);

}

}

setup () {// configureu aquí

analogSetting (); // port analògic inicialitzat

portMode (1, OUTPUT); // Pins de l'1 al 8 configurats com a pins de sortida

/ * pins d'escaneig configurats com a pins de sortida * /

pin9Mode = SORTIDA;

pin10Mode = SORTIDA;

pin11Mode = SORTIDA;

portWrite (1, BAIX);

pin9 = pin10 = pin11 = ALTA; // escanejar pins (que estan actius-baixos)

// estan desactivats al principi

loop () {// Programa aquí

volt_bat = Llegiranalògic (A0); // pren el valor mesurat

volt_bat = ((volt_bat * 5000) / 1024); // factor de conversió de 5Vin

volt_bat = (volt_bat * 50) / 5000; // factor de conversió per a 50Vin

decimalPoint = volt_bat; // marca on apareix el punt decimal

// el valor original abans de la manipulació de dades

display ();

}

}

Recomanat: