|
|
17.03.2014, 13:10
|
|
Простой акваконтроллер ARDUINO
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
17.03.2014, 13:10
Рейтинг:
(9 голосов - 5.00 средняя оценка)
Аква контроллер ARDUINO.
(Обратите внимание на доработанный вариант от форумчан. Ссылка внизу!)
( ПродолжениеПростой акваконтроллер ARDUINO v.2 (LED море))
(ГОТОВЫЕ КОНТРОЛЛЕРЫ НЕ ПРОДАЮ)
Решил ознакомиться я с ARDUINO, за одно порадовать своих рыбасей.
Сделать им(себе) доп удобства за минимальную цену и с минимальным напрягом по времени.
На eBay заказал.
Контроллер
Arduino PRO Mini ATMEGA328P 5V 16M (16MHZ) + CP2102 модуль + кабель = полный комплект для программирования - US $3.18
Часы реального времени
I2C RTC DS1307 AT24C32 Real Time Clock Module for Arduino + Батарейка US $1.15
Индикатор 84*48 LCD Module White backlight adapter PCB for Nokia 5110 Arduino US $1.83
Влагозащищенный цифровой датчик температуры
DS18b20 Waterproof Temperature Sensors (5м нормального кабеля) US $3.7
В качестве блока питания зарядка от iPhon там же за 1 бакс.
Еще немного мелочи типа симисторов и опторазвязки для силовой части.
Что вышло в итоге.
Аква контроллер с энергонезависимыми часами реального времени.
Графический экран с регулировкой яркости подсветки и контрастности.
Управление 13-ю нагрузками.
Куча таймеров, ограничил по 25 на канал (памяти хватит на 500).
Поддержка режима «кормление» - отключается фильтр на 20 мин.
Цифровой термометр и управление нагревателем и охладителем(в моем случае кулер).
Органы управления
1 кнопка отмена
2 кнопка вверх
3 кнопка вниз
4 кнопка ОК
Нагрузки
D10 куллер (С регулировкой оборотов)
D11 ЛЕД (Восход/закат)
А0 1W (термометр)
D12 Фильтр
D13 Нагреватель
D1 СО2
D0 Компрессор
А1 Свет1
А2 Свет2
А3 УДО Микро
А4 УДО Макро
А5 УДО Железо
А6 Управление БП
Себестоимость контроллера чуть больше 10 баксов.
На картинке силовая часть в виде готового релейного модуля (такие есть и на 8 каналов - цена около 8 баксов), я использовал свою плату силовой части - схема и печатка во вложении(плату изготавливал по ЛУТ технологии).
Все проверено - работает.
Все комплектующие покупались на ибей и цены ориентировочные доставке везде БЕСПЛАТНАЯ.
ВАЖНО.
соединять ардуино и часы проводниками минимальной длинны !!!
Варианты скетча:
MIHS, скетч с измененными буквами.
Одна из лучших реализаций от форумчан
burnashev https://www.aquaforum.ua/showpost.ph...postcount=1221
Ant0ny https://www.aquaforum.ua/showpost.ph...postcount=1224
Последний раз редактировалось AlexVOK; 01.02.2019 в 23:47..
|
Просмотров: 497222
|
47 пользователей поблагодарили AlexVOK за данный пост:
|
AkaPain (28.08.2015), Alex Meng (30.10.2017), Andressio (01.02.2015), Ant0ny (08.07.2018), Arduino (03.12.2016), burnashev (16.09.2018), chack (10.12.2014), Denisios (27.05.2014), dimul (29.04.2014), Floyd (09.07.2018), Gorbounov (20.09.2014), h_a_m (12.01.2015), imac2008 (20.12.2015), kolljj (20.11.2014), Litr55 (24.02.2021), LVit (20.01.2016), Mehannik (11.11.2014), MIHS (27.01.2016), Multiman (27.03.2015), nanolab (18.03.2015), Olegvs (25.03.2017), PaninAV (07.09.2018), paradox860 (22.12.2014), pdv1965 (20.03.2014), RozarioAgro (10.03.2015), rusianGrt (09.10.2017), sae74 (22.08.2014), sefr111 (28.04.2016), Sem (22.03.2015), Sikx (30.01.2019), Slesh (18.10.2014), Spiker (12.11.2015), spolyakov (20.06.2015), steals81 (17.03.2014), Toha24510 (22.10.2015), Tvister86 (07.02.2017), ya7sergey (09.02.2017), _Vadim (27.02.2016), _Константин_ (28.03.2016), акв@фанат (23.11.2014), Артур Дент (24.04.2014), Ветал (08.03.2016), Вячеслав Сергеев (14.09.2015), Игорь-1 (30.10.2014), Никола73 (31.03.2017), Петко Шкодров (18.10.2014), Юрий77 (26.02.2016) |
Реклама помогает развиваться |
|
12.08.2014, 18:50
|
#136
|
Я тут недавно
Регистрация: 15.09.2012
Адрес: Харьков
Сообщений: 55
Поблагодарил(а) : 13
Поблагодарили 9 раз(а) в 7 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Здравствуйте, подскажите пожалуйста, у меня что то странное происходит, посл подключения питания на дисплее все начинает переключатся и хаотично заходить в пункты меню и что то настраивать. Пробовал отключить клавиатуру - не помогло. Пробовал просто к плате подключить питание и диспле, проблема не исчезла. Если кто знает, подскажите в чем может быть проблема???
|
|
|
12.08.2014, 23:19
|
#137
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Denisios,
вот маленький тестовый скетчь для проверки клавы.
суть ее показать значение АЦП для каждой из кнопок
я ее использовал для задания параметров в коде
//Интерпретируем полученное значение и определяем код нажатой клавиши
if (KeyValue2 > 900)
{KeyNum = BUTTON_NONE;}
else if (KeyValue2 > 450)
{KeyNum = BUTTON_CANCEL;}
else if (KeyValue2 > 250)
{KeyNum = BUTTON_UP;}
else if (KeyValue2 > 100)
{KeyNum = BUTTON_DOWN;}
else {KeyNum = BUTTON_OK;}
если значения будут сильно прыгать - значит с подключение что то не то
попробуйте вывод #define Key_PIN 7 замкнуть на землю например
|
|
|
Пользователь, который поблагодарил AlexVOK за данный пост:
|
|
13.08.2014, 09:43
|
#138
|
Я тут недавно
Регистрация: 08.01.2008
Адрес: Pinsk, RB
Сообщений: 43
Поблагодарил(а) : 5
Поблагодарили 16 раз(а) в 12 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
А можно тупой вопрос? (это мой первый проект на ардуинке)
Почему #define Key_PIN 7 определяется средой как A7 (и реально при этом работает) ?
А как тогда цифровой пин 7 определить?
И при этом
#define EXT_POWER_ON_PIN 20 Это А6
#define EXT_UDO_MICRO_PIN 17 Это А3
#define EXT_UDO_MACRO_PIN 18 Это А4
#define EXT_UDO_Fe_PIN 19 Это А5
Или я что-то с распиновкой путаю? Нагрузки пока не подключал так что выходы не проверял.
|
|
|
Пользователь, который поблагодарил AlexNT за данный пост:
|
|
13.08.2014, 16:01
|
#139
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Обновил шапку, нарисовал схемку
Надеюсь со схемкой станет все понятней.
AlexNT,
#define Key_PIN 7
директива "#define" означает, что компилятор везде в тексте проги
просто заменит слово "Key_PIN" на "7"
и не более, что там написано уже определяется в месте использования.
Т.е. строка кода
KeyValue1=analogRead(Key_PIN);
эквивалентна
KeyValue1=analogRead(7);
"analogRead" - собственно и указывает на аналоговый вывод А7
"#define" - Используется сугубо для удобства программирования.
Последний раз редактировалось AlexVOK; 13.08.2014 в 16:08..
|
|
|
14.08.2014, 22:24
|
#140
|
Я тут недавно
Регистрация: 08.01.2008
Адрес: Pinsk, RB
Сообщений: 43
Поблагодарил(а) : 5
Поблагодарили 16 раз(а) в 12 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Что такое #define я знаю. Просто в скачанной распиновке они несколько по другому обозначались. Сейчас прочитал референс с arduino.cc. Осознал различные варианты описания пинов. Кстати, в качестве аппаратного I2C используются A4 и A5. Надо будет попробовать задействовать именно их. Может это решит проблему с часами. К тому-же на моей версии ардуинки на самой плате предусмотрены места для подтягивающих резисторов.
|
|
|
Пользователь, который поблагодарил AlexNT за данный пост:
|
|
Реклама помогает развиваться |
|
14.08.2014, 23:45
|
#141
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AlexNT,
"качестве аппаратного I2C используются A4 и A5"
это не для ардуинки,
(ардуинка туповата в этом плане, сори - упрощенна)
Библиотека часов не использует аппаратных возможностей.
С случае чистого Си под AVR тогда там все по другому.
Хотя, пробуй. Поделись результатом.
|
|
|
18.08.2014, 02:09
|
#142
|
Я тут недавно
Регистрация: 08.01.2008
Адрес: Pinsk, RB
Сообщений: 43
Поблагодарил(а) : 5
Поблагодарили 16 раз(а) в 12 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AlexVOK,
Попробовал. Ниче так получилось. Часы пока стабильно идут. Хотя это еще ни о чем не говорит. Со старой библиотекой они тоже иногда вдруг нормально шли...
Что сделал:
1) Перевел I2C шину на A4 A5.
2) Использовал комплект библиотек Time и DS1307RTC с
playground.arduino.cc/Code/Time
Они используют встроенную библиотеку Wire (она располагается в arduino-1.5.7\hardware\arduino\avr\libraries\Wire\ ) и я так понимаю она должна использовать аппаратные возможности I2C ??? Во всяком случае другие пины она даже не спрашивает.
Правда для DS1307 там всего 3 функции:
RTC.read(tm); RTC.write(tm); RTC.chipPresent(); т.е читается и пишется сразу все от секунд до года. Вот и думаю что лучше - напсать доп библиотеку чтобы отдельно работать с часами и датами или реализовать это в программе.
P.S. Кстати, в новых версиях IDE (у меня 1.5.7) поменяли компилятор и некоторые библиотеки надо слегка изменять.
|
|
|
18.08.2014, 17:50
|
#143
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Обновил схемку.
Расскажу о своей задумке - реализации.
В качестве БП, я использую ATX блок питания от компа.
БП слегка доработан, ардуинка и кулер питаются от дижурки, а вот силовая часть задействуеттся для питания светодиодных модулей по 4х10 Вт и пересталических помп.
Доработка БП заключалась в понижении выходного напряжения 12В до необходимых мне 9,5 В (для запитки светиков в щадящем режиме и чтоб избавится от драйвера).
Собственно Ардуинка и управляет входом PS ON и дальше шимом реализуется восход и закат.
Таким образом, опять за 3 копейки у меня есть добротный блок питания два в одном.
В моем случае один канал управления светиком (+ два канала по две специализированные лампы Т5 для травника),
кому нужно больше, добавляйте сколько нужно полевичьков/каналов - например пожертвовав дозатором УДО (плюс пару перестановок)и будет чистый ЛЕД свет
Или еще проще ставите нормальные управляемые ЛЕД драйвера, тогда даже доп элементов ненужно кроме одного резистора
Последний раз редактировалось AlexVOK; 18.08.2014 в 17:55..
|
|
|
18.08.2014, 18:09
|
#144
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AlexNT,
это мой первый и точно последний проект на ардуино
(лично мое, хотя для начинающий лучше платформы думаю нет)
так что я его закончу на существующем у меня наборе библиотек и версии ИДЕ
уже не один месяц все работает в автопилоте - меня устраивает
Последний раз редактировалось AlexVOK; 18.08.2014 в 18:25..
|
|
|
19.08.2014, 00:07
|
#145
|
Я тут недавно
Регистрация: 08.01.2008
Адрес: Pinsk, RB
Сообщений: 43
Поблагодарил(а) : 5
Поблагодарили 16 раз(а) в 12 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AlexVOK
Новая платформа или просто реализовал что хотел?
Идея с АТХ БП понравилась. Только для себя оставлю вольт 11.
Честно я тоже от ардуин тоже другого ждал. Чисто теоретически слышал что блин все просто, ничего не надо, куча либ, свой IDE, минимум программирования… Я для себя уже представил визуальную среду со вставкой объектов, настройкой их свойств… Загрузил – и вижу аналог блокнота с возможностью компиляции… Обалдел от «обилия» возможностей. Ладно, мне не привыкать… Загрузил Notepad++ . Он хоть сворачивание кода поддерживает и подсветку парных скобок и конструкций. Библиотеки – вообще песня. Разрозненные, несогласованные… Не выдерживает душа поэта. Приходится их доделывать для себя.
Однако я наверное продолжу, пока не реализую то, что надо мне.
Моя концепция такова: максимально дешевая рабочая лошадка для пресноводника.
Т.е. контроллер без выпендриваний вроде тыкательного экрана. Просто Включение/выключение нагрузок по расписанию, термостат, отслеживание внештатных ситуаций. В принципе даже такой простой дисплей тут почти лишний (ладно, пусть пока хоть часы показывает да и температурку для сведения).
Вместо мегаконтроллера рассчитанного на все возможные ситуации, разные типы светильников и помп – умное оборудование. Сказал качнуть единицу удо или три единицы – вот блок помп пусть и разбирается КАК именно это сделать. Если некоторые светильники нельзя сразу включать после отключения – они сами должны это отслеживать. При ценах на Arduino pro это вполне возможно, т.к силовая часть стоит гораздо больше самих процессоров.
Из дальнейшего развития (или кастрации)
1) Перевести оборудование на стандартные для атмеги выводы I2C и SPI (дисплей)
2) Предусмотреть настройку с компа и как следствие
3) Освободить RX и TX для UART (проводное или bluetooth модуль)
4) Сделать модификацию вообще без дисплея
|
|
|
19.08.2014, 09:21
|
#146
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AlexNT, вы абсолютно правильно поняли - почему у меня это последний проект на ардуино (такой убогой среды я еще не видел, это мы еще про отладку не вспоминали )
Но еще раз скажу в плюсы ардуино - простота на старте, все просто и доступно без спец программаторов и спец оборудования (у меня все это есть, был чисто спортивный интерес сделать за минимальные деньги акваконторллер).
Лично для меня этот проект уже близится к завершению, так как он превзошел все первоначально поставленные задачи.
Изначально планировался многофункциональный много канальный таймер термостат, сейчас уже дольше 3-х месяцев радует меня и близких.
Прибор перенес 3 эволюционных перелождения,
думаю будет еще четвертое - полноценный ЛЕД свет и все - автоматизация моей аквы покрыта на все 100%.
Могу подвести черту на сегодня
имеем бюджетный акваконтроллер
с часами реального времени
Удобным управлением - 4 кнопки
Удобным графическим дисплеем (причем очень дешевым)
на каждую нагрузку по 25 таймеров(будильников) - можно и больше но мне так удобней
Цыфтровой термометр Термостат с гистерезисом и всеми понтами (управляем нагревателем и оборотами кулера охлаждения - чем больше отклонение от заданой температуры тем быстрее вращается кулер)
Нагрузки для управления ШИМ с заданием времени наростания - тож по 25 таймеров на каждый канал (для восхода - заката)
3 канала управления пересталическими помпами для точнойй дозировки УДО - тож по 25 таймеров на каждый канал (каждый канал тарируется - и в меню задаются не условные единицы УДО а конкретное количество мл).
Связи с компом никогда не планировал и лично считаю не нужно это (IMHO).
Парадигма этого проекта выжать все из копеешно контроллера и минимума обвязки.
|
|
|
19.08.2014, 10:40
|
#147
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
По поводу модернизации ATX блока питания
за основу брал статью " Как сделать зарядное устройство для 12В свинцово-кислотных аккумуляторов из компьютерного БП ATX."
Статья полезна тем, что там описаны практически все типовые ШИМ контроллеры которые устанавливаются в комповых БП.
Для переделки вам понадобится пара резисторов, ну и выкинуть лишнее
(цепь регулировки тока вам не нужна, в качестве примера модернизация моего БП выходное напряжение регулируется подбором делителя R6 R12)
Ну и из личного опыта - для переделки берите самый простой (дубовый, дешевый блок) его будет проще переделать.
Я брал из полу живых - соответственно шара чуть привел в порядок и пашет
Последний раз редактировалось AlexVOK; 19.08.2014 в 10:47..
|
|
|
19.08.2014, 18:39
|
#148
|
Я тут недавно
Регистрация: 08.01.2008
Адрес: Pinsk, RB
Сообщений: 43
Поблагодарил(а) : 5
Поблагодарили 16 раз(а) в 12 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
А что значит полноценный Лед свет?
|
|
|
19.08.2014, 22:27
|
#149
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от AlexNT
А что значит полноценный Лед свет?
|
это я о ШИМ управлении светодиодами
восход закат
Возможно отдельные каналы для разноцветных светодиодов.
хотя пока планируется только один канал и тот как дополнение к моим 4х Т5
|
|
|
20.08.2014, 18:35
|
#150
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
В шапке доступна новая версия скетча.
Denisios нашел баг, в этой версии он устранен.
Denisios - проверь и подтверди плз.(после обновления зайди в меню будильников и передерни все значения - чтоб они перезаписались повторно в EEPROM)
За одно раз полез в код переделал визуализацию Задач(таймеров).
Думаю так будет значительно наглядней и понятней.
В списке заданий теперь сразу видно
* время
* состояние (вкл или выкл нагрузку)
* статус (перечеркнутое задание - не активное)
Последний раз редактировалось AlexVOK; 20.08.2014 в 18:46..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 10:53. Часовой пояс GMT +3.
|