» trådar » tips »Meter-klämström i ett brett område, spänning och temperatur

Bredströmström, spänning och temperaturmätare

syfte:
För att mäta och fixa i tid på flashminnet för långa processer uttryckta i ström och spänning, såsom laddning - urladdning av batterier och batterier. Det är möjligt att samtidigt fixa temperaturen.

Parametrar för ingångssignal:
nuvarande I = 25mka - 2a
spänning U = 0 - 5V
temperatur t = -30 - + 120 gС
tiden ställs in av den interna inbyggda kvartsklockan

Strömförsörjning:
från källan 12v / 0,3a
Jag konsumerar <70ma

konstruktion:
Mätaren monteras på två moduler Arduino Nano ansluten via ModBus-protokollet, se diagram. En Arduino är monterad på en stigare med terminalblock. Modulerna är anslutna via kontakter. Ledningarna och själva modulerna är isolerade från termisk-kambriska fel.

Ingångssignaler matas genom skruvplintarna

På frontpanelen finns en vätskekristallindikator för de uppmätta parametrarna och lysdioder som indikerar omkoppling av ett område eller utanför räckvidden.

Mätaren monteras i ett hölje 145x85x40.
Temperaturgivaren utförs via kontakten. Signalöverföring är organiserad på en tvåtrådslinje. Matningsmotstånd i kontakten.

För att underlätta programmeringen är Arduino USB-anslutningar externa.






schema

Schema kan laddas ner från filen Izmeritel.rar

Två Arduino valdes av två skäl: Arduino Nano fanns tillgängliga och inte tillräckligt i ett minne, och det är planerat att lägga till sensorer ytterligare. Dessutom ville jag behärska Arduino-föreningen, för detta valde ModBus-nätverksprotokollet. ModBus definierar en huvudprocessor - Master och flera slavar - Slave. I detta arbete finns det en slav, på den är en mätning av temperatur, spänning och ström. På Master - en klocka och en post till en fil. Fleshminnet måste vara mindre än 4 GB och formaterat i FAT.

Eftersom det var planerat att mäta strömmar från μA till A, mäts strömmar i fyra områden (se Ranges-tabellen), Arduino Slave övervakar övergången från ett område till ett annat och bildar motsvarande shuntkod för den aktuella uppmätta strömmen från M1-2. När man närmar sig gränsen till intervallet slås nästa intervall på, det vill säga den aktuella tangenten från T1-1 --- T2-2 stängs av och nästa raderas på. I detta fall är den maximala shunt = 100ohm konstant på. Om det finns ett överskott av värdet i intervallet tänds lysdioderna D8, D9.

Dela strömmätningen i intervaller
Uout_max = 5v KusOU = 20 Δ = Ish / 1024

Förstärkningen för operationsförstärkaren M1-2 är inställd = 20 och ändras då inte. (På frontpanelen monteras den felaktigt).
Spänningen mäts genom en följare på OU M1-1.Ingångskretsarna för op-amp och Arduino är skyddade av dioder (zener dioder finns i Arduino, men jag vet inte parametrarna, så det är bättre att överdriva det).

LCD1602 väljs som en indikator. Den är ansluten till Arduino Master. Dessutom kan indikatorn anslutas till båda Arduino helt enkelt genom att växla Arduino-anslutningarna. (När strömmen är avstängd.) Anslutningen till Arduino Slave visas med en streckad linje (som användes när man skrev program). Med huvudanslutningen (till Master) på LCD1602 kan 4 skärmar visas genom att växla skjutreglaget p1-p2.

Skärm1: ovanifrån är serviceinformationen för utbytet mellan Arduino: C är antalet utbyten mellan Arduino, E är antalet fel under utbytet av Sh-nr för shunt;
botten dag - månad tid.


Skärm2: U1, I1, Shunt No., (0,00 nedre högra reserven)


Skärm3: U2, temperatur, (u-standby)


Skärm4: SD-inspelning aktiverad, inspelningstid i timmar, radnummer i fil,
00- tillstånd för strömområde1 0-normalt 1 utanför räckvidd, spänningsområde1, fast effekt från en extern källa


När du är ansluten till Slave - 2 skärmar. Switch p3 möjliggör inspelning i Micro Flesh-minne.
Strömförsörjningen väljs 12v för att erhålla linjära egenskaper hos op-förstärkaren (för att undvika blockeringar vid kanterna på området) Av samma anledning användes negativ spänning från formaren vid KR1006VI1. Att använda en Arduino-generator ger en mindre stabil spänning. För att generera 5V-kraft användes en avstängningsomvandlare, men du kan göra det utan att leverera + 12V till VIN Arduino Nano-ingångar.
Gemensam programmering Arduino har funktioner eftersom kommunikationen med datorn är upptagen med ModBus-protokollet. För att ladda en skiss i en av Arduino, på den andra måste du aktivera RST-återställningssignalen. För att göra detta, använd hopparna Block S, Block M. Eller tryck och håll in återställningsknapparna på Arduino-modulerna tills nedladdningen är klar, vilket är mindre bekvämt och det finns en chans att skada nedladdningen. Eftersom jag planerar att utöka min USB Arduino-enhet drog jag ut saken.

Transistorn T5 (FR024N) är tänkt att användas för att slå på / stänga av en process, till exempel en laddning-urladdning av ett batteri. Även om det inte är involverat.

Software.
Det tuggas maximalt att nybörjare (och jag själv) inte kommer att skada och kan fungera som referensmaterial, men hävdar inte att de är optimala.

Bibliotek och programkoder finns i filen Izmeritel PRO.rar.
Skiss för master ModBus_Master10_SD_T_10_2. Skiss för slaven ModBus-Slave10_T_UI_10_2. Resten av biblioteket.
Programmerad i miljön i Arduino1.6.0. Den innehåller bibliotek SD, LiquidCrystal, Wire behöver inte ladda ner.

Tiden i timmar ställs in i Setup enligt följande. Ställ in realtid och ladda skissen. Kommentera sedan raderna för att ställa in datum och tid och ladda skissen igen.

Resultatet av programmet kommer att indikera tid och datum (timmar), ström, spänning, temperatur på LCD1602 och inspelningen av dessa parametrar i IZMER1.TXT-filen i Micro Flesh-minne. Filen kommer att innehålla en tabell av detta slag:

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

där kolumnerna finns n / a; datum; tid; inspelningstid i timmar; temperatur; uppmätt spänning U1; uppmätt ström I1; den andra uppmätta spänningen U2; information om mätintervallets utgång / frånvaro; serviceinformation om antalet utbyten mellan Arduino.

Mätregistreringsintervallet valdes under 6 sekunder, det är lätt att ändra det genom att ersätta värdet för konstant #definiera CYCLE_TIME_F 3000 med en annan med formeln Tsec = Konstant (ms) * 2/1000 i Master.
Vidare kan denna tabell presenteras i form av fina grafer.



När jag skrev program använde jag material. Jag uttrycker min tacksamhet till författaren.

Lämplig för ämne

Relaterade ämnen

Lägg till en kommentar

    • lelerxaxaOKdontknowyahoonea
      bossscratchluraJaja-jaaggressivhemlighet
      ledsendansdance2dance3benådningHjälpdrycker
      stoppvännerbragoodgoodvisselpipasvimningsanfalltunga
      rökklapparcraydeclarehånfulldon-t_mentionnedladdning
      hettaRASANDElaugh1mdamötemoskingnegativ
      not_ipopcornstraffalässkrämmalarmrapportersök
      hånthank_youdettato_clueumnikakutöverens
      illabeeeblack_eyeblum3rougeskrytaledan
      censureradepleasantrysecret2hotasegeryusun_bespectacled
      shokrespektlolprevedvälkommenkrutoyya_za
      ya_dobryihjälparene_huliganne_othodiFLUDförbudstänga
2 kommentarer
Konstig inkludering av NE555 i den negativa föraren. ((
För att slingrarna ska gå till fältet måste du ansluta dem till IP-utgången.
fit Arduino för dina egna behov, naturligtvis, en användbar verksamhet, men nyligen förvärvade är emissionskursen mindre än 1 ton.r .:
UM24C-specifikationer
• display: 1,44 ", 128х128, färg, visningsvinklar är nära 180º
• ingångsportar: USB Type A hane, Micro USB Type B hon
• utgångsport: USB-typ A-hona
• spänning: 4,50-24,00V
• strömstyrka: 0-3.000A
• spänningsvisningsupplösning: 0,01V
• upplösningens nuvarande styrka: 0,001A
• spänningsmätningsnoggrannhet: ± (0,2% + 1 siffra)
• strömmätningsnoggrannhet: ± (0,8% + 3 siffror)
• Qualcomm Quick Charge-support: QC 2.0 och QC 3.0
• 10 minneceller för att lagra uppmätt kapacitans och energi
• Mätfunktion för Micro USB-kabelmotstånd
• manuellt val av mätstarttröskel: 0,00-0,30A
• visning av temperatur, motstånd för ansluten last, effekt
• visning av spännings- och strömgrafer
• spänningsvisning på datalinjer i USB-porten, aktuellt driftsläge
• automatisk avstängningsskärm: 1-9 minuter, av
• skärmens ljusstyrka: 0-5 (6 nivåer)
• temperaturvisning: i grader Celsius eller Fahrenheit
• onlinehjälp
• skärmrotation 90º / 180º / 270º
• trådlös tvåvägs Bluetooth-anslutning till en PC (SPP - Seriell portprofil)
le

Vi rekommenderar att du läser:

Räcka den till smarttelefonen ...