|
|
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..
|
Просмотров: 500281
|
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) |
Реклама помогает развиваться |
|
11.09.2018, 23:09
|
#1111
|
Я тут недавно
Регистрация: 11.09.2018
Адрес: Kazan
Сообщений: 7
Поблагодарил(а) : 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Вообщем я сам дурак, не подтянул пин а7 через резистор к питанию. Хотел проверить работу до того как я кнопки подключу...Сейчас все нормально. Еще раз огромное спасибо. До отпуска надеюсь соберу автоматизацию и спокойно проверю пару недель.
|
|
|
11.09.2018, 23:19
|
#1112
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Ну вот и славненько) вместо кнопок можно попробовать джойстик только сначала выписать значения деления по сопротивлению, там выше моё видео может поможет вам в настройке) или делай сами кнопки по примеру делителя, если найду скину печатную свою плату под смд резисторы, травил перекисью 3% лимонная кислота и соль)
Цитата:
Сообщение от Timuridze
Вообщем я сам дурак, не подтянул пин а7 через резистор к питанию. Хотел проверить работу до того как я кнопки подключу...Сейчас все нормально. Еще раз огромное спасибо. До отпуска надеюсь соберу автоматизацию и спокойно проверю пару недель.
|
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
13.09.2018, 01:02
|
#1113
|
Я тут недавно
Регистрация: 11.09.2018
Адрес: Kazan
Сообщений: 7
Поблагодарил(а) : 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Уважаемые еще вопрос, возможно глупый. Сейчас дело дошло до подключения нагрузок, освещения, фильтр, воздух, кормушка. Есть готовый модуль релле на 4 нагрузки. Как он работает я знаю, но для этого нужно подключить сами нагрузки к релле, а провода резать на устройствах не хочется, так вот мне нужна такая штука чтобы в нее вставлялись вилки нагрузок и при этом можно было управлять отдельной розеткой с релле. ну типа удлинителя только с отдельно питаемой нагрузкой на каждую вилку. не знаю как сформулировать, но надеюсь понятно объяснил. Проблема в том что я не знаю как сформултровать вопрос гуглу, что бы он мне выдал где купить такое.
|
|
|
13.09.2018, 07:23
|
#1114
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Вы хотите чтоб контроллер был в одном месте а розетка в другом) берём розетку на 4 дырки высокую чтоб каждая разетка была независимая и 4 реле так чтоб влезли в розетку тянем витую пару от контролера к релюхам и отдельно 220 ноль в каждую розетку а фару через реле или наоборот)
Цитата:
Сообщение от Timuridze
Уважаемые еще вопрос, возможно глупый. Сейчас дело дошло до подключения нагрузок, освещения, фильтр, воздух, кормушка. Есть готовый модуль релле на 4 нагрузки. Как он работает я знаю, но для этого нужно подключить сами нагрузки к релле, а провода резать на устройствах не хочется, так вот мне нужна такая штука чтобы в нее вставлялись вилки нагрузок и при этом можно было управлять отдельной розеткой с релле. ну типа удлинителя только с отдельно питаемой нагрузкой на каждую вилку. не знаю как сформулировать, но надеюсь понятно объяснил. Проблема в том что я не знаю как сформултровать вопрос гуглу, что бы он мне выдал где купить такое.
|
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
16.09.2018, 09:31
|
#1115
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от PaninAV
Кто-нибудь разобрался с работой дозаторов?
Какие настройки не ставлю также работает с полсекунды и отключается.
Идеальным вариантом было бы через задачи указывать время включения и отключения с секундной точностью. Не хватает знаний подправить прошивку.
|
Так и не разобрался (((( в скетче задействован пин а6 для включения бп, но у меня не atx бп, а обычное
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
Реклама помогает развиваться |
|
16.09.2018, 21:17
|
#1116
|
Я тут недавно
Регистрация: 07.09.2018
Адрес: Камышин
Сообщений: 16
Поблагодарил(а) : 1
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от burnashev
Так и не разобрался (((( в скетче задействован пин а6 для включения бп, но у меня не atx бп, а обычное
tropfish.org.ua
|
У меня тоже блок питания простой. Там логика работы у автора такая: на питание помп дозаторов используется отдельный блок питания АТХ, и чтобы не держать его постоянно включеным задействован пин а6 для включения блока питание только на время работы помп дозаторов. Непонятно в каком месте изменить скетч чтобы время работы помпы можно было менять скажем от 10 секунд и до 120-180 секунд.
Может попробуем разобраться вместе?
Как я понял за подачу УДО отвечает эта часть скетча (попробую пояснить некоторые строчки):
case 6: // UDO
udo_tim = (byte)(b4&B00111111); в этой строке я думаю время работы помпы дозатора (величина "udo_tim" изначально вообще равна нулю, а дальше все равно не очень большая величина - доли секунды)
digitalWrite(EXT_POWER_ON_PIN, HIGH); //включение блока питания (если блок питания для дозаторов не АТХ можно отключить строку)
delay(100); //Время на выход в режим БП пауза для пуска блока питания, также можно отключить
switch((byte)((b4>>6)&B00000011)){ св этой строке отработка времени подачи УДО
case 0:
digitalWrite(EXT_UDO_MICRO_PIN, HIGH); включение помпы
delay(udo_tim*4.2); пауза, а именно время пока включена помпа дозатора ( по логике маленькая величина "udo_tim" увеличена в 4.2 раза - и это время не превышает одной секунды)
digitalWrite(EXT_UDO_MICRO_PIN, LOW); отключение помпы
break;
case 1: дальше для других каналов все аналогично
digitalWrite(EXT_UDO_MACRO_PIN, HIGH);
delay(udo_tim*4.2);
digitalWrite(EXT_UDO_MACRO_PIN, LOW);
break;
case 2:
digitalWrite(EXT_UDO_Fe_PIN, HIGH);
delay(udo_tim*4.2);
digitalWrite(EXT_UDO_Fe_PIN, LOW);
break;
case 3:
break;
}
digitalWrite(EXT_POWER_ON_PIN, LOW);
break;
case 7:
break;
}
}
}
}
}
}
}
//------------------------------------------------------------------------------------
Мысли такие вот.
|
|
|
16.09.2018, 21:33
|
#1117
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Вот и мне эта часть кода не понятна, и все у кого спрашиваю тоже руками разводят, и все в один голос говорят что а6 это по сути кнопка которая включает и выключат бп, но по факт если бы все было через атх то не работал бы рассвет закат так как он тоже завязан на бп, а он работает через мосфет нормально и кулер охлаждения тоже) хоть бери и переписывай по строкам
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
16.09.2018, 21:45
|
#1118
|
Я тут недавно
Регистрация: 07.09.2018
Адрес: Камышин
Сообщений: 16
Поблагодарил(а) : 1
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Три строки связанные с блоком питания можно вообще выкинуть. Они на время работы дозатора никак не влияют.
Вся проблема в этой величине: udo_tim. По моим предположениям в скетче где-то опечатка ( может нолик или единичка пропущены) из-за этого и проблема малого времени работы дозатора. По факту при изменении с кнопок величины в милиграммах -изменяется время работы помпы с полсекунды до полторы секунды.
|
|
|
16.09.2018, 21:52
|
#1119
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
О вот об этом я не подумал что это милиграммы тогда получается 4*2 это умножение оборотов двигателя на 1 полный оборот 360, ведь насосы разные с сцепление с перестальтикой тоже
Цитата:
Сообщение от PaninAV
Три строки связанные с блоком питания можно вообще выкинуть. Они на время работы дозатора никак не влияют.
Вся проблема в этой величине: udo_tim. По моим предположениям в скетче где-то опечатка ( может нолик или единичка пропущены) из-за этого и проблема малого времени работы дозатора. По факту при изменении с кнопок величины в милиграммах -изменяется время работы помпы с полсекунды до полторы секунды.
|
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
16.09.2018, 22:05
|
#1120
|
Я тут недавно
Регистрация: 07.09.2018
Адрес: Камышин
Сообщений: 16
Поблагодарил(а) : 1
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Миллиграммы прописаны в меню только для удобства, в скетче это миллисекунды работы дозатора.
Скорее всего 4.2 это коэффициент полученный эксперементально для конкретного дозатора. Он не сильно влияет на время работы помпы. ( получается десятую часть секунды, к примеру, умножить на 4 все равно это слишком маленькое время работы).
|
|
|
16.09.2018, 22:07
|
#1121
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Ну буду дальше копать!)
Авось проснется топик да расскажет что да почем)
Цитата:
Сообщение от PaninAV
Миллиграммы прописаны в меню только для удобства, в скетче это миллисекунды работы дозатора.
Скорее всего 4.2 это коэффициент полученный эксперементально для конкретного дозатора. Он не сильно влияет на время работы помпы. ( получается десятую часть секунды, к примеру, умножить на 4 все равно это слишком маленькое время работы).
|
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
16.09.2018, 22:17
|
#1122
|
Я тут недавно
Регистрация: 07.09.2018
Адрес: Камышин
Сообщений: 16
Поблагодарил(а) : 1
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Подача удо в этом скетче с какого-то другого проекта. С этим скетчем работает не правильно. Получается время работы дозатора работает через паузу delay(udo_tim*4.2); Что не есть хорошо. Работа всего контроллера как бы останавливается на время подачи удо. Когда это секунда- две то не так заметно. А если включение помпы дозатора, например, на две минуты. Все остальное работает с задержкой две минуты. Точнее две контроллер на паузе.
|
|
|
16.09.2018, 22:19
|
#1123
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Получилось увеличить время работы насоса?
Цитата:
Сообщение от PaninAV
Подача удо в этом скетче с какого-то другого проекта. С этим скетчем работает не правильно. Получается время работы дозатора работает через паузу delay(udo_tim*4.2); Что не есть хорошо. Работа всего контроллера как бы останавливается на время подачи удо. Когда это секунда- две то не так заметно. А если включение помпы дозатора, например, на две минуты. Все остальное работает с задержкой две минуты.
|
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
16.09.2018, 22:22
|
#1124
|
Я тут недавно
Регистрация: 07.09.2018
Адрес: Камышин
Сообщений: 16
Поблагодарил(а) : 1
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Это когда разбирался со скетчем принудительно заменял строчку delay(udo_tim*4.2) строкой delay(120000) для паузы две минуты.
Для меня эта строка темный лес:
udo_tim = (byte)(b4&B00111111)
|
|
|
16.09.2018, 22:27
|
#1125
|
Харьковский клуб аквариумистов
Регистрация: 30.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от PaninAV
Это когда разбирался со скетчем принудительно заменял строчку delay(udo_tim*4.2) строкой delay(120000) для паузы две минуты.
Для меня эта строка темный лес:
udo_tim = (byte)(b4&B00111111)
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Ах да, забыл предупредить. Это не сработает на участках оригинального кода, где есть задержки как в обработке УДО
case 6: // UDO
udo_tim = (byte) (b4 & B00111111);
digitalWriteFast(EXT_POWER_ON_PIN, HIGH);
delay(100); //Время на выход в режим БП
switch ((byte) ((b4 >> 6) & B00000011)) {
case 0:
digitalWriteFast(EXT_UDO_MICRO_PIN, HIGH);
delay(udo_tim * 4.2);
digitalWriteFast(EXT_UDO_MICRO_PIN, LOW);
break;
case 1:
digitalWriteFast(EXT_UDO_MACRO_PIN, HIGH);
delay(udo_tim * 4.2);
digitalWriteFast(EXT_UDO_MACRO_PIN, LOW);
и так далее
Просто мне пока УДО не актуально и я "слегка позволил себе"
И да, у меня подключена библиотека digitalWriteFast.h так что в моем коде
digitalWriteFast()
можно заменить на обычное
digitalWrite()
521 пост
tropfish.org.ua
__________________
ParkZoo Fish
__________________
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 14:35. Часовой пояс GMT +3.
|