» fire » Sfaturi »Curent de prindere a contorului într-o gamă largă, tensiune și temperatură

Contor de largă tensiune, tensiune și temperatură

scop:
Pentru măsurarea și fixarea în timp a memoriei flash a proceselor lungi exprimate în curent și tensiune, cum ar fi încărcarea - descărcarea bateriilor și a bateriilor. Este posibilă fixarea simultană a temperaturii.

Parametri de semnal de intrare:
curent I = 25mka - 2a
tensiune U = 0 - 5V
temperatura t = -30 - + 120gС
timpul este setat de ceasul intern de cuarț încorporat

Sursa de alimentare:
din sursa 12v / 0.3a
Consum <70ma

constructie:
Contorul este montat pe două module Arduino Nano conectat prin protocolul ModBus, vezi diagrama. Un Arduino este montat pe un colțar cu blocuri terminale. Modulele sunt conectate prin conectori. Cablurile și modulele în sine sunt izolate de defecțiuni termic-cambrice.

Semnalele de intrare sunt alimentate prin intermediul bornelor cu șurub

Pe panoul frontal există un indicator de cristal lichid al parametrilor măsurați și LED-urilor care indică comutarea unui interval sau a unui interval.

Contorul este asamblat într-o carcasă 145x85x40.
Senzorul de temperatură este realizat prin conector. Transmiterea semnalului este organizată pe o linie cu două fire. Rezistența de alimentare în conector.

Pentru o ușurință de programare, conectorii USB Arduino sunt externi.






schemă

Schema poate fi descărcată din fișier Izmeritel.rar

Două Arduino au fost alese din două motive: Arduino Nano era disponibil și nu suficient pe o singură memorie și este planificat să adăugați senzori în continuare. În plus, am vrut să stăpânesc asociația Arduino, pentru aceasta a fost selectat protocolul de rețea ModBus. ModBus definește un procesor master - Master și mai mulți slave - Slave. În această lucrare, există o Slavă, pe ea este o măsurare a temperaturii, a tensiunii și a curentului. On Master - un ceas și o înregistrare într-un fișier. Memoria Carne trebuie să fie mai mică de 4 GB și formatată în FAT.

Întrucât a fost planificată măsurarea curenților de la μA la A, curenții sunt măsurați în 4 intervale (a se vedea tabelul Range), Arduino Slave monitorizează trecerea de la un interval la altul, formând codul de evitare corespunzător pentru curentul măsurat curent de la M1-2. Când se apropie de marginea intervalului, intervalul următor este activat, adică cheia curentă de la T1-1 --- T2-2 este oprită și următoarea este pornită. În acest caz, șuntul maxim = 100ohm este permanent activ. Dacă există un exces de valoare în interval, ledurile D8, D9 sunt iluminate.

Împărțirea măsurării curentului în intervale
Uout_max = 5v KusOU = 20 Δ = Ish / 1024

Câștigul amplificatorului operațional M1-2 este setat = 20 și apoi nu se modifică. (Pe panoul frontal este montat eronat).
Tensiunea este măsurată printr-un următor de pe OU M1-1.Circuitele de intrare ale amplificatorului și Arduino sunt protejate de diode (diodele zener sunt în Arduino, dar nu știu parametrii, de aceea este mai bine să exagerați).

LCD1602 este selectat ca indicator. Este conectat la Maestrul Arduino. Mai mult, indicatorul poate fi conectat la ambele Arduino pur și simplu prin comutarea conectorilor Arduino. (Când alimentarea este oprită) Conexiunea la Slave Arduino este afișată cu o linie punctată (care a fost folosită la scrierea programelor). Cu conexiunea principală (la Master) de pe LCD1602, 4 ecrane pot fi afișate prin comutarea glisorului pentru comutatorul glisant p1-p2.

Ecranul 1: de sus informațiile despre schimbul de schimb între Arduino: C este numărul de schimburi între Arduino, E este numărul de erori în timpul schimbului Sh-No. al șuntului;
ziua de jos - ora lunii.


Ecranul 2: U1, I1, Nr. De evitare, (în partea de jos a dreptului de rezervă)


Ecranul 3: temperatura U2, temperatură, (standby)


Ecranul 4: înregistrare SD activată, timp de înregistrare în ore, număr de linie în fișier,
00- starea curentului 1 0-1 normal de ieșire din raza de acțiune, stare a tensiunii 1, putere fixă ​​a unei surse externe


Când este conectat la Slave - 2 ecrane. Comutatorul p3 permite înregistrarea în memoria Micro Flesh.
Alimentarea este selectată 12v pentru a obține caracteristici liniare ale amplificatorului op (pentru a evita blocajele la marginile intervalului). Din același motiv, a fost utilizată tensiunea negativă de la modelul de modelare la KR1006VI1. Utilizarea unui generator Arduino produce o tensiune mai puțin stabilă. Pentru a genera o putere de 5v, a fost folosit un convertor descărcător, dar puteți face fără să furnizați + 12V la intrările VIN Arduino Nano.
Programare comună Arduino are caracteristici, deoarece comunicarea cu computerul este ocupată cu protocolul ModBus. Pentru a încărca o schiță într-unul dintre Arduino, pe cealaltă trebuie să activați semnalul de resetare RST. Pentru a face acest lucru, utilizați jumperii Block S, Block M. Sau apăsați și țineți apăsat butoanele de resetare ale modulelor Arduino până la finalizarea descărcării, ceea ce este mai puțin convenabil și există șansa de a deteriora descărcarea. De când intenționez să extind dispozitivul USB Arduino, am scos carcasa.

Se presupune că tranzistorul T5 (FR024N) este folosit pentru a porni / opri un proces, de exemplu, o descărcare a încărcării unei baterii. În timp ce nu este implicat.

Software-ul.
Se mestecă maxim că începătorii (și eu însumi) nu vor strica și pot servi drept material de referință, dar nu pretind că este optimitate.

Bibliotecile și codurile de programe sunt localizate în fișierul Izmeritel PRO.rar.
Schiță pentru ModBus_Master10_SD_T_10_2 master. Schiță pentru sclav ModBus-Slave10_T_UI_10_2. Restul bibliotecii.
Programat în mediul Arduino1.6.0. Conține biblioteci SD, LiquidCrystal, Wire nu trebuie descărcate.

Ora în ore este setată în Setup după cum urmează. Setați timpul real și încărcați schița. Apoi comentați liniile pentru setarea datei și ora și reîncărcați schița.

Rezultatul programului va fi indicarea orei și datei (ore), curentului, tensiunii, temperaturii pe ecranul LCD1602 și înregistrarea acestor parametri în fișierul IZMER1.TXT în memoria Micro Flesh. Fișierul va conține un tabel de acest fel:

0; 04/13/2019; 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; 04/13/2019; 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; 04/13/2019; 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; 04/13/2019; 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; 04/13/2019; 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; 04/13/2019; 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; 04/13/2019; 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; 04/13/2019; 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; 04/13/2019; 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; 04/13/2019; 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; 04/13/2019; 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; 04/13/2019; 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; 04/13/2019; 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; 04/13/2019; 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; 04/13/2019; 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

unde coloanele sunt situate n / a; data; timp; timpul de înregistrare în ore; temperatură; tensiunea măsurată U1; curent măsurat I1; a doua tensiune măsurată U2; informații despre ieșirea / absența intervalului de măsurare; informații despre servicii privind numărul de schimburi între Arduino.

Intervalul de înregistrare a măsurătorilor a fost selectat timp de 6 secunde, este ușor să-l schimbați înlocuind valoarea constantei #define CYCLE_TIME_F 3000 cu o alta cu formula Tsec = Constant (ms) * 2/1000 în Master.
În plus, acest tabel poate fi prezentat sub formă de grafice frumoase.



Când am scris programe am folosit materiale. Îmi exprim recunoștința față de autor.

Potrivit pentru subiect

Subiecte conexe

Adaugă un comentariu

    • zâmbetzâmbetexaxabinedontknowYahooNea
      șefzgârieturăpăcălidada-daagresivsecret
      scuzedansdance2dance3iertareajutorbăuturi
      oprireprietenibungoodgoodfluiersincopălimbă
      fumaplauzeCrayvestimbatjocoritorDon-t_mentiondescărcare
      căldurămânioslaugh1mdaîntâlniremoskingnegativ
      not_ifloricele de porumbpedepsicititsperiasperiecăutare
      batjocurăthank_youacestto_clueUmnikacutconveni
      răubeeeblack_eyeblum3roșilăudăroșenieplictiseală
      cenzuratpleasantrysecret2amenințavictorieyusun_bespectacled
      ShokRespektlolprevedbun venitKrutoyya_za
      ya_dobryiajutorne_huliganne_othodifludinterdicțieînchide
2 comentarii
Includerea ciudată a NE555 în driverul negativ. ((
Pentru ca meandro să meargă la câmp, trebuie să le conectați la ieșirea IP.
fit Arduino pentru nevoile proprii, desigur, o afacere utilă, dar achiziționată recent, prețul de emisiune este mai mic de 1 t.r .:
Specificații UM24C
• display: 1,44 ", 128х128, culoare, unghiurile de vizualizare sunt aproape de 180º
• porturi de intrare: USB tip A mascul, micro USB tip B femelă
• port de ieșire: USB tip A femelă
• tensiune: 4.50-24.00V
• rezistența curentă: 0-3.000A
• rezoluție afișare tensiune: 0,01 V
• rezistența curentă a afișajului de rezoluție: 0,001A
• precizia măsurării tensiunii: ± (0,2% + 1 cifră)
• precizia măsurării curente: ± (0,8% + 3 cifre)
• Suport de încărcare rapidă Qualcomm: QC 2.0 și QC 3.0
• 10 celule de memorie pentru a stoca capacitatea și energia măsurate
• Funcție de măsurare a rezistenței cablului micro USB
• selectarea manuală a pragului de pornire a măsurătorilor: 0,00-0,30A
• afișarea temperaturii, rezistenței sarcinii conectate, a puterii
• afișarea graficelor de tensiune și curent
• afișare de tensiune pe liniile de date ale portului USB, modul de operare curent
• Oprire automată ecran: 1-9 minute, oprit
• luminozitatea ecranului: 0-5 (6 niveluri)
• afișarea temperaturii: în grade Celsius sau Fahrenheit
• ajutor online
• rotirea ecranului 90º / 180º / 270º
• conexiune Bluetooth cu două sensuri wireless la un computer (SPP - Serial Port Profile)
zâmbet

Vă sfătuim să citiți:

Înmânează-l pentru smartphone ...