» Temos » Patarimai »Skaitiklio gnybto srovė plačiame diapazone, įtampa ir temperatūra

Metrų spyna per platų srovės, įtampos ir temperatūros

Skyrimas:
Ilgalaikiams procesams, išreiškiamiems srove ir įtampa, tokiems kaip akumuliatorių ir akumuliatorių įkrovimas, matuoti ir laiku fiksuoti atmintyje. Tai galima vienu metu įrašyti temperatūrą.

Įvesties signalo parametrai:
srovė I = 25mka - 2a
įtampa U = 0 - 5V
temperatūra T = -30 - + 120grS
laiką nustato vidinis įmontuotas kvarco laikrodis

Mityba:
iš 12V / 0.3A šaltinis
Aš vartoju <70ma

Konstrukcija:
Skaitiklis yra sumontuotas ant dviejų modulių Arduino „Nano“ prijungtas per „ModBus“ protokolą, žr. Diagramą. Vienas „Arduino“ sumontuotas ant keltuvo su gnybtų blokais. Moduliai yra prijungtas per jungtys. Laidai ir patys moduliai yra izoliuoti nuo šiluminės kambrinės gedimų.

Įvesties signalai yra tiekiamas per gnybtus

Priekiniame skydelyje yra išmatuotų parametrų skystųjų kristalų indikatorius ir šviesos diodai, rodantys diapazono ar diapazono perjungimą.

Skaitiklis surenkamas į korpusą 145x85x40.
Temperatūros jutiklis ryškus išoriškai per angą. Signalo perdavimo organizuojamas pagal dviejų laidų linija. Įkrauti rezistorius į jungtį.

Kad būtų lengviau programuoti, „Arduino“ USB jungtys yra išorinės.






Schema

Schema galima atsisiųsti iš failo Metras.rar

Du „Arduino“ buvo pasirinkti dėl dviejų priežasčių: „Arduino Nano“ buvo prieinami ir jų neužteko vienoje atmintyje, o jutiklius planuojama pridėti dar. Be to, norėjau įsisavinti „Arduino“ asociaciją, tam buvo pasirinktas „ModBus“ tinklo protokolas. „ModBus“ apibrėžia vieną pagrindinį procesorių - pagrindinį ir kelis vergus - „Slave“. Šiame darbe yra vienas vergas, ant kurio yra matuojama temperatūra, įtampa ir srovė. On Master - laikrodis ir įrašas į failą. Kūno atmintis turi būti mažesnė nei 4 GB ir suformatuota FAT formatu.

Kadangi buvo planuota matuoti sroves nuo μA iki A, srovės matuojamos 4 diapazonuose (žr. Diapazono lentelę), „Arduino Slave“ stebi perėjimą iš vieno diapazono į kitą, suformuodamas atitinkamą šunto kodą išmatuotai srovei iš M1-2. Kai artėjate prie diapazono krašto, įjungiamas kitas diapazonas, tai yra, dabartinis klavišas iš T1-1 --- T2-2 yra išjungtas, o kitas - įjungtas. Šiuo atveju maksimalus šuntas = 100ohm yra nuolat įjungtas. Jei diapazonas viršija vertę, šviesos diodai D8, D9 užsidega.

Atitvarų srovės matavimas diapazonuose
Uout_max = 5v KusOU = 20 Δ = Ish / 1024

Operatyvinio stiprintuvo M1-2 stiprinimas nustatomas = 20 ir tada nesikeičia. (Priekiniame skydelyje jis sumontuotas klaidingai).
Įtampa matuojama per OU M1-1 sekiklį.„Op-amp“ ir „Arduino“ įvesties grandinės yra apsaugotos diodais („Zener“ diodai yra Arduino, bet aš nežinau parametrų, todėl geriau jį persistengti).

Kaip indikatorius pasirinktas LCD1602. Jis prijungtas prie „Arduino Master“. Be to, indikatorių galima prijungti prie abiejų „Arduino“ tiesiog perjungiant „Arduino“ jungtis. (Kai maitinimas išjungtas.) Ryšys su „Arduino Slave“ parodytas brūkšniuota linija (kuri buvo naudojama rašant programas). Pagrindiniame LCD1602 jungtyje (prie pagrindinio) galite parodyti 4 ekranus, perjungdami slinkties jungiklio slankiklį p1-p2.

1 ekranas: iš viršaus mainų tarp Arduino tarnybinė informacija: C yra mainų tarp Arduino skaičius, E yra klaidų skaičius keičiantis šunto Sh numeriu;
dugno diena - mėnesio laikas.


2 ekranas: U1, I1, šunto Nr. (0,00 apačioje, dešinėje, rezervas)


3 ekranas: U2, temperatūra, (laukimo režimas)


4 ekranas: įjungtas SD įrašymas, įrašymo laikas valandomis, failo eilutės numeris,
00- dabartinės srovės diapazono būsena1 0-normali 1 diapazono ribos, įtampos diapazono1 būsena, fiksuota išorinio šaltinio galia


Kai prijungtas prie „Slave - 2“ ekranų. Jungiklis p3 leidžia įrašyti į „Micro Flesh“ atmintį.
Maitinimo šaltinis pasirenkamas 12v, kad būtų gautos optinės stiprintuvo tiesinės charakteristikos (kad būtų išvengta užsikimšimų diapazono kraštuose). Dėl tos pačios priežasties buvo naudojama neigiama formavimo įtampa iš KR1006VI1. Naudojant „Arduino“ generatorių, sukuriama ne tokia stabili įtampa. Norint sugeneruoti 5 V galią, buvo naudojamas keitiklis, kuris palaipsniui mažinamas, tačiau jūs galite apsieiti be jo, tiekdami +12 V į VIN „Arduino Nano“ įvestis.
Bendras „Arduino“ programavimas turi savybių, nes ryšį su kompiuteriu užima „ModBus“ protokolas. Norėdami įkelti eskizą į vieną iš „Arduino“, kitame turite įgalinti „RST reset“ signalą. Norėdami tai padaryti, naudokite trumpiklius Block S, Block M. Arba paspauskite ir laikykite nuspaudę „Arduino“ modulių atstatymo mygtukus, kol atsisiuntimas bus baigtas. Tai yra mažiau patogu ir yra galimybė sugadinti atsisiuntimą. Kadangi planuoju išplėsti savo įrenginio „Arduino“ USB jungtis, išsitraukiau dėklą.

Manoma, kad tranzistorius T5 (FR024N) turi būti naudojamas procesui įjungti / išjungti, pavyzdžiui, įkrauti ir iškrauti akumuliatorių. Kol ji nedalyvauja.

Programinė įranga.
Maksimaliai kramtoma, kad pradedantieji (ir aš pats) nepakenksiu ir gali tarnauti kaip pamatinė medžiaga, tačiau nepretenduoja į optimalumą.

Bibliotekos ir programų kodai yra „Izmeritel PRO.rar“ faile.
Pagrindinio „ModBus_Master10_SD_T_10_2“ eskizas. „ModBus-Slave10_T_UI_10_2“ vergo eskizas. Likusi biblioteka.
Programaujama „Arduino1.6.0“ aplinkoje. Jame yra SD, „LiquidCrystal“, „Wire“ bibliotekų atsisiųsti nereikia.

Laikas valandomis nustatomas sąrankoje taip. Nustatykite realų laiką ir įkelkite eskizą. Tada pakomentuokite datos ir laiko nustatymo eilutes ir iš naujo įdėkite eskizą.

Programos rezultatas bus laiko ir datos (valandomis), srovės, įtampos, temperatūros nurodymas LCD1602 ekrane ir šių parametrų įrašymas į „IZMER1.TXT“ failą „Micro Flesh“ atmintyje. Faile bus šios rūšies lentelė:

0; 2016-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; 2016-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; 2016-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; 2016-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; 2016-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; 2016-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; 2016-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; 2016-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; 2016-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; 2016-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; 2016-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; 2016-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; 2016-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; 2016-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; 2016-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

kur yra stulpeliai, n / a; Data laikas įrašymo laikas valandomis; temperatūra išmatuota įtampa U1; išmatuota srovė I1; antroji išmatuota įtampa U2; informacija apie matavimo diapazono išėjimą / nebuvimą; paslaugų informacija apie mainų tarp Arduino skaičių.

Matavimo įrašymo intervalas buvo pasirinktas 6 sekundėms, nesunku jį pakeisti pakeičiant #define CYCLE_TIME_F 3000 konstantos reikšmę kita formule Tsec = Pastovi (ms) * 2/1000 Master.
Toliau šią lentelę galima pateikti gražių grafikų pavidalu.



Rašydamas programas naudojau medžiagą. Reiškiu dėkingumą autoriui.

Tinka temai

Susijusios temos

Pridėti komentarą

    • šypsotisšypsosixaxagerainežiniaYahoonea
      viršininkassubraižytikvailystaiptaip-taipagresyvusslapta
      atsiprašaušoktišokis2šokis3atleiskpadėtigėrimai
      sustotidraugaigeraigerašvilpukassupyktiliežuvis
      rūkytiplojimaiklastingaspareikštiniokojantisdon-t_mentionatsisiųsti
      šilumanedrąsusjuoktis1mdasusitikimasmoskingneigiamas
      not_ipopkornasnubaustiskaitytigąsdintigąsdinapaieška
      gundytiačiūtaito_clueumnikūmussusitarti
      blogaibičiųjuoda akisblum3skaistalaipasigirtinuobodulys
      cenzūruotamalonumasslapta2grasintipergalėju„sun_bespectacled“
      šoktipagarbalolišlenktaslaukiamekrutojusya_za
      ya_dobryipagalbininkasne_huliganne_othodifludisuždraustiarti
2 komentaras
Keistas NE555 įtraukimas į neigiamą vairuotoją. ((
Kad meandrai išeitų į lauką, jie turi būti prijungti prie IP išvesties.
Tinka Arduino tai tikrai naudingas verslas savo poreikiams tenkinti, tačiau neseniai įsigytas, emisijos kaina yra mažesnė nei 1 tr.
UM24C specifikacijos
• ekranas: 1,44 ", 128х128, spalvotas, žiūrėjimo kampai artimi 180º
• įvesties jungtys: A tipo USB jungtis, B tipo „Micro USB“ jungtis
• išvesties prievadas: A tipo USB lizdas
• įtampa: 4.50–24.00V
• srovės stipris: 0-3 000A
• įtampos ekrano skiriamoji geba: 0,01 V
• raiškos ekrano srovės stipris: 0,001 A
• įtampos matavimo tikslumas: ± (0,2% + 1 skaitmuo)
• srovės matavimo tikslumas: ± (0,8% + 3 skaitmenys)
• „Qualcomm“ greitojo įkrovimo palaikymas: „QC 2.0“ ir „QC 3.0“
• 10 atminties elementų, kad išsaugotų išmatuotą talpą ir energiją
• „Micro USB“ laido varžos matavimo funkcija
• rankinis matavimo pradžios slenksčio pasirinkimas: 0,00–0,30A
• temperatūros, prijungtos apkrovos atsparumo, galios rodymas
• įtampos ir srovės grafikų rodymas
• įtampos rodymas USB prievado duomenų linijose, dabartinis darbo režimas
• automatinio išjungimo ekranas: 1-9 minutės, išjungtas
• ekrano ryškumas: 0–5 (6 lygiai)
• temperatūros rodymas: Celsijaus arba Farenheito laipsniais
• pagalba internete
• ekrano pasukimas 90º / 180º / 270º
• belaidis dvipusis „Bluetooth“ ryšys su asmeniniu kompiuteriu (SPP - Serial Port Profile)
šypsotis

Mes patariame perskaityti:

Perduokite jį išmaniajam telefonui ...