Форум самогонщиков Сайт Барахолка Магазин Помощь солдатам

Несложная автоматика на парочке Arduino UNO. Первый опыт.

Форум самогонщиков Автоматика
Sonologist Профессор Москва 2.5K 875
31 Июля 19, 09:08
Моя предыдущая автоматика была собрана на симбиозе ПК и Ардуино. В конце концов счел, что ПК в этом деле вещь хорошая, но лишняя. Долгими мытарствами (не программист и не электронщик я!) удалось собрать простенькую и примитивную автоматику. Нагрев ТЭНа осуществляется методом "умного Брезенхема" (равномерное распределение пропускаов полупериодов). Сразу - ОГРОМНОЕ СПАСИБО OLDBEAN'у за помощь и объяснения "на пальцах" мне, неучу!
Автоматика опробавана, работает адекватно.
В данном варианте (базовом) она делает следующее:
1. Установка паспортной и текущей мощности ТЭНа и соответственный нагрев ТЭНа.
2. Переключение в режим разгона и обратно в установленный режим нагрева.
3. Осуществление отжатия хвостов (старт-стоп) по температурной дельте.
4. Установка скважности работы выходного клапана (скорость отбора).
5. На 7-сегментных индикаторах (8-разрядные сборки на МАХ7219) отражается текущая информация.
Автоматика включает в себя две Ардуино УНО. Одна управляет нагревом и включением-выключением прибора. Несколько позже (если сочту, что надо) дополню ее стабилизацией мощности по напряжению (аналог РМ-2). Эта функция в "железе" заложена, но пока не реализована. Вторая Ардуино управляет клапаном отбора и считывает показатели температуры в колонне и в кубе.
Кнопка левого энкодера последовательно переключает режимы настройки и реализации нагрева ТЭНа. Кнопка среднего энкодера (устанавливающего температуру отсечки старт-стопа) приравнивает температуру отсечки к температуре колонны (чтоб меньше крутить ручку для установки нужного параметра). На какую функцию присобачить кнопку правого энкодера (установка скважности клапана отбора) - пока не решил.
Питание автоматики - от писишного БП. Его включением-выключением управляет первая Ардуино посредством соответствующих кнопок справа внизу на панели. Охлаждение триаков - процессорные кулеры с принудительной вентиляцией.
Понимаю, что много сделано (по необразованности) частично "в лоб", частично с ошибками новичка, но система работает. Так что, прошу не пинать, а если появится желание указать на ошибки и глупости, буду рад. Возможно, какие-то кусочки кодов могут показаться кому-то полезными.
FrontalHD.jpg
FrontalHD.jpg Несложная автоматика на парочке Arduino UNO. Первый опыт. Автоматика.
HeatingSchema.JPG
HeatingSchema.JPG Несложная автоматика на парочке Arduino UNO. Первый опыт. Автоматика.
ValveSchema.JPG
ValveSchema.JPG Несложная автоматика на парочке Arduino UNO. Первый опыт. Автоматика.

HeatingHD.ino 17.3 Кб
ValveHD.ino 13.5 Кб
ValveHD.ino 14.7 Кб
lospartos Кандидат наук Солнечный 481 290
Отв.1  31 Июля 19, 13:13
С почином! Не всем же по морям валяться
Несложная автоматика на парочке Arduino UNO
Несложная автоматика на парочке Arduino UNO. Первый опыт. Автоматика.
Mnz Магистр Город 254 86
Отв.2  02 Авг. 19, 21:10
Автоматика включает в себя две Ардуино УНО. Одна управляет нагревом и включением-выключением прибора. Несколько позже (если сочту, что надо) дополню ее стабилизацией мощности по напряжению (аналог РМ-2). Эта функция в "железе" заложена, но пока не реализована. Вторая Ардуино управляет клапаном отбора и считывает показатели температуры в колонне и в кубе.Sonologist, 31 Июля 19, 09:08
По моему с этими задачами легко справится одна ардуина...
Sonologist Профессор Москва 2.5K 875
Отв.3  02 Авг. 19, 21:51, через 42 мин
с этими задачами легко справится одна ардуинаMnz, 02 Авг. 19, 21:10
Пинов не хватит.  Мега - да, там входов-выходов до хрена. Или есть какая-то изящная идея для UNO?
Zapal Модератор Амурская область 6.4K 4.3K
Отв.4  02 Авг. 19, 22:33, через 42 мин
Нагрев ТЭНа осуществляется методом "умного Брезенхема"Sonologist, 31 Июля 19, 09:08
Я вообще потрясен...  После успешных твоих работ - в направлении ШИМ, вернутся в каменный век?
Вообще непонятна необходимость - в таком регуляторе..??  
gxtkjdjl Профессор архангельск 6.4K 1.7K
Отв.5  02 Авг. 19, 23:32, через 59 мин
Или есть какая-то изящная идея для UNO?Sonologist, 02 Авг. 19, 21:51
это не пойдёт? https://ru.aliexpress.com/...6f45a4d45e4e9a7
сообщение удалено
Sonologist Профессор Москва 2.5K 875
Отв.6  03 Авг. 19, 08:48
вернутся в каменный век?Zapal, 02 Авг. 19, 22:33
Привет, Саш. А в чем каменный век-то? Один из многих способов подать мощность. Имеются плюсы: включение ключа при нулевом напряжении, ключ - простой триак, отсутствие высокочастотной составляющей, легкое управление алгоритмом работы...И главное - потихоньку начал разбираться в Ардуино.

Добавлено через 4мин.:

это не пойдёт?gxtkjdjl, 02 Авг. 19, 23:32
Вполне. Но у меня завалялись 2 уны, а я еще слишком слаб в программировании. Как уже говорил, многое делал "в лоб".
Zapal Модератор Амурская область 6.4K 4.3K
Отв.7  03 Авг. 19, 09:45, через 58 мин
Привет, Саш. А в чем каменный век-то?Sonologist, 03 Авг. 19, 08:48
Да просто изумлен был, после твоих реальных подвижек по ШИМу..  
Ты ведь вроде,  ранее - собрал полноценный регулятор, и неплохо ведь все получилось - судя по описанным тобой характеристикам..  
И тут раз - шаг в прошлый век, по принципу регулирования..
Значить что то у тебя не срослось...  Что пошло не так?

У Ардуино конечно те еще траблы - с ШИМ, слишком низкие частоты на выходе.. да еще фиксированные..
Но ведь можно было - специализированный драйвер повесить, который бы управлялся от Ардуинки, любым способом..
Sonologist Профессор Москва 2.5K 875
Отв.8  04 Авг. 19, 06:58
Пинов не хватит.  Мега - да, там входов-выходов до хрена. Или есть какая-то изящная идея для UNOSonologist, 02 Авг. 19, 21:51
Посчитал снова пины. Их надо 19 штук. В связи с неученостью счел, что на UNO их не хватит (там их 12). Потому и ваял на двух платах раздельные задачи. При этом забыл, что аналоговые пины можно объявить как цифровые (это еще 6 пинов). То есть, пинов должно хватить. Но когда про это сообразил, железо и базовые скетчи были готовы. Эх, думаю, переделаю! И тут столкнулся с некими проблемами, которые нормальный программист, конечно же, решил бы на раз. Пинов с прерываниями в UNO всего два, а мне надо было четыре (три на энкодеры + детектор нуля). Есть способ объявить еще несколько пинов как  с прерыванием, но пока еще не разобрался, как это сделать. Попытка работать с энкодерами без прерываний удовольствия не доставила: они работали, но крайне нечетко. Где-то был конфликт (полагаю, что опросом датчиков температуры). Поставил на прерывания - все заработало как часики. Вот потому и две Ардуины оставил.