» Motīvi » Padomi »Skaitītāja skavas strāva plašā diapazonā, spriegums un temperatūra

Plaša diapazona strāvas, sprieguma un temperatūras mērītājs

Iecelšana:
Ilgu procesu, kas izteikti strāvā un spriegumā, piemēram, akumulatoru un akumulatoru lādēšanai, mērīšanai un savlaicīgai fiksēšanai zibatmiņā. Ir iespējams vienlaikus noteikt temperatūru.

Ieejas signāla parametri:
strāva I = 25mka - 2a
spriegums U = 0 - 5V
temperatūra t = -30 - + 120gС
laiku nosaka iekšējais iebūvētais kvarca pulkstenis

Uzturs:
no avota 12v / 0,3a
Es patērēju <70m

Konstrukcija:
Skaitītājs ir samontēts uz diviem moduļiem Arduino Nano savienots, izmantojot ModBus protokolu, sk. Diagrammu. Viens Arduino ir uzstādīts uz stāvvada ar spaiļu blokiem. Moduļi ir savienoti caur savienotājiem. Pati vadi un moduļi ir izolēti no termiskās kambrikas bojājumiem.

Ieejas signāli tiek padoti caur skrūvju spailēm

Priekšējā panelī ir šķidro kristālu indikators ar izmērītajiem parametriem un gaismas diodes, kas norāda diapazona maiņu vai diapazonu.

Skaitītājs ir samontēts korpusā 145x85x40.
Temperatūras sensors tiek veikts caur savienotāju. Signāla pārraide tiek organizēta uz divu vadu līnijas. Padeves rezistors savienotājā.

Programmēšanas ērtībai Arduino USB savienotāji ir ārēji.






Shēma

Shēmu var lejupielādēt no faila Meter.rar

Divi Arduino tika izvēlēti divu iemeslu dēļ: Arduino Nano bija pieejami un to nepietika vienā atmiņā, un sensorus plānots pievienot vēl. Turklāt es gribēju apgūt Arduino asociāciju, tam tika izvēlēts ModBus tīkla protokols. ModBus definē vienu galveno procesoru - galveno un vairākus vergus - Slave. Šajā darbā ir viens vergs, uz tā ir temperatūras, sprieguma un strāvas mērījums. On Master - pulkstenis un ieraksts failā. Miesas atmiņai jābūt mazākai par 4 GB, un tai jābūt formatētai FAT.

Tā kā bija plānots izmērīt strāvas no μA līdz A, strāvas mēra 4 diapazonos (sk. Diapazonu tabulu), Arduino vergs uzrauga pāreju no viena diapazona uz otru, veidojot atbilstošo šunta kodu pašreizējai izmērītajai strāvai no M1-2. Tuvojoties diapazona robežai, tiek ieslēgts nākamais diapazons, tas ir, pašreizējais taustiņš no T1-1 --- T2-2 tiek izslēgts un nākamais ir ieslēgts. Šajā gadījumā maksimālais šunts = 100ohm ir pastāvīgi ieslēgts. Ja diapazonā ir pārsniegta vērtība, iedegas gaismas diodes D8, D9.

Sadalot strāvas mērījumus diapazonos
Uout_max = 5v KusOU = 20 Δ = Ish / 1024

Operatīvā pastiprinātāja M1-2 pastiprinājums ir iestatīts = 20 un pēc tam nemainās. (Uz priekšējā paneļa tas ir uzstādīts kļūdaini).
Spriegumu mēra caur OU M1-1 sekotāju.Op-amp un Arduino ieejas shēmas ir aizsargātas ar diodēm (Zener diodes atrodas Arduino, bet es nezinu parametrus, tāpēc labāk to pārspīlēt).

LCD1602 ir izvēlēts kā indikators. Tas ir savienots ar Arduino Master. Turklāt indikatoru var savienot ar abiem Arduino, vienkārši pārslēdzot Arduino savienotājus. (Kad barošana ir izslēgta.) Savienojums ar Arduino Slave tiek parādīts ar pārtrauktu līniju (to izmantoja, rakstot programmas). Izmantojot galveno savienojumu (ar galveno) LCD1602, 4 ekrānus var parādīt, pārslēdzot slīdņa slēdža slīdni p1-p2.

1. ekrāns: no augšas pakalpojuma informācija par apmaiņu starp Arduino: C ir apmaiņu skaits starp Arduino, E ir kļūdu skaits, apmainoties ar šunta shēmu;
grunts diena - mēneša laiks.


2. ekrāns: U1, I1, šunta Nr. (0.00 apakšējā labajā pusē, rezerve)


3. ekrāns: U2, temperatūra, (gaidīšanas režīms)


4. ekrāns: iespējota SD ierakstīšana, ierakstīšanas laiks stundās, faila rindas numurs,
00- strāvas diapazona1 stāvoklis 0-normāls 1 ārpus diapazona, sprieguma diapazona1 stāvoklis, ārēja avota fiksētā jauda


Kad savienots ar Slave - 2 ekrāniem. Slēdzis p3 ļauj ierakstīt Micro Flesh atmiņā.
Strāvas padeve tiek izvēlēta 12v, lai iegūtu op-amp lineāros raksturlielumus (lai izvairītos no aizsprostojumiem diapazona malās). Tā paša iemesla dēļ tika izmantots negatīvs spriegums no formētāja KR1006VI1. Izmantojot Arduino ģeneratoru, rodas mazāk stabils spriegums. Lai ģenerētu 5 V enerģiju, tika izmantots atkāpes pārveidotājs, taču jūs varat iztikt bez tā, piegādājot + 12 V VIN Arduino Nano ieejām.
Kopīgai Arduino programmēšanai ir iespējas, jo komunikācija ar datoru ir aizņemta ar ModBus protokolu. Lai ielādētu skici vienā no Arduino, otrā jāiespējo RST atiestatīšanas signāls. Lai to izdarītu, izmantojiet džemperus Block S, Block M. Vai arī nospiediet un turiet Arduino moduļu atiestatīšanas pogas, līdz lejupielāde ir pabeigta. Tas ir mazāk ērti un ir iespēja sabojāt lejupielādi. Tā kā es plānoju paplašināt savu USB Arduino ierīci, es izvilku lietu.

Paredzēts, ka tranzistors T5 (FR024N) ir paredzēts, lai ieslēgtu / izslēgtu procesu, piemēram, akumulatora uzlādes un izlādes procesu. Kamēr tas nav iesaistīts.

Programmatūra.
Maksimāli košļājams, ka iesācēji (un arī es pats) nesāpēs un var kalpot par atsauces materiālu, bet nepretendē uz optimitāti.

Bibliotēkas un programmu kodi atrodas Izmeritel PRO.rar failā.
Skice galvenajam ModBus_Master10_SD_T_10_2. Skice verdzim ModBus-Slave10_T_UI_10_2. Pārējā bibliotēka.
Programmēts Arduino1.6.0 vidē. Tajā ir SD, LiquidCrystal un Wire bibliotēkas lejupielāde nav nepieciešama.

Laiks stundās tiek iestatīts šādi: Iestatiet reālo laiku un ielādējiet skici. Pēc tam komentējiet datuma un laika iestatīšanas līnijas un atkārtoti ielādējiet skici.

Programmas rezultāts būs laika un datuma (stundas), strāvas, sprieguma, temperatūras norādīšana LCD1602 un šo parametru ierakstīšana IZMER1.TXT failā Micro Flesh atmiņā. Failā būs šāda veida tabula:

0; 19.04.2013; 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; 19.04.2013; 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; 19.04.2013; 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; 19.04.2013; 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; 19.04.2013; 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; 19.04.2013; 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; 19.04.2013; 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; 19.04.2013; 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; 19.04.2013; 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; 19.04.2013; 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; 19.04.2013; 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; 19.04.2013; 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; 19.04.2013; 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; 19.04.2013; 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; 19.04.2013; 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 kolonnas atrodas n / a; Datums laiks ierakstīšanas laiks stundās; temperatūra izmērītais spriegums U1; izmērītā strāva I1; otrais izmērītais spriegums U2; informācija par mērīšanas diapazona iziešanu / neesamību; pakalpojumu informācija par apmaiņu skaitu starp Arduino.

Mērījumu ierakstīšanas intervāls tika izvēlēts uz 6 sekundēm, to ir viegli mainīt, aizstājot #define CYCLE_TIME_F 3000 konstantes vērtību ar citu ar formulu Tsec = Constant (ms) * 2/1000 Master.
Turklāt šo tabulu var attēlot jauku grafiku veidā.



Rakstot programmas, es izmantoju materiālus. Izsaku pateicību autoram.

Piemērots tēmai

Saistītās tēmas

Pievienojiet komentāru

    • smaidismaidaxaxalabinezinuYahoonea
      priekšniekssaskrāpētmuļķisjājā-jāagresīvsslepeni
      žēldejotdeja2deja3apžēlošanapalīdzētdzērieni
      apstātiesdraugilabilabsirdīgssvilpegulbismēle
      smēķētaplaudēkrauklispaziņodrausmīgsdon-t_mentionlejupielādēt
      karstumsdrausmīgssmieties1mdasapulcemoskingnegatīvs
      not_ipopkornssodītlasītnobiedētbiedēmeklēt
      ņurdētpaldiesšoto_clueumņikakūtapiekrītu
      sliktibēmelnā acsblum3sarktlielītiesgarlaicība
      cenzētspleasantryslepens2draudētuzvarajusun_bespectacled
      šoksrespektlolprevedlaipni gaidītikrutojsya_za
      ya_dobryipalīgsne_huliganne_othodifludsaizliegumstuvu
2 komentārs
NE555 savādi iekļaušana negatīvajā draiverī. ((
Lai līkumi varētu doties uz lauku, tiem jābūt savienotiem ar IP izvadi.
Der Arduino savām vajadzībām, protams, noderīgs bizness, bet nesen iegādāts, emisijas cena ir mazāka par 1t.r .:
UM24C specifikācijas
• displejs: 1,44 ", 128х128, krāsains, skata leņķi ir tuvu 180º
• ievades pieslēgvietas: USB tipa A vīrietis, Micro USB B tipa savienojums
• izejas ports: A tipa USB ligzda
• spriegums: 4.50-24.00V
• strāvas stiprums: 0-3 000A
• sprieguma displeja izšķirtspēja: 0,01 V
• izšķirtspējas displeja strāvas stiprums: 0,001 A
• sprieguma mērīšanas precizitāte: ± (0,2% + 1 cipars)
• pašreizējā mērīšanas precizitāte: ± (0,8% + 3 cipari)
• Qualcomm ātrās uzlādes atbalsts: QC 2.0 un QC 3.0
• 10 atmiņas šūnas izmērītās kapacitātes un enerģijas glabāšanai
• Mikro USB kabeļa pretestības mērīšanas funkcija
• Mērījumu sākuma sliekšņa manuāla izvēle: 0,00-0,30A
• temperatūras, pievienotās slodzes pretestības, jaudas parādīšana
• sprieguma un strāvas grafiku parādīšana
• sprieguma parādīšana USB porta datu līnijās, pašreizējais darbības režīms
• automātiskās izslēgšanās ekrāns: 1-9 minūtes, izslēgts
• ekrāna spilgtums: 0–5 (6 līmeņi)
• temperatūras indikācija: grādos pēc Celsija vai Fārenheita
• tiešsaistes palīdzība
• ekrāna pagriešana 90º / 180º / 270º
• bezvadu divvirzienu Bluetooth savienojums ar datoru (SPP - Serial Port Profile)
smaidi

Mēs iesakām izlasīt:

Nododiet to viedtālrunim ...