Какое то время назад решил я собрать свой вариант контроллера для аквариума.
На долго затянулся этот процесс.
Идейным вдохновителем стал Pimass,а автором графики и дизайна экранов его девушка Виктория. За что им огромное спасибо. У меня фантазии так и не хватило.
У меня в теме есть плата этого переходника с часами, делителем напряжения для пш. но собирать еее нужно самому. Детали стоят копейки. Плату можно заказать у китайцев но минимум 10 штук. или у меня есть еще парочка по 5 долларов.
Тогда все аккуратно без соплей и не нужно танцев с бубном.
Для нагрузки на 220 вольт такие реле, но я использую силовую плату на симисторах.
ПШ усилитель собрать самому, лан модуль стоит 14-17 долларов, но не стоит его брать, у меня реализовано только мониторинг на андроид телефон и дальше развивать нет времени.
Контроллер имеет 9 каналов для подключения нагрузки.
На каждый канал до 7 отдельных программ.
Дополнительно канал на работу с фильтром (временное отключение). Канал управления кулером охлаждения LED светильника.
Часы реального времени.
Можно подключить следующие датчики контроля:
4 датчика температуры
4 пш электрода
2 ультразвуковых датчика уровня воды
Каждый датчик можно одновременно использовать для управления несколькими каналами. Например:
1 канал осуществляет подачу СО2 согласно данным с электрода ПШ до уровня 6.00
2 канал следит что бы показания с того же электрода и как только показания достигнут 5.5 начнет работать компрессор и подавать воздух в аквариум.
Что умеет делать контроллер:
1. включать свет по таймеру (рассвет/закат)
2. контроль температуры обогрев/охлаждение
3. контроль СО2 повышение/понижение
4. контроль уровня воды слив/долив
5. подача удо или других жидкостей
6. каждый канал имеет регулировку PWM (шим) уровня,
есть возможность выбирать PWM частоту для всех каналов сразу, следующие значения в Гц: 3000, 2500, 2000, 1500, 1000, 500
7. калибровка дозатора УДО, Подача УДО с точностью 0,5 мл.
8. калибровка ПШ электродов
9. отключение фильтра от 10 до 50 минут
Пункты с 2 по 5 можно ограничить по времени. Например контроль CO2 с 8-00 до 19-00
В планах:
1 Подключить LAN модуль для управлением контроллером
2 Сделать ведение ЛОГ файла данных
3 Сделать управление помпой течения для моря
Необходима помощь в разработке силовой исполнительной платы
Буду рад любой помощи.
Настройка времени, поиск датчиков температуры, калибровка электродов ПШ, настройка LAN
Установка времени
Поиск датчиков температуры
Калибровка ПШ электродов
Установки условий работы канала
Настройка таймера
Настройка контроля температуры
Настройка контроля ПШ
Настройка контроля уровня воды
Настройка PWM (шим) уровня
Настройка подачи УДО
Калибровка дозирующего насоса
Калибровка датчиков "ультразвук" уровня воды
Пример работы с программы, немного устаревшая версия.
Исходники можно скачать тут
Данная версия работает у меня уже давно и вроде бы стабильно.
Есть некоторые "баги" но их исправляю.
Если я смог сделать, то Вы уж точно сможете.....
Новое в контроллере: 22 февраля 2015г.
1. Убрал внешний ЕЕПРОМ, все хранится на ардуине.
2. Заменил поплавковые датчики уровня воды 4 шт, на 2 ультразвуковых.
3. Сделал калибровку уровня воды для срабатывания датчика.
4. Добавил экран с отображением состояний выходных каналов в Диаграмме.
Последний раз редактировалось sae74; 23.02.2016 в 07:17..
Просмотров: 362597
62 пользователей поблагодарили sae74 за данный пост:
Re: Контроллер на базе Arduino Mega 2560 + 3.2" TFT Touch LCD ===www.aquaforum.ua===
Цитата:
Сообщение от azh122
у меня по UART. Так получилось.
но вообще то не зачем роутер курочить - хватит и того что есть.
Плюс демона ком порта поставить - шить по сети. В выходные поковыряюсь...
Упс, облом - openwrt не поддерживает ATMEGA8U2, который стоит в бутерброде.
Т.е. просто воткнуть мегу в роутер по USB не получится. Либо вытаскивать UART из роутера. Либо переходник USB2UART... Первое для большинства наверное не подойдет. Второе - лишняя деталь, да не пробовал - побежал за переходником...
Re: Контроллер на базе Arduino Mega 2560 + 3.2" TFT Touch LCD ===www.aquaforum.ua===
По многочисленным просьбам "телезрителей"сегодня доделал возможность выбирать PWM частоту.
Установил следующие значения в Гц: 31372, 3921, 980, 490, 245 ,122. Есть еще возможность установки 30Гц - но думаю что оно не кому не нужно, и опыт показал что сильно заметно для глаз.
Re: Контроллер на базе Arduino Mega 2560 + 3.2" TFT Touch LCD ===www.aquaforum.ua===
Андрей, так можно ведь и проще.... Все что выше 50гц по идее уже большинство людей не разберет (старые телевизоры работали на частоте мерцания 50гц), крутые телеки 100гц, так что думаю если поставить 100 и выше вопрос не будет стоять.... Вопрос в другом, скольки битный ШИМ?
Собственно к чему я это? Как то на буржуйском рифцентрале наткнулся на фразу
Цитата:
Can anyone comment on the smoothness of the analog 0-10v to PWM converter when using the Apex? The new controller from Coralux does 12-bit so 4096 levels of dimming compared to 256 with 8 bit. I'm still in the planning stages of this build but trying to avoid doing things twice.
Перевод
Цитата:
Может ли кто-нибудь прокомментировать гладкость аналоговый 0-10В ШИМ преобразователем при использовании Apex?Новый контроллер от Coralux делает 12-битные так 4096 уровней яркости по сравнению с 256 с 8 бит. Я все еще в стадии планирования этого строить, но пытается избежать делать вещи дважды.
Re: Контроллер на базе Arduino Mega 2560 + 3.2" TFT Touch LCD ===www.aquaforum.ua===
pimass, эти вопросы не ко мне.... и не в этом контроллере. Мне нужен баланс между точностью и производительностью.
Кто хочит разобраться и мне рассказать - Милости просим
Re: Контроллер на базе Arduino Mega 2560 + 3.2" TFT Touch LCD ===www.aquaforum.ua===
Цитата:
Сообщение от sae74
Я что программист Ардуино? %)
А что я? )))
Цитата:
200 kHz and 4096 levels requires an 819.2 MHz clock rate.
20 kHz would require 81.92 MHz.
With the Arduino's 16 MHz clock you get less than 4 kHz PWM with 4096 levels.
I think you will need external hardware like the TLC5940. It has 16 channels of 12-bit PWM. Unfortunately the greyscale clock can only go up to 30 MHz so you won't get even 10 kHz PWM out of it. Similarly the LT8500 can only handle a 25 MHz clock.
You might need to design custom hardware with a 1 GHz clock. Emitter Coupled Logic should be fast enough.
ON Semiconductor makes the MC10E016: 5V ECL 8-Bit Synchronous Binary Up Counter. Hook two together to get a 16-bit counter. Then use a 12-bit compare for the PWM output and a register you can load. ON Semi also makes the MC10E166: 5V ECL 9-Bit Magnitude Comparator. Two of those and some external logic should allow you to do a 12-bit comparison.
Вот чего нашел, на сколько я понял, штатными средствами платформы, это не достижима, нужна какая то специательная микруха MC10E166