Моя предыдущая автоматика была собрана на симбиозе ПК и Ардуино. В конце концов счел, что ПК в этом деле вещь хорошая, но лишняя. Долгими мытарствами (не программист и не электронщик я!) удалось собрать простенькую и примитивную автоматику. Нагрев ТЭНа осуществляется методом "умного Брезенхема" (равномерное распределение пропускаов полупериодов). Сразу - ОГРОМНОЕ СПАСИБО OLDBEAN'у за помощь и объяснения "на пальцах" мне, неучу! Автоматика опробавана, работает адекватно. В данном варианте (базовом) она делает следующее: 1. Установка паспортной и текущей мощности ТЭНа и соответственный нагрев ТЭНа. 2. Переключение в режим разгона и обратно в установленный режим нагрева. 3. Осуществление отжатия хвостов (старт-стоп) по температурной дельте. 4. Установка скважности работы выходного клапана (скорость отбора). 5. На 7-сегментных индикаторах (8-разрядные сборки на МАХ7219) отражается текущая информация. Автоматика включает в себя две Ардуино УНО. Одна управляет нагревом и включением-выключением прибора. Несколько позже (если сочту, что надо) дополню ее стабилизацией мощности по напряжению (аналог РМ-2). Эта функция в "железе" заложена, но пока не реализована. Вторая Ардуино управляет клапаном отбора и считывает показатели температуры в колонне и в кубе. Кнопка левого энкодера последовательно переключает режимы настройки и реализации нагрева ТЭНа. Кнопка среднего энкодера (устанавливающего температуру отсечки старт-стопа) приравнивает температуру отсечки к температуре колонны (чтоб меньше крутить ручку для установки нужного параметра). На какую функцию присобачить кнопку правого энкодера (установка скважности клапана отбора) - пока не решил. Питание автоматики - от писишного БП. Его включением-выключением управляет первая Ардуино посредством соответствующих кнопок справа внизу на панели. Охлаждение триаков - процессорные кулеры с принудительной вентиляцией. Понимаю, что много сделано (по необразованности) частично "в лоб", частично с ошибками новичка, но система работает. Так что, прошу не пинать, а если появится желание указать на ошибки и глупости, буду рад. Возможно, какие-то кусочки кодов могут показаться кому-то полезными.
FrontalHD.jpg Несложная автоматика на парочке Arduino UNO. Первый опыт. Автоматика.HeatingSchema.JPG Несложная автоматика на парочке Arduino UNO. Первый опыт. Автоматика.ValveSchema.JPG Несложная автоматика на парочке Arduino UNO. Первый опыт. Автоматика.
С почином! Не всем же по морям валятьсяНесложная автоматика на парочке Arduino UNO. Первый опыт. Автоматика.
Mnz
Магистр
Город
255 86
Отв.2 02 Авг. 19, 21:10
Автоматика включает в себя две Ардуино УНО. Одна управляет нагревом и включением-выключением прибора. Несколько позже (если сочту, что надо) дополню ее стабилизацией мощности по напряжению (аналог РМ-2). Эта функция в "железе" заложена, но пока не реализована. Вторая Ардуино управляет клапаном отбора и считывает показатели температуры в колонне и в кубе.Sonologist, 31 Июля 19, 09:08
По моему с этими задачами легко справится одна ардуина...
Sonologist
Профессор
Москва
2.6K 888
Отв.3 02 Авг. 19, 21:51 (через 42 мин)
с этими задачами легко справится одна ардуинаMnz, 02 Авг. 19, 21:10
Пинов не хватит. Мега - да, там входов-выходов до хрена. Или есть какая-то изящная идея для UNO?
ZapalМодератор
Амурская область
7K 4.5K
Отв.4 02 Авг. 19, 22:33 (через 42 мин)
Нагрев ТЭНа осуществляется методом "умного Брезенхема"Sonologist, 31 Июля 19, 09:08
Я вообще потрясен... После успешных твоих работ - в направлении ШИМ, вернутся в каменный век? Вообще непонятна необходимость - в таком регуляторе..??
gxtkjdjl
Профессор
Архангельск
7.6K 2K
Отв.5 02 Авг. 19, 23:32 (через 59 мин)
Или есть какая-то изящная идея для UNO?Sonologist, 02 Авг. 19, 21:51
Привет, Саш. А в чем каменный век-то? Один из многих способов подать мощность. Имеются плюсы: включение ключа при нулевом напряжении, ключ - простой триак, отсутствие высокочастотной составляющей, легкое управление алгоритмом работы...И главное - потихоньку начал разбираться в Ардуино.
Добавлено через 4мин.:
это не пойдёт?gxtkjdjl, 02 Авг. 19, 23:32
Вполне. Но у меня завалялись 2 уны, а я еще слишком слаб в программировании. Как уже говорил, многое делал "в лоб".
ZapalМодератор
Амурская область
7K 4.5K
Отв.7 03 Авг. 19, 09:45 (через 58 мин)
Привет, Саш. А в чем каменный век-то?Sonologist, 03 Авг. 19, 08:48
Да просто изумлен был, после твоих реальных подвижек по ШИМу.. Ты ведь вроде, ранее - собрал полноценный регулятор, и неплохо ведь все получилось - судя по описанным тобой характеристикам.. И тут раз - шаг в прошлый век, по принципу регулирования.. Значить что то у тебя не срослось... Что пошло не так?
У Ардуино конечно те еще траблы - с ШИМ, слишком низкие частоты на выходе.. да еще фиксированные.. Но ведь можно было - специализированный драйвер повесить, который бы управлялся от Ардуинки, любым способом..
Sonologist
Профессор
Москва
2.6K 888
Отв.8 04 Авг. 19, 06:58
Пинов не хватит. Мега - да, там входов-выходов до хрена. Или есть какая-то изящная идея для UNOSonologist, 02 Авг. 19, 21:51
Посчитал снова пины. Их надо 19 штук. В связи с неученостью счел, что на UNO их не хватит (там их 12). Потому и ваял на двух платах раздельные задачи. При этом забыл, что аналоговые пины можно объявить как цифровые (это еще 6 пинов). То есть, пинов должно хватить. Но когда про это сообразил, железо и базовые скетчи были готовы. Эх, думаю, переделаю! И тут столкнулся с некими проблемами, которые нормальный программист, конечно же, решил бы на раз. Пинов с прерываниями в UNO всего два, а мне надо было четыре (три на энкодеры + детектор нуля). Есть способ объявить еще несколько пинов как с прерыванием, но пока еще не разобрался, как это сделать. Попытка работать с энкодерами без прерываний удовольствия не доставила: они работали, но крайне нечетко. Где-то был конфликт (полагаю, что опросом датчиков температуры). Поставил на прерывания - все заработало как часики. Вот потому и две Ардуины оставил.