» menetek » tippek »Meter-clamp áram széles tartományban, feszültség és hőmérséklet

Széles tartományú áram-, feszültség- és hőmérsékletmérő

Cél:
Hosszú, áramban és feszültségben kifejezett folyamatok, például az elemek és akkumulátorok töltöttségi szintjének mérésére és rögzítésére a flash memóriában. A hőmérséklet egyszerre rögzíthető.

Bemeneti jel paraméterei:
I áram = 25mka - 2a
U = 0 - 5 V feszültség
hőmérséklet t = -30 - + 120 gС
Az időt a belső beépített kvarcóra határozza meg

Tápegység:
a forrásból 12v / 0,3a
70 m <

építés:
A mérőkészülék két modulra van felszerelve Arduino Nano ModBus protokollon keresztül csatlakoztatva, lásd az ábrát. Az egyik Arduino csatlakozón egy sorkapocsra van felszerelve. A modulok csatlakozókkal vannak összekötve. A vezetékek és a modulok maguk is hőszigetelés ellen vannak szigetelve.

A bemeneti jeleket a csavaros kapcsok táplálják

Az előlapon található a mért paraméterek folyadékkristályos kijelzője és a LED-ek jelzik a tartomány átkapcsolását vagy a tartománytól való távolságot.

A mérőeszköz egy 145x85x40 méretű házba van felszerelve.
A hőmérséklet-érzékelőt a csatlakozón keresztül vezetik. A jelátvitel egy kétvezetékes vonalon zajlik. Előtolás ellenállás a csatlakozóban.

A programozás megkönnyítése érdekében az Arduino USB-csatlakozók külsők.






rendszer

A séma letölthető fájlból Izmeritel.rar

Két Arduino-t két okból választottak: Arduino Nano álltak rendelkezésre, és nem voltak elegendőek az egyik memóriához, és szenzorok bővítése a tervek szerint. Ezen felül szerettem volna elsajátítani az Arduino társulást, ehhez a ModBus hálózati protokollt választottam. A ModBus meghatározza egy master processzort - Master és több slave - Slave. Ebben a munkában van egy szolga, rajta a hőmérséklet, feszültség és áram mérése. On Master - óra ​​és rekord fájlba. A testmemória legalább 4 GB-os lehet, és FAT formátumban kell formázni.

Mivel a μA-tól A-ig terjedő áramerősség mérését tervezték, az áramokat 4 tartományban mérik (lásd a Tartománytáblázatot), az Arduino Slave figyeli az egyik tartománytól a másikig történő átmenetet, és az M1-2-től mért áramerősséghez megfelelő shuntkódot képez. A tartomány határainak megközelítésekor a következő tartomány bekapcsol, azaz az aktuális kulcs le van tiltva a T1-1 --- T2-2-ről, és a következő be van kapcsolva. Ebben az esetben a maximális sönt = 100ohm folyamatosan be van kapcsolva. Ha az érték túllépi a tartományban, akkor a D8, D9 LED-ek világítanak.

Az árammérést tartományokra osztva
Uout_max = 5v KusOU = 20 Δ = Ish / 1024

Az M1-2 operációs erősítő nyereségét 20-ra állítják, majd nem változnak. (Az előlapon hibásan van felszerelve).
A feszültséget az OU M1-1 követőjén keresztül mérik.Az op-amp és az Arduino bemeneti áramköreit diódák védik (a Zener diódák Arduinóban vannak, de nem ismerem a paramétereket, ezért jobb túlzásba helyezni).

Az LCD1602 van kiválasztva indikátorként. Csatlakozik az Arduino Mesterhez. Ezenkívül az indikátor mindkét Arduino-hoz csatlakoztatható, egyszerűen az Arduino-csatlakozók átkapcsolásával. (Ha nincs bekapcsolva.) A kapcsolat az Arduino Slave-vel szaggatott vonallal látható (amelyet a programok írásakor használtak). Az LCD1602 fő csatlakozójával (a mesterrel) 4 képernyő jeleníthető meg a p1-p2 tolókapcsoló csúsztatásával.

1. képernyő: felülről az Arduino közötti információcsere szolgáltatási információi: C az Arduino közötti váltások száma, E a hibák száma a sönt Sh-számának cseréje során;
alsó nap - hónap idő.


2. képernyő: U1, I1, Shunt No., (0,00 jobb alsó-tartalék)


3. képernyő: U2, hőmérséklet, (ui- készenlét)


4. képernyő: SD felvétel engedélyezve, felvételi idő órában, sor száma a fájlban,
00 - az áramtartomány1 állapota1 0-normális 1-es tartományon kívüli, a feszültségtartomány1-es állapota, a külső forrás rögzített teljesítménye


Ha a Slave - 2 képernyőhöz csatlakozik. A p3 kapcsoló lehetővé teszi a felvételt a Micro Flesh memóriába.
A tápegységet 12 V-os értékre választottuk, hogy az op-amp erősítő lineáris jellemzőit kapjuk (hogy elkerüljük az akadályokat a tartomány szélén). Ugyanebből az okból az alakító negatív feszültségét használták a KR1006VI1 feszültségnél. Arduino generátor használata kevésbé stabil feszültséget eredményez. Az 5 V-os energia előállításához egy lecsökkentő konvertert használtunk, de anélkül is megtehetjük, ha + 12 V-ot látunk el a VIN Arduino Nano bemenetekkel.
Közös programozás Az Arduino rendelkezik sajátosságokkal, mivel a számítógépes kommunikáció el van foglalva a ModBus protokolllal. Ha vázlatot szeretne betölteni az egyik Arduino-ba, akkor engedélyeznie kell az RST reset jelet. Ehhez használja a B és az S blokkot. Vagy nyomja le és tartsa lenyomva az Arduino modulok reset gombjait, amíg a letöltés befejeződik, ami kevésbé kényelmes, és esélye van a letöltés megsértésére. Mivel az Arduino USB-eszköz bővítését tervezem, kihúztam az ügyet.

A T5 tranzisztor (FR024N) állítólag egy folyamat be- és kikapcsolására szolgál, például egy akkumulátor töltöttségi szintjére. Bár nem vesz részt.

Szoftver.
Maximálisan rágott, hogy a kezdők (és én magam sem) nem ártok, és referenciaanyagként szolgálhatnak, de nem állítják, hogy optimálisak.

A könyvtárak és a programkódok az Izmeritel PRO.rar fájlban találhatók.
Vázlat a ModBus_Master10_SD_T_10_2 mester számára. Vázlat a slave ModBus-Slave10_T_UI_10_2 verzióhoz. A könyvtár többi része.
Az Arduino1.6.0 környezetében programozva. SD, LiquidCrystal, Wire könyvtárakat tartalmaz, ezeket nem kell letölteni.

Az órákban megadott időt a következőképpen kell beállítani a Beállításban. Állítsa be a valós időt, és töltse be a vázlatot. Ezután kommentálja a sorokat a dátum és az idő beállításához, és töltse be újra a vázlatot.

A program eredménye az idő és a dátum (órák), az áram, a feszültség, a hőmérséklet kijelzése az LCD1602 készüléken, és ezen paraméterek rögzítése az IZMER1.TXT fájlba a Micro Flesh memóriába. A fájl tartalmaz egy ilyen típusú táblát:

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

ahol az oszlopok n / a vannak; dátum; idő; rögzítési idő órában; hőmérséklet; mért feszültség U1; mért I1 áram; a második mért U2 feszültség; információ a mérési tartomány kilépéséről / hiányáról; szolgáltatási információ az Arduino közötti cserék számáról.

A mérési rögzítési intervallumot 6 másodpercre választottuk, könnyen megváltoztatható, ha a #define CYCLE_TIME_F 3000 állandó értékét másikkal helyettesíti a Tsec = Állandó (ms) * 2/1000 Master képlettel.
Ezenkívül ez a táblázat szép grafikonok formájában is bemutatható.



Programok írásakor anyagokat használtam. Köszönetet mondok a szerzőnek.

Témához megfelelő

Kapcsolódó témák

Adj hozzá egy megjegyzést

    • smilemosolyogxaxarendbendontknowjehunea
      főnökkarcolásbolondigenigen-igenagresszívtitok
      Bocsánattáncdance2dance3megbocsátássegítségitalok
      megállásbarátokjógoodgoodsípájulásnyelv
      füsttapsolóCrayállapítsagúnyosdon-t_mentionletöltés
      hőségingerültlaugh1MDAtalálkozómoskingnegatív
      not_ipopcornbüntetolvasmegijesztijesztkeresés
      gúnyolódásthank_youeztto_clueumnikakutegyetért
      rosszbeeeblack_eyeblum3pírdicsekvésunalom
      cenzúrázottvidámságsecret2fenyegetgyőzelemyusun_bespectacled
      ShokRespektlolprevedfogadtatáskrutoyya_za
      ya_dobryisegítőne_huliganne_othodiFLUDtilalomközel
2 megjegyzések
Az NE555 furcsa beépítése a negatív illesztőprogramba. ((
Annak érdekében, hogy a kanyaró megy a mezőre, csatlakoztatnia kell őket az IP kimenethez.
fit Arduino saját igényeire természetesen hasznos dolog, de a közelmúltban megszerzett kibocsátási ár kevesebb, mint 1 tr .:
UM24C műszaki adatok
• kijelző: 1,44 ", 128х128, színes, a látószögek közel 180º
• bemeneti portok: A típusú USB-csatlakozó, micro-B típusú USB-csatlakozó
• kimeneti port: A típusú USB aljzat
• feszültség: 4,50–24,00 V
• áramszilárdság: 0-3.000A
• feszültség kijelző felbontása: 0,01 V
• felbontású kijelző jelenlegi erőssége: 0,001 A
• feszültségmérési pontosság: ± (0,2% + 1 számjegy)
• jelenlegi mérési pontosság: ± (0,8% + 3 számjegy)
• A Qualcomm gyors töltés támogatása: QC 2.0 és QC 3.0
• 10 memóriacellát a mért kapacitás és energia tárolására
• Mikro USB-kábel ellenállásmérési funkció
• A mérési indítási küszöb kézi kiválasztása: 0,00-0,30A
• a hőmérséklet kijelzése, a csatlakoztatott terhelés ellenállása, teljesítmény
• a feszültség és az áram grafikonok megjelenítése
• feszültségkijelzés az USB-port adatvezetékein, aktuális üzemmód
• automatikus kikapcsolási képernyő: 1-9 perc, ki
• képernyő fényereje: 0–5 (6 szint)
• hőmérsékleti kijelző: Celsius-fokban vagy Fahrenheit-ben
• on-line segítség
• a képernyő forgása 90º / 180º / 270º
• vezeték nélküli kétirányú Bluetooth kapcsolat a számítógéppel (SPP - Serial Port Profile)
smile

Azt javasoljuk, hogy olvassa el:

Adja át az okostelefon számára ...