АЦП на «малину» (апельсину)

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

Очень понравился мне мини-комп Raspberry Pi. Одноплатный ARM-контроллер с полноценным Linux внутри! Мощь, после роутеров Asus WL500 и аналогичных круче, просто феноменальная. Куча ядер, гигамегагерцовый процессор, памяти аж гигабайт против 32 Мб у того же WL500.

Я, как вспомню адовы времена жилья в коммунальной квартире номер «Асус WL500v2», где одна копия PHP занимает половину памяти. А если вместе с этим тебе ещё приспичило на перле что-то написать, пиши — пропало. Где скорости еле-еле хватает на обслуживание usb-винта, не то что на пережатие картинок… бр. Dead Moroz по коже.

Совсем другое дело — малина (Raspberry). Великолепный комп. Но чуть дорогой с этим курсом доллара.

Совсем-совсем другое дело — апельсин (Orange Pi). Ещё более великолепнейший китайский мини-комп и…, на удивление дешевле оригинальной малины. Памяти больше, проц сильнее, периферия в целом совместима с малиной.

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

И чем, скажите на милость, мне мерить напряжение на АКБ обсерватории? Ну да, я побегал с вольтметром в сарай. Но это быстро надоело : ). Так что, заглянув в тумбочку нашёл там китайский клон arduino nano с 10 битными АЦП. Посредством гугла вспомнил Си и накопипастил программку поставки значений с АЦП на «апельсин». Тот подхватывал и, усредняя несколько показаний, кидал в свою mysql базу. Из которой потом и доставал его же веб-сервер и показывал мне.

Всё хорошо, но делитель напряжения я собрал «на коленке» и залил термоклеем. И тот вечно глючил. Ещё и точности в 10 бит с грубым делителем мне не хватало. Меня это всё достало и (вновь хвала гуглу), я нашёл i2c АЦП ADS1115. Заказал его платку за 100 руб на али и через месяц с хвостиком, то есть сегодня, получил устройство на руки.

sensors IMG 4540 - АЦП на "малину" (апельсину)Платка малюсенькая (у меня, мне кажется, ещё меньше), вот статья на русском, а вот статья на английском. Материала много, не стану повторять его. Скажу лишь, что завелась почти сразу. Только апельсину для библиотеки Adafruit_Python_GPIO нужно было притвориться малиной.

Строку 35 файла Adafruit_GPIO/Platform.py я закомментировал, а 36-ую сдвинул левее. Получилось, что библиотека всегда думает, что она на малине. Были сомнения запустится ли, но … Заработало. Гут. Так и оставил.

Вообще, интересный язык — питон. Приятный, я бы сказал. Но, конечно же, к нему нужно привыкнуть.

Ещё сделал:

  • усреднение показаний за минуту;
  • запись в mysql средствами питона, а не вызовом внешнего бинарника, как было раньше.

Собираю статистику. За часть суток пока такие показания. Это за сутки:

24v day 768x416 - АЦП на "малину" (апельсину)

Посредине графика огромная ступень наверх — включил АЦП.
Мелкая ступенька чуть дальше — землю объединил. Ошибка монтажа, которая могла стоить микросхемы АЦП.
Потом напряжение плавно падает до 5:40.
А в 5:40 я нагрузку выключил, напряжение наверх прыгнуло и перестало падать.
В ~7 утра Солнце взошло, пошла зарядка.

 

А это за час. Сейчас, когда идёт зарядка от Солнца. Шумновато, конечно. Но и источник — ШИМ контроллер заряда за 10$, мягко говоря, не очень стабилен.

24v hour 768x416 - АЦП на "малину" (апельсину)