Kirillius Labutin

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

3 сообщения в этой теме

Добрый день.

Небольшая предыстория: имеется инвертор 12DC -> 220AC с функцией подзарядки АКБ, который обеспечивает питанием оборудование для видеонаблюдения в небольшом магазинчике. Иными словами это некоторое подобие ИБП.

Планирую сделать модуль для мониторинга инвертора, чтобы удалённо знать о пропадании электропитания и отслеживать степень разряда АКБ.

Лезть внутрь инвертора не хочу, поэтому наличие внешнего питания я решил определять по силе и направлению тока в кабеле между инвертором и АКБ. Если есть внешнее питание - идёт зарядка и ток, допустим -1,5 Ампер, либо 0 когда АКБ заряжен. Если же внешнее питание пропадает, то инвертор нагружает АКБ и получаем ток +30-35А.

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

image.png.ed7e62178c4f8cb517ea75475f43b184.png 

У меня совершенно нет никакого опыта работы с ОУ и я с трудом представляю как они работают. Если я правильно понял, то данная схема на выходе даст либо положительное, либо отрицательное напряжение.

Поэтому, прошу подсказать каким образом я могу модифицировать данную схему и какие номиналы R и Rш использовать (теоретически максимально возможный ток в цепи 75А), чтобы на выходе получить постоянное напряжение в диапазоне 0-5 Вольт, при этом сам микроконтроллер и ОУ питаются от той же цепи, где производится измерение.

P.S. Высокая точность не важна. Важно только знать ток разрядки АКБ.

В общем виде схема примерно такая:

image.thumb.png.58b84818aa33d5ebb14426274d7de2bb.png

Изменено пользователем Kirillius Labutin

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IIIytNIK    401

Если высокая точность не нужна, то попробуйте применить датчики тока на эффекте Холла. ACS712 или ACS758, например.

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

Из недостатков - не очень высокая точность, влияние внешнего магнитного поля на показания датчика.

Оба недостатка лечатся при помощи костыля из двух датчиков, подробноее описано здесь (посты под номером 37 и 38).

Изменено пользователем IIIytNIK

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Dr. West    3 623

Ничего сложного в ОУ нету, схем амперметров на МК полно в сети. Например. А вот с определением направления тока уже хуже. Даже построив такую схему на ОУ, микроконтроллеры не умеют измерять отрицательное напряжение.

Да и зачем направление тока определять? Факт наличия / отсутствия сетевого питания можно установить легко, напряжение на батарее измерить тоже нетрудно. Этого уже достаточно, чтобы сделать вывод, в каком режиме находится ИБП и уровень заряда батареи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: St.Arya
      Миникомпьютеры BeagleBone Black Rev C приобретались по спецзаказу в комплекте с электронным оборудованием, после сборки оборудования осталось несколько (сотен) новых миникомпьютеров в заводской упаковке.
      Технические характеристики:
      - Процессор AM3358, ARM Cortex-A8, 1 ГГц;
      - Графический акселератор: Power SGX530;
      - 512 МБ DDR3L памяти;
      - 4 ГБ eMMC памяти;
      - Слот для карт MicroSD;
      - Разъем microHDMI с поддержкой аудио-выхода;
      - Интерфейс Ethernet 10/100 (разъем RJ-45);
      - USB Host;
      - USB Client для питания и отладки;
      - Стабилизатор питания TPS65217C;
      - Напряжение питания 5 В.
      Комплектация:
      - отладочная плата BeagleBone Black;
      - кабель USB.
      Цена: 3500 рублей
      Отправка транспортными компаниями за счет покупателя. Если возьмете от 10 штук - отправка за наш счет.

       


    • Автор: QuestionAnswer
      Необходимо сделать на Arduino регулятор оборотов моторчика жёсткого диска. Чтобы мог вращаться как в одну, так и в обратную сторону. По видеоролику на youtube, узнал что для регулирования оборотов нужно использовать ESC (модельный регулятор оборотов). Как вращаться и регулировать обороты в одну сторону показали, но каким образом можно сделать программное переключение направления вращения?

      И ещё небольшой вопрос: Может ли ESC регулятор резко сбрасывать обороты на более низкие? Если нет, то какой двигатель/регулятор способен резко сбрасывать обороты, к примеру, в 10 раз?
    • Автор: pingyini
      Всем доброго времени суток. Решил я сделать "умную" электронную сигарету на arduino. Концепция заключается в кнопочном управлении мощностью посредством ШИМ, наличии экрана, и некоторыми защитами в виде ограничения максимального времени нажатия и уход камня в сон (режим пониженного энергопотребления) после N секунд простоя.
      Вводные: по нажатию кнопки запускается ШИМ и управляет полевиком, но в целях защиты я хочу ограничить время выполнения кода до 7 секунд(что бы при случайном зажатии кнопки в кармане не получить травматическую ампутацию конечностей)

      Проблема пришла откуда не ждали - обработка нажатой основной кнопки срабатывает как попало. Нажимая кнопку обработчик может сработать сразу и отработает как по маслу, а может и через 5 нажатий не сработать вовсе.  Проверял в живую на Arduino UNO, Pro Mini (328е Меги) и в Proteus'е. Симптомы одни и те же.  Проблема очевидно в коде но я в упор не вижу в чем может быть загвоздка. Уровень у меня "штота умею" поэтому не судите строго. 
       
      #define pwmPin 5 #define buttonStart 3 #define maxOnTime 7000 //максимальное время выполнения условия нажатой кнопки #define RED_LED 7 #define GREEN_LED 8 int power = 150; //boolean StartState; boolean StartStateFlag; //Флаг кнопки Старт unsigned long pressTime; void setup() { pinMode(pwmPin, OUTPUT); pinMode(buttonStart, INPUT); pinMode(RED_LED, OUTPUT); pinMode(GREEN_LED, OUTPUT); Serial.begin(9600); //чисто для отладки } void loop() { if (digitalRead(buttonStart) && StartStateFlag && ((millis() - pressTime) <= maxOnTime)) { // (1) если кнопка старт нажата И была отпущена И нажата менее 7 секунд выполняем: analogWrite(pwmPin, power); //запуск ШИМ Serial.println("PWM_ON"); digitalWrite(GREEN_LED, HIGH); digitalWrite(RED_LED, LOW); } else { // (2) иначе StartStateFlag = false; // кнопка небыла отпущена analogWrite(pwmPin, 0); digitalWrite(GREEN_LED, LOW); Serial.println("PWM_OFF"); pressTime = millis(); } if (!digitalRead(buttonStart)) { //(3) если кнопка не нажата analogWrite(pwmPin, 0); //остановка ШИМ Serial.println("PWM_OFF"); digitalWrite(RED_LED, HIGH); StartStateFlag = true; //была отпущена и можно входить в условие с нажатой кнопкой (1) } } И файлы: сам скетч, .elf и .hex для шПротеуса и проект Протеус.
      P. S. ШИМ в Протеусе не работает в принципе, в железе все ОК 
      BUTTON_TEST.ino
      BUTTON_TEST.ino.eightanaloginputs.hex
      BUTTON_TEST.ino.elf
      BUTTON_TEST.ino.with_bootloader.eightanaloginputs.hex
      ButtonTest.pdsprj
    • Автор: Ilgam Talipov
      Задача: Написать скетч управления 9 светодиодами аналог WS2812 (из библиотек FastLed и NeoPixel рулятся ). Режим работы - стробы, длительность вспышки 0.1 - 0,2 сек, после того как каждый светодиод моргнул 1 раз, цикл повторяется, длительность цикла 4,5 сек (время примерное, точность не важна). Помочь настроить Arduino IDE для прошивки тинек. Если у вас железа нет, не проблема - мы можем тестить ваш код на нашем железе.
      Стоимость 5 000 руб
      мой скайп ilgamt
      почта talipov@me.com
      Спасибо
    • Автор: yur77
      Прошу помощи в решении следующей задачи. Необходимо получить от солнечной батареи ток не более 2-3 микроампер при таких характеристиках фотоэлемента: напряжение-5 В, ток- 250микроампер. Каким образом можно решить данную задачу?