» tråder » tips »Meter-klemstrøm i et bredt spekter, spenning og temperatur

Bredvidde strøm, spenning og temperaturmåler

formål:
For å måle og fikse i tide på flashminne for lange prosesser uttrykt i strøm og spenning, for eksempel lading - utladning av batterier og batterier. Det er mulig å fikse temperaturen samtidig.

Inngangssignalparametere:
nåværende I = 25mka - 2a
spenning U = 0 - 5V
temperatur t = -30 - + 120 gС
tiden settes av den interne innebygde kvartsklokken

Strømforsyning:
fra kilden 12v / 0.3a
Jeg forbruk <70ma

konstruksjon:
Måleren er satt sammen på to moduler Arduino Nano tilkoblet via ModBus-protokoll, se diagram. Den ene Arduino er montert på en stigerør med terminalblokker. Modulene kobles til via kontakter. Ledningene og modulene i seg selv er isolert fra termisk-kambriske feil.

Inngangssignaler føres gjennom skrueklemmer

På frontpanelet er det en væskekrystallindikator for de målte parametrene og lysdioder som indikerer at du kan bytte et område eller utenfor rekkevidden.

Måleren er satt sammen i et hus 145x85x40.
Temperatursensoren utføres gjennom kontakten. Signaloverføring er organisert på en to-ledningslinje. Matemotstand i kontakten.

For å lette programmeringen er Arduino USB-kontakter eksterne.






ordningen

Ordningen kan lastes ned fra filen Izmeritel.rar

To Arduino ble valgt av to grunner: Arduino Nano var tilgjengelige og ikke nok på ett minne, og det er planlagt å legge til sensorer ytterligere. I tillegg ønsket jeg å mestre Arduino-foreningen, for dette ble ModBus nettverksprotokoll valgt. ModBus definerer en hovedprosessor - Master og flere slaver - Slave. I dette arbeidet er det en slave, på den er en måling av temperatur, spenning og strøm. På Master - en klokke og en post til en fil. Kjøttminnet må være mindre enn 4 GB og formatert i FAT.

Siden det var planlagt å måle strømmer fra μA til A, blir strømmer målt i 4 områder (se Range tabellen), overvåker Arduino Slave overgangen fra et område til et annet, og danner den tilsvarende shuntkoden for den aktuelle målestrømmen fra M1-2. Når du nærmer deg grensen til rekkevidden, blir neste område slått på, det vil si at den gjeldende tasten fra T1-1 --- T2-2 er slått av og den neste slås på. I dette tilfellet er maksimal shunt = 100ohm konstant på. Hvis det er et overskudd av verdien i området, lyser LEDene D8, D9.

Del strømmen i mål
Uout_max = 5v KusOU = 20 Δ = Ish / 1024

Forsterkningen til driftsforsterkeren M1-2 er satt = 20 og endres ikke. (På frontpanelet er det montert feil).
Spenningen måles gjennom en følger på OU M1-1.Inngangskretsene til op-amp og Arduino er beskyttet av dioder (zener diodes er i Arduino, men jeg vet ikke parametrene, derfor er det bedre å overdrive).

LCD1602 er valgt som en indikator. Den er koblet til Arduino Master. Dessuten kan indikatoren kobles til begge Arduino bare ved å bytte Arduino-kontaktene. (Når strømmen er slått av.) Forbindelsen til Arduino Slave vises med en stiplet linje (som ble brukt når du skrev programmer). Med hovedtilkoblingen (til masteren) på LCD1602, kan 4 skjermer vises ved å bytte skyvebryteren skyveknappen p1-p2.

Skjerm1: ovenfra serviceinformasjonen for utvekslingen mellom Arduino: C er antallet utvekslinger mellom Arduino, E er antall feil under utvekslingen av Sh-antall til shunt;
bunndag - månedstid.


Skjerm2: U1, I1, Shunt No., (0,00 nederst til høyre-reserve)


Skjerm3: U2, temperatur, (u-standby)


Skjerm4: SD-opptak aktivert, opptakstid i timer, linjenummer i fil,
00- nåværende område1 0-normal 1-utenfor rekkevidde, spenningstilstandens tilstand1, fast effekt fra en ekstern kilde


Når du er koblet til Slave - 2-skjermer. Bryter p3 muliggjør opptak i Micro Flesh-minne.
Strømforsyningen er valgt 12v for å oppnå lineære egenskaper ved op-forsterkeren (for å unngå blokkeringer i kantene av området). Av samme grunn ble negativ spenning fra shaperen ved KR1006VI1 brukt. Å bruke en Arduino-generator produserer en mindre stabil spenning. For å generere 5V strøm ble en nedtrappingsomformer brukt, men du kan klare deg uten det ved å levere + 12V til VIN Arduino Nano-inngangene.
Felles programmering Arduino har funksjoner, siden kommunikasjonen med datamaskinen er opptatt med ModBus-protokollen. For å laste en skisse i en av Arduino, på den andre må du aktivere RST-tilbakestillingssignalet. For å gjøre dette, bruk hopperne Block S, Block M. Eller trykk og hold inne tilbakestillingsknappene på Arduino-modulene til nedlastingen er ferdig, noe som er mindre praktisk og det er en sjanse for å skade nedlastingen. Siden jeg planlegger å utvide USB Arduino-enheten min, trakk jeg saken ut.

Transistoren T5 (FR024N) er ment å bli brukt til å slå av / på en prosess, for eksempel en lading-utladning av et batteri. Mens det ikke er involvert.

Software.
Det er maksimalt tygget at nybegynnere (og jeg selv) ikke vil skade og kan tjene som referansemateriale, men ikke hevder å være optimalitet.

Biblioteker og programkoder er lokalisert i Izmeritel PRO.rar-filen.
Skisse for master ModBus_Master10_SD_T_10_2. Skisse for slave ModBus-Slave10_T_UI_10_2. Resten av biblioteket.
Programmert i miljøet til Arduino1.6.0. Den inneholder biblioteker SD, LiquidCrystal, Wire trenger ikke å laste ned.

Tiden i timer er satt i Setup som følger. Angi sanntid og last inn skissen. Kommenter deretter linjene for innstilling av dato og klokkeslett og last inn skissen på nytt.

Resultatet av programmet vil være indikasjonen av tid og dato (timer), strøm, spenning, temperatur på LCD1602 og innspillingen av disse parametrene i IZMER1.TXT-filen i Micro Flesh-minne. Filen vil inneholde en tabell av denne typen:

0; 04/13/2019; 00:11:10; Zap (h) = 0,05; tc = 29,31; U1 = 1,71; I1 = 0,00; Pl = 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; Pl = 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; Pl = 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; Pl = 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; Pl = 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; Pl = 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; Pl = 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; Pl = 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; Pl = 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; Pl = 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; Pl = 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; Pl = 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; Pl = 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; Pl = 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; Pl = 0,00; U2 = 0,18; DiaI norma; DiaU norma; C = 1119

der kolonnene er plassert n / a; dato; tid; opptakstid i timer; temperatur; målt spenning U1; målt strøm I1; den andre målte spenningen U2; informasjon om avkjørsel / fravær av måleområdet; serviceinformasjon om antall utvekslinger mellom Arduino.

Måleopptaksintervallet ble valgt i 6 sekunder, det er enkelt å endre det ved å erstatte verdien på #define CYCLE_TIME_F 3000-konstanten med en annen med formelen Tsec = Constant (ms) * 2/1000 i Master.
Videre kan denne tabellen presenteres i form av fine grafer.



Når jeg skrev programmer brukte jeg materialer. Jeg uttrykker min takknemlighet til forfatteren.

Passer for tema

Beslektede emner

Legg til en kommentar

    • smilersmilerxaxaokdontknowyahoonea
      sjefscratchlurejaja-jaaggressivhemmelighet
      beklagerdansedance2dance3benådninghjelpdrikkevarer
      stoppvennergodgoodgoodfløytebesvimelsetunge
      røykklappingCrayerklærehånligdon-t_mentionnedlasting
      heteirefullaugh1MDAmøtemoskingnegative
      not_ipopcornstraffeleseskremmeskremmersøk
      spydighetthank_youdetteto_clueumnikakuttenig
      dårligbeeeblack_eyeblum3rødmeskrytekjedsomhet
      sensurertpleasantrysecret2trueseieryusun_bespectacled
      ShokRespektlolPrevedvelkommenKrutoyya_za
      ya_dobryihelperne_huliganne_othodiFLUDforbudnær
2 kommentarer
Merkelig inkludering av NE555 i den negative driveren. ((
For at meander skal gå til feltet, må du koble dem til IP-utgangen.
fit Arduino for dine egne behov, selvfølgelig, en nyttig virksomhet, men nylig ervervet, er emisjonskursen mindre enn 1 t.r .:
UM24C spesifikasjoner
• display: 1,44 ", 128х128, farge, visningsvinkler er nær 180º
• inngangsport: USB Type A hann, Micro USB Type B hunn
• utgang: USB Type A hunn
• spenning: 4,50-24,00V
• strømstyrke: 0-3.000A
• spenningsvisningsoppløsning: 0,01V
• oppløsningsvisningsstrømstyrke: 0,001A
• spenningsmålingsnøyaktighet: ± (0,2% + 1 siffer)
• strømmålingsnøyaktighet: ± (0,8% + 3 sifre)
• Qualcomm Quick Charge-støtte: QC 2.0 og QC 3.0
• 10 minneceller for å lagre målt kapasitans og energi
• Målingsfunksjon for Micro USB-kabelmotstand
• manuelt valg av målestartgrense: 0,00-0,30A
• visning av temperatur, motstand for tilkoblet last, effekt
• visning av spennings- og strømgrafer
• spenningsvisning på datalinjer på USB-porten, gjeldende driftsmodus
• automatisk avstengningsskjerm: 1-9 minutter, av
• lysstyrke på skjermen: 0-5 (6 nivåer)
• temperaturvisning: i grader Celsius eller Fahrenheit
• online hjelp
• skjermrotasjon 90º / 180º / 270º
• trådløs toveis Bluetooth-tilkobling til en PC (SPP - Seriell portprofil)
smiler

Vi anbefaler deg å lese:

Gi den til smarttelefonen ...