Un semplice voltmetro elettronico.  Voltmetro digitale fai da te.  Video

Un semplice voltmetro elettronico. Voltmetro digitale fai da te. Video "Installazione di un voltmetro digitale con le tue mani"

Nella lezione di oggi considereremo l'opzione di realizzare un voltmetro digitale fatto in casa per misurare la tensione su una singola batteria. Limiti di misurazione della tensione 1-4,5 Volt. Non è richiesta alimentazione aggiuntiva esterna, ad eccezione di quella misurata.

25 anni fa avevo un lettore di cassette. L'ho alimentato con batterie Ni-Cd NKGTS-0.45 con una capacità di 450 mAh. Per determinare quali batterie si sono già posizionate sulla strada e quali funzioneranno ancora, è stato realizzato un semplice dispositivo.


Complesso diagnostico e di misurazione batteria-accumulatore.


È assemblato secondo il circuito del convertitore di tensione su due transistor. Un LED di uscita è acceso. In parallelo con l'ingresso collegato alla batteria, è collegato un resistore avvolto da nicromo. Pertanto, se la batteria è in grado di erogare circa 200 mA, il LED si accende.

Tra le carenze: le dimensioni dei contatti sono rigidamente curvate alla lunghezza dell'elemento AA, non è conveniente collegare tutte le altre dimensioni standard. Beh, non puoi vedere la pressione. Pertanto, nell'era digitale, volevo realizzare un dispositivo più high-tech. E ovviamente sul microcontrollore, dove senza :)

Quindi, lo schema del dispositivo progettato.

Parti usate:
1. Display OLED 128x32 da 0,91 pollici (circa $ 3)
2. Microcontrollore ATtiny85 nel pacchetto SOIC (circa $ 1)
3. Boost DC/DC Converter LT1308 di Linear Technology. ($ 2,74 per 5 pezzi)
4. Condensatori ceramici, saldati da una scheda video difettosa.
5. Induttanza di COILTRONICS CTX5-1 o COILCRAFT DO3316-472.
6. Diodo Schottky, ho usato MBR0520 (0.5A, 20V)

Convertitore di tensione LT1308

Caratteristiche dalla descrizione di LT1308:

Promettono 300 mA 3,3 V da un elemento NiCd, ci va bene. La tensione di uscita è impostata da un divisore, resistori 330kOhm e 120kOhm, con i valori nominali indicati, la tensione di uscita del convertitore è di circa 4,5V. La tensione di uscita è stata scelta per essere sufficiente per alimentare il controller e il display, leggermente superiore alla tensione massima misurata su una batteria al litio.

Per sbloccare tutto il potenziale del convertitore di tensione, è necessaria l'induttanza, che non ho (vedi paragrafo 5 sopra), quindi il convertitore che monto ha parametri ovviamente peggiori. Ma il mio carico è molto piccolo. Quando un carico reale è collegato dal microcontrollore e dal display OLED, si ottiene una tale tabella di carico.

Ottimo, andiamo avanti.

Caratteristiche della misurazione della tensione da parte di un microcontrollore

Il microcontrollore ATtiny85 ha un ADC a 10 bit. Pertanto, il livello di lettura è compreso nell'intervallo 0-1023 (2^10). Per convertire in tensione, utilizzare il codice:
float Vcc = 5.0; int valore = analogRead(4); / lettura letture da A2 float volt = (valore / 1023.0) * Vcc;
Quelli. Si presume che la tensione di alimentazione sia rigorosamente di 5 V. Se la tensione di alimentazione del microcontrollore cambia, cambierà anche la tensione misurata. Pertanto, dobbiamo sapere valore esatto tensione di alimentazione!
Molti chip AVR, incluse le serie ATmega e ATtiny, forniscono un mezzo per misurare l'interno tensione di riferimento. Misurando la tensione di riferimento interna, possiamo determinare il valore di Vcc. Ecco come:
  • Impostare il riferimento di tensione analogReference(INTERNAL).
  • Leggere le letture ADC per l'alimentazione interna da 1,1 V.
  • Calcolare il valore di Vcc in base alla misura di 1,1 V utilizzando la formula:
Vcc * (lettura ADC) / 1023 = 1,1 V
Da quanto segue:
Vcc = 1,1 V * 1023 / (letture ADC)
Su Internet è stata trovata una funzione per misurare la tensione di alimentazione del controller:

funzione readVcc()

long readVcc() ( // Legge il riferimento 1.1V contro AVcc // imposta il riferimento a Vcc e la misura al riferimento interno 1.1V #if definito(__AVR_ATmega32U4__) || definito(__AVR_ATmega1280__) || definito(__AVR_ATmega2560__) ADMUX = _BV (REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #elif definito (__AVR_ATtiny24__) || definito(__AVR_ATtiny44__) || definito(__AVR_ATtiny84__) ADMUX = _BV(MUX5) | _BV (MUX0); #elif definito (__AVR_ATtiny25__) || definito(__AVR_ATtiny45__) || definito(__AVR_ATtiny85__) ADMUX = _BV(MUX3) | _BV(MUX2); #else ADMUX = _BV(REFS0) | _BV(MUX3) | _BV( MUX2) | _BV(MUX1); #endif delay(75); // Attendi che Vref stabilizzi ADCSRA |= _BV(ADSC); // Avvia la conversione while (bit_is_set(ADCSRA,ADSC)); // misura uint8_t low = ADCL; // deve prima leggere ADCL - quindi blocca ADCH uint8_t high = ADCH; // sblocca entrambi long result = (high<<8) | low; result = 1125300L / result; // Calculate Vcc (in mV); 1125300 = 1.1*1023*1000 return result; // Vcc in millivolts }


Per la visualizzazione sullo schermo viene utilizzata la libreria Tiny4kOLED con il font 16x32 incluso. Dal font, per ridurre le dimensioni della libreria, sono stati rimossi 2 caratteri inutilizzati (, e -) ed è stata disegnata la lettera "B" mancante. Il codice della libreria è stato modificato di conseguenza.
Inoltre, per stabilizzare le misure visualizzate, è stata utilizzata la funzione con, grazie all'autore dimax, funziona bene.

Ho eseguito il debug del codice sulla scheda Digispark nell'IDE arduino. Successivamente, ATtiny85 è stato dissaldato e saldato alla breadboard. Montiamo la breadboard, impostiamo la tensione all'uscita del convertitore con un resistore trimmer (all'inizio ho impostato l'uscita a 5V, mentre la corrente all'ingresso del convertitore era sotto i 170mA, ho ridotto la tensione a 4,5V, la corrente sceso a 100 mA). Quando l'ATtiny85 è saldato alla breadboard, devo inserire il codice usando un programmatore, ho un normale ISP USBash.


Codice del programma

// SETUP /* * Imposta #define NASTROYKA 1 * Compila, inserisci il codice, esegui, ricorda il valore sul display, ad esempio 5741 * Misura la tensione reale all'uscita del convertitore con un multimetro, ad esempio 4979 ( questo è in mV) * Consideriamo (4979/5741) * 1.1=0.953997 * Calcola 0.953997*1023*1000 = 975939 * Scrivi il risultato alla riga 100 come risultato = 975939L * Imposta #define NASTROYKA 0 * Compila, inserisci il codice , corri, fatto. */ #define NASTROYKA 0 #include #includere lungoVcc; galleggiante Vbat; // messa a punto dell'algoritmo di livellamento shumodav() #define ts 5 // *dimensione tabella* numero di righe dell'array per la memorizzazione dei dati, per una deviazione di ± 2 conteggi, in modo ottimale 4 righe e una di riserva. #define ns 25 // *numero campioni*, da 10..a 50 è il numero massimo di campioni da analizzare nella prima parte dell'algoritmo #define ain A2 // quale ingresso analogico leggere (A2 è P4) #define mw 50 // *max wait* da 15..a 200 ms attende che la seconda parte dell'algoritmo ripeta il conteggio unsigned int myArray, aread, firstsample, oldfirstsample, numbersamples, rezult; prevmillis lungo senza segno = 0; booleano waitbegin = falso; //flag del conto alla rovescia abilitato wait counter void setup() ( oled.begin(); oled.clear(); oled.on(); oled.setFont(FONT16X32_sega); ) void loop() ( for (byte i = 0 io< 5; i++) { Vcc += readVcc(); } Vcc /= 5; shumodav(); Vbat = ((rezult / 1023.0) * Vcc) / 1000; if (Vbat >= 0.95) ( oled.setCursor(16, 0);#if NASTROYKA oled.print(result); #else oled.print(Vbat, 2); oled.print("/"); #endif ) Vcc = 0; ) long readVcc() ( // legge la tensione di alimentazione effettiva // legge il riferimento di 1,1 V rispetto ad AVcc // imposta il riferimento su Vcc e la misura sul riferimento interno di 1,1 V #if definito(__AVR_ATmega32U4__) || definito(__AVR_ATmega1280__) | | definito(__AVR_ATmega2560__) ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #elif definito (__AVR_ATtiny24__) || definito(__AVR_ATtiny44__) || definito(__AVR_ATtiny84__) = _BV(MUX5) | _BV(MUX0); #elif definito (__AVR_ATtiny25__) || definito(__AVR_ATtiny45__) || definito(__AVR_ATtiny85__) ADMUX = _BV(MUX3) | _BV(MUX2); #else ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #endif delay(75); // Attendi che Vref stabilizzi ADCSRA |= _BV(ADSC); // Avvia la conversione while (bit_is_set(ADCSRA, ADSC)) ; // misura uint8_t low = ADCL; // deve prima leggere ADCL - poi blocca ADCH uint8_t high = ADCH; // sblocca entrambi long result = (high<< 8) | low; // result = 1125300L / result; // Calculate Vcc (in mV); 1125300 = 1.1*1023*1000 // индикатор показывал 4990, вольтметр 4576мВ (4576/4990)*1.1=1.008737 result = 1031938L / result; // Calculate Vcc (in mV); 1031938 = 1.008737*1023*1000 return result; // Vcc in millivolts } void shumodav() { // главная функция //заполнить таблицу нолями в начале цикла for (int s = 0; s < ts; s++) { for (int e = 0; e < 2; e++) { myArray[s][e] = 0; } } // основной цикл накопления данных for (numbersamples = 0; numbersamples < ns; numbersamples++) { #if NASTROYKA aread = readVcc(); #else aread = analogRead(ain); #endif // уходим работать с таблицей//// tablework(); } // заполнен массив, вычисляем максимально повторяющееся значение int max1 = 0; // временная переменная для хранения максимумов for (byte n = 0; n < ts ; n++) { if (myArray[n] >max1) ( // itera su 2 elementi di stringhe max1 = myArray[n]; // ricorda dove il firstsample più colpito = myArray[n]; // il suo 1 elemento = risultato intermedio. ) ) //***** seconda fase dell'algoritmo *********///// // se il vecchio campione non è uguale a quello nuovo, //e non c'era il flag di abilitazione del conteggio del tempo, allora if (oldfirstsample != firstsample && waitbegin == false) ( prevmillis = millis(); // reimposta il contatore del tempo all'inizio waitbegin = true; ) // attiva il flag wait // se prima della scadenza del tempo limite, il conto alla rovescia era uguale //a quello vecchio, quindi rimuovi il flag if (waitbegin == true && oldfirstsample == firstsample ) ( waitbegin = false; rezult = firstsample; ) // se il conto alla rovescia non è ancora uguale e l'attesa è scaduta if (waitbegin = = true && millis() - prevmillis >= mw) ( oldfirstsample = firstsample; waitbegin = false; rezult = firstsample; ) //quindi riconosciamo il nuovo esempio come risultato finale della funzione. ) // fine della funzione principale void tablework() ( // funzione per inserire dati nella tabella // se la tabella ha lo stesso conteggio, quindi incrementa // il suo contatore nel secondo elemento for (byte n = 0; n< ts; n++) { if (myArray[n] == aread) { myArray[n] ++; return; } } // перебираем ячейки что б записать значение aread в таблицу for (byte n = 0; n < ts; n++) { if (myArray[n] == 0) { //если есть пустая строка myArray[n] = aread; return; } } // если вдруг вся таблица заполнена раньше чем кончился цикл, numbersamples = ns; } // то счётчик циклов на максимум


Come accennato in precedenza, nei controller c'è fonte interna tensione di riferimento 1.1V. È stabile ma non accurato. Pertanto, la sua tensione reale è molto probabilmente diversa da 1,1 V. Per scoprire quanto è realmente, è necessario calibrare:

* Imposta #define NASTROYKA 1
* Compila, inserisci il codice, esegui, ricorda il valore sul display, ad esempio 5741
* Misuriamo la tensione reale all'uscita del convertitore con un multimetro, ad esempio 4979 (questo è in mV)
* Consideriamo (4979/5741)*1.1=0.953997 - questa è la tensione reale della sorgente di tensione di riferimento
* Calcola 0,953997*1023*1000 = 975939
* Scrivi il risultato alla riga 100 come result = 975939L;
* Imposta #define NASTROYKA 0
* Compila, inserisci il codice, esegui, pronto.

Nel programma DipTrace, alleviamo una scheda, delle dimensioni di un display OLED 37x12mm


Mezz'ora di attività LUT non amata.


Trova 10 differenze

La prima volta che ho rovinato e inciso il pannello dello specchio, l'ho notato solo quando ho iniziato a saldare gli elementi.



Saldiamo. L'induttanza SMD 4.7uH mi è stata gentilmente fornita, Grazie mille, Sergej.


Raccogliamo un panino dal tabellone e dallo schermo. Alle estremità dei fili, ho saldato piccoli magneti, il voltmetro stesso si aggancia alla batteria misurata. I magneti al neodimio, se riscaldati oltre gli 80 gradi, perdono proprietà magnetiche, quindi è necessario saldare molto rapidamente con la lega a basso punto di fusione di Wood o Rose. Ancora una volta, calibriamo e controlliamo l'accuratezza della misurazione:






La recensione è piaciuta +126 +189

Un voltmetro digitale è un dispositivo abbastanza popolare. Ha lo scopo esclusivo di determinare la tensione disponibile nel circuito elettrico. Il collegamento di un voltmetro digitale può essere effettuato in due modi. Nella prima variante, è installato in parallelo al circuito. Il secondo metodo prevede il collegamento del dispositivo direttamente a una fonte di alimentazione. Una caratteristica dei voltmetri digitali è la facilità d'uso. Inoltre, hanno un indicatore abbastanza grande resistenza interna. Questo è estremamente importante perché dato parametro influisce sulla precisione del dispositivo.

Che tipi ci sono?

Tutti i voltmetri possono essere suddivisi in base al tipo di valore misurato. I tipi principali sono dispositivi permanenti, nonché corrente alternata. Il primo tipo, a sua volta, è suddiviso in raddrizzatori e dispositivi quadratici. Inoltre, ci sono voltmetri a impulsi. La loro caratteristica distintiva è la misurazione dei segnali di impulsi radio. Allo stesso tempo, possono effettuare misure di tensione sia di corrente continua che alternata.

Schema di un voltmetro digitale

Si basa su un comune circuito voltmetro digitale quantità discrete. Un ruolo importante in esso è svolto dal dispositivo di input. In questo caso, il dispositivo di controllo interagisce con l'unità di lettura digitale tramite numeri decimali. Una caratteristica del dispositivo di input è un partitore ad alta tensione. Se il lavoro si riduce alla determinazione della corrente alternata, funziona come un convertitore convenzionale. In questo caso si ottiene una corrente costante in uscita.

In questo momento, l'unità centrale è occupata da un segnale analogico. In questo sistema, è rappresentato sotto forma di un codice digitale. Il processo di conversione è caratteristico non solo dei voltmetri, ma anche dei multimetri. Alcuni modelli di dispositivi utilizzano un codice binario. In questo caso, il processo per ottenere un segnale è notevolmente semplificato e la conversione è molto più rapida. I vecchi modelli di voltmetri funzionavano esclusivamente con numeri decimali. In questo caso, il valore di misurazione è stato registrato. Inoltre, il circuito del voltmetro digitale ha un'unità centrale responsabile di tutti i componenti importanti del dispositivo.

Convertitori voltmetrici digitali

Oggi ce ne sono molti vari tipi convertitori installati nei voltmetri. I più comuni sono i modelli a impulsi temporali. Inoltre, ci sono convertitori di codici a impulsi.

La loro caratteristica distintiva rispetto ad altri dispositivi è la capacità di impegnarsi nel bilanciamento bit a bit. In questo momento, i modelli a impulsi di frequenza sono privati ​​​​di tale privilegio. Tuttavia, possono essere utilizzati per la codifica spaziale e questo può essere estremamente importante in alcuni studi. Ciò è particolarmente vero per le misure di tensione nei circuiti chiusi dell'elettricità.

Voltmetri fatti in casa

Puoi creare un voltmetro (digitale) con le tue mani. Prima di tutto, viene selezionato un rilevatore, progettato per determinare il valore rettificato medio. In questo caso, viene installato, di norma, accanto al convertitore CA. La tensione minima è determinata dal rilevatore da 100 MV, tuttavia alcuni modelli sono in grado di riconoscere intensità di corrente fino a 1000 MV. Inoltre, per realizzare un voltmetro (digitale) con le tue mani, avrai bisogno di un transistor, che influisce sulla sensibilità del dispositivo, ovvero sulla sua soglia. È collegato al livello di ampiezza della tensione quantistica. Anche la sensibilità del dispositivo influisce sulla sensibilità. Se la tensione è inferiore a 100 MV, il livello di resistenza aumenterà sicuramente e alla fine potrebbe raggiungere i 10 ohm.

Resistenza del circuito

La resistenza che si forma nel sistema dipende dal numero di caratteri nel circuito. A questo caso dovrebbe essere chiaro che le scale dei voltmetri possono variare notevolmente. Il rapporto del valore misurato è direttamente proporzionale alla tensione. Inoltre, è necessario tenere conto dell'immunità al rumore, che influisce anche sulla resistenza del dispositivo. Va notato qui che è il voltmetro digitale incorporato che ha ampie ampiezze.

In questo caso, fornisce grande influenza per interferenze nel circuito. Più causa comune un'impennata improvvisa è considerata un funzionamento errato dell'alimentatore. In questo caso, la frequenza media del dispositivo potrebbe essere violata. Pertanto, c'erano, ad esempio, 50 Hz all'ingresso del circuito e 10 Hz all'uscita. Di conseguenza, si forma una resistenza nel filo di collegamento. A poco a poco, questo porta a perdite e ciò accade nel luogo in cui si trovano i terminali. In questo caso, il problema può essere risolto mettendo a terra quest'area. Di conseguenza, l'interferenza passa al circuito di ingresso e la frequenza nel dispositivo si stabilizza.

Errori di misura

L'errore di misurazione del voltmetro è direttamente correlato a In questo caso, è necessario tenere conto della tensione di spunto all'uscita. L'interferenza più comune vista generale modificare i parametri di resistenza. Di conseguenza, questa cifra potrebbe diminuire in modo significativo. Ad oggi, ci sono tre modi comprovati per gestire vari tipi di interferenze nei voltmetri. Il primo trucco è usare fili schermati. In questo caso, è molto importante isolare l'ingresso del circuito elettrico dall'apparecchiatura.

Il secondo modo è avere un elemento di integrazione. Di conseguenza, il periodo di interferenza può essere notevolmente ridotto. Infine, l'ultima tecnica è considerata l'installazione di filtri speciali sui voltmetri. Il loro compito principale è aumentare la resistenza nel circuito elettrico. Di conseguenza, l'ampiezza del rumore all'uscita dopo il blocco viene notevolmente ridotta. Va inoltre notato che molti sistemi di trasduttori sono in grado di aumentare significativamente la velocità di misurazione. Tuttavia, con l'aumentare delle prestazioni, la precisione della registrazione dei dati diminuisce. Di conseguenza, tali convertitori possono causare un forte rumore nel circuito elettrico.

Codice voltmetri a impulsi

Il voltmetro CA digitale a impulsi di codice funziona secondo il principio del bilanciamento bit a bit. In questo caso, il metodo di misurazione della tensione di compensazione è applicabile a questi dispositivi. Il processo di calcolo, a sua volta, viene eseguito utilizzando un divisore di precisione. Inoltre, viene calcolata la tensione di riferimento nel circuito elettrico.

In generale, la corrente compensata ha diversi livelli. Secondo teoria dei quanti, i calcoli vengono eseguiti nel sistema decimale binario. Se si utilizza un voltmetro digitale a due cifre per un'auto, la tensione viene riconosciuta fino a 100 V. L'intero processo viene eseguito tramite comandi. attenzione speciale nel lavoro merita un confronto di sollecitazioni. Si basa sul principio degli impulsi di controllo e si verificano nel sistema a determinati intervalli di tempo. In questo caso è possibile commutare la resistenza di un divisore.

Di conseguenza, la frequenza limite cambia all'uscita. Allo stesso tempo, è possibile collegare un dispositivo separato per confrontare gli indicatori. La cosa principale è non dimenticare di prendere in considerazione la dimensione del divisore nel collegamento. In questo caso, il dispositivo potrebbe non ricevere un segnale. Di conseguenza, i dati possono essere confrontati con le posizioni delle chiavi. In realtà sono un codice che viene letto da un voltmetro.

Schema semplificato di un voltmetro-amperometro a impulsi di codice

Un voltmetro-amperometro digitale CC può essere rappresentato schematicamente come elementi interagenti di un circuito elettrico. Il più importante è il dispositivo di ingresso, che funge da riferimento di tensione. Pertanto, il divisore di precisione è collegato al comparatore.

A loro volta, i meccanismi di lettura digitale mostrano la resistenza del circuito elettrico. Inoltre, i dispositivi di controllo sono in grado di interagire direttamente con il dispositivo di ingresso e confrontare gli indicatori della tensione di rete. Il processo di misurazione più semplice può essere rappresentato sotto forma di pesi. In questo caso, il sistema si blocca spesso. Sono correlati, per la maggior parte, a causa di un confronto errato.

Precisione delle misurazioni

L'accuratezza della misurazione di un voltmetro-amperometro è direttamente correlata alla stabilità della tensione di riferimento. Inoltre, deve essere presa in considerazione la soglia del divisore di precisione nel dispositivo di input. Viene presa in considerazione anche la protezione contro le interferenze nella catena. Per fare ciò, all'inizio del circuito elettrico c'è un filtro. Di conseguenza, la qualità del lavoro di laboratorio può essere notevolmente migliorato.

Voltmetri con tipi di convertitori a impulsi di tempo

Questi tipi di voltmetri utilizzano convertitori speciali che misurano la tensione solo a determinati intervalli di tempo. In questo caso, vengono prese in considerazione le oscillazioni degli impulsi nel circuito elettrico. Inoltre, viene calcolata la frequenza media della tensione nel sistema. Per stabilizzarlo, di norma, viene utilizzato un segnale discreto, che viene inviato dall'uscita del convertitore.

In questo caso, gli impulsi di conteggio possono essere notevolmente ridotti. Molti fattori influenzano l'errore di misurazione dei voltmetri. Prima di tutto, riguarda il campionamento del segnale. Inoltre, il problema potrebbe essere l'instabilità della frequenza. È collegato alla soglia di sensibilità del circuito elettrico. Di conseguenza, il confronto della tensione da parte del dispositivo non è lineare.

Un semplice circuito di un voltmetro-amperometro con un convertitore

Un voltmetro-amperometro digitale con convertitore di frequenza include, a colpo sicuro, un generatore che monitora le variazioni di tensione nel circuito elettrico. In questo caso, la misurazione viene eseguita in più fasi a intervalli. Il generatore nel circuito elettrico viene utilizzato di tipo lineare. Per confrontare i dati ricevuti, il dispositivo ha un trigger. A sua volta, per calcolare la frequenza, è importante utilizzare un contatore che riceva un segnale discreto. Ciò accade all'uscita del convertitore voltmetro-amperometro. In questo caso, viene presa in considerazione l'entità della sollecitazione limite.

L'informazione viene inviata direttamente all'ingresso del voltmetro-amperometro. In questa fase viene eseguito il processo di confronto e, quando si verifica un impulso, il sistema fissa il livello zero. Il segnale nel voltmetro-amperometro colpisce direttamente il grilletto e, di conseguenza, si ottiene una tensione positiva in uscita. L'impulso ritorna nella sua posizione originale solo dopo il dispositivo di confronto. In questo caso, vengono presi in considerazione eventuali cambiamenti nella frequenza limite che si sono formati in un dato intervallo di tempo. Viene preso in considerazione anche il fattore di conversione. Viene calcolato in base all'indicatore di potenza del segnale.

Inoltre, la formula contiene un impulso di conteggio che appare all'uscita del generatore. Di conseguenza, la tensione può essere visualizzata solo quando ci sono determinate fluttuazioni che si verificano nel circuito elettrico. Alla fine, il segnale deve raggiungere l'uscita del trigger ed essere considerato lì. In questo caso, il numero di impulsi viene registrato in un voltmetro-amperometro. Di conseguenza, viene attivato un indicatore che indica la presenza di tensione.

Voltmetri a doppia integrazione

Il voltmetro DC digitale a doppia integrazione funziona secondo il principio della ripetizione periodica. In questo caso, la restituzione del codice sorgente nella catena viene eseguita automaticamente. Questo sistema funziona esclusivamente con corrente continua. In questo caso, la frequenza viene pre-rettificata e alimentata al dispositivo di uscita.

Gli errori di discretizzazione nei voltmetri non vengono presi in considerazione. Pertanto, potrebbero esserci momenti di mancata corrispondenza degli impulsi di conteggio. Di conseguenza, all'inizio e alla fine dell'intervallo, un parametro può essere molto diverso. Tuttavia, di norma, l'errore non è critico a causa del funzionamento del convertitore.

L'interferenza del rumore è un problema particolare. Di conseguenza, può distorcere in modo significativo l'indicatore di tensione. In definitiva, ciò trova il suo riflesso nella grandezza dell'impulso, cioè nella sua durata. Pertanto, tra i voltmetri digitali, questi tipi non sono molto popolari.

Gli alimentatori per autoveicoli e da laboratorio possono avere correnti che raggiungono fino a 20 ampere o più. È chiaro che un paio di ampere possono essere facilmente misurati con un normale multimetro economico, ma che dire di 10, 15, 20 o più ampere? Dopotutto, anche a carichi non molto elevati, i resistori di shunt integrati negli amperometri per lunghi tempi di misurazione, a volte anche ore, possono surriscaldarsi e, nel peggiore dei casi, fondersi.

Gli strumenti professionali per misurare correnti elevate sono piuttosto costosi, quindi ha senso assemblare da soli il circuito dell'amperometro, soprattutto perché qui non c'è nulla di complicato.

Circuito elettrico di un potente amperometro

Il circuito, come puoi vedere, è molto semplice. Il suo funzionamento è già stato testato da molti produttori e la maggior parte degli amperometri industriali funziona allo stesso modo. Ad esempio, anche questo circuito utilizza questo principio.


Disegno della scheda dell'amperometro di potenza

La particolarità sta nel fatto che in questo caso viene utilizzato uno shunt (R1) con un valore di resistenza molto basso - 0,01 Ohm 1% 20W - questo permette di dissipare pochissimo calore.

Funzionamento del circuito amperometrico

Il funzionamento del circuito è abbastanza semplice, quando una certa corrente passa attraverso R1, ci sarà una caduta di tensione ai suoi capi, può essere misurata, per questo la tensione viene amplificata dall'amplificatore operazionale OP1 e va oltre all'uscita attraverso pin 6 ad un voltmetro esterno acceso al limite di 2V.


Le regolazioni consisteranno nell'azzerare l'uscita dell'amperometro in assenza di corrente, e tararlo confrontandolo con un altro strumento di misura della corrente di riferimento. L'amperometro è alimentato da una tensione simmetrica stabile. Ad esempio, da 2 batterie da 9 volt. Per misurare la corrente, collegare il sensore alla linea e un multimetro nell'intervallo 2V - vedere le letture. 2 volt corrisponderanno a una corrente di 20 ampere.

Utilizzando un multimetro e un carico, come una piccola lampadina o una resistenza, misureremo la corrente del carico. Collega un amperometro e ottieni le letture correnti con un multimetro. Ti consigliamo di eseguire diversi test con carichi diversi per confrontare le letture con un amperometro di riferimento e assicurarti che tutto funzioni correttamente. È possibile scaricare il file dell'armatura stampato.

È impossibile inventare tutto da soli, mentre la conoscenza della programmazione del microprocessore non è sufficiente (sto solo imparando), ma non voglio restare indietro. Navigare in Internet ne ha dati diversi diverse opzioni sia in termini di complessità della circuiteria e delle funzioni svolte, sia dei processori stessi. Un'analisi della situazione sui mercati radiofonici locali e un approccio sobrio (compra quello che puoi permetterti; fai quello che puoi veramente, e il processo di produzione e il tempo di configurazione non si trascineranno per un tempo illimitato) hanno fatto la mia scelta sul circuito del voltmetro descritto su www.CoolCircuit.com.

Quindi il sotto schema elettrico già fissato. Il firmware è rimasto nativo (main.HEX - allego).

Chi “tiene spesso in mano i processori” forse non leggerà oltre, ma per il resto, soprattutto chi lo è per la prima volta, vi dirò come fare tutto, anche se non in modo ottimale (che i professionisti mi perdonino lo stile di presentazione), ma alla fine correttamente.
Quindi, per riferimento: la famiglia PIC di processori a 14 pin ha pinout diversi, quindi è necessario verificare se il programmatore con socket è adatto a questo chip. Presta attenzione alla presa a 8 pin, di regola, è esattamente ciò che si adatta e le conclusioni all'estrema destra si bloccano. Ho usato il solito programmatore PonyProg.

Durante la programmazione del PIC, è importante non sovrascrivere la costante di calibrazione dell'oscillatore interno del chip, poiché qui non viene utilizzato il quarzo esterno. Viene registrato nell'ultima cella (indirizzo) della memoria del processore. Se si utilizza IcProg selezionando il tipo di MC, quindi nella finestra - "Indirizzo del codice del programma" nell'ultima riga contrassegnata con l'indirizzo - 03F8, i quattro caratteri a destra sono la costante individuale specificata. (Se il chip è nuovo e non è mai stato programmato, dopo un mucchio di caratteri 3FFF - l'ultimo sarà qualcosa come 3454 - questa è proprio la cosa).

Affinché il calcolo delle letture del voltmetro sia vero, per fare tutto correttamente e comprendere il processo di ciò che sta accadendo, propongo, sebbene non ottimale, ma spero un algoritmo comprensibile:

Prima di programmare l'MK, devi prima dare il comando "Leggi tutto" in IcProg e guardare la cella di memoria sopra - la costante individuale di questo chip sarà elencata lì. Deve essere riscritto su un pezzo di carta (non tenerlo nella tua memoria! - lo dimenticherai).
- caricare il file del programma firmware MK - con estensione *.hex (in questo caso - "main.hex") e controllare quale costante è scritta nella stessa cella in questo prodotto software. Se è diverso, posiziona il cursore e inserisci lì i dati precedentemente registrati su un pezzo di carta.
- premi il comando per programmare - dopo una domanda del tipo: "se utilizzare i dati dell'oscillatore da un file" - sei d'accordo. Perché hai già verificato che c'è quello che ti serve.

Ancora una volta, mi scuso con coloro che programmano molto e non lo fanno, ma sto cercando di trasmettere ai principianti informazioni su un elemento software abbastanza importante di questo microprocessore e non perderlo a causa di varie situazioni che a volte sono completamente incomprensibile, o addirittura inspiegabile in seguito. Soprattutto se, con mani tremanti per l'eccitazione, ha infilato il chip nel programmatore appena costruito e collegato al computer per la prima volta e, preoccupato, si preme il pulsante del programma, e anche questo miracolo della tecnologia inizia a chiedere incomprensibili domande: è qui che iniziano tutti i problemi.

Quindi, se tutti i passaggi sono completati correttamente, il chip MK è pronto per l'uso. Poi c'è la questione della tecnologia.
Voglio aggiungere da solo che i transistor non sono fondamentali qui, nessuno strutture p-n-p, incl. Sovietico, in una custodia di plastica. Ho usato saldato da importato elettrodomestici previa verifica della conformità della struttura di conduzione. In questo caso, è inerente un'altra sfumatura: la posizione dell'uscita della base del transistor può essere al centro del case o sul bordo. Per il funzionamento del circuito, questo è indifferente, è necessario solo trarre conclusioni di conseguenza durante la saldatura. Resistori fissi per il partitore di tensione: esattamente il valore specificato. Se non riesci a trovare un resistore di regolazione da 50 kOhm importato, è consigliabile prenderne un po 'più di fabbricazione sovietica - 68 kOhm, e non consiglio di prendere 47 kOhm, perché in caso di coincidenza simultanea di valori nominali ridotti, il rapporto calcolato delle resistenze del partitore di tensione andrà perso, il che può essere difficile da riparare con un supporto per rack.

Come ho già scritto, il mio alimentatore ha due bracci, quindi ho realizzato due voltmetri su una scheda contemporaneamente e ho portato gli indicatori su una scheda separata per risparmiare spazio sul pannello frontale. Diffondere sotto i soliti elementi. I file con il layout della scheda, la fonte e l'esadecimale sono allegati nell'archivio. Hai SMD, quindi non è difficile rifarlo, se necessario, contatta.

Per coloro che vogliono ripetere questo voltmetro e hanno, come il mio, un alimentatore bipolare con un punto medio comune, ricordo la necessità di alimentare entrambi i voltmetri da due fonti separate (separate galvanicamente). Diciamo - singoli avvolgimenti del trasformatore di potenza o, come opzione - convertitore di impulsi, ma sempre con due avvolgimenti da 7 volt (non stabilizzati). Per chi farà un "impulso": il consumo di corrente del voltmetro va da 70 a 100 mA, a seconda delle dimensioni e del colore dell'indicatore. In caso contrario, non è possibile applicare alcuna tensione negativa alla porta MK.
Se qualcuno ha bisogno di un circuito convertitore, chiedi sul forum, attualmente sto lavorando su questo problema.

Archivio con i dati e i sigilli necessari in SLayout-5rus: