Самодельный логгер тока

AlLesha

Тяга к непонятному знанию и шаловливые руки сподвигли меня на создание некоего устройства, которое я решил наречь логгером потребляемого тока (ВМГ в полете).
Устройство рассчитано на входное напряжение 7-15V, максимальный потребляемый ток 20, 30 или 50А в зависимости от используемого датчика тока. Производит запись тока и напряжения 1, 2 или 4 раза в секунду. Запись начинается при превышении током 10% максимального значения, завершается при падении тока ниже 4% от максимального в течение 7секунд. Длительность записи 600 точек — 600, 300 или 150 секунд. Считывание результатов происходит через Bluetooth.

Для создания девайса необходимо:

  1. Arduino Pro Mini на 328 меге на 5V
  2. Датчик тока acs712 на 20 или 30 А. Для 50A -acs724
  3. Bluetooth приемо-передатчик JDY-08
  4. Линейный стабилизатор напряжения на 5V LM1117-5.0 или аналогичный.
  5. Два резюка по килоому и по одному 4.7к и 10к. Последние два могут быть иных номиналов, важно соотношение 1:2 или что-то около того, служат делителем для измерения входного напряжения.
  6. USB-UART переходник и программатор для меги.

Во-первых, подсоединяем JDY-08 к переходнику USB-UART. Запускаем программу терминала (у меня Termite 3.4). В настройках ставим baud rate 115200. Отправляем команду AT+NAME. Получаем ответ +NAMEJDY-08, значит все ок. Затем отправляем команду AT+NAMEхххх, хххх- имя под которым будет видно ваше устройство.
AT+PASS000000, 000000-пароль для подсоединения,
и самое главное AT+BOUD3 – переключаем скорость общения на 19200. После выполнения этой команды, общение с терминальной программы прекратится, пока не переставите у неё в настройках скорость на 19200 (исключительно для проверки).

Заливаем прошивку в Мегу. Можно через тот-же USB-UART, можно через любой другой программатор. Дело все в том, что все равно придется подключать программатор для изменения fuse-битов. По умолчанию стоит запрещение сохранения записи в EEPROM, а там хранятся настройки (у меня на всех про мини и половине нано было так). Я подключался через avrdudeprog3.3. Считываем fuse-биты, если на бите EESAVE галочка стоит, то ничего менять не надо, если нет — ставим галку и прошиваем биты.

Далее припаиваем стабилизатор напряжения, родного на PRO MINI, не хватает на всех потребителей. Впаиваем резисторы делителя 10к между пином RAW и A3, 4.7к между A3 и GND. Припаиваем плату JDY-08, соединяя GND-GND, VCC-+5V, TX от ардуины через резистор 1к к Р02, а RX через 1к к Р03. Тут тоже все. Под стабилизатор и блютус адаптер хорошо бы подложить изолирующие подкладки.



Припаиваем через торцевые пины VCC и GND плату с датчиком тока, выход с датчика тока ведем на пинм А0.

Далее собираем пару разъемов папа-мама. Минусы соединяем между собой, и выводим проводок на пин GND. Плюсовые провода припаиваем к плате датчика тока. Один из контактов соединяем с пином RAW(VIN).
По сборке вроде бы все.

Прошивка CurrentLogger20A.zip
Как пользоваться:

Для общения с логгером ставим на телефон программулину - Serial Bluetooth Terminal (это для Ведроида, за яблочную продукцию не скажу — не пользовался).
Команды воспринимаемые логгером:
inf – краткая справка о девайсе и коммандах.
rst – очистка лога
log – выдача лога на экран
fly – выводит максимальный ток и использованную емкость за полет
now – текущее значение тока и напряжения (при условии, что запись лога стартовала)
sei – установка модели датчика тока 20, 30 или 50 А
seu – установка множителя, для пересчета входного напряжения в зависимости от фактических номиналов резисторов делителя. В моем случае этот множитель равнялся 61, вводить необходимо три цифры, то есть я вводил 061. По умолчанию, после прошивки, по месту хранения этого множителя находится чёрт знaет что. Поэтому необходимо провести калибровку сравнивая значение напряжения выводимого по команде now и значения допустим с тестера.
sep – установка частоты записи лога — 1, 2 или 4 раза в секунду.
Вот вроде как и все.

blade
AlLesha:

Вот вроде как и все

Осталось выяснить: а зачем?
Во первых, если самолет ФПВ (или ДПЛА)- эта информация и так выводится на экран, поскольку идет запись как изображения с камеры, так и наложенной на него телеметрии?

И при необходимости- нет проблемы посмотреть ток в любой нужный момент времени…
Поэтому создание отдельного устройства, только для контроля тока ВМГ- не представляется нужным.
Тем более, что весь остальной “борт”- потребляет известный и практически постоянный ток (ну, если усреднить потребление “серво”).
И выяснить точное потребление ВМГ- нет проблемы путем вычитания из общего потребления- “бортовой части”?