Примерно представляю принцип работы(когда то давно устанавливал автоматику кондиционирования: регулировка подачи горячей воды в радиатор ,обдуваемый ветиляцией). В общем надо "лепить" 2 компаратора, управляемые от датчика температуры. Один компаратор прикрывает заслонку, второй дает сигнал на открытие заслонки. Можно использовать одну из микросхем индикаторов уровня сигнала в режиме "точки"(когда зажигается один из светодиодов на выходе). То есть на входе сделать полумост - резистор и датчик температуры(терморезистор), питающиеся стабильным потенциалом, а с выходов(2 выхода) выбрать нужные выводы для управления приводом: открыть/закрыть
По моему будет немного туповатое регулирование, так как отопление очень инерционная штука. Да и вообще надо в цифровом виде мерять, и регулировать, так как устройство цифровое и в нем будет еще куча наворотов.
К стати в аналогичных заводских устройствах задвижка управляется определенной длиной и кол-м импульсов на открытие и закрытие. Может кто имеет в запасе подобный алгоритм регулирования. Поделитесь пожалуйста, буду очень признателен...
Как вариант можно предложить такое построение. Берется шаговик, через некоторый механизм передается вращение. Ход заслонки будет уложен в К импульсов К=d*H, где d-шаг винта (если на нем сделан), Н-длина хода. Так как есть "механизм" и ШД, то d=360*M/Alpha, где Alpha-угловой шаг двигателя, M-переводной коэфф. зависящий от "механики" проще говоря коэф редукции. Тогда К=Н*360*M/Alpha.
Одно из крайних положений принимаем за условный 0 (или не крайних, что может лучше, позволит проводить мониторинг).
Для хранения текущего положения можно использовать такой способ
- пусть в некий момент времени заслонка находится в положении к1 от 0.
- при поступлении сигнала рассогласования (разность заданной и текущей температур не равна 0) дигаем заслонку в направлении исправления на величину х. Тогда значение станет к2=к1+х.
-запоминаем получившееся положение в регистр.
- циклируем вычисления.
Тут подводный камень - хранение данных при отключении питания. Возможный выход - схема разрабатывается с учетом анализа отключения основного питания и дополнительным батарейным питанием на время до 5 сек. При исчезновении основного питания данные из ОЗУ переносятся в энергонезависимую память и считываются оттуда при старте системы. Через защитный интервал резервное питание отрубается.
Вот както так наверное надо делать.
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Игорь Владимирович: прежде чем задавать такие вопросы, Вы должны рассказать про привод заслонок: тип двигателя, тип обратной связи(она тоже разной бывает), а потом будем думать. Видите - уже шаговой двигун предлагают, но у Вас же уже есть привод? Вот к нему и надо электронику пристраивать(неважно - цифровая, аналоговая). И ещё: обязательно надо иметь "окно" регулирования(или дискретность), достаточное для того, чтобы двигатель заслонок не "дергался" каждую секунду от показаний точного термодатчика.
Привод есть, и никаких шаговиков уже лепить к нему не надо. Он регулируется только на открывание, закрывание или "ни туда, ни сюда". При дохождении до одного из крайних положений он тупо проворачивается на месте, так как заслонка уже закрыта (открыта).
Входнре воздействие - заданая тем-ра на выходе. Сигнал обратной связи - реально измеренная температура на выходе. Воздействуем сигналом открытия либо закрытия на заслонку. Больше ничего нет.
Примечание. Принци ПИ регулирования мне известен. Вопрос лишь в том как реализовать это програмно. Помогите пожалуйста...
Игорь Владимирович, я не просил отвечать тупо: двигатель поворачивает заслонку. Это мы все прекрасно понимаем. Какой двигатель? Тип, мощность, напряжение. Есть ли концевики крайних положений? Датчик угла поворота заслонок?(или его совсем нет?). Ты же в магазине покупаешь: какие слова говоришь: дай те сыру. Какого? Желтого. Скока грамм? А хрен его знает. На скока денег? На гривны.... Если будете так тупо отвечать - точно так же тупо будут и советы давать. Короче к мотору прикрути термометр и развлекайся
Скрутит мотор. Термометр от вращения начнет показывать температуру меньше и меньше. Частота будет увеличваться и ... амба мотору;)
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Мужики, ну че вы в самом деле??
Какая блин разница кокой мотор, ведь я прошу алгоритма.
Сервопривод управляет дроссельной заслонкой, и он не самодельный а заводской фирмы Danfoss и трехходовой клапан тоже на этой-же конторе сделан, так что подходят они друг к другу идеально.
У сервопривода три входа: один общий, и два на открывание и закрывание соответственно. Никакого потенциометра либо энкодера в нем нету, тоесть НИКАКОЙ ОБРАТНОЙ СВЯЗИ. В подобных устройствах положение заслонки определяестся примерно по времени работы, так как у сервы есть фиксированая длительность полного открывания от одной крайней точки к другой. У моей, к примеру это время = 150 сек.
На крайних точках стоят концевики, но они не имеют выходов наружу, а находятся внутри привода для контроля крайних положений (размыкают цепь управления мотором при дохождения до крайней точки). Чтобы открыть заслонку нужно просто подавать сигналы переменного напряжения 220 В на соотв. вход.
Люди, мне не надо схема управления заслонкой (симисторами я буду комутировать либо с помощью реле, ставить опторазвязку или не ставить - ЭТО МОИ ПРОБЛЕМЫ, Я ЗНАЮ КАК ЭТО СДЕЛАТЬ).
Да и неважно какой термометр будет стоять, цифровой либо термосопротивление.
Допустим есть переменная реальной температуры на выходе системы и переменная желаемой температуры.
Аналогичные устройства без обратной связи типа Danfoss ECL200 (которые к стати и управляют этим клапаном) управляют задвижкой с помощью импульсов частотой примерно 1 гц переменной длительностью этих импульсов. При хорошем теплоразборе задвижка бывает подолгу стоит в максимально откритом состоянии, а при сервисном опросе прибора он показывает, что еще до сих пор подает импульсы на открывание. Прибор просто приоткрываетлибо призакрывает сервоприводом этот клапан, пытаясь держать нужную температуру на выходе.
То есть на выходе програмы должна быть просто длина этих импульсов.
Помогите, пожалуйста или опять что-то непонятно. Только не обижайтесь (Или может я не в той теме пост создал, а???)
К стати насчет окна. Наверное надо просто установить зону нечувствилельности входного рассогласования, а для температуры следует сделать демпфирование для програмного подавления резких изменений температуры. Тут вы очень правы. Но это я как-то сам справлюсь.
Может я уже и задолбал, но просто никак не могу реализовать програмно ПИ регулирование. Коэфициенты и зоны регулирования надо подбирать с учетом инерционности системы опытным путем, так как смоделировать ее будет сложно.
Наконец-то всё понятно. С этого и надо было начинать. Ладно - забыли. Будем думать(ответ не скоро). Если бы была обратная связь в приводе - это проще. Дать импульс нужной длины - тоже не проблема, но связать длину импульса с текущим изменением температуры и временем уравновешивания(тепловая инерция+сила потока+температура подающего воздуха/жидкости+нужная температура на выходе) - вот это проблема.
Короче я вижу систему таким образом(это просто мнение - пусть не обязательное): Измерительный мост + компаратор. В одном плече термодатчик(ставиться на выходе Вашей установки, но не в потоке, в тихом месте - поток будет несколько ожлаждать датчик), второе плечо моста задает нужную температуру. Выход компаратора развязать диодами(+ ветвь на открытие заслонки; - ветвь на закрытие заслонки). Эти выходы прицепить к генераторам (их 2 будет) вырабатывающие короткие импульсы с большой скважностью(это необходимо ибо система инерционна) на управление сервоприводом(открытие или закрытие "мелкими шагами" до момента уравнивания до заданной температуры, когда компаратор уравновеситься и на его выходе будет 0 вольт). Примерно так. Сейчас нацарапаю примерную схемку, может подойдет.
В общем так: DA1 -компаратор(питается двуполярным питанием), R3 -выставляем нужную температуру(R4 датчик температуры). При равенстве моста(температур) на выходе компаратора 0в. D1 - на входе лог. 0(R2 на земле... на схеме - ошибка) - значит и на выходе D3 тоже 0 и D4 не пропускает импульсы. То же обстоит и с D2 и В5.
При повышении температуры потока воздуха на выходе компаратора появляется отрицательное напряжение, которое открывает через диод VD2, элемент D2, D5. Импульсы пошли прикрывать /открывать заслонку. Тоже происходит и с понижением температуры, только открывается элемент D4. Регулятором R5 выбираем подходящую скважность импульсов для нормальной работы привода. Здесь надо "мелочи утрясти", кое что подправить(рисовал наспех из головы).
По идее надо было 2 компаратора использовать, чтобы задать "окно" - мертвую зону нечувствительности, иначе привод дергаться будет.
Если бы была обратная резистивная связь привода, то этот резистор элементарно подключается в цепь моста и происходит автоматическая установка угла поворота заслонки от разности сопротивлений плеч моста(саморегулирование).
Уважаемый brigadir, искрення благодарен вам за вашу помощь, но в вашей схеме есть одно "но". Регулируем мы постоянной частотой импульсов, а это уже даже не П-регулятор, а просто ищущий регулятор. При таком раскладе система будет долго выходить на режим (ошибка регулирования не накапливается) и подходить к этому режиму будет с одинаковой скоростью.
Хотя может быть для некоторых целей схема и сгодится. И насчет зоны нечувствительности. Она определенно нужна, так как дребезг есть в любой системе.
И вообще я планирую циферное регулирование, так как в приборе еще будет заложено график работы и погодное регулирование (по этим вопросам помогать не надо )
Делал на МК управление приводом с ДПТ. Вот там использовал такую реализацию:
частота формирования постоянная;
регулировка скоростью по длительности импульсов. Чем больше рассогласование - тем шире импульс и наоборот. Так же как и у Бригадира зона нечувствительности. Сам алгоритм ничем не примечателен - цифровое представление передаточной функции. Даже были попытки создать нелинейный регулятор из-за большой разнице при стартах обусловленных механикой.
На мой взгляд делать на плавающей частоте нет никакого резона.
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Делал на МК управление приводом с ДПТ. Вот там использовал такую реализацию: частота формирования постоянная; регулировка скоростью по длительности импульсов. Чем больше рассогласование - тем шире импульс и наоборот. Так же как и у Бригадира зона нечувствительности. Сам алгоритм ничем не примечателен - цифровое представление передаточной функции. Даже были попытки создать нелинейный регулятор из-за большой разнице при стартах обусловленных механикой. На мой взгляд делать на плавающей частоте нет никакого резона.
Может вы и правы, просто частоту нужно выбрать наверное порядка 0,5-1 Гц, пропорчиональную зону порядка 80градусов тов. Цельсия и интегратор прикрутить.
Но не моглы бы вы скинуть исходничек или более детально иписать.
Извините, влезу с "дурным" советом: По моей схеме можно установить подходящую частоту генератора, а скважностью регулировать скорость "шириной" шагов двигателя, то есть скорость "догоняния" до уравнивания температуры, которая определяется инерционностью установки нужной температуры на выходе.
Я не "заставляю" делать именно по этой схеме, можно и контроллер применить, но схемка может не совсем простой оказаться, к тому же программу писать, подгонять параметры может оказаться сложнее, нежели отрегулировать положение подстроечного резистора. Короче: каждому своё.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения