Отвлекитесь, эмбеддеры! Отвлеченные темы - обсудить проблемы тепловой смерти вселенной, или просто пиво. Этот раздел - для отдыха. |
21.11.2017, 07:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от CERGEI1982
|
Много слов,лень читать
|
Глаза боятся, а руки делают же!
Надо монитор со шрифтом Брайля завести)
|
|
|
|
21.11.2017, 08:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от AR_Favorit
|
Глаза боятся, а руки делают же!
Надо монитор со шрифтом Брайля завести)
|
Ладно пропиарился я на форуме и хватит удачи вам и много пида... ))))
__________________
Глаза боятся,а руки делают.
|
|
|
|
21.11.2017, 08:16
|
|
Вид на жительство
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от AR_Favorit
|
Нет, над тобой я в основном жестоко глумлюсь.
|
А смысл?
Профессиональную слабоватость ты уже показал, и сам в этом признался своими оправданиями мне и omercury, а свою гиловатость и никчемность человеческую показываешь, когда редактируешь свои сообщения, уже после того как тебе на это сообщение ответили, и даже привели цитату в первой твоей редакции!
Ты вот написал сообщение https://kazus.ru/forums/showpost.php...4&postcount=66 Сегодня, 02:20, и я на него ответил своим сообщением https://kazus.ru/forums/showpost.php...5&postcount=67 Сегодня, 02:25
а ты взял и отредактировал сообщение Сегодня в 02:33.
и превратил первый абзац написанный Сегодня, 02:20
Цитата:
|
Сообщение от AR_Favorit
Цитата:
|
Еще вопрос - ты убедился, что период регулирования действительно от 1 до 10 секунд в зависимости от значения уставки EE_PID_TIME, а не 100 и не 1000 секунд? Утверждение о "думающем бачке, которому уделяют внимание раз в сто секунд" снято с повестки дня?
|
|
уже в другой первый абзац, написанный уже Сегодня в 02:33.
Сообщение от AR_Favorit
|
Опять приписываешь мне свои фантазии, видимо, так и не разобравшись в первой строке. ПИД-регулятор не обсчитывается 1000 раз в секунду. Код ПИД-регулятора помечен в моем коде комментариями "начало" и "конец". этот участок исполняется 1 раз в EE_PID_TIME (от 1 до 10, напомню на всякий случай) секунд.
|
то есть через 7 минут, написанный после моего ответа!!!
Нехорошо, Игорек!
|
|
|
|
21.11.2017, 08:18
|
|
Вид на жительство
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от CERGEI1982
|
удачи вам и много пида...
|
И вам не хворать! Радетель за народ!
|
|
|
|
21.11.2017, 08:37
|
|
Вид на жительство
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от AR_Favorit
|
Одно использованное в том алгоритме ПИД, который ты стащил с инета перемножение двух флоатов - занимает больше времени, чем все мои "лишние" умножения.
|
Так у правильного ПИДа все составляющие имеют дробные части! Да и температура у меня измеряется с точностью 0.25 градуса! Я ведь не бак с маслом нагреваю с периодом от 1 до 10 секунд и с точностью +-1 градус для 75 градусной максимальной уставки.
У меня, как-никак, уставка доходит до 300 градусов и опрос проходит за половину секунды! И ардуина с этим вполне успешно справляется!!!
|
|
|
|
21.11.2017, 08:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от ALEGYR
|
А смысл?
|
Чтоб ты знал свое место.
Сообщение от ALEGYR
|
Профессиональную слабоватость ты уже показал
|
Ага, на фоне твоей полной профессиональной и не только импотенции моя "слабоватость" выглядит вполне годно.
Сообщение от ALEGYR
|
своими оправданиями мне
|
Чет ты попутал, старый, никто перед тобой не оправдывался, ибо не перед кем - ты пустое место.
Сообщение от ALEGYR
|
а свою гиловатость и никчемность человеческую показываешь, когда редактируешь свои сообщения, уже после того как тебе на это сообщение ответили, и даже привели цитату в первой твоей редакции!
|
Да нет, это ты свою тупорылость показываешь:
А теперь сам посмотри внимательно на свое сообщение
https://kazus.ru/forums/showpost.php...5&postcount=67
Посмотрел? теперь нажми в нем на стрелочку в моей цитатеИ куда она ведет? На вот это сообщение!
https://kazus.ru/forums/showpost.php...3&postcount=65
Вот на что ты отвечал, и то, что ты процитировал, в нем никуда не делось, и оно не отредактировано.
Что, не знаешь, как из своего позора выкарабкаться, совсем пургу мести начал?
Сообщение от ALEGYR
|
Нехорошо, Игорек!
|
Все, сдулся Саня, , обосрался по полной и как последнее спасение - перевел на срач? Ну как хочешь. Это я завсегда пожалуйста. Я тебе, обсос, с огромным удовольствием лишний раз расскажу, кто ты и что ты в этой жизни.
Я не Игорь. Я Андрей. А ты - Санька-обоссанька, местный клоун. Вот и познакомились.
А как начинал топик, с какими понтами, ойёёёё
|
|
|
|
21.11.2017, 08:46
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от ALEGYR
|
Так у правильного ПИДа все составляющие имеют дробные части!
|
Ага, только в брошюрке "ПИД для чайников и дебилов".
Откуда тебе-то знать, что такое "правильный ПИД"? Ты даже с флоатами не смог его написать (те же шесть строк максимум). Ты не понимаешь, как он работает, поэтому и не понимаешь, как его можно реализовать без флоатов.
Сообщение от ALEGYR
|
Да и температура у меня измеряется с точностью 0.25 градуса! Я ведь не бак с маслом нагреваю с периодом от 1 до 10 секунд и с точностью +-1 градус для 75 градусной максимальной уставки.
У меня, как-никак, уставка доходит до 300 градусов и опрос проходит за половину секунды! И ардуина с этим вполне успешно справляется!!!
|
Да никто там у тебя ни с чем не справляется, не выдумывай. У тебя ардуина пока твои флоаты сосчитает, уже все, не надо никакого датчика, пожарных надо
Тебе нужна точность 0,25 градуса? А коэффициенты ты с каким количеством знаков после запятой задаешь? Тоже небось не больше двух? У тебя там прекрасно всё в инты укладывается, чтоб абдурина твоя полсекунды не считала один ПИД Температуру умножил на 4 (запомнил это!) и она в интах, причем с той же точностью. Кефы свои умножил на 128 (запомнил это!), и они тоже стали целочисленными. Итого у тебя весь расчет двоично сдвинулся влево на 9 бит. Посчитал, результат получил тоже умноженный на 128 и на 4, т.е. сдвинутый влево на 9 бит. Но тот же самый. Только сдвинутый. В исполнительном механизме предусмотрел этот сдвиг - всё. У тебя ПИД в точности так же считает, и без флоатов. У ардуины появилось время пообщаться с компом по RS-232 ^В
Элементарщина. Для меня. А для тебя тёмный лес и алхимия. "Разработчик". Позорище.
Последний раз редактировалось AR_Favorit; 21.11.2017 в 09:37.
|
|
|
|
21.11.2017, 08:54
|
|
Вид на жительство
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от AR_Favorit
|
А ответ прост: ты просто не нашел "библиотеки" получше. Ты нагуглил для своей программы выложенную каким-то бездарем перепечатку из брошюры "ПИД для чайников". Ни он, ни ты - не в силах сделать свое. Поэтому так и получилось.
|
А я уже писал что не изобретаю "велосипед", там где он уже изобретен! Я пользуюсь уже готовым, особенно если вижу что "велосипед" не уступает самопальным
Цитата:
|
/* Compute() ************************************************** ********************
* This, as they say, is where the magic happens. this function should be called
* every time "void loop()" executes. the function will decide for itself whether a new
* pid Output needs to be computed. returns true when the output is computed,
* false when nothing has been done.
************************************************** ********************************/
bool PID::Compute()
{
if(!inAuto) return false;
unsigned long now = millis();
unsigned long timeChange = (now - lastTime);
if(timeChange›=SampleTime)
{
/*Compute all the working error variables*/
double input = *myInput;
double error = *mySetpoint - input;
double dInput = (input - lastInput);
outputSum+= (ki * error);
/*Add Proportional on Measurement, if P_ON_M is specified*/
if(!pOnE) outputSum-= kp * dInput;
if(outputSum › outMax) outputSum= outMax;
else if(outputSum ‹ outMin) outputSum= outMin;
/*Add Proportional on Error, if P_ON_E is specified*/
double output;
if(pOnE) output = kp * error;
else output = 0;
/*Compute Rest of PID Output*/
output += outputSum - kd * dInput;
if(output › outMax) output = outMax;
else if(output ‹ outMin) output = outMin;
*myOutput = output;
/*Remember some variables for next time*/
lastInput = input;
lastTime = now;
return true;
}
else return false;
}
|
|
|
|
|
21.11.2017, 09:13
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от ALEGYR
|
А я уже писал что не изобретаю "велосипед", там где он уже изобретен! Я пользуюсь уже готовым, особенно если вижу что "велосипед" не уступает самопальным
|
Ты не изобретаешь велосипед, потому, как не сможешь его изобрести. Или можешь?
Вот, скажем, алгоритм есть. Хотелось бы, чтоб ты пояснил кое-что.
Есть пропорциональная составляющая, вычисленная из текущей ошибки регулирования (ошибка = задание минус обратная связь).
Код:
|
/*Add Proportional on Error, if P_ON_E is specified*/
double output;
if(pOnE) output = kp * error;
else output = 0; |
И есть... еще одна вроде бы как пропорциональная, судя по комментарию, составляющая, но вычисленная из соотношения текущего и прошлого измеренных значений, безотносительно аьсолютной величины текущей ошибки, в точности как дифференциальная составляющая. Но почему-то с коэффициентом для пропорциональной.
Код:
|
/*Add Proportional on Measurement, if P_ON_M is specified*/
if(!pOnE) outputSum-= kp * dInput; |
Дифференциальная составляющая при этом тоже имеется, и вычисляется со своим коэффициентом. Автор почему-то игриво назвал ее вычисление "вычислением остатка выходного значения PID", а не дифференциальной составляющей, но не суть. Тоже, наверное, советует не использовать дифсоставляющую для управления нагревателем.
Код:
|
/*Compute Rest of PID Output*/
output += outputSum - kd * dInput; |
Какую из них использовать, задано флагом pOnE.
Внимание, вопросы. Зачем сделано два варианта расчета, в каком случае следует применять тот, который я указал вторым, и, самое главное - как с теорией PID соотносится этот самый второй вариант - когда реальную пропорциональную составляющую мы отбрасываем, а вместо этого дважды используем дифференциальную с разными коэффициентами?
Сможешь ответить?
Последний раз редактировалось AR_Favorit; 21.11.2017 в 09:20.
|
|
|
|
21.11.2017, 09:16
|
|
Вид на жительство
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
|
Re: Мои ответы на вопросы [b]AR_Favorit[/b]
Сообщение от AR_Favorit
|
Посмотрел? теперь нажми в нем на стрелочку в моей цитатеИ куда она ведет? На вот это сообщение!
|
За неверно приведенные цитаты извиняюсь! А вот за все остальное нет!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:23.
|
|