» конци » Съвети »Метро-скоба ток в широк диапазон, напрежение и температура

Уред за измерване на ток, напрежение и температура с широк обхват

Цел:
За измерване и фиксиране във времето на флаш памет на дълги процеси, изразени в ток и напрежение, като заряд - разреждане на батерии и батерии. Възможно е едновременно да се фиксира температурата.

Параметри на входния сигнал:
ток I = 25mka - 2a
напрежение U = 0 - 5V
температура t = -30 - + 120gС
времето се определя от вътрешния вграден кварцов часовник

Захранване:
от източника 12v / 0.3a
Консумирам <70ma

строителство:
Глюкомерът е сглобен на два модула Arduino Nano свързан чрез протокол ModBus, вижте диаграмата. Един Arduino е монтиран на щранг с клеми. Модулите са свързани чрез конектори. Проводниците и самите модули са изолирани от термокамерални неизправности.

Входните сигнали се подават чрез винтови клеми

На предния панел има течнокристален индикатор на измерените параметри и светодиоди, показващи превключването на диапазон или извън обхват.

Глюкомерът е сглобен в корпус 145x85x40.
Температурният сензор се осъществява през конектора. Предаването на сигнала се организира по двужилна линия. Захранващ резистор в конектора.

За по-лесно програмиране, USB конекторите на Arduino са външни.






схема

Схемата може да бъде изтеглена от файл Izmeritel.rar

Двама Arduino бяха избрани по две причини: Arduino Nano бяха налични и не бяха достатъчни за една памет и се планира допълнително добавяне на сензори. В допълнение исках да овладея асоциацията Arduino, за това беше избран мрежовият протокол ModBus. ModBus дефинира един главен процесор - Master и няколко подчинени - Slave. В тази работа има един Slave, върху него измерването на температура, напрежение и ток. На Master - часовник и запис към файл. Паметта на плътта трябва да е по-малка от 4 GB и форматирана във FAT.

Тъй като беше планирано да се измерват токове от μA до A, токовете се измерват в 4 диапазона (виж таблицата за диапазоните), Slave Arduino следи прехода от един диапазон в друг, образувайки съответния код на шунт за текущия измерен ток от M1-2. Когато наближавате границата на обхвата, следващият диапазон е включен, тоест текущият ключ от T1-1 --- T2-2 е изключен, а следващият - включен. В този случай максималният шунт = 100ohm е постоянно включен. Ако в диапазона има излишък от стойността, светодиодите D8, D9 светват.

Разделяне на измерването на тока на диапазони
Uout_max = 5v KusOU = 20 Δ = Ish / 1024

Коефициентът на усилване на операционния усилвател M1-2 е зададен = 20 и след това не се променя. (На предния панел е монтиран погрешно).
Напрежението се измерва чрез последовател на OU M1-1.Входните вериги на усилвателя и Arduino са защитени от диоди (ценерови диоди са в Arduino, но не знам параметрите, затова е по-добре да прекалите).

LCD1602 е избран като индикатор. Той е свързан с майстора на Ардуино. Освен това индикаторът може да бъде свързан и към двата Arduino чрез просто превключване на Arduino конекторите. (Когато захранването е изключено.) Връзката с Arduino Slave се показва с пунктирана линия (която се използва при писане на програми). С основната връзка (към главния) на LCD1602, 4 екрана могат да бъдат показани чрез превключване на плъзгача на плъзгащия превключвател p1-p2.

Екран1: отгоре служебната информация на обмена между Arduino: C е броят на обмена между Arduino, E е броят на грешките по време на размяната на Sh-No. на шунта;
дънен ден - месечен час.


Екран2: U1, I1, номер на шунта, (0,00 долния десен резерв)


Екран3: U2, температура, (ui-standby)


Екран 4: Активирано запис на SD, време за запис в часове, номер на ред във файла,
00 - състояние на токов диапазон1 0-нормално 1-извън обхвата, състояние на напрежение1, фиксирана мощност на външен източник


Когато сте свързани с Slave - 2 екрана. Превключвателят p3 позволява запис в паметта на Micro Flesh.
Захранването е избрано 12 V, за да се получат линейни характеристики на усилвателя (за да се избегнат блокажи в краищата на обхвата). По същата причина е използвано отрицателно напрежение от оформящия при KR1006VI1. Използването на генератор Arduino произвежда по-малко стабилно напрежение. За генериране на 5V мощност е използван понижаващ преобразувател, но можете да го направите без да доставяте + 12V на входовете на VIN Arduino Nano.
Съвместното програмиране Arduino има функции, тъй като комуникацията с компютъра е заета с протокола ModBus. За да заредите скица в една от Arduino, от другата трябва да активирате RST сигнала за нулиране. За да направите това, използвайте джъмперите Block S, Block M. Или натиснете и задръжте бутоните за нулиране на модулите Arduino, докато изтеглянето приключи, което е по-малко удобно и има шанс да повредите изтеглянето. Тъй като смятам да разширя USB устройството си Arduino, извадих случая.

Транзисторът T5 (FR024N) трябва да се използва за включване / изключване на процес, например зарядно-разреждане на батерия. Докато тя не участва.

Софтуер.
Максимално се дъвче, че начинаещите (и аз самият) няма да наранят и могат да служат като ориентир, но не претендират за оптималност.

Библиотеките и програмните кодове се намират във файла Izmeritel PRO.rar.
Скица за главния ModBus_Master10_SD_T_10_2. Скица за подчинен ModBus-Slave10_T_UI_10_2. Останалата част от библиотеката.
Програмиран в средата на Arduino1.6.0. Той съдържа библиотеки SD, LiquidCrystal, Wire не е необходимо да се изтеглят.

Времето в часове се задава в Setup както следва. Задайте реалното време и заредете скицата. След това коментирайте редовете за определяне на дата и час и презаредете скицата.

Резултатът от програмата ще бъде посочване на час и дата (часове), ток, напрежение, температура на LCD1602 и записването на тези параметри във файла IZMER1.TXT в паметта на Micro Flesh. Файлът ще съдържа таблица от този вид:

0; 04.13.2019; 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; С = 762
1; 04.13.2019; 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; С = 788
2; 04.13.2019; 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; С = 813
3; 04.13.2019; 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; С = 839
4; 04.13.2019; 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; С = 864
5; 04.13.2019; 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; С = 890
6; 04.13.2019; 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; С = 915
7; 04.13.2019; 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; С = 941
8; 04.13.2019; 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; С = 966
9; 04.13.2019; 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; С = 992
10; 04.13.2019; 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; С = 1017
11; 04.13.2019; 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; С = 1043
12; 04.13.2019; 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; С = 1068
13; 04.13.2019; 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; С = 1094
14; 04.13.2019; 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; С = 1119

където колоните са разположени n / a; дата; време; време за запис в часове; температура; измерено напрежение U1; измерен ток I1; второто измерено напрежение U2; информация за изхода / отсъствието на обхвата на измерване; служебна информация за броя на борсите между Arduino.

Интервалът на запис на измерване е избран за 6 секунди, лесно е да го промените, като замените стойността на константата #define CYCLE_TIME_F 3000 с друга с формулата Tsec = Constant (ms) * 2/1000 в Master.
Освен това тази таблица може да бъде представена под формата на хубави графики.



Когато пишех програми, използвах материали. Изказвам своята благодарност на автора.

Подходящ за тема

Свързани теми

Добавете коментар

    • усмихвамусмивкиxaxaдобреdontknowYahooНеа
      шефдраскотинаглупакдаДа-даагресивентайна
      съжалявамтанцувамdance2dance3извинениепомощнапитки
      спиркаприятелидобърgoodgoodсвиркаприпадамезик
      димплясканеCrayдеклариратподигравателендон-t_mentionизтегляне
      топлинасърдитlaugh1MDAсрещаmoskingотрицателен
      not_iпуканкинаказвамчетаплашаплашитърсене
      присмехthank_youтоваto_clueumnikостърСъгласен
      лошоbeeeblack_eyeblum3изчервяванесамохвалствоскука
      цензурираншегаsecret2заплашвампобедаюsun_bespectacled
      ShokРеспектхахаprevedдобре дошълkrutoyya_za
      ya_dobryiпомощникne_huliganne_othodifludзабранаблизо
2 коментари
Странно включване на NE555 в отрицателния драйвер. ((
За да може меандърът да отиде в полето, те трябва да бъдат свързани към IP изхода.
годни Arduino това със сигурност е полезен бизнес за собствените нужди, но наскоро придобити, цената на изданието е по-малко от 1т.р.
UM24C спецификации
• дисплей: 1,44 ", 128х128, цвят, ъгли на видимост са близки до 180º
• входни портове: USB тип A мъжки, Micro USB тип B женски
• изходен порт: USB тип A женски
• напрежение: 4,50-24,00V
• сила на тока: 0-3.000A
• разделителна способност на дисплея на напрежение: 0,01 V
• сила на тока на дисплея с разделителна способност: 0,001A
• точност на измерване на напрежението: ± (0,2% + 1 цифра)
• точност на измерване на тока: ± (0.8% + 3 цифри)
• Поддръжка за бързо зареждане на Qualcomm: QC 2.0 и QC 3.0
• 10 клетки памет за съхранение на измерения капацитет и енергия
• Функция за измерване на съпротивлението на микро USB кабела
• ръчен избор на началния праг на измерване: 0.00-0.30A
• показване на температура, устойчивост на свързания товар, мощност
• показване на графики за напрежение и ток
• индикация на напрежение в линии за данни на USB порта, текущ режим на работа
• екран за автоматично изключване на захранването: 1-9 минути, изключен
• яркост на екрана: 0-5 (6 нива)
• температурен дисплей: в градуси по Целзий или по Фаренхайт
• онлайн помощ
• завъртане на екрана 90º / 180º / 270º
• безжична двупосочна Bluetooth връзка към компютър (SPP - Профил на сериен порт)
усмихвам

Съветваме ви да прочетете:

Предайте го за смартфона ...