Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 02.03.2011, 13:55  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию ПИД регулятор на С

Добрый всем день.
Вобщем дела такие,
есть результат АЦП 8 бит диапазон изменения 0-255 точность 1 единица
есть ШИМ 8 бит точность установки 1 единица.
ШИМ определяет измеряемую величину.
Как красиво организовать обратную связь.
Вообще то ПИД и не обязательно, но нужно чтоб стабильность была.
Вобщем может кто поделится информацией, лучше готовой формулой. А то интернет уже фактически сутки ковыряю и форум ковыряю,а понимания чего то нет.
Реклама:
7Fantomas7 вне форума  
Непрочитано 02.03.2011, 14:50  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,591
Сказал спасибо: 181
Сказали Спасибо 3,165 раз(а) в 2,049 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: ПИД регулятор на С

интересный вопрос
разные процессы по разному должны регулироваться, с разной тау
большинство процессов имхо без пида не нарегулируешь.
и самое главное надо довольно точно задавать время интегрирования и диференцирования. иначе вместо ровной линии получишь вечные качели с максимальной амплитудой
индюк вне форума  
Непрочитано 02.03.2011, 14:56  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: ПИД регулятор на С

Цитата:
разные процессы по разному должны регулироваться
Процес измерения тока в сварочном инверторе. Измеряемая величина весьма динамичная. Амплитуда возможных изменений весь диапазон.
7Fantomas7 вне форума  
Непрочитано 02.03.2011, 16:49  
tanq
Гражданин KAZUS.RU
 
Регистрация: 12.10.2009
Сообщений: 576
Сказал спасибо: 30
Сказали Спасибо 138 раз(а) в 110 сообщении(ях)
tanq на пути к лучшему
По умолчанию Re: ПИД регулятор на С

7Fantomas7,
Читай на тему Z-transfrom. Если у тебя есть аналоговая модель регулятора, то с помощью Z-transform переводишь ее в Z-домен. Коэффиценты полученной передаточной функции будут коэфициентами фильтра, который надо использовать.

Простейший вариант - чисто интегральный регулятор, без пропорционального звена. Алгоритм его работы такой:
e[1] = (v_ref - adc)‹‹8;
control += k * (e[1] + e[0]);
e[0] = e[1];
pwm = control››8;

Коэфициент усиления k - единственный регулировочный парметр. Уменьшай его до тех пор пока не пропадет самовозбуждение. Сдвиги в формуле нужны для реализации вычислений с фиксированной запятой, иначе будет потеря точности. Понятно, что нужно следить за отсутствие переолнения. Используя 32 битные числа все ОК, но на 8-битном МК лучше бы вписать диаппазон в 16 бит.
tanq вне форума  
Эти 3 пользователя(ей) сказали Спасибо tanq за это сообщение:
7Fantomas7 (02.03.2011), leoblp (03.03.2011), strvv (03.03.2011)
Непрочитано 02.03.2011, 17:22  
mironov
Вид на жительство
 
Регистрация: 07.03.2005
Сообщений: 300
Сказал спасибо: 13
Сказали Спасибо 117 раз(а) в 62 сообщении(ях)
mironov на пути к лучшему
По умолчанию Re: ПИД регулятор на С

На основе этого делал.
Вложения:
Тип файла: zip PID.ZIP (366.0 Кб, 1041 просмотров)
mironov вне форума  
Эти 12 пользователя(ей) сказали Спасибо mironov за это сообщение:
7Fantomas7 (02.03.2011), danilych2 (03.03.2011), Kosachoff (03.03.2011), leoblp (03.03.2011), NikBatch (03.03.2011), pifa (28.05.2011), sersne (14.06.2011), strvv (03.03.2011), Vlad German (03.03.2011), Woden (27.05.2011)
Непрочитано 02.03.2011, 17:59  
okt03
Временная регистрация
 
Регистрация: 13.05.2005
Сообщений: 52
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
okt03 на пути к лучшему
По умолчанию Re: ПИД регулятор на С

Отлично расписано ! Нечто подобное я делал
для управления двигателями.
okt03 вне форума  
Непрочитано 02.03.2011, 18:39  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: ПИД регулятор на С

tanq,
Оно то все хорошо, только не смогли бы конкретизировать что такое Z-transfrom и что такое Z-домен. А то чет в сети рускоязычного на эту тему гулькин нос.
И значение элементов формулы не подскажете ли.
7Fantomas7 вне форума  
Непрочитано 02.03.2011, 18:43  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: ПИД регулятор на С

Я рекомендую другой способ. По прерыванию таймера сравниваем заданный результат и реальный. Если меньше, прибавляем 1. Если больше - вычитаем. Это очень быстрое действие. Далее запускаем АДС и пишем в таймер значение контанты К, которая будет определять коэффициент. Прерывание АДС записывает значение АЦП в переменную, которая будет использоваться в прерывании таймера. Таким образом два прерывания и очень короткое выполнение.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
leoblp (03.03.2011)
Непрочитано 02.03.2011, 19:16  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: ПИД регулятор на С

Easyrider83,
Не поверите так и делаю. Только без прерываний. В качестве теста.
Только для регулировки тока сварочной дуги здается мало приемлемо. Нагрузка очень динамичная и непредсказуемаемая. И покуда мы будем 1 плюсовать или минусовать, 8 раз короткое случится и пропадет. Вобшем попробую такой вариант, но наверняка ничего не выйдет.

mironov,
Отлично расписано. Большое спасибо. Есть несколько вопросов.
Я не анализировал частоту прерываний таймера 0 но судя по всему 1 раз в 0.1 секунду.
С какой частотой должна выполнятся функция? И какая зависимость точности регулирования от частоты запуска функции?

Последний раз редактировалось 7Fantomas7; 02.03.2011 в 19:32.
7Fantomas7 вне форума  
Сказали "Спасибо" 7Fantomas7
leoblp (03.03.2011)
Непрочитано 02.03.2011, 19:38  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: ПИД регулятор на С

7Fantomas7, извините, но для короткого АЦП не подходит. Тут компаратор нужен и опять же - прерывание. Но можно попробовать и на АЦП короткое выловить, хоть это и не правильно. Просто добавить сравнение текущего значения с крайним. При превышении там же в прерывании отключать ток. А без прерываний это все реализовать сложно. Только в основном цикле. Но тогда и контроллер не нужен. Надо сразу все собирать на 494 - это вам и шим с пидом и компаратор ошибки.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
leoblp (03.03.2011)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулятор освещения KeeperMSTS Электроника - это просто 1 28.12.2010 19:50
ПИД в PROTEUS Developer_ Proteus 30 04.09.2010 09:11
Регулятор мощности из Чипа и Дипа 2000Вт РегМощ Источники питания и свет 7 17.03.2010 08:59
Термокамера с ПИД регулятором нагрев/охлаждение andronio Микроконтроллеры, АЦП, память и т.д 3 14.10.2009 10:52


Часовой пояс GMT +4, время: 23:22.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot