|
|
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..
|
Просмотров: 502523
|
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) |
Реклама помогает развиваться |
|
30.09.2018, 10:06
|
#1156
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Решил посчитать сколько стоит собрать контроллер может кому-то пригодится
Ардуино нано 85 грн.
Или
Ардуино про мини 62 грн.
+ Преобразователь (конвертер) USB - RS-232 TTL PL2303HX 25 грн.
Датчик ds18b20 у метр IP67. 40 грн.
Ds1307 под 2032 батарейку 17 грн.
LCD 5110 80 грн.
Я использую Irf520 1 модуль 17 грн.
У меня Расвет закат из 12в 0.3 а линейки, Кулер, Помпа тоже на этом модуле
метр лед линейки 35 грн.
Метр профиля 40 грн который будет нормально охлаждать)
4-Channel 5V Relay Module for Arduino
Четырехканальный релейный модуль для ARDUINO контроллеров. 70 грн.
Основная электроника)
2-Channel 5V Relay Module for Arduino
Двухканальный релейный модуль для ARDUINO контроллеров. 32 грн.
Со2 компрессор
SPE-400P
Контактная макетная плата
Макетная плата. 400 точек, шаг 2,54 мм. 85х55 мм. 42 грн.
Уже год как использую все руки не доходят до развести печатную плату
Модуль питания для макетной платы MB-102. 21 грн. Или
dc-dc понижалка 25 грн.
Кнопки делал сам это 40 грн)
Макетка резисторы и кнопки
Провода соединения мама-папа 10см 25 грн. 40 шт.
Провода соединения папа-папа 10 см 25 грн. 40 шт.
Бп 12в 5 ампер 200 грн.
Walfront DC 12 В D2 Помпу заказывал с Китая 1 шт. Обошлась примерно 200 грн.
Ну а дальше все зависит от фантазии куда это все впихнуть и какие розетки поставить, я планирую чёрный корпус и розетки РД 1
Цены на 30.09.18 в Харькове
800 грн. Без корпуса и помп)
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
05.10.2018, 14:48
|
#1157
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
burnashev,
по поводу работы УДО
Посмотрел вашу доработку скетча
1. есть просьба, выкладывайте вместе с библиотекой, так как не у всех желающих может оказаться нужная либа с нужным шрифтом.
2. Для корректной работы удо стоит поправить все строки где
delay(udo_tim * Calibration);
заменяем
delay(udo_tim * Calibration*1000);
|
|
|
05.10.2018, 20:14
|
#1158
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от AlexVOK
burnashev,
по поводу работы УДО
Посмотрел вашу доработку скетча
1. есть просьба, выкладывайте вместе с библиотекой, так как не у всех желающих может оказаться нужная либа с нужным шрифтом.
2. Для корректной работы удо стоит поправить все строки где
delay(udo_tim * Calibration);
заменяем
delay(udo_tim * Calibration*1000);
|
Последний вопрос пока для меня) в какой строке поправить гистерезис на 0.5 градуса) а то щелкает каждые 10-15 секунд)
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
09.10.2018, 10:07
|
#1159
|
Я тут недавно
Регистрация: 15.09.2012
Адрес: Харьков
Сообщений: 55
Поблагодарил(а) : 13
Поблагодарили 9 раз(а) в 7 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от burnashev
Последний вопрос пока для меня) в какой строке поправить гистерезис на 0.5 градуса) а то щелкает каждые 10-15 секунд)
|
Попробуйте так сделать. Найти данный код
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < (float)aquaT){
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
}else
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
заменить на это:
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < ((float)aquaT+0.5))
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
if (cur_temp > (float)aquaT)
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
|
|
|
09.10.2018, 13:14
|
#1160
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от Denisios
Попробуйте так сделать. Найти данный код
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < (float)aquaT){
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
}else
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
заменить на это:
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < ((float)aquaT+0.5))
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
if (cur_temp > (float)aquaT)
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
|
Спасибо попробую)
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
Реклама помогает развиваться |
|
09.10.2018, 17:23
|
#1161
|
Бан за нарушения
Регистрация: 16.10.2012
Адрес: Львів
Сообщений: 472
Поблагодарил(а) : 71
Поблагодарили 330 раз(а) в 198 сообщениях
|
Відповідь: Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от Denisios
заменить на это:
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < ((float)aquaT+0.5))
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
if (cur_temp > (float)aquaT)
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
|
Груба помилка, бо якщо, наприклад, виставлена температура 25, то
якщо температура нижче 25,5 нагрівач включаємо
якщо вище 25, то виключаємо.
В результаті нагріваємо до тих же 25 градусів без гістерезису.
Потрібно додати пів градуса не в першу умову, а в другу !
Ну а якщо робити справді коректно, то так
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < ((float)aquaT-0.25))
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
if (cur_temp > ((float)aquaT+0.25))
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
Тоді температура буде підтримуватися з точністю +-0,25 градуса
Последний раз редактировалось bobus; 09.10.2018 в 18:08..
Причина: пропустив скобку
|
|
|
09.10.2018, 18:48
|
#1162
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Відповідь: Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Огромное спасибо)
Цитата:
Сообщение от bobus
Груба помилка, бо якщо, наприклад, виставлена температура 25, то
якщо температура нижче 25,5 нагрівач включаємо
якщо вище 25, то виключаємо.
В результаті нагріваємо до тих же 25 градусів без гістерезису.
Потрібно додати пів градуса не в першу умову, а в другу !
Ну а якщо робити справді коректно, то так
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < ((float)aquaT-0.25))
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
if (cur_temp > ((float)aquaT+0.25))
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
Тоді температура буде підтримуватися з точністю +-0,25 градуса
|
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
13.10.2018, 09:02
|
#1163
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Поправил отображение канала лэд))) играюсь с температурой
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
13.10.2018, 11:37
|
#1164
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Відповідь: Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Изменение температуры просто сместилось на 0.25 теперь включается и отключается 24.75
Цитата:
Сообщение от bobus
Груба помилка, бо якщо, наприклад, виставлена температура 25, то
якщо температура нижче 25,5 нагрівач включаємо
якщо вище 25, то виключаємо.
В результаті нагріваємо до тих же 25 градусів без гістерезису.
Потрібно додати пів градуса не в першу умову, а в другу !
Ну а якщо робити справді коректно, то так
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < ((float)aquaT-0.25))
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
if (cur_temp > ((float)aquaT+0.25))
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
Тоді температура буде підтримуватися з точністю +-0,25 градуса
|
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
13.10.2018, 21:39
|
#1165
|
Бан за нарушения
Регистрация: 16.10.2012
Адрес: Львів
Сообщений: 472
Поблагодарил(а) : 71
Поблагодарили 330 раз(а) в 198 сообщениях
|
Відповідь: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Скопіюйте у допис ту частину вашого скетча, котра управляє нагрівачем.
|
|
|
13.10.2018, 21:59
|
#1166
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Відповідь: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от bobus
Скопіюйте у допис ту частину вашого скетча, котра управляє нагрівачем.
|
Подскажите пожалуйста что нужно поправить в коде чтоб выключал обогреватель когда на берет нужную температуру а включался когда температура упадёт на 0.5 градуса
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < (float)aquaT){
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
}else
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
Второй вариант
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < ((float)aquaT))
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
if (cur_temp > (float)aquaT)
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
13.10.2018, 22:03
|
#1167
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Вот полная часть первого кода // Управление нагревом и охлаждением —--------------------------------------------
if(cur_temp < (float)aquaT){
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
}else
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
if (CoolingEnabled) {
if(cur_temp > ((float)aquaT+0.1)){ // Разрешено ли охлаждение куллером
int coll_cur = minCool+(((float)(maxCool - minCool))/100)*(((float)(cur_temp-aquaT))/0.5)*100;
if (coll_cur > maxCool) { coll_cur = maxCool;}
analogWrite(EXT_COOLING_PIN, coll_cur); // включает куллер
}else{
analogWrite(EXT_COOLING_PIN, minCool); // включаем режим проветривания
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
13.10.2018, 22:39
|
#1168
|
Я тут недавно
Регистрация: 15.09.2012
Адрес: Харьков
Сообщений: 55
Поблагодарил(а) : 13
Поблагодарили 9 раз(а) в 7 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от burnashev
Вот полная часть первого кода // Управление нагревом и охлаждением —--------------------------------------------
if(cur_temp < (float)aquaT){
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
}else
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
if (CoolingEnabled) {
if(cur_temp > ((float)aquaT+0.1)){ // Разрешено ли охлаждение куллером
int coll_cur = minCool+(((float)(maxCool - minCool))/100)*(((float)(cur_temp-aquaT))/0.5)*100;
if (coll_cur > maxCool) { coll_cur = maxCool;}
analogWrite(EXT_COOLING_PIN, coll_cur); // включает куллер
}else{
analogWrite(EXT_COOLING_PIN, minCool); // включаем режим проветривания
tropfish.org.ua
|
Зря не захотели использовать мой вариант, он отлично работает. А что бы не щелкало реле нагревателя, лучше собрать схемку на симисторе.
|
|
|
13.10.2018, 22:46
|
#1169
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Я перебрал последний скетч от Антонио он добавил все украшательства, я добавил на его скетч колибровку удо, пока ещё ведётся настройка этого блока, а вот на счёт температуры хочу чтоб температура выключала обогреватель на отметке заданной в термостате а включала - 0.5 градуса) а на счёт варисторов это конечно хорошо но я хочу допилить проэкт так чтоб заказал модули собрал работает.
Цитата:
Сообщение от Denisios
Зря не захотели использовать мой вариант, он отлично работает. А что бы не щелкало реле нагревателя, лучше собрать схемку на симисторе.
|
tropfish.org.ua
__________________
ParkZoo Fish
__________________
Последний раз редактировалось burnashev; 13.10.2018 в 22:56..
|
|
|
14.10.2018, 14:03
|
#1170
|
Бан за нарушения
Регистрация: 16.10.2012
Адрес: Львів
Сообщений: 472
Поблагодарил(а) : 71
Поблагодарили 330 раз(а) в 198 сообщениях
|
Відповідь: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
без проблем:
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < ((float)aquaT-0.5))
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
if (cur_temp > (float)aquaT)
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 17:48. Часовой пояс GMT +3.
|