реклама на сайте
подробности

 
 
11 страниц V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> Как сделать вычисление значения температуры по градуировочной таблице термопары?
Designer56
сообщение Feb 27 2009, 18:58
Сообщение #46


Гуру
******

Группа: Свой
Сообщений: 2 932
Регистрация: 13-10-06
Из: Уфа
Пользователь №: 21 290



Кроме того, датчик температуры в печке (очень зависит от её типа) часто показывает совсем не температуру нагреваемого продукта.


--------------------
"...Дьяволу ведомо многое не потому, что он- Дьявол, а потому, что он стар..."
Go to the top of the page
 
+Quote Post
galjoen
сообщение Feb 27 2009, 19:21
Сообщение #47


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Tanya @ Feb 27 2009, 21:44) *
Модель печки - много-много RC-цепочек.

А если много-много - это бесконечность, то производная будет нулевая. И задержка тем больше, чем больше теплоёмкость и меньше теплопроводность. Конечно это не чистая задержка. Но можно всё это представить как чистую задержку + одну RC цепочку. И это будет гораздо лучше, чем одна (или в лучшем случае несколько) RC цепочка без задержки, как представляют печку сейчас.
А насчёт того, что тепло распостраняется со скоростью звука я конечно согласен, но вот к практике это отношения не имеет. Вот запах - он тоже теоретически со скоростью звука движется. А на практике?
Go to the top of the page
 
+Quote Post
Tanya
сообщение Feb 27 2009, 19:54
Сообщение #48


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(galjoen @ Feb 27 2009, 22:21) *
А если много-много - это бесконечность, то производная будет нулевая. И задержка тем больше, чем больше теплоёмкость и меньше теплопроводность. Конечно это не чистая задержка. Но можно всё это представить как чистую задержку + одну RC цепочку. И это будет гораздо лучше, чем одна (или в лучшем случае несколько) RC цепочка без задержки, как представляют печку сейчас.
А насчёт того, что тепло распостраняется со скоростью звука я конечно согласен, но вот к практике это отношения не имеет. Вот запах - он тоже теоретически со скоростью звука движется. А на практике?

Учтите, что при дроблении цепочек нужно дробить и R и C. И производная не будет нулевая... в некотором смысле...
А про тепло и запах - Вы абсолютно правы - уравнения диффузии и теплопроводности едины и неотличимы.
Только запах, в принципе, несколько быстрее, кажется.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Feb 27 2009, 20:11
Сообщение #49


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Tanya @ Feb 27 2009, 22:54) *
Учтите, что при дроблении цепочек нужно дробить и R и C. И производная не будет нулевая... в некотором смысле...

Неопределённость типа бесконечность делить на бесконечность. Но если посчитать предел, то там вроде всётаки ноль получается.
Хотя спорить не буду, т.к. очень хорошо забыл всё это и вспоминать желания нет. Тем более, что к практике это отношения не имеет.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Feb 27 2009, 20:14
Сообщение #50


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(galjoen @ Feb 27 2009, 23:11) *
Тем более, что к практике это отношения не имеет.

А как же я? Практикую напрасно?
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Feb 27 2009, 21:39
Сообщение #51


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Tanya @ Feb 26 2009, 15:34) *
Возьмите сдвоенный ОУ типа OP07

Извините, а он точно сдвоенный ? Если нет, м.б. подскажете его полный (в т.ч. по цене) сдвоенный аналог ?
Go to the top of the page
 
+Quote Post
Tanya
сообщение Feb 28 2009, 06:34
Сообщение #52


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Огурцов @ Feb 28 2009, 00:39) *
Извините, а он точно сдвоенный ? Если нет, м.б. подскажете его полный (в т.ч. по цене) сдвоенный аналог ?

Они - клоны и потомки великого 07-го бывают одиночными, сдвоенными и счетверенными. выпускаются разными производителями. OPA2277 - пример сдвоенного внучка. Дедушку тоже делают до сих пор.
Аналог по цене - это мне непонятно.
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Feb 28 2009, 10:25
Сообщение #53


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



вот еще мне непонятно - чем так плох алгоритм авто-настройки ПИД регулятора?

я использую алгоритм ПИД регулирования с сахара.ру - можно к нему как-нибудь приспособить алгоритм автонастройки?

Сообщение отредактировал Ivan Kuznetzov - Feb 28 2009, 10:25


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
an_ga
сообщение Feb 28 2009, 12:41
Сообщение #54





Группа: Участник
Сообщений: 7
Регистрация: 8-11-08
Из: Киев
Пользователь №: 41 471



По поводу регуляторов (для информации): http://my.elvisti.com/shov/tune1.html
А температуру из напряжения термопары я обычно по полиному считал. Мне кажется так проще. Главное ЭДС холодного спая не забывать прибавлять.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Feb 28 2009, 13:32
Сообщение #55


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Ivan Kuznetzov @ Feb 28 2009, 13:25) *
вот еще мне непонятно - чем так плох алгоритм авто-настройки ПИД регулятора?

я использую алгоритм ПИД регулирования с сахара.ру - можно к нему как-нибудь приспособить алгоритм автонастройки?

А чем хорош? А что, на Сахаре разработали что-то новое?
Плох тем, что не нужен никому. И создает иллюзии. И вмешаться нельзя. Если можно, то лучше.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Feb 28 2009, 14:29
Сообщение #56


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Tanya @ Feb 28 2009, 16:32) *
...
И создает иллюзии.
...

+1
На мой взгляд это самое плохое в данном приложении ПИД регулятора. На самом-то деле для печки он плохо подходит. А его используют и ещё гордятся - у меня ПИД...
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Mar 3 2009, 05:09
Сообщение #57


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Цитата(galjoen @ Feb 28 2009, 19:29) *
+1
На мой взгляд это самое плохое в данном приложении ПИД регулятора. На самом-то деле для печки он плохо подходит. А его используют и ещё гордятся - у меня ПИД...

а какой ПИД алгоритм тогда лучше использовать?


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
Tanya
сообщение Mar 3 2009, 10:01
Сообщение #58


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Ivan Kuznetzov @ Mar 3 2009, 08:09) *
а какой ПИД алгоритм тогда лучше использовать?

ПИД - не алгоритм, а закон управления. Может быть реализован аналоговым способом, а может жить в контроллере. А может и там, и там.
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Mar 3 2009, 10:21
Сообщение #59


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Цитата(Tanya @ Mar 3 2009, 15:01) *
ПИД - не алгоритм, а закон управления. Может быть реализован аналоговым способом, а может жить в контроллере. А может и там, и там.

ну если он живет в контроллере (а у меня так) то это уже алгоритм, привожу его ниже:

Код
float themp;                            //входная температура, регулируемый параметр, размерность - градусы
long thempSet;                          //уставка температуры, размерность - градусы
float errThemp[3];                      //массив ошибок регулятора

#define    zoneProp 1                      //зона пропорциональности, размерность - градусы
#define    tauInt 4            //постоянная интегрирования, размерность - секунды
#define    tauDiff 1            //постоянная дифференцирования, размерность - секунды
    
#define    tauQuant 0.05           //период квантования (реальный!!! период запуска функции регулятора), размерность - секунды
    
#define    tauDiffFilter 5         //как бы кол-во усредняемых отсчётов Д-составляющей,
                                //не стоит увлекаться и делать это число слишком большим.
#define tauOutFilter 5        //как бы кол-во усредняемых отсчётов полного выходного сигнала, аналогично.

float OutPID;                   //выходное значение ПИД регулятора
float KoeffNormOut;             //нормализовочный коэффициент
float Differential=0;
float Integral;
float tmpReal;

        //********************************************************************************
***************
        // ПИД алгоритм
        //********************************************************************************
***************
        
    errThemp[2] = errThemp[1];
    errThemp[1] = errThemp[0];
    
    //*******************************************************************
    //    Нормированная к отношению MaxOut/zoneProp ошибка регулирования для прямого регулятора.
    //    т.е. увеличивается температура - увеличивается выходной сигнал.
    //    режим - охлаждение нагревателя, обогрев.
    errThemp[0] = (themp - thempSet) * KoeffNormOut;
    
    //    ошибка для обратного регулятора.
    //    режим - нагрев охладителя, охлаждение.
    //    errThemp[0] = (thempSet - themp) * KoeffNormOut;
    
    //    вычисление и простейшая фильтрация Д-составляющей с предварительным усреднением по двум отсчётам
    Differential += (((errThemp[0] - errThemp[2]) * tauDiff * 0.5) - Differential) / tauDiffFilter;

//    без предварительного усреднения
//    Differential += (((errThemp[0] - errThemp[1]) * tauDiff) - Differential) / tauDiffFilter;
    
    //    вычисление И-составляющей методом трапеций с предварительным усреднением по двум отсчётам
    Integral += (((errThemp[0] + 2*errThemp[1] + errThemp[2]) * tauQuant * 0.25) / tauInt);

//    без предварительного усреднения
//    Integral += (((errThemp[0] + errThemp[1]) * tauQuant * 0.5) / tauInt);
    
    //    Ограничитель И-составляющей
    if(Integral > (float)MaxOut)
        Integral = (float)MaxOut;
    else
        if(Integral < (float)MinOut)
            Integral = (float)MinOut;
    
    //    Полный сигнал
    tmpReal = errThemp[0] + Integral + Differential / tauQuant;
    
    //    Ограничитель полного входного сигнала
    if(tmpReal > (float)MaxOut)
        tmpReal = (float)MaxOut;
    else
        if(tmpReal < (float)MinOut)
            tmpReal = (float)MinOut;
            
    OutPID += (tmpReal - OutPID) / tauOutFilter;    //    фильтрация полного выходного сигнала
        
        //********************************************************************************
***************
        // Конец ПИД алгоритма
        //********************************************************************************
***************


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
Tanya
сообщение Mar 3 2009, 10:39
Сообщение #60


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Ivan Kuznetzov @ Mar 3 2009, 13:21) *
ну если он живет в контроллере (а у меня так) то это уже алгоритм, привожу его ниже:

Я бы (почти) все в целых. Частоту выборки (вычислений) привязала бы к сетевой. Тогда сетевая наводка убирается - ослабляется.
А константы надо подбирать экспериментально. Непонятно, что потом - как и чем управляет этот ПИД.
Go to the top of the page
 
+Quote Post

11 страниц V  « < 2 3 4 5 6 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 9th July 2025 - 03:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01525 секунд с 7
ELECTRONIX ©2004-2016