нужна помощь по ads1115

sirvlaser
Offline
Зарегистрирован: 20.02.2020

Всем привет!
Придумал я себе гемморой и в силу скудности познаний зашёл в тупик. Обрисую общую картину. Стоит у меня дома электросчетчик умный который сам показания передает в облэнерго и сам лочится по превышению нагрузки. Надоело бегать руками отключать бойлер и обогреватели когда на кухне что-то происходит из разряда приготовления пищи (газа нет, всё электрическое). Тем более что забываем часто и сидим по 3-5 мин в темноте как суслики. Увеличить мощность можно но финансово пока нет возможности. Затеял следить за нагрузкой и отрубать неприоритетную нагрузку посредством arduino pro mini на atmega328 5В а может в перспективе и на esp8266. Купил датчик тока sct-013-000. Собрал по мануалу, применил библиотеку emonlib. Как ни боролся с помехами и питанием точность получается плюс-минус трамвайная обстановка. Купил внешний ацп ads1115. Преимуществом посчитал кроме точности 16 бит собственный источник опорного напряжения, дифференциальные входы и возможность измерять отрицательное напряжение, что в сумме даёт теоретическую возможность измерять переменное напряжение, которое выдает датчик тока и отсутствие необходимости городить делитель напряжения. Вопрос только в том как измерить переменное напряжение. В теории нужно получить как можно больше сэмплов за 20 мс (частота 50гц) и посчитать среднеквадратичное значение напряжения. Так вот ВОПРОС! Как это сделать? АЦП умеет непрерывно преобразовывать сигнал и частоту дискретизации можно настроить. Только как это сделать практически — вот тут для меня тупик. В примерах к библиотеке ничего такого и близко нет. Даташит мне вообще почти ничего не сказал - смотрю в книгу вижу фигу. Нагуглить тоже ничего для чайников не удалось. Пытался втупую используя millis в цикле посчитывать значения с ацп. В итоге ардуина успевает только 3 итерации сделать за 20 мс что как бы с точностью измерений даже близко не пересекается. Направьте на путь истинный! Может есть другие более простые алгоритмы замера переменного напряжения? Вариант вернуться к emonlib и подключению датчика прямо к ардуине я уже не рассматриваю - вспыхнул спортивный интерес с внешним АЦП разобраться.

rkit
Offline
Зарегистрирован: 23.11.2016

реле приоритета нагрузки

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

DIMAX должен знать, ждёмс )

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

sirvlaser пишет:

Вопрос только в том как измерить переменное напряжение. В теории нужно получить как можно больше сэмплов за 20 мс (частота 50гц) и посчитать среднеквадратичное значение напряжения. Так вот ВОПРОС! Как это сделать? 

Ты за диодный мост с конденсатором чонить слышал? 

sirvlaser
Offline
Зарегистрирован: 20.02.2020

rkit пишет:

реле приоритета нагрузки

Это не спортивно. Хочу сделать сам с возможностью навесить в перспективе дополнительного функционала.

sirvlaser
Offline
Зарегистрирован: 20.02.2020

DetSimen пишет:

Ты за диодный мост с конденсатором чонить слышал? 

Я в электронике слабоват. Как оно с точностью получится? Мне же потом в реальный ток пересчитывать с масштабом 1 к 2000.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

sirvlaser пишет:
Я в электронике слабоват.

Вопрос снят. 

Теперь другой есть, нахрена тебе даччик на 100А?  Мощность какая разрешена? 

nik182
Offline
Зарегистрирован: 04.05.2015

Несколько вопросов. Фаза одна? Максимальная мощность или по другому какой максимальный ток ожидается? К датчику тока плата сдвига уровня прилагается? Что делать если превышен максимальный ток? Как быстро надо реагировать на превышение тока?   

Увеличение разрядности не поможет. 1115 при максимальной разрядности между точками больше 1 мс. Это в 10 раз медленнее 328.

Для реле необязательно считать RMS. Достаточно оцифровывать максимум синусоиды - через 4.7 мс после пересечения нуля 5 точек и делать усреднение, а затем накапливать 10 периодов превышения - 200 мс время срабатывания и отбрасывание пусковых токов. Своё АЦП 328 отлично справится. Точность будет не хуже Вашего счётчика.  

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

sirvlaser, переменка на ads измеряется без проблем, но,  как уже сказал nik182, он слишком медленный для этого.  Лучше б было что-то специализированное взять, тут недавно писал в аналогичной теме.

rkit
Offline
Зарегистрирован: 23.11.2016

sirvlaser пишет:
rkit пишет:

реле приоритета нагрузки

Это не спортивно. Хочу сделать сам с возможностью навесить в перспективе дополнительного функционала.

Хочешь "спортивно" - садись, читай учебник, даташиты, рисуй схему как положено, просчитывай, и делай прибор.  А ты хочешь, чтобы кто-то за тебя сделал сложную работу.

sirvlaser
Offline
Зарегистрирован: 20.02.2020

DetSimen пишет:

Теперь другой есть, нахрена тебе даччик на 100А?  Мощность какая разрешена? 

Мерить ток я собираюсь на вводе в квартиру. На данный момент ограничение 5 КВт. в перспективе хочу довести до 8 КВт. В наличии были 30А и 100А.

nik182 пишет:

Несколько вопросов. Фаза одна? Максимальная мощность или по другому какой максимальный ток ожидается? К датчику тока плата сдвига уровня прилагается? Что делать если превышен максимальный ток? Как быстро надо реагировать на превышение тока?   

Увеличение разрядности не поможет. 1115 при максимальной разрядности между точками больше 1 мс. Это в 10 раз медленнее 328.

Для реле необязательно считать RMS. Достаточно оцифровывать максимум синусоиды - через 4.7 мс после пересечения нуля 5 точек и делать усреднение, а затем накапливать 10 периодов превышения - 200 мс время срабатывания и отбрасывание пусковых токов. Своё АЦП 328 отлично справится. Точность будет не хуже Вашего счётчика.  

 

фаза одна. к датчику ничего нет. сам датчик - трансформатор тока и всё. никакого обвеса в этой версии нет. при 100А на входе даёт 50мА. параллельно датчику я поставил подстроечный многооборотный резистор. накрутил его из расчета опорного напряжения. превысить 100А нереально - счетчик не даст. как быстро реагировать - не знаю. быстрее счетчика. таких характеристик счетчика я не нашел. думал экспериментальным путем определить скорость срабатывания - чтоб быстрее счетчика но и пусковые токи двигателя стиралки и подобных вещей принять во внимание.

по остальному - спасибо, принял к сведению.

 

sirvlaser
Offline
Зарегистрирован: 20.02.2020

rkit пишет:

sirvlaser пишет:
rkit пишет:

реле приоритета нагрузки

Это не спортивно. Хочу сделать сам с возможностью навесить в перспективе дополнительного функционала.

Хочешь "спортивно" - садись, читай учебник, даташиты, рисуй схему как положено, просчитывай, и делай прибор.  А ты хочешь, чтобы кто-то за тебя сделал сложную работу.

не нужно дерзить. я не просил за меня всё делать. если бы ты внимательно читал то увидел бы что учебник я читал, даташит смотрел но ничего не понял, расчеты я не просил никого делать а рисовать схемы в простых блочных проектах считаю муторным необязательным занятием которое кроме отжирания моего личного времени ничего не дает. я задал конкретный вопрос и хотел бы получить конкретный ответ. данный раздел форума, если я ничего не путаю, позволяет глупые вопросы задавать.

rkit
Offline
Зарегистрирован: 23.11.2016

sirvlaser пишет:

учебник я читал, даташит смотрел но ничего не понял

Значит прочитай еще раз. Значит ты предыдущий учебник не читал. Спортсмены тренируются с 10 лет и до конца жизни. Давай-давай.

 

sirvlaser пишет:

считаю муторным необязательным занятием

Читал он учебник, как же. Врать не надо.

 

sirvlaser пишет:

не нужно дерзить

А когда ты свою халяву спортивным подходом называешь - это не дерзить?

sirvlaser
Offline
Зарегистрирован: 20.02.2020

dimax пишет:

sirvlaser, переменка на ads измеряется без проблем, но,  как уже сказал nik182, он слишком медленный для этого.  Лучше б было что-то специализированное взять, тут недавно писал в аналогичной теме.

спасибо, поизучаю...

sadman41
Offline
Зарегистрирован: 19.10.2016

Можно ещё просто поставить PZEM-004 или типа того.

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

sirvlaser пишет:
DetSimen пишет:

Ты за диодный мост с конденсатором чонить слышал? 

Я в электронике слабоват. Как оно с точностью получится? Мне же потом в реальный ток пересчитывать с масштабом 1 к 2000.

Присоединяюсь к вышесказанному.

Проще всего будет взять готовый модуль измерения мощьности https://aliexpress.ru/item/32842411542.html

С него сразу можно получать и напряжение и ток , текущуюю и потребленную мощность. Присоединяешь его к ардуине по serial и всех делов.

Если же очень хочется все расчеты "вручную" делать, то тогда рекомендую взять ADS1015. Он 12 битный, но работает в 4 раза быстрее 1115. И точности и скорости будет достаточно для данной задачи.

sirvlaser
Offline
Зарегистрирован: 20.02.2020

pzem-004t это выход! Спасибо за наводку!
Наверное так и поступлю. Но! Как бы не дул щеки товарищ rkit, но спортивный интерес не пропал и вопрос остался не раскрытым по ads1015/1115. Может всё же расскажет кто-нибудь простыми словами как работать с непрерывным преобразованием? Как настроить модуль я догадываюсь. А дальше? Как считывать с модуля данные в этом режиме?

sadman41
Offline
Зарегистрирован: 19.10.2016

Рассмотрите и такой вариант. У него разъёмный трансформатор (нет нужды откручивать провода от автоматов/счётчиков. USB-шнурок практически бесполезен, не стоит за ним охотится.
https://s.click.aliexpress.com/e/_eLKxXZ

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

sirvlaser пишет:
вопрос остался не раскрытым по ads1015/1115. Может всё же расскажет кто-нибудь простыми словами как работать с непрерывным преобразованием? Как настроить модуль я догадываюсь. А дальше? Как считывать с модуля данные в этом режиме?

Ну во-первых, если использовать ADS1015 то потребуются их 2 штуки один для измерения тока, второй для напряжения. Да у него 4 канала, но быстродействия не хватит.

Дальше меряешь ток и напряжени и считаешь среднеквадратичное по выборкам.

sirvlaser
Offline
Зарегистрирован: 20.02.2020

sadman41 пишет:
Рассмотрите и такой вариант. У него разъёмный трансформатор (нет нужды откручивать провода от автоматов/счётчиков. USB-шнурок практически бесполезен, не стоит за ним охотится.
https://s.click.aliexpress.com/e/_eLKxXZ

Спасибо, но мне этот вариант не очень. Полезного функционала сравнительно с голой платой для меня ноль, да и удобства в виде разъемного трансформатора мне не нужны. А цена в 2.5 раза выше pzem-004t.

sirvlaser
Offline
Зарегистрирован: 20.02.2020

asam пишет:

sirvlaser пишет:
вопрос остался не раскрытым по ads1015/1115. Может всё же расскажет кто-нибудь простыми словами как работать с непрерывным преобразованием? Как настроить модуль я догадываюсь. А дальше? Как считывать с модуля данные в этом режиме?

Ну во-первых, если использовать ADS1015 то потребуются их 2 штуки один для измерения тока, второй для напряжения. Да у него 4 канала, но быстродействия не хватит.

Дальше меряешь ток и напряжени и считаешь среднеквадратичное по выборкам.

Я не энергомонитор собираю. Напряжение и мощность мне побоку. Мне интересен исключительно ток. И вопрос уже стоит не по измерениям тока а по логике работы АЦП ads1015/1115 вцелом, в частности интересно непрерывное преобразование. По остальным режимам работы полно информации а по этому режиму я ничего не нашел.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

sirvlaser пишет:
рисовать схемы в простых блочных проектах считаю муторным необязательным занятием которое кроме отжирания моего личного времени ничего не дает.

О как!

Ну, что ж, делать за Вас Вашу работу "считаю муторным необязательным занятием которое кроме отжирания моего личного времени ничего не дает".

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

sirvlaser пишет:

Я не энергомонитор собираю. Напряжение и мощность мне побоку. Мне интересен исключительно ток. И вопрос уже стоит не по измерениям тока а по логике работы АЦП ads1015/1115 вцелом, в частности интересно непрерывное преобразование. По остальным режимам работы полно информации а по этому режиму я ничего не нашел.

Как "не нашел"? В даташите все ж описано.

Continuous-Conversion Mode In continuous-conversion mode (MODE bit set to 0), the ADS101x perform conversions continuously. When a conversion is complete, the ADS101x place the result in the Conversion register and immediately begin another conversion

Ну а что бы вовремя измереные данные забрать надо сдеалть что б по концу измерения прерывания генерировались

 The ALERT/RDY pin can also be configured as a conversion ready pin. Set the most-significant bit of the Hi_thresh register to 1 and the most-significant bit of Lo_thresh register to 0 to enable the pin as a conversion ready pin.

nik182
Offline
Зарегистрирован: 04.05.2015

Попробуйте, что будет выдавать программа 

#define nt 179 

int i,j, ia[nt];
unsigned long ts, te , tm , s , arms ;
float rms;

void setup() {
  Serial.begin(115200);
}

void loop()
{
  ts = micros();
  for (i = 0; i < nt; i++) {ia[0] = analogRead(A0);}; 
  te = micros() - ts;
  ts = micros();
  s=0;
  for (i = 0; i < nt; i++) s+=ia[i];
  j=s/nt;
  for (i = 0; i < nt; i++) ia[i]=ia[i]-j;
  arms=0;
  for (i = 0; i < nt; i++) arms+=ia[i]*ia[i];
  rms=sqrt(arms/nt);
  tm= micros() - ts;  
 
  Serial.print(rms,0);
  Serial.print("   ");
  Serial.print(te);
  Serial.print("   ");
  Serial.println(tm);
  
  delay(500);
}

трансформатор должен быть подключен к А0 по схеме , при этом сам трансформатор должен быть замкнут сопротивлением 50 Ом. 

У меня нана на 328 и 16МГц. Трансформатора нет. Программа выдает значение RMS на входе А0 , время оцифровки и время расчёта RMS. Два устойчивых значения - держал палец и отпустил - RMS наводки в разных условиях. Оцифровка 20 мс - один период сети.  

4898   20056   832
4898   20056   828
4896   20048   824
4896   20060   828
157   20060   828
157   20056   828
157   20048   828
 
asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

nik182 пишет:

Попробуйте, что будет выдавать программа 



  for (i = 0; i < nt; i++) {ia[0] = analogRead(A0);}; 
 

Что то я не понимаю как она может что-то осмысленное выдавать если все измерения, кроме последнего, херятся?

sirvlaser
Offline
Зарегистрирован: 20.02.2020

asam пишет:

sirvlaser пишет:

Я не энергомонитор собираю. Напряжение и мощность мне побоку. Мне интересен исключительно ток. И вопрос уже стоит не по измерениям тока а по логике работы АЦП ads1015/1115 вцелом, в частности интересно непрерывное преобразование. По остальным режимам работы полно информации а по этому режиму я ничего не нашел.

Как "не нашел"? В даташите все ж описано.

Continuous-Conversion Mode In continuous-conversion mode (MODE bit set to 0), the ADS101x perform conversions continuously. When a conversion is complete, the ADS101x place the result in the Conversion register and immediately begin another conversion

Ну а что бы вовремя измереные данные забрать надо сдеалть что б по концу измерения прерывания генерировались

 The ALERT/RDY pin can also be configured as a conversion ready pin. Set the most-significant bit of the Hi_thresh register to 1 and the most-significant bit of Lo_thresh register to 0 to enable the pin as a conversion ready pin.

Спасибо! С русским комментом стало понятнее. Я ж говорю - смотрю в книгу вижу фигу.

nik182
Offline
Зарегистрирован: 04.05.2015

Лоханулся. Пробовал 1000 раз оцифровать, что бы время оцифровки оценить. 0 вписал что бы массивом память не гробить. После восстановления i результат пальцевого теста

122   20056   820
121   20048   824
120   20064   824
119   20052   820
121   20048   824
16   20048   824
16   20052   828
16   20048   824
16   20060   828
16   20056   824
14   20056   820
 

 

sirvlaser
Offline
Зарегистрирован: 20.02.2020

nik182 пишет:

Попробуйте, что будет выдавать программа 

#define nt 179 

int i,j, ia[nt];
unsigned long ts, te , tm , s , arms ;
float rms;

void setup() {
  Serial.begin(115200);
}

void loop()
{
  ts = micros();
  for (i = 0; i < nt; i++) {ia[0] = analogRead(A0);}; 
  te = micros() - ts;
  ts = micros();
  s=0;
  for (i = 0; i < nt; i++) s+=ia[i];
  j=s/nt;
  for (i = 0; i < nt; i++) ia[i]=ia[i]-j;
  arms=0;
  for (i = 0; i < nt; i++) arms+=ia[i]*ia[i];
  rms=sqrt(arms/nt);
  tm= micros() - ts;  
 
  Serial.print(rms,0);
  Serial.print("   ");
  Serial.print(te);
  Serial.print("   ");
  Serial.println(tm);
  
  delay(500);
}

трансформатор должен быть подключен к А0 по схеме , при этом сам трансформатор должен быть замкнут сопротивлением 50 Ом. 

У меня нана на 328 и 16МГц. Трансформатора нет. Программа выдает значение RMS на входе А0 , время оцифровки и время расчёта RMS. Два устойчивых значения - держал палец и отпустил - RMS наводки в разных условиях. Оцифровка 20 мс - один период сети.  

4898   20056   832
4898   20056   828
4896   20048   824
4896   20060   828
157   20060   828
157   20056   828
157   20048   828
 


Напрямую к ардуине я подключал. Делало вид что работало. Меня не устроила точность. Присутствовала какая-то нелинейность. Пытался бороться с помехами, с опорным напряжением, запутался, дезориентировался и решил пойти другим путем.

nik182
Offline
Зарегистрирован: 04.05.2015

Нелинейность убирается замыканием трансформатора резистором 50 Ом. Точность будет отличная. Попробуйте. Сравните.

sirvlaser
Offline
Зарегистрирован: 20.02.2020

nik182 пишет:

Нелинейность убирается замыканием трансформатора резистором 50 Ом. Точность будет отличная. Попробуйте. Сравните.


Замыкание это как? Я подключал по этой схеме https://arduino.ua/images/articles/_Ac-curr-sens_09.JPG
Куда предлагаете резистор поставить?

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

nik182 пишет:

Лоханулся. Пробовал 1000 раз оцифровать, что бы время оцифровки оценить. 0 вписал что бы массивом память не гробить. После восстановления i результат пальцевого теста

 
 
А зачем массив? Смещение 0 же не меняетсяю. Померять и посчитать его в сетапе. А дальше сразу в каждом измерении суммировать квадраты без всяких массивов. А измерения надо делать во FreeRunning mode
nik182
Offline
Зарегистрирован: 04.05.2015

Сначала надо вычесть постоянную составляющую. Нужно собрать массив, посчитать среднее и его вычесть. Или надо брать АЦП которое цифрует от -5 до 5 вольт, тогда да можно не вычитать. Но RMS всё равно надо считать как корень из суммы квадратов ровно за время кратное периоду. Всё равно надо массив собирать.

На этой схеме трансформатор на 30А. У него внутри уже стоит резистор. Вам нужно на выводы трансформатора повесить свой резистор 50 Ом. Без резистора на любом АЦП будет нелинейность. 

 

 

  

rkit
Offline
Зарегистрирован: 23.11.2016

nik182 пишет:

У него внутри уже стоит резистор. Вам нужно на выводы трансформатора повесить свой резистор 50 Ом. Без резистора на любом АЦП будет нелинейность. 

Ох уж производители - поставили в трансформатор резистор меньше нужного на 50 ом, чтобы кровушку клиенту попить. Ловко придумали.

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

nik182 пишет:

Сначала надо вычесть постоянную составляющую. Нужно собрать массив, посчитать среднее и его вычесть. Или надо брать АЦП которое цифрует от -5 до 5 вольт, тогда да можно не вычитать. 

Повторяю, смещение нуля (постоянная состовляющая) от времени не меняется. Ее можно один раз промерять на нескольких периоодах, а потом уже использовать в вычислениях, не делая это каждый раз заново. 

 

 

Цитата:
Но RMS всё равно надо считать как корень из суммы квадратов ровно за время кратное периоду. Всё равно надо массив собирать.

Ну и считай за время кратное периоду. Массив то зачем? 

nik182
Offline
Зарегистрирован: 04.05.2015

rkit пишет:

Ох уж производители - поставили в трансформатор резистор меньше нужного на 50 ом, чтобы кровушку клиенту попить. Ловко придумали.

Вот сейчас не понял. Они там 62 Ома поставили, а здесь вообще не поставили. Вот я и ни как не пойму Чего они тут поставили меньше 50? Вообще на 50 Омах при 100 амперах размах на входе АЦП будет 7 вольт. Я так прикинул, что 50 Ом при токах ТС как раз почти полную разрядность АЦП попадёт.  

nik182
Offline
Зарегистрирован: 04.05.2015

asam пишет:

...Ну и считай за время кратное периоду. Массив то зачем? 

Согласен с возможностью такого решения. Наверно это просто привычка. Собрать массив данных, обработать. Не вносить в текущие данные ошибки предыдущих вычислений. Массивы не мешают. Можно написать по другому. Напиши, сравним результат. Думаю будет похожий результат. 

rkit
Offline
Зарегистрирован: 23.11.2016

nik182 пишет:

Вот сейчас не понял. Они там 62 Ома поставили, а здесь вообще не поставили. Вот я и ни как не пойму Чего они тут поставили меньше 50? Вообще на 50 Омах при 100 амперах размах на входе АЦП будет 7 вольт. Я так прикинул, что 50 Ом при токах ТС как раз почти полную разрядность АЦП попадёт.  

А в предыдущем сообщении 50 ом нужны были для устранения нелинейности. Теперь вот для измерения 100 ампер в бытовой сети. Час от часу не меньше.

sirvlaser
Offline
Зарегистрирован: 20.02.2020

nik182 пишет:

Сначала надо вычесть постоянную составляющую. Нужно собрать массив, посчитать среднее и его вычесть. Или надо брать АЦП которое цифрует от -5 до 5 вольт, тогда да можно не вычитать. Но RMS всё равно надо считать как корень из суммы квадратов ровно за время кратное периоду. Всё равно надо массив собирать.

На этой схеме трансформатор на 30А. У него внутри уже стоит резистор. Вам нужно на выводы трансформатора повесить свой резистор 50 Ом. Без резистора на любом АЦП будет нелинейность. 

 

 

  


Блин. С телефона не рассмотрел. Датчик у меня без резистора внутри, а там где вы нарисовали резистор у меня стоит подстроечный накрученный так чтоб при максимально допустимом измеряемом токе напряжение на трансформаторе не было больше опорного напряжения. Я пришел к тому что при отсутствии напряжения на измеряемом проводе датчик что-то да показывал. Полностью победить эту проблему не не удалось. Какой либо калибровочный коэффициент определить не удалось в виду разброса от этой помехи. Она то была то нет. Плюс я не был уверен в стабильности опорного напряжения. Плюс нелинейность. Если по 100 Вт лампочке я устанавливал 100 Вт показаний то на 60Вт я 60 уже не получал. Свести к какому-то минимуму погрешность измерения мне удалось но этот минимум меня не устроил. Решил что АЦП с минимумом обвеса датчика решит мою проблему.

nik182
Offline
Зарегистрирован: 04.05.2015

rkit пишет:

А в предыдущем сообщении 50 ом нужны были для устранения нелинейности. Теперь вот для измерения 100 ампер в бытовой сети. Час от часу не меньше.

Не вижу противоречия. Без резистора напряжение на входе АЦП формируется во большом входном сопротивлении и быстро превышает 5 вольт , после чего  открываются защитные диоды и входные цепи становятся вообще непонятными. Линейностью измерений в диапазоне до 100 А здесь не пахнет. Резистор загоняет переменную составляющую в рамки допустимых измеряемых АЦП напряжений. Выбрав номинал это резистора можно подгонять максимальное измеряемое значение тока.  

nik182
Offline
Зарегистрирован: 04.05.2015

Лампочками нельзя откалиброваться. Они никогда не соответствуют номиналу. Нужно брать приборы и смотреть.  

sirvlaser
Offline
Зарегистрирован: 20.02.2020

nik182 пишет:

rkit пишет:

А в предыдущем сообщении 50 ом нужны были для устранения нелинейности. Теперь вот для измерения 100 ампер в бытовой сети. Час от часу не меньше.

Не вижу противоречия. Без резистора напряжение на входе АЦП формируется во большом входном сопротивлении и быстро превышает 5 вольт , после чего  открываются защитные диоды и входные цепи становятся вообще непонятными. Линейностью измерений в диапазоне до 100 А здесь не пахнет. Резистор загоняет переменную составляющую в рамки допустимых измеряемых АЦП напряжений. Выбрав номинал это резистора можно подгонять максимальное измеряемое значение тока.  


Так! Давайте проясним! Датчик который у меня это просто трансформатор тока с разъемным сердечником в корпусе и припаяным проводом. Никаких резисторов внутри нет. Производитель заявляет что при 100А на измеряемом проводнике трансформатор выдает 50мА тока. Тоесть трансформатор имеет 2000 витков. Чтоб измерить ток на трансформаторе нужен нагрузочный резистор. Резистор подбирается так чтоб напряжение не выходило за пределы опорного напряжения АЦП, что я и сделал подстроечный резистором.

sirvlaser
Offline
Зарегистрирован: 20.02.2020

nik182 пишет:

Лампочками нельзя откалиброваться. Они никогда не соответствуют номиналу. Нужно брать приборы и смотреть.  


Беда в том что из приборов у меня только дешёвый китайский мультиметр был, который не умеет мерить переменный ток и как позже оказалось брешет безбожно. Сейчас уже купил другой чуть получше но веры ему тоже сильно нет. Разница между ним и ads1115 при замере пальчиковой батарейки в 0.2В и мерить переменный ток он тоже не умеет.

rkit
Offline
Зарегистрирован: 23.11.2016

nik182 пишет:

Не вижу противоречия. Без резистора напряжение на входе АЦП формируется во большом входном сопротивлении и быстро превышает 5 вольт , после чего  открываются защитные диоды и входные цепи становятся вообще непонятными. Линейностью измерений в диапазоне до 100 А здесь не пахнет. Резистор загоняет переменную составляющую в рамки допустимых измеряемых АЦП напряжений. Выбрав номинал это резистора можно подгонять максимальное измеряемое значение тока.  

Трансформатор всегда нелинейный. Всегда. Никаким ни резистором, ни реле на оптопаре, ни еще какой глупой припаркой "у меня работает" этого исправить нельзя. Потому что 1. собственная индуктивность 2. магнитный гистерезис 3. внутреннее сопротивление.

nik182
Offline
Зарегистрирован: 04.05.2015

rkit пишет:

Трансформатор всегда нелинейный. Всегда. Никаким ни резистором, ни реле на оптопаре, ни еще какой глупой припаркой "у меня работает" этого исправить нельзя. Потому что 1. собственная индуктивность 2. магнитный гистерезис 3. внутреннее сопротивление.

Извини, но вот тут не могу согласиться. Пока не загнулась характеристика намагничивания  железа отличить передаточную характеристику трансформатора от линейной очень трудно. По крайней мере ошибка от всех тобой перечисленных источников погрешности меньше, чем ошибка измеряющих приборов. Да, трансформатор всегда не линейный, но измерительные трансформаторы тока начинаются классом от 0.1 и это во всём диапазоне тока от 0 до 120% номинального тока. Будем зануду включать? 

Резистор нужен, что бы АЦП мог оцифровать необходимый диапазон. ТТ выдаёт ток. АЦП измеряет напряжение. Если напряжение выйдет за пределы возможностей АЦП линейность измерений будет нарушена.  

nik182
Offline
Зарегистрирован: 04.05.2015

sirvlaser][quote=nik182 пишет:

 Так! Давайте проясним! Датчик который у меня это просто трансформатор тока с разъемным сердечником в корпусе и припаяным проводом. Никаких резисторов внутри нет. Производитель заявляет что при 100А на измеряемом проводнике трансформатор выдает 50мА тока. Тоесть трансформатор имеет 2000 витков. Чтоб измерить ток на трансформаторе нужен нагрузочный резистор. Резистор подбирается так чтоб напряжение не выходило за пределы опорного напряжения АЦП, что я и сделал подстроечный резистором.

Напряжение должно. Но должно быть меньше. Если синус 5 вольт, то размах мин - мах 14 вольт. У Вас АЦП имеет 5 вольт , по этому максимальное измеренное напряжение на выводах трансформатора при максимальном токе должно быть 1.79 переменного тока. Если будет больше, то при токе меньшем максимального произойдёт ограничение по АЦП и выходной результат войдёт в нелинейную зону.        

rkit
Offline
Зарегистрирован: 23.11.2016

nik182 пишет:

измерительные трансформаторы тока начинаются классом от 0.1 и это во всём диапазоне тока от 0 до 120% номинального тока

Фантазируй больше. У этого конкретного трансформатора подгрешность заявлена +-3% в диапазоне 10-100А. За пределами еще больше, соответственно.

nik182
Offline
Зарегистрирован: 04.05.2015

Ты опять на личности переходишь. Где фантазии? Опять за меня домысливаешь? Покажи мне , где я написал что этот трансформатор имеет класс 0.1? Я обсуждал с тобой линейность измерительных трансформаторов. Она достаточна, чтобы измерительные трансформаторы использовались в коммерческих целях. Все перечисленные тобой источники погрешности малы и нет смысла на них заморачиваться. Открой любой каталог измерительных ТТ и убедись в наличии ТТ класса 0.1

Duino A.R.
Offline
Зарегистрирован: 25.05.2015

sirvlaser пишет:
nik182 пишет:

Лампочками нельзя откалиброваться. Они никогда не соответствуют номиналу. Нужно брать приборы и смотреть.  

Беда в том что из приборов у меня только дешёвый китайский мультиметр был, который не умеет мерить переменный ток и как позже оказалось брешет безбожно. Сейчас уже купил другой чуть получше но веры ему тоже сильно нет. Разница между ним и ads1115 при замере пальчиковой батарейки в 0.2В и мерить переменный ток он тоже не умеет.

sirvlaser, задушите земноводное и купите нормальный мультиметр, так, чтобы ток измерял до 20 А и обязательно "True RMS". Что-нибудь типа такого https://supereyes.ru/catalog/Multimeters/multimetr_peakmeter_pm890d_tsif...

Он Вам ещё неоднократно сможет пригодиться и не только в этом проекте. При правильном применении многие вопросы сами отпадут.

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Если жабу полностью придушить сложно,то можно взять такой - https://aliexpress.ru/item/32950583438.html

Он имеет на борту тот же чип, что и многие FLUKE. Так что меряет он хорошо. Конечно, там на всем другом экономили как могли - переключатель, высоковольтная защита, итп итд. То есть для ежедневного применения не очень подходит, может развалиться относительно быстро. Но для бытового использования замечательная вещь.