Ламинатор с нечеткой логикой
Как это порой бывает , нужные вещи ломаются в самый неожиданный момент. Так и мой ламинатор приказал долго жить, сгорела в нем микросхема управления термостатом, унеся за собой почти всю схему контроля температуры. Что делать, пришлось изобретать новую схему, для простоты на мк attiny13, с использованием неведомой доселе технологии контроля температуры с помощью нечеткой логики (fuzzy logic) и языка C и новой AvrStudio 6.
{ads1}
Плата управления до модификации(горелая микросхема уже выпаяна) показана на фото слева.
Схема, которую я использовал, на рисунке справа.
Плата управления после модификации:
Со стороны деталей:
Задача управления ламинатором довольно проста и сводится к поддержанию заданной температуры валов. Температура эта зависит от толщины используемой пленки и должна быть примерно как в таблице слева.
В моем ламинаторе толщина пленки задается переменным резистором, так что я решил реализовать полный диапазон температур по этой таблице. В качестве датчиков в ламинаторе используются два терморезистора (марки NTCLG100E2 от Vishay) с сопротивлением 220к при комнатной температуре (это сопротивление падает с увеличением температуры).Один из терморезисторов прикреплен к металлическому шасси и отслеживает температуру нагревателя, второй - основной, меряет температуру обрезиненного вала.
Вот как это выглядит:
Для каждой температуры из таблицы я нашел (по прикрепленному даташиту) сопротивление терморезистора, напряжение возникающее на входе мк и примерное значение, которое выдаст АЦП. Аналогичные расчеты были сделаны для переменного резистора, задающего рабочую температуру. Все вычисления сведены в таблицу эксель resistance.xls. Далее таблица этих значений была использована в программе МК для задания рабочей температуры ламинатора.
Описание работы:
МК 4 раза в секунду считывает температуру с основного и вспомогательного датчиков и с переменного резистора, задающего температуру. Далее на основе правил принимается решение о том требуется ли включать нагреватель или нет. Правила управления довольно просты, они не позволяют включать нагреватель, если температура
вспомогательного датчика(температура нагревателя) превышает предельную ( 140 градусов, задается в прошивке), а также ограничивают время его включения если скорость нагрева превышает допустимую или же температура близка к рабочей, что позволяет исключить выбросы температуры при включении и обеспечивает точное, в пределах 1 градуса, ее поддержание. Всего в программе описано 8 рабочих температур, одна из которых выбирается в зависимости от положения переменного резистора. Несколько слов об индикации. При включении светодиод READY начинает моргать, показывая, что ламинатор включен. Светодиод POWER включается лишь когда температура близка к номинальной, он обычно выключен когда работает нагреватель. Логичнее было бы поменять их местами, но я этот момент упустил, а
теперь лень разбирать ламинатор .
Для повторения: МК работает на встроеном генераторе 9,6МГц, с выключеным делителем на 8 и установленым флажком отключения внешнего сброса, с тем, чтобы можно было использовать лапку номер 1 как вход датчика. Все файлы, требуемые для сборки проекта прикреплены к статье. При желании можно что либо поменять в прошивке и собрать свою совершенно новую прошивку регулятора температуры с блэкджеком и шлюхами :) .
Вот фото как проходила проверка девайса на лампочке в 40 ватт, мк в панельке и тп:
{ads1}