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

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

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

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

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

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

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

 
Опции темы
Непрочитано 03.03.2011, 17:29  
tanq
Гражданин KAZUS.RU
 
Регистрация: 12.10.2009
Сообщений: 576
Сказал спасибо: 30
Сказали Спасибо 138 раз(а) в 110 сообщении(ях)
tanq на пути к лучшему
По умолчанию Re: ПИД регулятор на С

Сообщение от 7Fantomas7 Посмотреть сообщение
почему коэфициенты Kp, Ki, Kd такие а не другие,
так их расччитывать надо. Причем считаются они с учетом коэффицента усиления аналоговой части системы. Я поэтому и советую сделать И-регулятор, проще говоря оставить только k_i и его эксперментально подобрать. Но если интересен сам принцип, то ТАУ для чайников. Кстати, все очень просто.

Сообщение от 7Fantomas7 Посмотреть сообщение
Влияет частота вызова этой функци на точность и с какой частотой нужно вызывать эту функцию для достижения максимальной точности?
Частота вызова функции будет влиять на устойчивость регулятора и его динамические характеристики. Я уже писал, что функция управления не просто вызывается периодически, а вставляется в обработчик прерывания АЦП и не иначе.
Кроме того, весьма полезно будет синхронизировать период ШИМ с периодом АЦП, чтобы после срабатывания прерывания АЦП успеть вычислить управление и запихнуть его в ШИМ ровно к концу цикла у таймера.
У ПИД регулятора Д-звено советую выкинуть сразу. Оно не нужно и к тому же сильно чувствительно к шумам АЦП (+силовая часть повлияет).


Сообщение от 7Fantomas7 Посмотреть сообщение
Зависит ли величина коэфициентов от частоты вызова функции и если зависит то как?
Снова смотрим ТАУ для чайников. Эта функция будет вносить фиксированную задержку, равную периоду АЦП + половине периода ШИМ - в лучшем случае. Эта задержка дает большой фазовый сдвиг на высоких частотах, поэтому коэффиент усиления у ПИД придется уменьшать, чтоб сохранить стабильность.

Для наладки прибора сначала надо опробовать его на резисторе на 20% от полной нагрузки. С ним инвертер точно не вышибет, если он сам не глючный.
Реклама:
tanq вне форума  
Сказали "Спасибо" tanq
7Fantomas7 (03.03.2011)
Непрочитано 03.03.2011, 22:30  
mironov
Вид на жительство
 
Регистрация: 07.03.2005
Сообщений: 300
Сказал спасибо: 13
Сказали Спасибо 117 раз(а) в 62 сообщении(ях)
mironov на пути к лучшему
По умолчанию Re: ПИД регулятор на С

"mironov,
Отлично расписано. Большое спасибо."
Это не я писал, так что благодарности неизвестному автору.
А я на основе этой программы делал свои с ШИМ
mironov вне форума  
Непрочитано 03.03.2011, 23:57  
igorpech
Прохожий
 
Регистрация: 22.03.2007
Сообщений: 1
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
igorpech на пути к лучшему
По умолчанию Re: ПИД регулятор на С

Есть очень хорошая программа для изучения и разработки систем автоматического регулирования:VisSim. Конечно, для работы с этой программой нужны некоторые базовые знания по теории автоматического управления. Очень хорошие, на мой взгляд, статьи по теме: http://model.exponenta.ru/bt/bt_contents.html
igorpech вне форума  
Непрочитано 04.03.2011, 14:15  
tanq
Гражданин KAZUS.RU
 
Регистрация: 12.10.2009
Сообщений: 576
Сказал спасибо: 30
Сказали Спасибо 138 раз(а) в 110 сообщении(ях)
tanq на пути к лучшему
По умолчанию Re: ПИД регулятор на С

Не буду настаивать, но специализированный софт для моделирования систем управления - пустая трата времени. То же самое моделирование можно провести написав программу на C. Но проблемы будут в обоих случаях одинаковы: моделирование потребует знания парамтеров управляемой системы. Если брать блок питания, то в нем придется выяснить параметры силовой части. С ними поблем как таковых нет, но VisSim вряд ли понимает резисторы и индуктивности. Ему надо на вход модель управляемой системы в виде передаточной функции. Это придется делать руками, что для начинающего - лишний головняк, хотя принцииальных препятствий и не создает. Можно моделровать в электрических пакетах типа MicroCap. Он понимает элетрические величины непосредственно, но зато плохо понимает все остальное. Вставить в него фиксированную задержку - уже не так очевидно. Если же сама управляющая функция нелинейна, то начинается головняк. В некоторых случаях будут непонятки с самой нагрузкой. Если на выход БП повесить другой БП, то потребуется указывать его реальный входной импеданс, а не просто R. Снова выходим за пределы "пошаговой инструкции для начинаюих".

По ссылке на expponenta: в ней реально слабенько все расписано + переизбыток теории. Обычный PFC - это уже 3-х контурная система с 2 управляемыми параметрами. В той же статье многоконтурные системы описаны как нечто очень сложное и малоиспользуемое.
tanq вне форума  
Непрочитано 04.03.2011, 15:09  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: ПИД регулятор на С

В общем второй день играюсь сначала с ПИД, потом с ПИ, потом с П. Без реально собраной всей системы что то моделировать в железе мало реально. В общем буду заканчивать собирать силовую часть инвертора. Моделирование в каких то программах поведения силового сварочного инвертора думаю что мало реально.
7Fantomas7 вне форума  
Непрочитано 06.03.2011, 01:22  
vbirdie
Прохожий
 
Регистрация: 14.03.2010
Сообщений: 7
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vbirdie на пути к лучшему
По умолчанию Re: ПИД регулятор на С

Вот когда то, что то писал по теме - регулировал частоту оборотов дизеля. Чего в исходниках точно не хватает так это это фильтрации входных значений, а без этого никак. Но и это может на что сгодиться.
Вложения:
Тип файла: zip for_PID.zip (920.2 Кб, 194 просмотров)
vbirdie вне форума  
Непрочитано 27.05.2011, 16:31  
Woden
Прохожий
 
Регистрация: 07.07.2008
Сообщений: 1
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Woden на пути к лучшему
По умолчанию Re: ПИД регулятор на С

Добрый день.
Пытаюсь на основе программы представленной mironov
сделать ПИД-регулятор с обратной связью по скорости
для мотора с энкодером (300 имп/об)
на Atmega8535 в Proteus.

Измерение скорости провожу отсчетом числа импульсов
с энкодера таймером T0, за промежуток 0,05 с,
сформированный по прерыванию от T1,
в этом же прерывании прозвожу вычисление ПИД и выдачу сигнала на OCR2
(как в программе о которой горилось выше)

interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
// Reinitialize Timer1 value
TCNT1H=0xF78F ›› 8;
TCNT1L=0xF78F & 0xff;
// Place your code here
Error = Target - TCNT0;
P_Term = Kp * Error;

if (Integral › MaxIntegral) {Integral = MaxIntegral;}
else if (Integral ‹ - MaxIntegral) {Integral = - MaxIntegral;}
else Integral += Error;

I_Term = Ki * Integral;
D_Term = Kd * (PrevValue - TCNT0);
PrevValue = TCNT0; //ADCH;
Out = P_Term + I_Term + D_Term;

if(Out › 0xFF) { OCR2 = 0xFF; }
else if(Out ‹ 0) { OCR2 = 0;}
else OCR2 = Out;
TCNT0=0;
}

В proteus пока адекватных результатов получить не удалось.
Подскажите можно ли таким образом реализовать измерение скорости и регулирование в данном случае.
Woden вне форума  
 

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

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

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, время: 07:37.


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