Arduino измерение переменного тока

Arduino измерение переменного тока

Общие сведения:

Trema-модуль Датчик тока — это аналоговый модуль, позволяющий определять силу как постоянного, так и переменного тока до 5А. Для определения силы тока протекающего по исследуемой цепи, нужно один из её проводов подключить через клеммник на плате модуля. Потенциал на выходе модуля «S» (Signal) будет меняться в соответствии с направлением и силой измеряемого тока.

Видео:

Спецификация:

  • Чип ACS712ELCTR-05B-T.
  • Питание модуля: 5 В постоянного тока.
  • Измеряемый постоянный ток: ±5 А.
  • Измеряемый переменный ток:

5 А.

  • Максимальное напряжение исследуемой цепи: 300 В.
  • Частота измеряемого переменного тока: до 60 Гц.
  • Сопротивление между выводами клеммника: 1,2 мОм.
  • Потенциал на выходе «S» при отсутствии измеряемого тока: Vcc/2 В.
  • Чувствительность модуля: 130,7 мВ/A. (Ток в 1 А смещает потенциал выхода «S» на 130,7 мВ).
  • Рабочая температура: -40 . 85 °C.
  • Габариты модуля 30×30 мм.
  • Все модули линейки "Trema" выполнены в одном формате

    Подключение:

    Trema-модуль Датчик тока (5А) является аналоговым модулем, а значит его выход «S» (Signal) подключается к любому аналоговому входу Arduino.

    В комплекте имеется кабель для быстрого и удобного подключения модуля к Trema Shield .

    Модуль удобно подключать 3 способами, в зависимости от ситуации:

    Способ — 1 : Используя проводной шлейф и Piranha UNO

    Используя провода «Папа — Мама», подключаем напрямую к контроллеру Piranha UNO

    Способ — 2 : Используя Trema Set Shield

    Модуль можно подключить к любому из аналоговых входов Trema Set Shield.

    Способ — 3 : Используя проводной шлейф и Shield

    Используя 3-х проводной шлейф, к Trema Shield, Trema-Power Shield, Motor Shield, Trema Shield NANO и тд.

    Питание:

    Входное напряжение питания 5 В постоянного тока, подаётся на выводы «V» (Vcc) и «G» (GND) модуля.

    Подробнее о модуле:

    Trema-модуль Датчик тока (5А) построен на базе чипа ACS712 (Analog Current Sensor). Выводы чипа подключённые к клеммнику модуля соединены внутри чипа медной дорожкой, расположенной вблизи датчика Холла. При наличии тока протекающего по этой медной дорожке, генерируемое им магнитное поле, воспринимается датчиком Холла и преобразуется в напряжение на выходе чипа, пропорциональное силе тока. Таким образом выводы подключаемые к исследуемой цепи (ток которой измеряется) электрически изолированы от выхода и шины питания модуля. Для улучшения соотношения сигнал-шум, на выходе Trema модуля установлен RC-фильтр.

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

    Ток протекающий через клеммы Trema-модуля Датчик тока (5А) генерирует магнитное поле, которое воспринимается датчиком Холла и преобразуется в напряжение на выходе «S» модуля, пропорциональное силе и направлению измеряемого тока.

    Для работы с модулем предлагаем воспользоваться библиотекой iarduino_ACS712, в которой реализовано по 4 функции для работы с постоянным и переменным током:

    • 4 функции для работы с постоянным током: setZeroVDC(), getZeroVDC(), readDC(), calibrationDC().
    • 4 функции для работы с переменным током: setZeroVAC(), getZeroVAC(), readAC(), calibrationAC().
    Читайте также:  Бензопила штиль 180 официальный дилер

    Перечисленные функции идентичны по назначению и отличаются лишь окончанием DC (для постоянного тока) / AC (для переменного тока).

    Чтение силы тока осуществляется вызовом функции readDC() или readAC(), например, float i = readDC() // прочитать силу постоянного тока в переменную i. Функция не только возвращает силу тока в амперах, но и автоматически сглаживает выводимые показания (чем чаще вызывается функция, тем сильнее сглаживание показаний — показания меняются плавнее).

    Если показания возвращаемые функцией readDC() или readAC() отличаются от реально измеренных, то их можно откорректировать вызвав функцию calibrationDC() или calibrationAC(), с параметром в виде числа от 0 до 1023 (по умолчанию 511). Данная функция удобна если для корректировки показаний датчика тока используется подстроечный резистор, подключённый к свободному аналоговому входу Arduino, показание АЦП которой как раз лежат в диапазоне от 0 до 1023. Например, calibrationDC(analogRead(A5)); // Показания возвращаемые функцией readDC() корректируются потенциометром подключённым к выводу A5.

    Напряжение на выходе модуля «S» может измениться при подключении модуля к цепи измеряемого тока, даже если цепь обесточена. На это могут повлиять такие факторы как: токи утечки, электромагнитные и магнитные поля создаваемые другими цепями, или устройствами, намагниченные предметы вблизи модуля и т.д. Значит, перед началом работы с модулем, нужно указать напряжение на выходе «S» которое соответствует отсутствию тока в подключённой цепи. Это напряжение указывается через функцию setZeroVDC() или setZeroVAC(), например, setZeroVDC(2.5); // напряжение на выходе модуля при отсутствии измеряемого постоянного тока соответствует значению 2,5 В. Так же эта функция может быть использована если Вам требуется измерить не реальное значение тока, а отклонение показаний от требуемой силы тока.

    Получить среднее значение напряжения на выходе «S» модуля можно вызвав функцию getZeroVDC() или getZeroVAC(), например, float i = getZeroVDC(); // сохранить среднее значение напряжения в переменную i. Функция вернёт усреднённое напряжение в вольтах на выходе модуля, которое соответствует текущему току в измеряемой цепи. Далее это значение можно использовать в качестве параметра для функции setZeroVDC() или setZeroVAC().

    Если Вы желаете использовать модуль для измерения тока в разных цепях, то в коде setup можно указать: float i = getZeroVDC(); setZeroVDC(i); // получить и установить среднее значение напряжения на выходе модуля, например, соответствующее отсутствию постоянного тока в измеряемой цепи. Но тогда при каждом старте скетча, ток в цепи действительно должен отсутствовать.

    Если Вы желаете использовать модуль для измерения тока в одной и той же цепи, то можно считать напряжение на выходе модуля (при отсутствии измеряемого тока) используя функцию getZeroVDC() или getZeroVAC(), только один раз. Запомнить полученное значение. И переписать скетч, где в коде setup вызывать только функцию setZeroVDC() или setZeroVAC() с указанием этого значения, не вызывая функцию getZeroVDC() или getZeroVAC(). Например, setZeroVDC(2.5); Тогда обесточивать цепь при старте скетча не потребуется.

    Читайте также:  Баклажаны маринованные в томатном соусе

    Подробнее про установку библиотеки читайте в нашей инструкции..

    Примеры:

    Измерение постоянного тока:

    В данном скетче, Trema датчик тока 5A используется для вывода измеренного постоянного тока в монитор последовательного порта. Следующий скетч предназначен для измерения переменного тока и отличается от данного скетча только тем, что в нём изменены окончания функций библиотеки iarduino_ACS712 (вместо DC указано AC).

    Измерение переменного тока:

    В данном скетче, Trema датчик тока 5A используется для вывода измеренного переменного тока в монитор последовательного порта. Данный скетч отличается от предыдущего только тем, что в нём изменены окончания функций библиотеки iarduino_ACS712 (вместо DC указано AC).

    Измерение переменного тока с регулировкой показаний:

    Как видно из предыдущих скетчей, функция calibrationDC() или calibrationAC(), позволяет откорректировать выводимые показания, но её удобно использовать с подстроечным резистором подключённым к свободному аналоговому входу Arduino, что и сделано в следующем скетче:

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

    Описание основных функций библиотеки:

    Библиотека iarduino_ACS712 предназначена для работы только с Trema датчиком тока 5A .

    Если вы очень переживаете за расход электро энергии и жуть как хочется вычислить виновника — это ваш день. Мы соберем датчик тока напишем простую логику для обработки входных значений для пересчета значений в киловаты/ч.

    Для сборки я использовал плату Arduino nano (никто не мешаем вам использовать тот же код для ESP или STM плат), LCD экранный шилд, резистор на 56 Ом, резисторы 100 кОм, конденсатор 10 мКф, датчик тока CT — Talema AC103 (с номинальным измерением 30A и максимальным 75A).

    Что такое датчик тока?

    Датчик тока — это магнитопровод с зазором и обмоткой компенсации, а так же встроенный датчик Холла и плата управления. Датчик Холла размещается в зазоре магнитопровода и реагирует на создаваемое катушкой магнитное поле. Чем сильнее напряженность магнитного поля, тем сильнее датчик Холла подает сигнал, который усиливается платой управления.
    Датчики тока бывают для измерения переменного тока и постоянного тока. Наш — CT-Talema AC103 — для переменного.

    Соберем наше устройство согласно схеме:

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

    Не забываем, что нам нужно выполнить калибровку нагрузочного резистора R3. Формула расчета R = V / I — R = 2,5 / 0,042 = 59,5 Ом где 2,5 — опорное напряжение на плате, а 42mA — потребление платы. По тому принимаем самый близкий резистор по номиналу — 56 Ом.
    Для деление основного напряжения питания до опорного 5/2 вам потребуется поставить два одинаковых резистора R1 и R2.

    Читайте также:  Антенна квадрат на 40 метровый диапазон

    Остается только загрузить пример кода в Arduino:

    Завершающим шрихом нашей установки станет калибровка. Ее лучше выполнять при включенной эталонной нагрузке известной мощности. Для этого хорошо подходят мощные лампы накаливания. Возьмем лампу на 100 Ват. Включаем плату и высчитываем поправочный коэффициент:
    Двойной RMSCurrent = ((maxCurrent — 516) * 0,707) /11,8337 где 11.8337 — подобранный коэффициент для компенсации расхождений в измерениях.

    Если вы очень переживаете за расход электро энергии и жуть как хочется вычислить виновника — это ваш день. Мы соберем датчик тока напишем простую логику для обработки входных значений для пересчета значений в киловаты/ч.

    Для сборки я использовал плату Arduino nano (никто не мешаем вам использовать тот же код для ESP или STM плат), LCD экранный шилд, резистор на 56 Ом, резисторы 100 кОм, конденсатор 10 мКф, датчик тока CT — Talema AC103 (с номинальным измерением 30A и максимальным 75A).

    Что такое датчик тока?

    Датчик тока — это магнитопровод с зазором и обмоткой компенсации, а так же встроенный датчик Холла и плата управления. Датчик Холла размещается в зазоре магнитопровода и реагирует на создаваемое катушкой магнитное поле. Чем сильнее напряженность магнитного поля, тем сильнее датчик Холла подает сигнал, который усиливается платой управления.
    Датчики тока бывают для измерения переменного тока и постоянного тока. Наш — CT-Talema AC103 — для переменного.

    Соберем наше устройство согласно схеме:

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

    Не забываем, что нам нужно выполнить калибровку нагрузочного резистора R3. Формула расчета R = V / I — R = 2,5 / 0,042 = 59,5 Ом где 2,5 — опорное напряжение на плате, а 42mA — потребление платы. По тому принимаем самый близкий резистор по номиналу — 56 Ом.
    Для деление основного напряжения питания до опорного 5/2 вам потребуется поставить два одинаковых резистора R1 и R2.

    Остается только загрузить пример кода в Arduino:

    Завершающим шрихом нашей установки станет калибровка. Ее лучше выполнять при включенной эталонной нагрузке известной мощности. Для этого хорошо подходят мощные лампы накаливания. Возьмем лампу на 100 Ват. Включаем плату и высчитываем поправочный коэффициент:
    Двойной RMSCurrent = ((maxCurrent — 516) * 0,707) /11,8337 где 11.8337 — подобранный коэффициент для компенсации расхождений в измерениях.

    Ссылка на основную публикацию

    Arduino измерение переменного тока

    Общие сведения:

    Trema-модуль Датчик тока — это аналоговый модуль, позволяющий определять силу как постоянного, так и переменного тока до 5А. Для определения силы тока протекающего по исследуемой цепи, нужно один из её проводов подключить через клеммник на плате модуля. Потенциал на выходе модуля «S» (Signal) будет меняться в соответствии с направлением и силой измеряемого тока.

    Видео:

    Спецификация:

    • Чип ACS712ELCTR-05B-T.
    • Питание модуля: 5 В постоянного тока.
    • Измеряемый постоянный ток: ±5 А.
    • Измеряемый переменный ток:

    5 А.

  • Максимальное напряжение исследуемой цепи: 300 В.
  • Частота измеряемого переменного тока: до 60 Гц.
  • Сопротивление между выводами клеммника: 1,2 мОм.
  • Потенциал на выходе «S» при отсутствии измеряемого тока: Vcc/2 В.
  • Чувствительность модуля: 130,7 мВ/A. (Ток в 1 А смещает потенциал выхода «S» на 130,7 мВ).
  • Рабочая температура: -40 . 85 °C.
  • Габариты модуля 30×30 мм.
  • Все модули линейки "Trema" выполнены в одном формате

    Подключение:

    Trema-модуль Датчик тока (5А) является аналоговым модулем, а значит его выход «S» (Signal) подключается к любому аналоговому входу Arduino.

    В комплекте имеется кабель для быстрого и удобного подключения модуля к Trema Shield .

    Модуль удобно подключать 3 способами, в зависимости от ситуации:

    Способ — 1 : Используя проводной шлейф и Piranha UNO

    Используя провода «Папа — Мама», подключаем напрямую к контроллеру Piranha UNO

    Способ — 2 : Используя Trema Set Shield

    Модуль можно подключить к любому из аналоговых входов Trema Set Shield.

    Способ — 3 : Используя проводной шлейф и Shield

    Используя 3-х проводной шлейф, к Trema Shield, Trema-Power Shield, Motor Shield, Trema Shield NANO и тд.

    Питание:

    Входное напряжение питания 5 В постоянного тока, подаётся на выводы «V» (Vcc) и «G» (GND) модуля.

    Подробнее о модуле:

    Trema-модуль Датчик тока (5А) построен на базе чипа ACS712 (Analog Current Sensor). Выводы чипа подключённые к клеммнику модуля соединены внутри чипа медной дорожкой, расположенной вблизи датчика Холла. При наличии тока протекающего по этой медной дорожке, генерируемое им магнитное поле, воспринимается датчиком Холла и преобразуется в напряжение на выходе чипа, пропорциональное силе тока. Таким образом выводы подключаемые к исследуемой цепи (ток которой измеряется) электрически изолированы от выхода и шины питания модуля. Для улучшения соотношения сигнал-шум, на выходе Trema модуля установлен RC-фильтр.

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

    Ток протекающий через клеммы Trema-модуля Датчик тока (5А) генерирует магнитное поле, которое воспринимается датчиком Холла и преобразуется в напряжение на выходе «S» модуля, пропорциональное силе и направлению измеряемого тока.

    Для работы с модулем предлагаем воспользоваться библиотекой iarduino_ACS712, в которой реализовано по 4 функции для работы с постоянным и переменным током:

    • 4 функции для работы с постоянным током: setZeroVDC(), getZeroVDC(), readDC(), calibrationDC().
    • 4 функции для работы с переменным током: setZeroVAC(), getZeroVAC(), readAC(), calibrationAC().
    Читайте также:  Белый хлеб с яйцом на сковороде

    Перечисленные функции идентичны по назначению и отличаются лишь окончанием DC (для постоянного тока) / AC (для переменного тока).

    Чтение силы тока осуществляется вызовом функции readDC() или readAC(), например, float i = readDC() // прочитать силу постоянного тока в переменную i. Функция не только возвращает силу тока в амперах, но и автоматически сглаживает выводимые показания (чем чаще вызывается функция, тем сильнее сглаживание показаний — показания меняются плавнее).

    Если показания возвращаемые функцией readDC() или readAC() отличаются от реально измеренных, то их можно откорректировать вызвав функцию calibrationDC() или calibrationAC(), с параметром в виде числа от 0 до 1023 (по умолчанию 511). Данная функция удобна если для корректировки показаний датчика тока используется подстроечный резистор, подключённый к свободному аналоговому входу Arduino, показание АЦП которой как раз лежат в диапазоне от 0 до 1023. Например, calibrationDC(analogRead(A5)); // Показания возвращаемые функцией readDC() корректируются потенциометром подключённым к выводу A5.

    Напряжение на выходе модуля «S» может измениться при подключении модуля к цепи измеряемого тока, даже если цепь обесточена. На это могут повлиять такие факторы как: токи утечки, электромагнитные и магнитные поля создаваемые другими цепями, или устройствами, намагниченные предметы вблизи модуля и т.д. Значит, перед началом работы с модулем, нужно указать напряжение на выходе «S» которое соответствует отсутствию тока в подключённой цепи. Это напряжение указывается через функцию setZeroVDC() или setZeroVAC(), например, setZeroVDC(2.5); // напряжение на выходе модуля при отсутствии измеряемого постоянного тока соответствует значению 2,5 В. Так же эта функция может быть использована если Вам требуется измерить не реальное значение тока, а отклонение показаний от требуемой силы тока.

    Получить среднее значение напряжения на выходе «S» модуля можно вызвав функцию getZeroVDC() или getZeroVAC(), например, float i = getZeroVDC(); // сохранить среднее значение напряжения в переменную i. Функция вернёт усреднённое напряжение в вольтах на выходе модуля, которое соответствует текущему току в измеряемой цепи. Далее это значение можно использовать в качестве параметра для функции setZeroVDC() или setZeroVAC().

    Если Вы желаете использовать модуль для измерения тока в разных цепях, то в коде setup можно указать: float i = getZeroVDC(); setZeroVDC(i); // получить и установить среднее значение напряжения на выходе модуля, например, соответствующее отсутствию постоянного тока в измеряемой цепи. Но тогда при каждом старте скетча, ток в цепи действительно должен отсутствовать.

    Если Вы желаете использовать модуль для измерения тока в одной и той же цепи, то можно считать напряжение на выходе модуля (при отсутствии измеряемого тока) используя функцию getZeroVDC() или getZeroVAC(), только один раз. Запомнить полученное значение. И переписать скетч, где в коде setup вызывать только функцию setZeroVDC() или setZeroVAC() с указанием этого значения, не вызывая функцию getZeroVDC() или getZeroVAC(). Например, setZeroVDC(2.5); Тогда обесточивать цепь при старте скетча не потребуется.

    Читайте также:  Алюминиевый профиль для дверной коробки

    Подробнее про установку библиотеки читайте в нашей инструкции..

    Примеры:

    Измерение постоянного тока:

    В данном скетче, Trema датчик тока 5A используется для вывода измеренного постоянного тока в монитор последовательного порта. Следующий скетч предназначен для измерения переменного тока и отличается от данного скетча только тем, что в нём изменены окончания функций библиотеки iarduino_ACS712 (вместо DC указано AC).

    Измерение переменного тока:

    В данном скетче, Trema датчик тока 5A используется для вывода измеренного переменного тока в монитор последовательного порта. Данный скетч отличается от предыдущего только тем, что в нём изменены окончания функций библиотеки iarduino_ACS712 (вместо DC указано AC).

    Измерение переменного тока с регулировкой показаний:

    Как видно из предыдущих скетчей, функция calibrationDC() или calibrationAC(), позволяет откорректировать выводимые показания, но её удобно использовать с подстроечным резистором подключённым к свободному аналоговому входу Arduino, что и сделано в следующем скетче:

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

    Описание основных функций библиотеки:

    Библиотека iarduino_ACS712 предназначена для работы только с Trema датчиком тока 5A .

    Если вы очень переживаете за расход электро энергии и жуть как хочется вычислить виновника — это ваш день. Мы соберем датчик тока напишем простую логику для обработки входных значений для пересчета значений в киловаты/ч.

    Для сборки я использовал плату Arduino nano (никто не мешаем вам использовать тот же код для ESP или STM плат), LCD экранный шилд, резистор на 56 Ом, резисторы 100 кОм, конденсатор 10 мКф, датчик тока CT — Talema AC103 (с номинальным измерением 30A и максимальным 75A).

    Что такое датчик тока?

    Датчик тока — это магнитопровод с зазором и обмоткой компенсации, а так же встроенный датчик Холла и плата управления. Датчик Холла размещается в зазоре магнитопровода и реагирует на создаваемое катушкой магнитное поле. Чем сильнее напряженность магнитного поля, тем сильнее датчик Холла подает сигнал, который усиливается платой управления.
    Датчики тока бывают для измерения переменного тока и постоянного тока. Наш — CT-Talema AC103 — для переменного.

    Соберем наше устройство согласно схеме:

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

    Не забываем, что нам нужно выполнить калибровку нагрузочного резистора R3. Формула расчета R = V / I — R = 2,5 / 0,042 = 59,5 Ом где 2,5 — опорное напряжение на плате, а 42mA — потребление платы. По тому принимаем самый близкий резистор по номиналу — 56 Ом.
    Для деление основного напряжения питания до опорного 5/2 вам потребуется поставить два одинаковых резистора R1 и R2.

    Читайте также:  Jacob delafon escale унитаз напольный

    Остается только загрузить пример кода в Arduino:

    Завершающим шрихом нашей установки станет калибровка. Ее лучше выполнять при включенной эталонной нагрузке известной мощности. Для этого хорошо подходят мощные лампы накаливания. Возьмем лампу на 100 Ват. Включаем плату и высчитываем поправочный коэффициент:
    Двойной RMSCurrent = ((maxCurrent — 516) * 0,707) /11,8337 где 11.8337 — подобранный коэффициент для компенсации расхождений в измерениях.

    Если вы очень переживаете за расход электро энергии и жуть как хочется вычислить виновника — это ваш день. Мы соберем датчик тока напишем простую логику для обработки входных значений для пересчета значений в киловаты/ч.

    Для сборки я использовал плату Arduino nano (никто не мешаем вам использовать тот же код для ESP или STM плат), LCD экранный шилд, резистор на 56 Ом, резисторы 100 кОм, конденсатор 10 мКф, датчик тока CT — Talema AC103 (с номинальным измерением 30A и максимальным 75A).

    Что такое датчик тока?

    Датчик тока — это магнитопровод с зазором и обмоткой компенсации, а так же встроенный датчик Холла и плата управления. Датчик Холла размещается в зазоре магнитопровода и реагирует на создаваемое катушкой магнитное поле. Чем сильнее напряженность магнитного поля, тем сильнее датчик Холла подает сигнал, который усиливается платой управления.
    Датчики тока бывают для измерения переменного тока и постоянного тока. Наш — CT-Talema AC103 — для переменного.

    Соберем наше устройство согласно схеме:

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

    Не забываем, что нам нужно выполнить калибровку нагрузочного резистора R3. Формула расчета R = V / I — R = 2,5 / 0,042 = 59,5 Ом где 2,5 — опорное напряжение на плате, а 42mA — потребление платы. По тому принимаем самый близкий резистор по номиналу — 56 Ом.
    Для деление основного напряжения питания до опорного 5/2 вам потребуется поставить два одинаковых резистора R1 и R2.

    Остается только загрузить пример кода в Arduino:

    Завершающим шрихом нашей установки станет калибровка. Ее лучше выполнять при включенной эталонной нагрузке известной мощности. Для этого хорошо подходят мощные лампы накаливания. Возьмем лампу на 100 Ват. Включаем плату и высчитываем поправочный коэффициент:
    Двойной RMSCurrent = ((maxCurrent — 516) * 0,707) /11,8337 где 11.8337 — подобранный коэффициент для компенсации расхождений в измерениях.

    Ссылка на основную публикацию

    Arduino измерение переменного тока

    Общие сведения:

    Trema-модуль Датчик тока — это аналоговый модуль, позволяющий определять силу как постоянного, так и переменного тока до 5А. Для определения силы тока протекающего по исследуемой цепи, нужно один из её проводов подключить через клеммник на плате модуля. Потенциал на выходе модуля «S» (Signal) будет меняться в соответствии с направлением и силой измеряемого тока.

    Видео:

    Спецификация:

    • Чип ACS712ELCTR-05B-T.
    • Питание модуля: 5 В постоянного тока.
    • Измеряемый постоянный ток: ±5 А.
    • Измеряемый переменный ток:

    5 А.

  • Максимальное напряжение исследуемой цепи: 300 В.
  • Частота измеряемого переменного тока: до 60 Гц.
  • Сопротивление между выводами клеммника: 1,2 мОм.
  • Потенциал на выходе «S» при отсутствии измеряемого тока: Vcc/2 В.
  • Чувствительность модуля: 130,7 мВ/A. (Ток в 1 А смещает потенциал выхода «S» на 130,7 мВ).
  • Рабочая температура: -40 . 85 °C.
  • Габариты модуля 30×30 мм.
  • Все модули линейки "Trema" выполнены в одном формате

    Подключение:

    Trema-модуль Датчик тока (5А) является аналоговым модулем, а значит его выход «S» (Signal) подключается к любому аналоговому входу Arduino.

    В комплекте имеется кабель для быстрого и удобного подключения модуля к Trema Shield .

    Модуль удобно подключать 3 способами, в зависимости от ситуации:

    Способ — 1 : Используя проводной шлейф и Piranha UNO

    Используя провода «Папа — Мама», подключаем напрямую к контроллеру Piranha UNO

    Способ — 2 : Используя Trema Set Shield

    Модуль можно подключить к любому из аналоговых входов Trema Set Shield.

    Способ — 3 : Используя проводной шлейф и Shield

    Используя 3-х проводной шлейф, к Trema Shield, Trema-Power Shield, Motor Shield, Trema Shield NANO и тд.

    Питание:

    Входное напряжение питания 5 В постоянного тока, подаётся на выводы «V» (Vcc) и «G» (GND) модуля.

    Подробнее о модуле:

    Trema-модуль Датчик тока (5А) построен на базе чипа ACS712 (Analog Current Sensor). Выводы чипа подключённые к клеммнику модуля соединены внутри чипа медной дорожкой, расположенной вблизи датчика Холла. При наличии тока протекающего по этой медной дорожке, генерируемое им магнитное поле, воспринимается датчиком Холла и преобразуется в напряжение на выходе чипа, пропорциональное силе тока. Таким образом выводы подключаемые к исследуемой цепи (ток которой измеряется) электрически изолированы от выхода и шины питания модуля. Для улучшения соотношения сигнал-шум, на выходе Trema модуля установлен RC-фильтр.

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

    Ток протекающий через клеммы Trema-модуля Датчик тока (5А) генерирует магнитное поле, которое воспринимается датчиком Холла и преобразуется в напряжение на выходе «S» модуля, пропорциональное силе и направлению измеряемого тока.

    Для работы с модулем предлагаем воспользоваться библиотекой iarduino_ACS712, в которой реализовано по 4 функции для работы с постоянным и переменным током:

    • 4 функции для работы с постоянным током: setZeroVDC(), getZeroVDC(), readDC(), calibrationDC().
    • 4 функции для работы с переменным током: setZeroVAC(), getZeroVAC(), readAC(), calibrationAC().
    Читайте также:  Антенна квадрат на 40 метровый диапазон

    Перечисленные функции идентичны по назначению и отличаются лишь окончанием DC (для постоянного тока) / AC (для переменного тока).

    Чтение силы тока осуществляется вызовом функции readDC() или readAC(), например, float i = readDC() // прочитать силу постоянного тока в переменную i. Функция не только возвращает силу тока в амперах, но и автоматически сглаживает выводимые показания (чем чаще вызывается функция, тем сильнее сглаживание показаний — показания меняются плавнее).

    Если показания возвращаемые функцией readDC() или readAC() отличаются от реально измеренных, то их можно откорректировать вызвав функцию calibrationDC() или calibrationAC(), с параметром в виде числа от 0 до 1023 (по умолчанию 511). Данная функция удобна если для корректировки показаний датчика тока используется подстроечный резистор, подключённый к свободному аналоговому входу Arduino, показание АЦП которой как раз лежат в диапазоне от 0 до 1023. Например, calibrationDC(analogRead(A5)); // Показания возвращаемые функцией readDC() корректируются потенциометром подключённым к выводу A5.

    Напряжение на выходе модуля «S» может измениться при подключении модуля к цепи измеряемого тока, даже если цепь обесточена. На это могут повлиять такие факторы как: токи утечки, электромагнитные и магнитные поля создаваемые другими цепями, или устройствами, намагниченные предметы вблизи модуля и т.д. Значит, перед началом работы с модулем, нужно указать напряжение на выходе «S» которое соответствует отсутствию тока в подключённой цепи. Это напряжение указывается через функцию setZeroVDC() или setZeroVAC(), например, setZeroVDC(2.5); // напряжение на выходе модуля при отсутствии измеряемого постоянного тока соответствует значению 2,5 В. Так же эта функция может быть использована если Вам требуется измерить не реальное значение тока, а отклонение показаний от требуемой силы тока.

    Получить среднее значение напряжения на выходе «S» модуля можно вызвав функцию getZeroVDC() или getZeroVAC(), например, float i = getZeroVDC(); // сохранить среднее значение напряжения в переменную i. Функция вернёт усреднённое напряжение в вольтах на выходе модуля, которое соответствует текущему току в измеряемой цепи. Далее это значение можно использовать в качестве параметра для функции setZeroVDC() или setZeroVAC().

    Если Вы желаете использовать модуль для измерения тока в разных цепях, то в коде setup можно указать: float i = getZeroVDC(); setZeroVDC(i); // получить и установить среднее значение напряжения на выходе модуля, например, соответствующее отсутствию постоянного тока в измеряемой цепи. Но тогда при каждом старте скетча, ток в цепи действительно должен отсутствовать.

    Если Вы желаете использовать модуль для измерения тока в одной и той же цепи, то можно считать напряжение на выходе модуля (при отсутствии измеряемого тока) используя функцию getZeroVDC() или getZeroVAC(), только один раз. Запомнить полученное значение. И переписать скетч, где в коде setup вызывать только функцию setZeroVDC() или setZeroVAC() с указанием этого значения, не вызывая функцию getZeroVDC() или getZeroVAC(). Например, setZeroVDC(2.5); Тогда обесточивать цепь при старте скетча не потребуется.

    Читайте также:  Jacob delafon escale унитаз напольный

    Подробнее про установку библиотеки читайте в нашей инструкции..

    Примеры:

    Измерение постоянного тока:

    В данном скетче, Trema датчик тока 5A используется для вывода измеренного постоянного тока в монитор последовательного порта. Следующий скетч предназначен для измерения переменного тока и отличается от данного скетча только тем, что в нём изменены окончания функций библиотеки iarduino_ACS712 (вместо DC указано AC).

    Измерение переменного тока:

    В данном скетче, Trema датчик тока 5A используется для вывода измеренного переменного тока в монитор последовательного порта. Данный скетч отличается от предыдущего только тем, что в нём изменены окончания функций библиотеки iarduino_ACS712 (вместо DC указано AC).

    Измерение переменного тока с регулировкой показаний:

    Как видно из предыдущих скетчей, функция calibrationDC() или calibrationAC(), позволяет откорректировать выводимые показания, но её удобно использовать с подстроечным резистором подключённым к свободному аналоговому входу Arduino, что и сделано в следующем скетче:

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

    Описание основных функций библиотеки:

    Библиотека iarduino_ACS712 предназначена для работы только с Trema датчиком тока 5A .

    Если вы очень переживаете за расход электро энергии и жуть как хочется вычислить виновника — это ваш день. Мы соберем датчик тока напишем простую логику для обработки входных значений для пересчета значений в киловаты/ч.

    Для сборки я использовал плату Arduino nano (никто не мешаем вам использовать тот же код для ESP или STM плат), LCD экранный шилд, резистор на 56 Ом, резисторы 100 кОм, конденсатор 10 мКф, датчик тока CT — Talema AC103 (с номинальным измерением 30A и максимальным 75A).

    Что такое датчик тока?

    Датчик тока — это магнитопровод с зазором и обмоткой компенсации, а так же встроенный датчик Холла и плата управления. Датчик Холла размещается в зазоре магнитопровода и реагирует на создаваемое катушкой магнитное поле. Чем сильнее напряженность магнитного поля, тем сильнее датчик Холла подает сигнал, который усиливается платой управления.
    Датчики тока бывают для измерения переменного тока и постоянного тока. Наш — CT-Talema AC103 — для переменного.

    Соберем наше устройство согласно схеме:

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

    Не забываем, что нам нужно выполнить калибровку нагрузочного резистора R3. Формула расчета R = V / I — R = 2,5 / 0,042 = 59,5 Ом где 2,5 — опорное напряжение на плате, а 42mA — потребление платы. По тому принимаем самый близкий резистор по номиналу — 56 Ом.
    Для деление основного напряжения питания до опорного 5/2 вам потребуется поставить два одинаковых резистора R1 и R2.

    Читайте также:  Бензопила штиль 180 официальный дилер

    Остается только загрузить пример кода в Arduino:

    Завершающим шрихом нашей установки станет калибровка. Ее лучше выполнять при включенной эталонной нагрузке известной мощности. Для этого хорошо подходят мощные лампы накаливания. Возьмем лампу на 100 Ват. Включаем плату и высчитываем поправочный коэффициент:
    Двойной RMSCurrent = ((maxCurrent — 516) * 0,707) /11,8337 где 11.8337 — подобранный коэффициент для компенсации расхождений в измерениях.

    Если вы очень переживаете за расход электро энергии и жуть как хочется вычислить виновника — это ваш день. Мы соберем датчик тока напишем простую логику для обработки входных значений для пересчета значений в киловаты/ч.

    Для сборки я использовал плату Arduino nano (никто не мешаем вам использовать тот же код для ESP или STM плат), LCD экранный шилд, резистор на 56 Ом, резисторы 100 кОм, конденсатор 10 мКф, датчик тока CT — Talema AC103 (с номинальным измерением 30A и максимальным 75A).

    Что такое датчик тока?

    Датчик тока — это магнитопровод с зазором и обмоткой компенсации, а так же встроенный датчик Холла и плата управления. Датчик Холла размещается в зазоре магнитопровода и реагирует на создаваемое катушкой магнитное поле. Чем сильнее напряженность магнитного поля, тем сильнее датчик Холла подает сигнал, который усиливается платой управления.
    Датчики тока бывают для измерения переменного тока и постоянного тока. Наш — CT-Talema AC103 — для переменного.

    Соберем наше устройство согласно схеме:

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

    Не забываем, что нам нужно выполнить калибровку нагрузочного резистора R3. Формула расчета R = V / I — R = 2,5 / 0,042 = 59,5 Ом где 2,5 — опорное напряжение на плате, а 42mA — потребление платы. По тому принимаем самый близкий резистор по номиналу — 56 Ом.
    Для деление основного напряжения питания до опорного 5/2 вам потребуется поставить два одинаковых резистора R1 и R2.

    Остается только загрузить пример кода в Arduino:

    Завершающим шрихом нашей установки станет калибровка. Ее лучше выполнять при включенной эталонной нагрузке известной мощности. Для этого хорошо подходят мощные лампы накаливания. Возьмем лампу на 100 Ват. Включаем плату и высчитываем поправочный коэффициент:
    Двойной RMSCurrent = ((maxCurrent — 516) * 0,707) /11,8337 где 11.8337 — подобранный коэффициент для компенсации расхождений в измерениях.

    Ссылка на основную публикацию

    Arduino измерение переменного тока

    Общие сведения:

    Trema-модуль Датчик тока — это аналоговый модуль, позволяющий определять силу как постоянного, так и переменного тока до 5А. Для определения силы тока протекающего по исследуемой цепи, нужно один из её проводов подключить через клеммник на плате модуля. Потенциал на выходе модуля «S» (Signal) будет меняться в соответствии с направлением и силой измеряемого тока.

    Видео:

    Спецификация:

    • Чип ACS712ELCTR-05B-T.
    • Питание модуля: 5 В постоянного тока.
    • Измеряемый постоянный ток: ±5 А.
    • Измеряемый переменный ток:

    5 А.

  • Максимальное напряжение исследуемой цепи: 300 В.
  • Частота измеряемого переменного тока: до 60 Гц.
  • Сопротивление между выводами клеммника: 1,2 мОм.
  • Потенциал на выходе «S» при отсутствии измеряемого тока: Vcc/2 В.
  • Чувствительность модуля: 130,7 мВ/A. (Ток в 1 А смещает потенциал выхода «S» на 130,7 мВ).
  • Рабочая температура: -40 . 85 °C.
  • Габариты модуля 30×30 мм.
  • Все модули линейки "Trema" выполнены в одном формате

    Подключение:

    Trema-модуль Датчик тока (5А) является аналоговым модулем, а значит его выход «S» (Signal) подключается к любому аналоговому входу Arduino.

    В комплекте имеется кабель для быстрого и удобного подключения модуля к Trema Shield .

    Модуль удобно подключать 3 способами, в зависимости от ситуации:

    Способ — 1 : Используя проводной шлейф и Piranha UNO

    Используя провода «Папа — Мама», подключаем напрямую к контроллеру Piranha UNO

    Способ — 2 : Используя Trema Set Shield

    Модуль можно подключить к любому из аналоговых входов Trema Set Shield.

    Способ — 3 : Используя проводной шлейф и Shield

    Используя 3-х проводной шлейф, к Trema Shield, Trema-Power Shield, Motor Shield, Trema Shield NANO и тд.

    Питание:

    Входное напряжение питания 5 В постоянного тока, подаётся на выводы «V» (Vcc) и «G» (GND) модуля.

    Подробнее о модуле:

    Trema-модуль Датчик тока (5А) построен на базе чипа ACS712 (Analog Current Sensor). Выводы чипа подключённые к клеммнику модуля соединены внутри чипа медной дорожкой, расположенной вблизи датчика Холла. При наличии тока протекающего по этой медной дорожке, генерируемое им магнитное поле, воспринимается датчиком Холла и преобразуется в напряжение на выходе чипа, пропорциональное силе тока. Таким образом выводы подключаемые к исследуемой цепи (ток которой измеряется) электрически изолированы от выхода и шины питания модуля. Для улучшения соотношения сигнал-шум, на выходе Trema модуля установлен RC-фильтр.

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

    Ток протекающий через клеммы Trema-модуля Датчик тока (5А) генерирует магнитное поле, которое воспринимается датчиком Холла и преобразуется в напряжение на выходе «S» модуля, пропорциональное силе и направлению измеряемого тока.

    Для работы с модулем предлагаем воспользоваться библиотекой iarduino_ACS712, в которой реализовано по 4 функции для работы с постоянным и переменным током:

    • 4 функции для работы с постоянным током: setZeroVDC(), getZeroVDC(), readDC(), calibrationDC().
    • 4 функции для работы с переменным током: setZeroVAC(), getZeroVAC(), readAC(), calibrationAC().
    Читайте также:  Белый хлеб с яйцом на сковороде

    Перечисленные функции идентичны по назначению и отличаются лишь окончанием DC (для постоянного тока) / AC (для переменного тока).

    Чтение силы тока осуществляется вызовом функции readDC() или readAC(), например, float i = readDC() // прочитать силу постоянного тока в переменную i. Функция не только возвращает силу тока в амперах, но и автоматически сглаживает выводимые показания (чем чаще вызывается функция, тем сильнее сглаживание показаний — показания меняются плавнее).

    Если показания возвращаемые функцией readDC() или readAC() отличаются от реально измеренных, то их можно откорректировать вызвав функцию calibrationDC() или calibrationAC(), с параметром в виде числа от 0 до 1023 (по умолчанию 511). Данная функция удобна если для корректировки показаний датчика тока используется подстроечный резистор, подключённый к свободному аналоговому входу Arduino, показание АЦП которой как раз лежат в диапазоне от 0 до 1023. Например, calibrationDC(analogRead(A5)); // Показания возвращаемые функцией readDC() корректируются потенциометром подключённым к выводу A5.

    Напряжение на выходе модуля «S» может измениться при подключении модуля к цепи измеряемого тока, даже если цепь обесточена. На это могут повлиять такие факторы как: токи утечки, электромагнитные и магнитные поля создаваемые другими цепями, или устройствами, намагниченные предметы вблизи модуля и т.д. Значит, перед началом работы с модулем, нужно указать напряжение на выходе «S» которое соответствует отсутствию тока в подключённой цепи. Это напряжение указывается через функцию setZeroVDC() или setZeroVAC(), например, setZeroVDC(2.5); // напряжение на выходе модуля при отсутствии измеряемого постоянного тока соответствует значению 2,5 В. Так же эта функция может быть использована если Вам требуется измерить не реальное значение тока, а отклонение показаний от требуемой силы тока.

    Получить среднее значение напряжения на выходе «S» модуля можно вызвав функцию getZeroVDC() или getZeroVAC(), например, float i = getZeroVDC(); // сохранить среднее значение напряжения в переменную i. Функция вернёт усреднённое напряжение в вольтах на выходе модуля, которое соответствует текущему току в измеряемой цепи. Далее это значение можно использовать в качестве параметра для функции setZeroVDC() или setZeroVAC().

    Если Вы желаете использовать модуль для измерения тока в разных цепях, то в коде setup можно указать: float i = getZeroVDC(); setZeroVDC(i); // получить и установить среднее значение напряжения на выходе модуля, например, соответствующее отсутствию постоянного тока в измеряемой цепи. Но тогда при каждом старте скетча, ток в цепи действительно должен отсутствовать.

    Если Вы желаете использовать модуль для измерения тока в одной и той же цепи, то можно считать напряжение на выходе модуля (при отсутствии измеряемого тока) используя функцию getZeroVDC() или getZeroVAC(), только один раз. Запомнить полученное значение. И переписать скетч, где в коде setup вызывать только функцию setZeroVDC() или setZeroVAC() с указанием этого значения, не вызывая функцию getZeroVDC() или getZeroVAC(). Например, setZeroVDC(2.5); Тогда обесточивать цепь при старте скетча не потребуется.

    Читайте также:  Антенна квадрат на 40 метровый диапазон

    Подробнее про установку библиотеки читайте в нашей инструкции..

    Примеры:

    Измерение постоянного тока:

    В данном скетче, Trema датчик тока 5A используется для вывода измеренного постоянного тока в монитор последовательного порта. Следующий скетч предназначен для измерения переменного тока и отличается от данного скетча только тем, что в нём изменены окончания функций библиотеки iarduino_ACS712 (вместо DC указано AC).

    Измерение переменного тока:

    В данном скетче, Trema датчик тока 5A используется для вывода измеренного переменного тока в монитор последовательного порта. Данный скетч отличается от предыдущего только тем, что в нём изменены окончания функций библиотеки iarduino_ACS712 (вместо DC указано AC).

    Измерение переменного тока с регулировкой показаний:

    Как видно из предыдущих скетчей, функция calibrationDC() или calibrationAC(), позволяет откорректировать выводимые показания, но её удобно использовать с подстроечным резистором подключённым к свободному аналоговому входу Arduino, что и сделано в следующем скетче:

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

    Описание основных функций библиотеки:

    Библиотека iarduino_ACS712 предназначена для работы только с Trema датчиком тока 5A .

    Если вы очень переживаете за расход электро энергии и жуть как хочется вычислить виновника — это ваш день. Мы соберем датчик тока напишем простую логику для обработки входных значений для пересчета значений в киловаты/ч.

    Для сборки я использовал плату Arduino nano (никто не мешаем вам использовать тот же код для ESP или STM плат), LCD экранный шилд, резистор на 56 Ом, резисторы 100 кОм, конденсатор 10 мКф, датчик тока CT — Talema AC103 (с номинальным измерением 30A и максимальным 75A).

    Что такое датчик тока?

    Датчик тока — это магнитопровод с зазором и обмоткой компенсации, а так же встроенный датчик Холла и плата управления. Датчик Холла размещается в зазоре магнитопровода и реагирует на создаваемое катушкой магнитное поле. Чем сильнее напряженность магнитного поля, тем сильнее датчик Холла подает сигнал, который усиливается платой управления.
    Датчики тока бывают для измерения переменного тока и постоянного тока. Наш — CT-Talema AC103 — для переменного.

    Соберем наше устройство согласно схеме:

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

    Не забываем, что нам нужно выполнить калибровку нагрузочного резистора R3. Формула расчета R = V / I — R = 2,5 / 0,042 = 59,5 Ом где 2,5 — опорное напряжение на плате, а 42mA — потребление платы. По тому принимаем самый близкий резистор по номиналу — 56 Ом.
    Для деление основного напряжения питания до опорного 5/2 вам потребуется поставить два одинаковых резистора R1 и R2.

    Читайте также:  Алюминиевый профиль для дверной коробки

    Остается только загрузить пример кода в Arduino:

    Завершающим шрихом нашей установки станет калибровка. Ее лучше выполнять при включенной эталонной нагрузке известной мощности. Для этого хорошо подходят мощные лампы накаливания. Возьмем лампу на 100 Ват. Включаем плату и высчитываем поправочный коэффициент:
    Двойной RMSCurrent = ((maxCurrent — 516) * 0,707) /11,8337 где 11.8337 — подобранный коэффициент для компенсации расхождений в измерениях.

    Если вы очень переживаете за расход электро энергии и жуть как хочется вычислить виновника — это ваш день. Мы соберем датчик тока напишем простую логику для обработки входных значений для пересчета значений в киловаты/ч.

    Для сборки я использовал плату Arduino nano (никто не мешаем вам использовать тот же код для ESP или STM плат), LCD экранный шилд, резистор на 56 Ом, резисторы 100 кОм, конденсатор 10 мКф, датчик тока CT — Talema AC103 (с номинальным измерением 30A и максимальным 75A).

    Что такое датчик тока?

    Датчик тока — это магнитопровод с зазором и обмоткой компенсации, а так же встроенный датчик Холла и плата управления. Датчик Холла размещается в зазоре магнитопровода и реагирует на создаваемое катушкой магнитное поле. Чем сильнее напряженность магнитного поля, тем сильнее датчик Холла подает сигнал, который усиливается платой управления.
    Датчики тока бывают для измерения переменного тока и постоянного тока. Наш — CT-Talema AC103 — для переменного.

    Соберем наше устройство согласно схеме:

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

    Не забываем, что нам нужно выполнить калибровку нагрузочного резистора R3. Формула расчета R = V / I — R = 2,5 / 0,042 = 59,5 Ом где 2,5 — опорное напряжение на плате, а 42mA — потребление платы. По тому принимаем самый близкий резистор по номиналу — 56 Ом.
    Для деление основного напряжения питания до опорного 5/2 вам потребуется поставить два одинаковых резистора R1 и R2.

    Остается только загрузить пример кода в Arduino:

    Завершающим шрихом нашей установки станет калибровка. Ее лучше выполнять при включенной эталонной нагрузке известной мощности. Для этого хорошо подходят мощные лампы накаливания. Возьмем лампу на 100 Ват. Включаем плату и высчитываем поправочный коэффициент:
    Двойной RMSCurrent = ((maxCurrent — 516) * 0,707) /11,8337 где 11.8337 — подобранный коэффициент для компенсации расхождений в измерениях.

    Ссылка на основную публикацию

    Arduino измерение переменного тока

    Общие сведения:

    Trema-модуль Датчик тока — это аналоговый модуль, позволяющий определять силу как постоянного, так и переменного тока до 5А. Для определения силы тока протекающего по исследуемой цепи, нужно один из её проводов подключить через клеммник на плате модуля. Потенциал на выходе модуля «S» (Signal) будет меняться в соответствии с направлением и силой измеряемого тока.

    Видео:

    Спецификация:

    • Чип ACS712ELCTR-05B-T.
    • Питание модуля: 5 В постоянного тока.
    • Измеряемый постоянный ток: ±5 А.
    • Измеряемый переменный ток:

    5 А.

  • Максимальное напряжение исследуемой цепи: 300 В.
  • Частота измеряемого переменного тока: до 60 Гц.
  • Сопротивление между выводами клеммника: 1,2 мОм.
  • Потенциал на выходе «S» при отсутствии измеряемого тока: Vcc/2 В.
  • Чувствительность модуля: 130,7 мВ/A. (Ток в 1 А смещает потенциал выхода «S» на 130,7 мВ).
  • Рабочая температура: -40 . 85 °C.
  • Габариты модуля 30×30 мм.
  • Все модули линейки "Trema" выполнены в одном формате

    Подключение:

    Trema-модуль Датчик тока (5А) является аналоговым модулем, а значит его выход «S» (Signal) подключается к любому аналоговому входу Arduino.

    В комплекте имеется кабель для быстрого и удобного подключения модуля к Trema Shield .

    Модуль удобно подключать 3 способами, в зависимости от ситуации:

    Способ — 1 : Используя проводной шлейф и Piranha UNO

    Используя провода «Папа — Мама», подключаем напрямую к контроллеру Piranha UNO

    Способ — 2 : Используя Trema Set Shield

    Модуль можно подключить к любому из аналоговых входов Trema Set Shield.

    Способ — 3 : Используя проводной шлейф и Shield

    Используя 3-х проводной шлейф, к Trema Shield, Trema-Power Shield, Motor Shield, Trema Shield NANO и тд.

    Питание:

    Входное напряжение питания 5 В постоянного тока, подаётся на выводы «V» (Vcc) и «G» (GND) модуля.

    Подробнее о модуле:

    Trema-модуль Датчик тока (5А) построен на базе чипа ACS712 (Analog Current Sensor). Выводы чипа подключённые к клеммнику модуля соединены внутри чипа медной дорожкой, расположенной вблизи датчика Холла. При наличии тока протекающего по этой медной дорожке, генерируемое им магнитное поле, воспринимается датчиком Холла и преобразуется в напряжение на выходе чипа, пропорциональное силе тока. Таким образом выводы подключаемые к исследуемой цепи (ток которой измеряется) электрически изолированы от выхода и шины питания модуля. Для улучшения соотношения сигнал-шум, на выходе Trema модуля установлен RC-фильтр.

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

    Ток протекающий через клеммы Trema-модуля Датчик тока (5А) генерирует магнитное поле, которое воспринимается датчиком Холла и преобразуется в напряжение на выходе «S» модуля, пропорциональное силе и направлению измеряемого тока.

    Для работы с модулем предлагаем воспользоваться библиотекой iarduino_ACS712, в которой реализовано по 4 функции для работы с постоянным и переменным током:

    • 4 функции для работы с постоянным током: setZeroVDC(), getZeroVDC(), readDC(), calibrationDC().
    • 4 функции для работы с переменным током: setZeroVAC(), getZeroVAC(), readAC(), calibrationAC().
    Читайте также:  Баклажаны маринованные в томатном соусе

    Перечисленные функции идентичны по назначению и отличаются лишь окончанием DC (для постоянного тока) / AC (для переменного тока).

    Чтение силы тока осуществляется вызовом функции readDC() или readAC(), например, float i = readDC() // прочитать силу постоянного тока в переменную i. Функция не только возвращает силу тока в амперах, но и автоматически сглаживает выводимые показания (чем чаще вызывается функция, тем сильнее сглаживание показаний — показания меняются плавнее).

    Если показания возвращаемые функцией readDC() или readAC() отличаются от реально измеренных, то их можно откорректировать вызвав функцию calibrationDC() или calibrationAC(), с параметром в виде числа от 0 до 1023 (по умолчанию 511). Данная функция удобна если для корректировки показаний датчика тока используется подстроечный резистор, подключённый к свободному аналоговому входу Arduino, показание АЦП которой как раз лежат в диапазоне от 0 до 1023. Например, calibrationDC(analogRead(A5)); // Показания возвращаемые функцией readDC() корректируются потенциометром подключённым к выводу A5.

    Напряжение на выходе модуля «S» может измениться при подключении модуля к цепи измеряемого тока, даже если цепь обесточена. На это могут повлиять такие факторы как: токи утечки, электромагнитные и магнитные поля создаваемые другими цепями, или устройствами, намагниченные предметы вблизи модуля и т.д. Значит, перед началом работы с модулем, нужно указать напряжение на выходе «S» которое соответствует отсутствию тока в подключённой цепи. Это напряжение указывается через функцию setZeroVDC() или setZeroVAC(), например, setZeroVDC(2.5); // напряжение на выходе модуля при отсутствии измеряемого постоянного тока соответствует значению 2,5 В. Так же эта функция может быть использована если Вам требуется измерить не реальное значение тока, а отклонение показаний от требуемой силы тока.

    Получить среднее значение напряжения на выходе «S» модуля можно вызвав функцию getZeroVDC() или getZeroVAC(), например, float i = getZeroVDC(); // сохранить среднее значение напряжения в переменную i. Функция вернёт усреднённое напряжение в вольтах на выходе модуля, которое соответствует текущему току в измеряемой цепи. Далее это значение можно использовать в качестве параметра для функции setZeroVDC() или setZeroVAC().

    Если Вы желаете использовать модуль для измерения тока в разных цепях, то в коде setup можно указать: float i = getZeroVDC(); setZeroVDC(i); // получить и установить среднее значение напряжения на выходе модуля, например, соответствующее отсутствию постоянного тока в измеряемой цепи. Но тогда при каждом старте скетча, ток в цепи действительно должен отсутствовать.

    Если Вы желаете использовать модуль для измерения тока в одной и той же цепи, то можно считать напряжение на выходе модуля (при отсутствии измеряемого тока) используя функцию getZeroVDC() или getZeroVAC(), только один раз. Запомнить полученное значение. И переписать скетч, где в коде setup вызывать только функцию setZeroVDC() или setZeroVAC() с указанием этого значения, не вызывая функцию getZeroVDC() или getZeroVAC(). Например, setZeroVDC(2.5); Тогда обесточивать цепь при старте скетча не потребуется.

    Читайте также:  Xbox 360 мигает красным и выключается

    Подробнее про установку библиотеки читайте в нашей инструкции..

    Примеры:

    Измерение постоянного тока:

    В данном скетче, Trema датчик тока 5A используется для вывода измеренного постоянного тока в монитор последовательного порта. Следующий скетч предназначен для измерения переменного тока и отличается от данного скетча только тем, что в нём изменены окончания функций библиотеки iarduino_ACS712 (вместо DC указано AC).

    Измерение переменного тока:

    В данном скетче, Trema датчик тока 5A используется для вывода измеренного переменного тока в монитор последовательного порта. Данный скетч отличается от предыдущего только тем, что в нём изменены окончания функций библиотеки iarduino_ACS712 (вместо DC указано AC).

    Измерение переменного тока с регулировкой показаний:

    Как видно из предыдущих скетчей, функция calibrationDC() или calibrationAC(), позволяет откорректировать выводимые показания, но её удобно использовать с подстроечным резистором подключённым к свободному аналоговому входу Arduino, что и сделано в следующем скетче:

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

    Описание основных функций библиотеки:

    Библиотека iarduino_ACS712 предназначена для работы только с Trema датчиком тока 5A .

    Если вы очень переживаете за расход электро энергии и жуть как хочется вычислить виновника — это ваш день. Мы соберем датчик тока напишем простую логику для обработки входных значений для пересчета значений в киловаты/ч.

    Для сборки я использовал плату Arduino nano (никто не мешаем вам использовать тот же код для ESP или STM плат), LCD экранный шилд, резистор на 56 Ом, резисторы 100 кОм, конденсатор 10 мКф, датчик тока CT — Talema AC103 (с номинальным измерением 30A и максимальным 75A).

    Что такое датчик тока?

    Датчик тока — это магнитопровод с зазором и обмоткой компенсации, а так же встроенный датчик Холла и плата управления. Датчик Холла размещается в зазоре магнитопровода и реагирует на создаваемое катушкой магнитное поле. Чем сильнее напряженность магнитного поля, тем сильнее датчик Холла подает сигнал, который усиливается платой управления.
    Датчики тока бывают для измерения переменного тока и постоянного тока. Наш — CT-Talema AC103 — для переменного.

    Соберем наше устройство согласно схеме:

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

    Не забываем, что нам нужно выполнить калибровку нагрузочного резистора R3. Формула расчета R = V / I — R = 2,5 / 0,042 = 59,5 Ом где 2,5 — опорное напряжение на плате, а 42mA — потребление платы. По тому принимаем самый близкий резистор по номиналу — 56 Ом.
    Для деление основного напряжения питания до опорного 5/2 вам потребуется поставить два одинаковых резистора R1 и R2.

    Читайте также:  Антенна квадрат на 40 метровый диапазон

    Остается только загрузить пример кода в Arduino:

    Завершающим шрихом нашей установки станет калибровка. Ее лучше выполнять при включенной эталонной нагрузке известной мощности. Для этого хорошо подходят мощные лампы накаливания. Возьмем лампу на 100 Ват. Включаем плату и высчитываем поправочный коэффициент:
    Двойной RMSCurrent = ((maxCurrent — 516) * 0,707) /11,8337 где 11.8337 — подобранный коэффициент для компенсации расхождений в измерениях.

    Если вы очень переживаете за расход электро энергии и жуть как хочется вычислить виновника — это ваш день. Мы соберем датчик тока напишем простую логику для обработки входных значений для пересчета значений в киловаты/ч.

    Для сборки я использовал плату Arduino nano (никто не мешаем вам использовать тот же код для ESP или STM плат), LCD экранный шилд, резистор на 56 Ом, резисторы 100 кОм, конденсатор 10 мКф, датчик тока CT — Talema AC103 (с номинальным измерением 30A и максимальным 75A).

    Что такое датчик тока?

    Датчик тока — это магнитопровод с зазором и обмоткой компенсации, а так же встроенный датчик Холла и плата управления. Датчик Холла размещается в зазоре магнитопровода и реагирует на создаваемое катушкой магнитное поле. Чем сильнее напряженность магнитного поля, тем сильнее датчик Холла подает сигнал, который усиливается платой управления.
    Датчики тока бывают для измерения переменного тока и постоянного тока. Наш — CT-Talema AC103 — для переменного.

    Соберем наше устройство согласно схеме:

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

    Не забываем, что нам нужно выполнить калибровку нагрузочного резистора R3. Формула расчета R = V / I — R = 2,5 / 0,042 = 59,5 Ом где 2,5 — опорное напряжение на плате, а 42mA — потребление платы. По тому принимаем самый близкий резистор по номиналу — 56 Ом.
    Для деление основного напряжения питания до опорного 5/2 вам потребуется поставить два одинаковых резистора R1 и R2.

    Остается только загрузить пример кода в Arduino:

    Завершающим шрихом нашей установки станет калибровка. Ее лучше выполнять при включенной эталонной нагрузке известной мощности. Для этого хорошо подходят мощные лампы накаливания. Возьмем лампу на 100 Ват. Включаем плату и высчитываем поправочный коэффициент:
    Двойной RMSCurrent = ((maxCurrent — 516) * 0,707) /11,8337 где 11.8337 — подобранный коэффициент для компенсации расхождений в измерениях.

    Ссылка на основную публикацию
    Adblock detector