Thistle 0 10 января, 2007 Опубликовано 10 января, 2007 · Жалоба вот тоько в этом случае нужна мат.модель объекта, а с этим как правило туго ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
UMP 0 11 января, 2007 Опубликовано 11 января, 2007 · Жалоба Несколько отвлекаю от темы, но, тем не менее советую посетить сайт http:/www.model.exponenta.ru там находятся современные интерактивные учебные материалы по ТАУ на русском языке, там же можно получить VisSim, и обширный методический материал по применению этой программы в задачах анализа и синтеза САУ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyX 0 30 января, 2007 Опубликовано 30 января, 2007 · Жалоба рекомендую взглянуть на методики настройки пид-регуляторов здесь - http://members.vicard.net/sensor/main1_10.htm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Waso 1 23 сентября, 2007 Опубликовано 23 сентября, 2007 · Жалоба А если время квантования меняется? Мне нужно стабилизировать скорость вращения двигателя. Эту скорость я измеряю по времени между двумя импульсами, которые выдает датчик вращения по одному на каждый оборот. Этот импульс вызывает прерывание в котором по формулам ПИД расчитываются новые параметры ШИМа, управляющего двигателем. Впринципе работает нормально, но при резкой смене скорости возникает либо выброс (wind-up) либо установление идет слижком медленно - в зависимости от величины постоянной интегрирования. Вот я и думаю сделать ее зависимой от времени квантования, но не знаю какую формулу применить. Не подскажите? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 23 сентября, 2007 Опубликовано 23 сентября, 2007 · Жалоба А если время квантования меняется? Мне нужно стабилизировать скорость вращения двигателя. Эту скорость я измеряю по времени между двумя импульсами, которые выдает датчик вращения по одному на каждый оборот. Этот импульс вызывает прерывание в котором по формулам ПИД расчитываются новые параметры ШИМа, управляющего двигателем. Впринципе работает нормально, но при резкой смене скорости возникает либо выброс (wind-up) либо установление идет слижком медленно - в зависимости от величины постоянной интегрирования. Вот я и думаю сделать ее зависимой от времени квантования, но не знаю какую формулу применить. Не подскажите? Это не есть очень тривиально. Так как время кванта меняется - стандартные формулы ПИД регулятора для такого случая очевидно неприменимы. Как минимум, нужно учитывать изменение шага интегрирования/дифференцирования, чтобы динамика системы оставалась близкой к требуемой. Кроме того, при малых скоростях вращения данная схема обратной связи (один импульс на оборот) становится неприменимой - нужно изменять структуру контура управления. Попробуйте промоделировать в симулинке с учетом близкой к реальности модели динамики и требуемых диапазонов регулирования. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Waso 1 24 сентября, 2007 Опубликовано 24 сентября, 2007 · Жалоба Кроме того, при малых скоростях вращения данная схема обратной связи (один импульс на оборот) становится неприменимой - нужно изменять структуру контура управления. Попробуйте промоделировать в симулинке с учетом близкой к реальности модели динамики и требуемых диапазонов регулирования. Есть ли смысл моделировать (искать и изучать программу) если у меня под рукой есть готовый макет (АРМ-овский Ев-борд и этот самый моторчик) ? Вообще у моторчика есть датчик выдающий 24 импульса за оборот, но по какимто причинам эти импульсы внутри одного оборота располагаются неравномерно. Да и при максимальной частоте вращения (4000) мне на 24 импульса скорости АРМа не хватит уже наверное (AT91SAM7X256). :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 24 сентября, 2007 Опубликовано 24 сентября, 2007 · Жалоба Есть ли смысл моделировать (искать и изучать программу) если у меня под рукой есть готовый макет (АРМ-овский Ев-борд и этот самый моторчик) ? Вообще у моторчика есть датчик выдающий 24 импульса за оборот, но по какимто причинам эти импульсы внутри одного оборота располагаются неравномерно. Да и при максимальной частоте вращения (4000) мне на 24 импульса скорости АРМа не хватит уже наверное (AT91SAM7X256). :( IMHO программу под названием Matlab в любом случае полезно найти и изучить. Упоминавшийся мною Simulink - это ее огромный компонент для моделирования динамических систем. Отладочный боард вряд-ли хорошо рисует на компьютере графики, кроме того, в нем наверняка не очень просто задавать различные нагрузки и смотреть, к чему это приводит. Но в общем смотрите сами что Вам лучше. Сколько импульсов нужно на оборот - полностью зависит от динамики системы и от минимальной скорости вращения. Нужно чтобы во всех рабочих режимах частота импульсов была гораздо больше максимального существенного нуля или полюса. Иначе нули, возникающие при дискретизации, начнут взаимодействивать с остальной динамикой. Строго говоря, линейная модель осмысленна только для фиксированной частоты вращения - но линеаризацию никто не отменял. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 24 сентября, 2007 Опубликовано 24 сентября, 2007 · Жалоба Есть ли смысл моделировать (искать и изучать программу) если у меня под рукой есть готовый макет (АРМ-овский Ев-борд и этот самый моторчик) ? Вообще у моторчика есть датчик выдающий 24 импульса за оборот, но по какимто причинам эти импульсы внутри одного оборота располагаются неравномерно. Да и при максимальной частоте вращения (4000) мне на 24 импульса скорости АРМа не хватит уже наверное (AT91SAM7X256). :( Моделировать имеет смысл всегда, впрочем также как и знать теорию:) Уже упоминавшийся VisSim, бесплатный в студенческой версии, отличный инструмент для моделирования динамических систем, как аналоговых, так и дискретно-цифровых. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Deka 0 25 сентября, 2007 Опубликовано 25 сентября, 2007 (изменено) · Жалоба А сейчас, господа, сюрприз! И состоит он в том, что поток регулируемый шаровым краном нелинейный! Другими словами при работе крана седельного типа пропускаемый им поток прямо пропорционален степени его открытия. С шаровым краном такого не происходит. Специально для устранения этого недостатка шаровых кранов фирма Белимо изготавливает шаровые краны со специальными вставками, которые приводят характеристику шаровых кранов к седельным. Так что если в регуляторе будет применён обычный шаровый кран, то придётся учитывать и его нелинейность. Ну и ссылка по теме для всех интересующихся... http://belimo.ru/clap1.shtml Изменено 25 сентября, 2007 пользователем Deka Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 27 сентября, 2007 Опубликовано 27 сентября, 2007 · Жалоба А сейчас, господа, сюрприз! И состоит он в том, что поток регулируемый шаровым краном нелинейный! <skip> Не поверишь, но проектировщики это знают. Если они проектировщики, а не детский сад:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serg_Fry 0 6 апреля, 2010 Опубликовано 6 апреля, 2010 · Жалоба Я пока далек от темы регулирования, знакомлюсь с основными понятиями и методами. Нужна подсказка по каким ключевым словам искать нужный мне раздел в теории. Задача такая: С камеры в ПК приходит видео. По каждому кадру считается среднее арифметическое значене яркости. В качестве регулировок есть 3 параметра: время экспозиции, внешняя диафрагма и аналоговое усиление(после ПЗС). Все регулировки имеют цифроаое управление и доступны из ПК. Задача по возможности удерживать значение средней яркости в окрестности значения выбранного в программе при разных условиях освещенности сцены. Короче интересуют разделы посвещенные системам с несколькими регулировками и одним объектом регулирования. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Roger 0 26 сентября, 2010 Опубликовано 26 сентября, 2010 · Жалоба Уважаемые специалисты, помогите пожалуйста начинающему освоить автоматическое регулирование. Вопрос заключается в следующем: Нужно подерживать постоянно температуру(заданную) тена(Делаю регулирование температуры ламинатора, для ЛУТа) Почитав теорию. Написал для себя класс. #include "pid.h" Pid::Pid(void) { this->iState=0; this->dState=0; this->iGain=0; this->pGain=0; this->dGain=0; } Pid::Pid(float& iGain,unsigned short& pGain,unsigned short& dGain) { this->iGain=iGain; this->pGain=pGain; this->dGain=dGain; } Pid::~Pid(void) { } float Pid::UpdatePID(unsigned short& error, unsigned short& position) { unsigned short pTerm; unsigned short dTerm; float iTerm; pTerm=this->pGain*error; //Вычисление пропорциональной состовляющей this->iState+=error; //Вычисление интегральной состовляющей с учетом приделов if(this->iState > this->iMax) { this->iState=this->iMax; } else if(this->iState < this->iMin) { this->iState=this->iMin; } iTerm=this->iGain*this->iState; //Расчет интегральной состовляющей dTerm=this->dGain*(position - this->dState);//расчет. диф. состовляющей this->dState=position; return (pTerm+iTerm+dTerm); } #ifndef PID_DEF_H #define PID_DEF_H #include "stdafx.h" #include <float.h> class Pid { private: unsigned short dState; //Последняя входная позиция unsigned short iState; //Сосотояние интегратора unsigned short iMax,iMin; //Max & Min состояние интегратора float iGain; //интегральная компонента unsigned short pGain; //пропорциональная компонента unsigned short dGain; //производная компонента public: Pid(void); Pid(float& iGain,unsigned short& pGain,unsigned short& dGain); ~Pid(void); float UpdatePID(unsigned short& error, unsigned short& position); }; #endif //PID_DEF_H Вопрос в следующем вот посчитали с помощью метода UpdatePID новое значение... Вот только что менять в ШИМе частоту или скважность.... И какую выбирать частоту ШИМ? Стабилизация нужна +-2градуса. Да и по ПИД вопросу, как правильно выбрать max & min состояние интегратора.... Да и как понял из теории для термостабилизации достаточно будет ПД алгоритма, т.е. можно избавиться от интегральной компоненты, т.е. от работы с float. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DW0 0 28 сентября, 2010 Опубликовано 28 сентября, 2010 · Жалоба без интегральной составляющей не обойтись, т.к. она убирает статическую неравномерность регулирования. и закон нужен ПИ. ШИМ должен менять и скважность и частоту. таким образом вы увеличите динамический диапазон регулирования. необходимо определить минимальную длину импульса и от нее отталкиваться. ПД закон имеет неравномерность регулирования, другими словами Вы получаете устойчивый процесс, но задание отличается от регулируемого параметра Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 29 сентября, 2010 Опубликовано 29 сентября, 2010 · Жалоба ~Pid(void); Не понимаю. Зачем этому классу деструктор? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Berny 0 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба хм, а зачем на клапан вообще двигатель, например занимался по работе электромагнитами, узнал кучу нового, например что в клапанах они очень часто используются, просто советую в интернете посмотреть информацию по клапанам и системам регулировки. по регулеровке температуры вопрос, чем регулируется температура(просто отключение подогрева, и/или система вентиляции), ну и выходная характеристика термодатчика? просто на контроллерах часто програмировал термоконтроль для уличных устройств(-40 +50), хотя там больше подогрев играл роль(эл. компоненты не все держали отрицательную температуру), нежели охлаждение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться