» discussioni » Consigli »Corrente pinza amperometrica in un'ampia gamma, tensione e temperatura

Ampio misuratore di corrente, tensione e temperatura

scopo:
Per misurare e fissare nel tempo la memoria flash di processi lunghi espressi in corrente e tensione, come carica - scarica di batterie e batterie. È possibile fissare contemporaneamente la temperatura.

Parametri del segnale di ingresso:
corrente I = 25mka - 2a
tensione U = 0 - 5 V.
temperatura t = -30 - + 120gС
l'ora è impostata dall'orologio al quarzo interno incorporato

Alimentazione:
dalla fonte 12v / 0.3a
Consumo <70ma

costruzione:
Il misuratore è assemblato su due moduli Arduino Nano collegato tramite protocollo ModBus, vedi diagramma. Un Arduino è montato su un riser con morsettiere. I moduli sono collegati tramite connettori. I fili e i moduli stessi sono isolati da guasti termocambrici.

I segnali di ingresso vengono inviati attraverso terminali a vite

Sul pannello frontale è presente un indicatore a cristalli liquidi dei parametri misurati e dei LED che indicano la commutazione di un intervallo o fuori intervallo.

Il misuratore è assemblato in un alloggiamento 145x85x40.
Il sensore di temperatura viene eseguito attraverso il connettore. La trasmissione del segnale è organizzata su una linea a due fili. Inserire la resistenza nel connettore.

Per facilitare la programmazione, i connettori USB Arduino sono esterni.






schema

Lo schema può essere scaricato dal file Izmeritel.rar

Sono stati scelti due Arduino per due motivi: Arduino Nano era disponibile e non abbastanza su una memoria, e si prevede di aggiungere ulteriori sensori. Inoltre, volevo dominare l'associazione Arduino, per questo è stato selezionato il protocollo di rete ModBus. ModBus definisce un processore master - Master e diversi slave - Slave. In questo lavoro, c'è uno Slave, su di esso c'è una misurazione di temperatura, tensione e corrente. Su Master: un orologio e un record in un file. La memoria Flesh deve essere inferiore a 4 GB e formattata in FAT.

Poiché è stato pianificato di misurare correnti da μA ad A, le correnti vengono misurate in 4 intervalli (vedere la tabella Range), Arduino Slave monitora la transizione da un intervallo all'altro, formando il corrispondente codice shunt per la corrente misurata corrente da M1-2. Quando ci si avvicina al bordo dell'intervallo, l'intervallo successivo viene attivato, ovvero il tasto corrente da T1-1 --- T2-2 viene disattivato e viene attivato quello successivo. In questo caso, lo shunt massimo = 100ohm è costantemente attivo. Se c'è un eccesso del valore nell'intervallo, i LED D8, D9 si illuminano.

Dividere la misurazione della corrente in intervalli
Uout_max = 5v KusOU = 20 Δ = Ish / 1024

Il guadagno dell'amplificatore operazionale M1-2 è impostato = 20 e quindi non cambia. (Sul pannello frontale è montato erroneamente).
La tensione viene misurata tramite un follower sull'unità organizzativa M1-1.I circuiti di ingresso dell'op-amp e di Arduino sono protetti da diodi (i diodi zener sono in Arduino, ma non conosco i parametri, quindi è meglio esagerare).

LCD1602 è selezionato come indicatore. È collegato al Master Arduino. Inoltre, l'indicatore può essere collegato ad entrambi Arduino semplicemente cambiando i connettori Arduino. (Quando l'alimentazione è spenta.) La connessione allo Arduino Slave è mostrata con una linea tratteggiata (che è stata usata durante la scrittura dei programmi). Con la connessione principale (al Master) sull'LCD1602, è possibile visualizzare 4 schermate commutando il cursore dell'interruttore a scorrimento p1-p2.

Screen1: dall'alto le informazioni di servizio dello scambio tra Arduino: C è il numero di scambi tra Arduino, E è il numero di errori durante lo scambio di Sh-No. dello shunt;
giorno inferiore - tempo del mese.


Screen2: U1, I1, Shunt No., (0.00 in basso a destra)


Screen3: U2, temperatura, (u-standby)


Screen4: registrazione SD abilitata, tempo di registrazione in ore, numero di riga nel file,
00- stato dell'intervallo di corrente1 0-normale 1 fuori intervallo, stato dell'intervallo di tensione1, potenza fissa di una fonte esterna


Quando collegato a Slave - 2 schermi. Switch p3 consente la registrazione nella memoria Micro Flesh.
L'alimentatore è selezionato 12v per ottenere caratteristiche lineari dell'amplificatore operazionale (per evitare blocchi ai bordi della gamma). Per lo stesso motivo, è stata utilizzata la tensione negativa dallo shaper a KR1006VI1. L'uso di un generatore Arduino produce una tensione meno stabile. Per generare energia a 5 v, è stato utilizzato un convertitore step-down, ma puoi farne a meno fornendo + 12V agli ingressi VIN Arduino Nano.
Programmazione congiunta Arduino ha funzionalità, poiché la comunicazione con il computer è impegnata con il protocollo ModBus. Per caricare uno schizzo in uno di Arduino, dall'altro è necessario abilitare il segnale di ripristino RST. Per fare ciò, usa i jumper Block S, Block M. Oppure premi e tieni premuti i pulsanti di reset sui moduli Arduino fino al termine del download, il che è meno conveniente e c'è la possibilità di danneggiare il download. Dal momento che ho intenzione di espandere il mio dispositivo USB Arduino, ho estratto la custodia.

Il transistor T5 (FR024N) dovrebbe essere usato per accendere / spegnere un processo, ad esempio una scarica-scarica di una batteria. Mentre non è coinvolto.

Software.
È masticato al massimo che i principianti (e io stesso) non facciano male e possano servire da materiale di riferimento, ma non pretendono di essere ottimalità.

Librerie e codici di programma si trovano nel file Izmeritel PRO.rar.
Schizzo per il master ModBus_Master10_SD_T_10_2. Bozzetto per slave ModBus-Slave10_T_UI_10_2. Il resto della biblioteca.
Programmato nell'ambiente di Arduino1.6.0. Contiene librerie SD, LiquidCrystal, Wire non è necessario scaricare.

Il tempo in ore è impostato nel Setup come segue. Imposta il tempo reale e carica lo schizzo. Quindi commentare le righe per impostare la data e l'ora e ricaricare lo schizzo.

Il risultato del programma sarà l'indicazione di ora e data (ore), corrente, tensione, temperatura sull'LCD1602 e la registrazione di questi parametri nel file IZMER1.TXT nella memoria di Micro Flesh. Il file conterrà una tabella di questo tipo:

0; 2019/04/13; 00:11:10; Zap (h) = 0,05; tc = 29.31; U1 = 1,71; I1 = 0,00; P1 = 0,00; U2 = 0,14; DiaI norma; DiaU norma; C = 762
1; 2019/04/13; 00:11:16; Zap (h) = 0,05; tc = 29.38; U1 = 1,79; I1 = 0,00; P1 = 0,00; U2 = 0,19; DiaI norma; DiaU norma; C = 788
2; 2019/04/13; 00:11:22; Zap (h) = 0,05; tc = 29.38; U1 = 1,54; I1 = 0,00; P1 = 0,00; U2 = 0,16; DiaI norma; DiaU norma; C = 813
3; 2019/04/13; 00:11:28; Zap (h) = 0,05; tc = 29.31; U1 = 1,30; I1 = 0,00; P1 = 0,00; U2 = 0,17; DiaI norma; DiaU norma; C = 839
4; 2019/04/13; 00:11:34; Zap (h) = 0,05; tc = 29.31; U1 = 1,90; I1 = 0,00; P1 = 0,00; U2 = 0,17; DiaI norma; DiaU norma; C = 864
5; 2019/04/13; 00:11:40; Zap (h) = 0,05; tc = 29,25; U1 = 1,53; I1 = 0,00; P1 = 0,00; U2 = 0,16; DiaI norma; DiaU norma; C = 890
6; 2019/04/13; 00:11:46; Zap (h) = 0,05; tc = 29.19; U1 = 2,03; I1 = 0,00; P1 = 0,00; U2 = 0,18; DiaI norma; DiaU norma; C = 915
7; 2019/04/13; 00:11:52; Zap (h) = 0,05; tc = 29.13; U1 = 1,81; I1 = 0,00; P1 = 0,00; U2 = 0,18; DiaI norma; DiaU norma; C = 941
8; 2019/04/13; 00:11:58; Zap (h) = 0,05; tc = 29.00; U1 = 1,30; I1 = 0,00; P1 = 0,00; U2 = 0,16; DiaI norma; DiaU norma; C = 966
9; 2019/04/13; 00:12:04; Zap (h) = 0,07; tc = 28,94; U1 = 1,25; I1 = 0,00; P1 = 0,00; U2 = 0,17; DiaI norma; DiaU norma; C = 992
10; 2019/04/13; 00:12:10; Zap (h) = 0,07; tc = 29.00; U1 = 1,85; I1 = 0,00; P1 = 0,00; U2 = 0,16; DiaI norma; DiaU norma; C = 1017
11; 2019/04/13; 00:12:16; Zap (h) = 0,07; tc = 29.00; U1 = 1,21; I1 = 0,00; P1 = 0,00; U2 = 0,18; DiaI norma; DiaU norma; C = 1043
12; 2019/04/13; 00:12:23; Zap (h) = 0,07; tc = 28,94; U1 = 1,55; I1 = 0,00; P1 = 0,00; U2 = 0,18; DiaI norma; DiaU norma; C = 1068
13; 2019/04/13; 00:12:29; Zap (h) = 0,07; tc = 28,88; U1 = 1,82; I1 = 0,00; P1 = 0,00; U2 = 0,16; DiaI norma; DiaU norma; C = 1094
14; 2019/04/13; 00:12:35; Zap (h) = 0,07; tc = 28,88; U1 = 1,30; I1 = 0,00; P1 = 0,00; U2 = 0,18; DiaI norma; DiaU norma; C = 1119

dove si trovano le colonne n / a; data; tempo; tempo di registrazione in ore; temperatura; tensione misurata U1; corrente misurata I1; la seconda tensione misurata U2; informazioni sull'uscita / assenza del campo di misura; informazioni di servizio sul numero di scambi tra Arduino.

L'intervallo di registrazione della misurazione è stato selezionato per 6 secondi, è facile modificarlo sostituendo il valore della costante #define CYCLE_TIME_F 3000 con un'altra con la formula Tsec = Costante (ms) * 2/1000 in Master.
Inoltre questa tabella può essere presentata sotto forma di bei grafici.



Durante la scrittura di programmi ho usato materiali. Esprimo la mia gratitudine all'autore.

Adatto per argomento

Argomenti correlati

Aggiungi un commento

    • sorrideresorrisiXaxabeneDONTKNOWyahoonea
      capozeroimbrogliaresìSì-sìaggressivosegreto
      scusaballaredance2dance3perdonoaiutobevande
      arrestoamicibuonogoodgoodfischiodeliquiolinguetta
      fumobattimanicraydeclarederisoriodon-t_mentionscaricare
      caloreadiratolaugh1mdaincontromoskingnegativo
      not_ipopcornpunireleggerespaventarespaventacerca
      schernirethank_youquestoto_clueumnikacutoconcordare
      cattivobeeeblack_eyeblum3arrossirevanterianoia
      censuratospiritosagginesecret2minacciarevittoriayusun_bespectacled
      ShokRespektlolPrevedbenvenutoKrutoyya_za
      ya_dobryiaiutantene_huliganne_othodiFludbandovicino
2 commenti
Strano inserimento di NE555 nel driver negativo. ((
Affinché il meandro vada sul campo, è necessario collegarli all'output IP.
fit Arduino per le tue esigenze, ovviamente, un business utile, ma recentemente acquisito, il prezzo di emissione è inferiore a 1t.r .:
Specifiche UM24C
• display: 1,44 ", 128х128, colore, angoli di visione vicini a 180º
• porte di ingresso: USB Tipo A maschio, Micro USB Tipo B femmina
• porta di uscita: USB Tipo A femmina
• tensione: 4,50-24,00 V.
• intensità attuale: 0-3.000 A.
• risoluzione di visualizzazione della tensione: 0,01 V.
• risoluzione visualizzazione intensità corrente: 0,001A
• precisione di misurazione della tensione: ± (0,2% + 1 cifra)
• precisione di misurazione corrente: ± (0,8% + 3 cifre)
• Supporto Qualcomm Quick Charge: QC 2.0 e QC 3.0
• 10 celle di memoria per immagazzinare capacità misurata ed energia
• Funzione di misurazione della resistenza del cavo micro USB
• selezione manuale della soglia di avvio della misurazione: 0,00-0,30 A.
• visualizzazione della temperatura, resistenza del carico collegato, potenza
• visualizzazione dei grafici di tensione e corrente
• visualizzazione della tensione sulle linee dati della porta USB, modalità operativa corrente
• schermo di spegnimento automatico: 1-9 minuti, spento
• luminosità dello schermo: 0-5 (6 livelli)
• visualizzazione della temperatura: in gradi Celsius o Fahrenheit
• aiuto in linea
• rotazione dello schermo di 90º / 180º / 270º
• connessione wireless Bluetooth bidirezionale a un PC (SPP - Profilo porta seriale)
sorridere

Ti consigliamo di leggere:

Passalo per lo smartphone ...