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

 
 
> ПИД+ШИМ, переход от ПИД К ШИМ
kumle
сообщение Apr 13 2016, 10:40
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Решил освоить ПИД
В качестве модели коллекторный мотор который крутит диск (для создания инерции)
мотор подключен через всем известный драйвер L293D к микроконтроллеру.
Пытаюсь написать прогу для стабилизации частоты оборотов с помощью шим
Допустим скважность ШИМ могу менять от 0 до 255 (0%-100%)

Непонятен переход от управляющего воздействия к скважности ШИМ
сначала разбираюсь только с пропорциональной составляющей P
Допустим нужно стабилизировать частоту 100Гц F0=100гц
выбрем коэфф Кp=2
Тогда при начале алгоритма (мотор еще стоит) начальная невязка будет Е=100,
тогда P=Kp*E=200, И упр. воздействие будет U=P=200.
Принимаю это упр воздействие за максимальное, и расчитываю коэфф. перевода его в 100% скважность шим равную 255
K=255/200=1.275
Далее вызывая алгоритм буду переводить упр. воздействие в скважность с помощью этого коэф.
Правильно ли это ?

И как делать когда будут еще интегральная и дифф. составляющие?


Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
digital
сообщение Apr 15 2016, 09:08
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 229
Регистрация: 3-02-06
Из: Санкт-Петербург
Пользователь №: 13 974



Цитата(Tanya @ Apr 15 2016, 11:14) *
Нет, к всеобщему сожалению. Реальный. Идеальный с бесконечным напряжением питания (выдаваемым на выходе воздействием) мог бы.


не понимаю, к примеру если ПИД управляет температурой котла, мы разве не можем поменять температуру с 50 до 80 ? какие последствие при этом будут?

и кто тогда должен плавно менять? другой контур ПИД? или еще что то? какие критерий допустимости изменения входа?
Go to the top of the page
 
+Quote Post
Tanya
сообщение Apr 15 2016, 09:19
Сообщение #3


Гуру
******

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



Цитата(digital @ Apr 15 2016, 12:08) *
не понимаю, к примеру если ПИД управляет температурой котла, мы разве не можем поменять температуру с 50 до 80 ? какие последствие при этом будут?

Будет большое перерегулирование с последующими колебаниями. Не всегда это допустимо.
Цитата(digital @ Apr 15 2016, 12:08) *
и кто тогда должен плавно менять? другой контур ПИД? или еще что то? какие критерий допустимости изменения входа?

Плавно менять должен ограничитель скорости нарастания. Ведь при максимальной мощности скорость нагрева ограничена. Вот и нужно до этой величины (ну, не совсем, немного меньше) ограничивать задатчик. Альтернативно. На примере Вашего котла - включаем максимальную мощность на некоторое время. При некоторой небольшой невязке включаем ПИД с величиной И-компоненты, соответствующей выбранной температуре - мы ведь не первый день этот котел греем...
Go to the top of the page
 
+Quote Post
digital
сообщение Apr 15 2016, 09:54
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 229
Регистрация: 3-02-06
Из: Санкт-Петербург
Пользователь №: 13 974



Цитата(Tanya @ Apr 15 2016, 12:19) *
Будет большое перерегулирование с последующими колебаниями. Не всегда это допустимо.

хм, я получается воюю с ветреными мельницами
Цитата
Плавно менять должен ограничитель скорости нарастания. Ведь при максимальной мощности скорость нагрева ограничена. Вот и нужно до этой величины (ну, не совсем, немного меньше) ограничивать задатчик. Альтернативно. На примере Вашего котла - включаем максимальную мощность на некоторое время. При некоторой небольшой невязке включаем ПИД с величиной И-компоненты, соответствующей выбранной температуре - мы ведь не первый день этот котел греем...

т.е. примерно так?
1. способ
error=TempNeed-TempCur; // где TempNeed задатчик TemCur текущая

if((error<-5.0)||(error>-5.0)) Output=1.0; //
else Output=PID(error);

2. способ

Temp+=(TempNeed-Temp)/64;

error=Temp-TempCur;
Output=PID(error);

// где TempNeed задатчик
// TemCur текущая температура (измеренная)

и можно еще вопрос
в случае нагревателя, выход ПИД это амплитуда подаваемая на нагреватель или приращение амплитуды ?

т.е. Output=PID(error); или Output+=PID(error);
Go to the top of the page
 
+Quote Post
Tanya
сообщение Apr 15 2016, 12:23
Сообщение #5


Гуру
******

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



Цитата(digital @ Apr 15 2016, 12:54) *
хм, я получается воюю с ветреными мельницами
т.е. примерно так?

и можно еще вопрос

в случае нагревателя, выход ПИД это амплитуда подаваемая на нагреватель или приращение амплитуды ?

т.е. Output=PID(error); или Output+=PID(error);

Не знаю, с чем и зачем Вы воюете, но пишете очень непонятно. Это на каком языке?
Схема (кусок кода) ограничения скорости задатчика должна линейно по времени периодически (каждую секунду или минуту, или неделю..) добавлять немножко к задатчику до достижения желаемого.
Второй способ - совсем отключаем регулятор и подаем максимальную мощность до достижения почти желаемого, после чего включаем ПИД, записав в И-часть заранее определенную величину.
На выходе регулятора должна быть мощность, которая при нагреве напряжением пропорциональна его квадрату, а при использовании ШИМа - среднему по периоду времени включения нагревателя. Это если напряжение фиксировано.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- kumle   ПИД+ШИМ   Apr 13 2016, 10:40
- - wim   Цитата(kumle @ Apr 13 2016, 13:40) Пытаюс...   Apr 13 2016, 11:50
- - kumle   частота шим постоянная, я ее не меняю ) я стабилиз...   Apr 13 2016, 12:25
|- - Tanya   Цитата(kumle @ Apr 13 2016, 15:25) я стаб...   Apr 13 2016, 12:45
|- - wim   Цитата(kumle @ Apr 13 2016, 15:25) Если к...   Apr 13 2016, 13:04
|- - demiurg_spb   Цитата(kumle @ Apr 13 2016, 15:25) Если к...   Apr 15 2016, 14:05
- - amaora   Выход ограничивайте на крайних значениях заполнени...   Apr 13 2016, 12:46
|- - kumle   Цитата(amaora @ Apr 13 2016, 15:46) Выход...   Apr 13 2016, 14:09
|- - Tanya   Цитата(kumle @ Apr 13 2016, 17:09) А как ...   Apr 13 2016, 15:01
||- - digital   Цитата(Tanya @ Apr 13 2016, 18:01) Алгори...   Apr 15 2016, 07:52
||- - Tanya   Цитата(digital @ Apr 15 2016, 10:52) разв...   Apr 15 2016, 08:14
|- - amaora   Цитата(kumle @ Apr 13 2016, 17:09) А как ...   Apr 13 2016, 15:08
|- - digital   Цитата(Tanya @ Apr 15 2016, 15:23) Не зна...   Apr 15 2016, 20:35
|- - Tanya   Цитата(digital @ Apr 15 2016, 23:35) на ч...   Apr 16 2016, 05:43
- - digital   Цитата(Tanya @ Apr 16 2016, 08:43) Да. От...   Apr 18 2016, 10:36
|- - Tanya   Цитата(digital @ Apr 18 2016, 13:36) так ...   Apr 18 2016, 11:57
|- - digital   Цитата(Tanya @ Apr 18 2016, 14:57) Где? Н...   Apr 18 2016, 12:29
|- - Tanya   Цитата(digital @ Apr 18 2016, 15:29) или ...   Apr 18 2016, 17:07
|- - digital   Цитата(Tanya @ Apr 18 2016, 20:07) Но вед...   Apr 19 2016, 08:00
|- - Tanya   Цитата(digital @ Apr 19 2016, 11:00) вы м...   Apr 19 2016, 09:00
- - digital   Цитата(Tanya @ Apr 19 2016, 12:00) Вот и ...   Apr 19 2016, 09:27
|- - Tanya   Цитата(digital @ Apr 19 2016, 12:27) с ва...   Apr 19 2016, 09:30
- - digital   понятно, значит все же тролинг, жаль, удачи   Apr 19 2016, 09:47
- - digital   Возможно вы имели в виду интегральное насыщение ...   Apr 19 2016, 12:49
|- - Tanya   Цитата(digital @ Apr 19 2016, 15:49) Возм...   Apr 19 2016, 15:19
|- - demiurg_spb   Цитата(Tanya @ Apr 19 2016, 18:19) Невозм...   Apr 20 2016, 06:38
|- - Tanya   Цитата(demiurg_spb @ Apr 20 2016, 09:38) ...   Apr 20 2016, 08:41
|- - demiurg_spb   Цитата(Tanya @ Apr 20 2016, 11:41) Даже с...   Apr 20 2016, 08:55
|- - Tanya   Цитата(demiurg_spb @ Apr 20 2016, 11:55) ...   Apr 20 2016, 09:11
|- - demiurg_spb   Все остались при своих.   Apr 20 2016, 09:31
|- - digital   Цитата(Tanya @ Apr 20 2016, 12:11) А меня...   Apr 20 2016, 20:21
|- - Tanya   Цитата(digital @ Apr 20 2016, 23:21) заче...   Apr 21 2016, 09:12
- - digital   Цитата(Tanya @ Apr 21 2016, 12:12) Спасиб...   Apr 26 2016, 14:08
|- - Tanya   Цитата(digital @ Apr 26 2016, 17:08) толь...   Apr 26 2016, 15:01
- - somebody111   ЦитатаНевозможно настроить так, чтобы никогда не б...   Apr 26 2016, 16:03
|- - demiurg_spb   Цитата(somebody111 @ Apr 26 2016, 19:03) ...   Apr 26 2016, 20:56
|- - digital   Цитата(somebody111 @ Apr 26 2016, 19:03) ...   Apr 28 2016, 05:40
- - somebody111   ЦитатаА как быть в том случае если алгоритм не выд...   Apr 26 2016, 17:57
|- - Tanya   Цитата(somebody111 @ Apr 26 2016, 20:57) ...   Apr 27 2016, 10:39
|- - demiurg_spb   Цитата(Tanya @ Apr 27 2016, 13:39) А я во...   Apr 27 2016, 12:03
|- - Tanya   Цитата(demiurg_spb @ Apr 27 2016, 15:03) ...   Apr 27 2016, 13:10
|- - gte   Цитата(demiurg_spb @ Apr 27 2016, 15:03) ...   Apr 27 2016, 13:44
|- - demiurg_spb   Цитата(Tanya @ Apr 27 2016, 16:10) Вот и ...   Apr 27 2016, 21:12
|- - Tanya   Цитата(demiurg_spb @ Apr 28 2016, 00:12) ...   Apr 29 2016, 15:54
|- - demiurg_spb   Цитата(Tanya @ Apr 29 2016, 18:54) Мне ра...   Apr 29 2016, 16:35
|- - Herz   Цитата(demiurg_spb @ Apr 29 2016, 18:35) ...   Apr 29 2016, 17:39
- - somebody111   ЦитатаГде же тут какая-то особенность в механике п...   Apr 27 2016, 11:19
|- - Tanya   Цитата(somebody111 @ Apr 27 2016, 14:19) ...   Apr 27 2016, 11:37
- - somebody111   ЦитатаСлово "медленные" должно ведь что-...   Apr 27 2016, 12:10
- - somebody111   ЦитатаНу и которые из них медленные? С чем сравнив...   Apr 27 2016, 13:26
|- - Tanya   Цитата(somebody111 @ Apr 27 2016, 16:26) ...   Apr 27 2016, 14:08
|- - gte   Цитата(Tanya @ Apr 27 2016, 17:08) Эти си...   Apr 27 2016, 14:42
|- - Tanya   Цитата(gte @ Apr 27 2016, 17:42) Татьяна,...   Apr 27 2016, 15:25
|- - gte   Цитата(Tanya @ Apr 27 2016, 18:25) Если э...   Apr 27 2016, 15:44
- - Andron55   Похоже, возбудителю темы (топикстартеру) в вопроса...   Apr 27 2016, 16:20
- - Herz   Цитата(Andron55 @ Apr 27 2016, 18:20) На ...   Apr 27 2016, 19:02


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:15
Рейтинг@Mail.ru


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