Sommario:
- Passaggio 1: requisiti hardware
- Passaggio 2: microcontrollore CloudX M633
- Passaggio 3: connessioni pin
- Passaggio 4: diagramma del circuito
- Passaggio 5: Principio di funzionamento
- Passaggio 6: il programma software
Video: Voltmetro digitale con CloudX: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Le batterie forniscono una forma più pura di alimentazione CC (corrente continua) quando vengono impiegate nei circuiti. Il loro basso livello di rumore li rende sempre perfetti per alcuni circuiti molto sensibili. Tuttavia, a volte quando il loro livello di tensione scende al di sotto di un certo punto di soglia, i circuiti - (che sono destinati ad alimentare), potrebbero assumere un comportamento irregolare; soprattutto quando non sono ben progettati per gestirlo.
Quindi, sorge la necessità di monitorare regolarmente il livello di carica della batteria per guidarci correttamente su quando è necessaria una sostituzione totale, o la ricarica, nel caso di una batteria ricaricabile. Pertanto, in questo fai-da-te (fai da te), dobbiamo progettare un semplice misuratore di tensione della batteria utilizzando CloudX, utilizzando il 7Segment come display.
Passaggio 1: requisiti hardware
Modulo Microcontrollore CloudX
CloudX USB
SoftCard
Visualizzazione a 7 segmenti
resistori
Alimentatore
tagliere
Cavi del ponticello (collegamento)
Passaggio 2: microcontrollore CloudX M633
Modulo Microcontrollore CloudX
Il modulo CloudX è uno strumento hardware di progettazione elettronica che ti consente un modo molto comodo e semplice di interfacciarti con il mondo fisico tramite una semplice scheda microcontrollore. L'intera piattaforma è basata su un calcolo fisico open source. La sua semplicità di un IDE (Integrated Development Environment) lo rende davvero perfetto per i principianti, pur mantenendo una funzionalità sufficiente per consentire agli utenti finali avanzati di navigare. In poche parole, CloudX fornisce un processo molto semplificato di gestione del microcontrollore, astraendo i normali dettagli complessi ad esso associati; offrendo allo stesso tempo una piattaforma di esperienza utente molto ricca. Trova ampie applicazioni trasversali: scuole, come ottimo strumento didattico; prodotti industriali e commerciali; e come grande strumento di utilità nelle mani di un hobbista.
Passaggio 3: connessioni pin
I pin a 7 segmenti: A, B, C, D, E, F, G, 1, 2 e 3 sono collegati ai pin1, pin2, pin3, pin4, pin5, pin6, pin7, pin8, pin9 del CloudX-MCU, pin10 e pin11 rispettivamente.
Passaggio 4: diagramma del circuito
Il modulo microcontrollore, essendo qui al centro della scena, può essere acceso:
o tramite i punti Vin e Gnd (cioè collegandoli rispettivamente ai terminali +ve e –ve dell'alimentatore esterno) sulla scheda;
o tramite il modulo softcard USB CloudX
. Inoltre, come si può facilmente vedere dallo schema circuitale sopra riportato, la tensione della batteria in ingresso è interfacciata con il modulo MCU (microcontrollore) in modo tale che il -point della rete divisore di tensione (formato da e) sia connesso ad A0 del pin MCU.
e sono scelti in modo tale da:
limitare la quantità di corrente che scorre attraverso la rete;
limite entro un intervallo di sicurezza di (0 – 5)V per l'MCU.
Usando la formula: VOUT = (R2/(R1+R2)) * VIN; e può essere facilmente valutato.
Voutmax = 5V
e per questo progetto scegliamo: Vinmax = 50V;
5 = (R2/(R1+R2)) * 50 R1 = 45/5 * R2 Prendendo ad esempio R2 = 10kΩ; R1 = 45/5 * 10 = 90 kΩ
Passaggio 5: Principio di funzionamento
Quando la tensione misurata in ingresso viene letta tramite il punto VOUT della rete del partitore di tensione, i dati vengono ulteriormente elaborati nell'MCU per valutare il valore effettivo finale visualizzato sull'unità del segmento. It (il design del sistema) è un posizionatore automatico del punto decimale, in quanto (punto decimale) effettivamente sposta la posizione sull'unità di visualizzazione stessa in base a ciò che il valore float impone in un dato momento. Quindi, l'intero display hardware a 7 segmenti viene cablato in modalità multiplex. È una disposizione speciale per cui lo stesso bus dati (8 pin dati) dall'MCU alimenta i tre 7 segmenti attivi nell'unità display. L'invio del modello di dati in ciascuna delle parti componenti viene ottenuto mediante un processo denominato Scansione. La scansione è una tecnica che prevede l'invio di dati a ciascuno dei 7 segmenti componenti; e abilitarli (cioè accenderli) in rapida successione all'arrivo dei rispettivi dati. La velocità di indirizzamento a ciascuno di essi è tale da riuscire a ingannare la visione umana facendo credere che tutti loro (le parti componenti) siano abilitati (indirizzati) allo stesso tempo. (scansione) semplicemente, in effetti, utilizza un fenomeno noto come Persistence Of Vision.
Passaggio 6: il programma software
#includere
#includere
#includere
#define segmento1 pin9
#define segmento2 pin10
#define segmento3 pin11
float batt_voltage;
int punto decimale, batt;
/*array che memorizzano il modello di segmento per ogni cifra data*/
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;
Schermo() {
carattere non firmato i;
if(Puntodecimale < 10) {
disp0 = (int)batt_voltage /100; // recupera l'MSD (cifra più significativa)
//essendo il più ponderato
/* recupera la cifra pesata successiva; e così via */
disp1 = ((int)batt_voltage % 100)/10;
disp2 = ((int)batt_voltage % 10);
}
altro {
disp0 = (int)batt_voltage /1000;
disp1 = ((int)batt_voltage % 1000)/100;
disp2 = ((int)batt_voltage % 100)/10;
}
/*I modelli vengono versati per la visualizzazione; e 0x80 carattere aggiungendo un punto decimale
se la condizione associata è vera*/
for(i=0; i<50; i++) {
pin9 = pin10 = pin11 = ALTO;
if(Puntodecimale < 10)
portWrite(1, CCathodeDisp[disp0] | 0x80);
else portWrite(1, CCathodeDisp[disp0]);
segmento1 = BASSO;
segmento2 = ALTO;
segmento3 = ALTO;
ritardoMs(5);
pin9 = pin10 = pin11 = ALTO;
if((Puntodecimale >= 10) && (Puntodecimale < 100))
portWrite(1, CCathodeDisp[disp1] | 0x80);
else portWrite(1, CCathodeDisp[disp1]);
segmento1 = ALTO;
segmento2 = BASSO;
segmento3 = ALTO;
ritardoMs(5);
pin9 = pin10 = pin11 = ALTO;
if (puntodecimale >= 100)
portWrite(1, CCathodeDisp[disp2] | 0x80);
else portWrite(1, CCathodeDisp[disp2]);
segmento1 = ALTO;
segmento2 = ALTO;
segmento3 = BASSO;
ritardoMs(5);
}
}
setup(){ //imposta qui
analogSetting(); //porta analogica inizializzata
portMode(1, OUTPUT); //Pin da 1 a 8 configurati come pin di uscita
/* scansiona i pin configurati come pin di output */
pin9Mode = USCITA;
pin10Mode = USCITA;
pin11Mode = USCITA;
portWrite(1, LOW);
pin9 = pin10 = pin11 = ALTO; //scan pin (che sono active-low)
//sono disabilitati all'inizio
loop(){ //Programma qui
batt_voltage = analogRead(A0); //prende il valore misurato
batt_voltage = ((batt_voltage * 5000) / 1024); //fattore di conversione per 5Vin
batt_voltage = (batt_voltage * 50)/5000; //fattore di conversione per 50Vin
decimalPoint = batt_voltage; //indica dove compare il punto decimale
//il valore originale prima della manipolazione dei dati
Schermo();
}
}
Consigliato:
Voltmetro preciso con display Waveshare E-ink (0-90 V CC) con Arduino Nano: 3 passaggi
Voltmetro preciso con display Waveshare E-ink (0-90 V CC) con Arduino Nano: in questo Instructable, utilizzo un display Waveshare E-Paper da 2,9 pollici con un Arduino Nano, un partitore di tensione e un ADS1115 per visualizzare tensioni precise fino a 90 volt DC sul display E-Paper. Questo istruibile combina questi due progetti precedenti: - Ardui
Voltmetro CA con Arduino: 3 passaggi (con immagini)
Voltmetro CA con Arduino: questo è un circuito semplice per accertare la tensione CA usando Arduino UNO senza alcun voltmetro CA!! BUON APPETITO
Voltmetro digitale Arduino: 3 passaggi
Voltmetro digitale Arduino: un voltmetro o un voltmetro è uno strumento di misura utilizzato per misurare la tensione
Voltmetro digitale ricaricabile con ICL7107 ADC: 7 passaggi (con immagini)
Voltmetro digitale ricaricabile con ICL7107 ADC: in questo tutorial ti mostrerò come realizzare un voltmetro digitale super semplice in grado di misurare tensioni da 20 mV a 200 V. Questo progetto non utilizzerà alcun microcontrollore come Arduino. Al posto di questo verrà utilizzato un ADC, ovvero ICL7107 con alcuni passi
Voltmetro digitale: 5 passi
Voltmetro digitale: questo è un voltmetro fai-da-te facile da usare ed economico. Il costo totale per realizzare questo progetto è inferiore a 200 INR o solo 2,5 $