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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Перевести аналоговый PID в цифровой, Какими инструментами?
gte
сообщение Apr 15 2016, 15:40
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



Цитата(Tanya @ Apr 15 2016, 16:31) *
А ТС поленился. Его смущает лишний конденсатор, наверное. Это просто для среза дифференциальной компоненты на высоких частотах.

Что зачем понятно. А вот садится за учебники времени нет, так как не тот профиль да и не интересно.
Любопытно будет посмотреть на ценовые предложения желающих делать эту очень простую работу.
Приглашаю.
Go to the top of the page
 
+Quote Post
enshtein
сообщение Apr 15 2016, 16:22
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 62
Регистрация: 25-09-13
Пользователь №: 78 472



Без проблем. 10т.р. цена вопроса. Но как калькулятор не получится. Даете значение L , С и Rнагрузка получаете настроенную цифровую систему управления в виде разностного уравнения для конкретного случая (для управления по току) еще 10т.р. и получаете еще одно разностное уравнение для двухконтурной подчиненной системы управления. Забиваете эти уравнения в контроллер (очень просто) например в ARM и будет вам счастье. Получите полноценный buc-конвертер. Если добавить еще 10т.р. то достаточно дать Uin, Uout, Rнагрузки;

Сообщение отредактировал enshtein - Apr 15 2016, 16:27
Go to the top of the page
 
+Quote Post
AnatolyT
сообщение Apr 16 2016, 07:31
Сообщение #18


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

Группа: Участник
Сообщений: 176
Регистрация: 29-03-10
Пользователь №: 56 269



Делал когда то в своем изделии источник вторичного питания с управлением от контроллера на мощность примерно 2 Вт, правда повышающий, что не суть важно, диод вместо синхронного ключа. По сути тот же регулятор. Если такое нужно могу сделать. skb66@mail.ru

Сообщение отредактировал AnatolyT - Apr 16 2016, 07:36
Go to the top of the page
 
+Quote Post
iosifk
сообщение Apr 16 2016, 08:57
Сообщение #19


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(gte @ Apr 15 2016, 18:40) *
Что зачем понятно. А вот садится за учебники времени нет, так как не тот профиль да и не интересно.
Любопытно будет посмотреть на ценовые предложения желающих делать эту очень простую работу.

А взять готовые цифровые стабилизаторы от Exar или от ADI слабо? И вроде еще у кого-то есть точно не помню...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
gte
сообщение Apr 17 2016, 10:41
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



Цитата(iosifk @ Apr 16 2016, 12:57) *
А взять готовые цифровые стабилизаторы от Exar или от ADI слабо? И вроде еще у кого-то есть точно не помню...

Можно чуть подробнее?


Цитата(enshtein @ Apr 15 2016, 20:22) *
Без проблем. 10т.р. цена вопроса. Но как калькулятор не получится. Даете значение L , С и Rнагрузка получаете настроенную цифровую систему управления в виде разностного уравнения для конкретного случая

Судя по личной почте и топику видимо я не точно выразил свою проблему.
Мне надо на основе уже отлаженного регулятора его цифровой аналог, в смысле регулировочной характеристики. Т.е. сначала строится модель регулятора которая затем используется для построения программы цифрового регулятора. Основой для синтеза является не указанная мной аналоговая схема, а модель регулятора построенная на основе аналоговой схемы. В этом смысле я не зря упоминал как пример LabView + Embedded Module for ARM которая генерирует Си код на основе графического представления (блок схемы).
Прикрепленное изображение

Регулятора другой, взят как приме из статьи.
Где он будет использован это дело десятое.
Go to the top of the page
 
+Quote Post
AnatolyT
сообщение Apr 17 2016, 11:39
Сообщение #21


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

Группа: Участник
Сообщений: 176
Регистрация: 29-03-10
Пользователь №: 56 269



Попробую навскидку сформулировать, применить МК в вашей схеме. Берете контроллер с АЦП и ШИМ формирователем, заводите один выход ШИМ формирователя на ключ (требуется преобразовать уровни на транзисторах), второй выход ШИМ формирователя на синхронный ключ, выходы ШИМа запрограммированы в противофазе. Если диапазон регулирования выходного напряжения не от нуля то синхронный ключ не требуется и можно ограничиться диодом. Если не требуется ПИД регулирование заводите выходное напряжение вашего регулятора через резистивный делитель на вход АЦП контроллера, получится регулятор релейного типа или П-регулятор. Если требуется именно ПИД, используете в цепи обратной связи схему из Тицце Шенка на ОУ, требуется рассчитать постоянные интегрирования и дифференцирования. Программа по прерываниям от ШИМ формирователя запускает АЦП и изменяет параметр ШИМа в ту или другую стороны в зависимости от уставки, вот собственно и все. Можно построить ПИД регулятор численным методами программно, то есть без ОУ, сигнал с выхода регулятора подается на вход АЦП через делитель, отводите в области памяти кольцевой буфер и пишите туда отсчеты при каждом прерывании, одновременно в прерывании изменяете параметр ШИМа с учетом накопленных значений в буфере, то есть по сути то же интегрирование и дифференцирование.
Go to the top of the page
 
+Quote Post
wim
сообщение Apr 19 2016, 12:09
Сообщение #22


рядовой
******

Группа: Участник
Сообщений: 2 811
Регистрация: 21-08-06
Пользователь №: 19 713



Цитата(gte @ Apr 19 2016, 14:52) *
мне надо не приводить к виду Kp+Ki/s+Kd*s, а надо получить цифровой регулятор с характеристикой близкой к характеристике аналогового PID, если это возможно.
Объясняю еще раз. Передаточная характеристика ПИД-регулятора (в общепринятой терминологии) имеет вид Kp+Ki/s+Kd*s. Ваша схема - это не ПИД-регулятор, это схема, условно говоря, с двумя нулями и тремя полюсами. Порядок передаточной характеристики более высокий. Поэтому просто так ее к "ПИД-регулятору" не привести.
Go to the top of the page
 
+Quote Post
gte
сообщение Apr 19 2016, 14:15
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



Цитата(wim @ Apr 19 2016, 16:09) *
Объясняю еще раз. Передаточная характеристика ПИД-регулятора (в общепринятой терминологии) имеет вид Kp+Ki/s+Kd*s. Ваша схема - это не ПИД-регулятор, это схема, условно говоря, с двумя нулями и тремя полюсами. Порядок передаточной характеристики более высокий. Поэтому просто так ее к "ПИД-регулятору" не привести.

Вы с Татьяной пока поспорьте про контенсатор С3
Прикрепленное изображение

который отличает схему от той схемы, что названа у Титце и Шенк как ПИД регулятор.


Если не договоритесь, я его вынесу в отдельное звено.

Какая разница классический он или нет. Меня интересует смогу я с моими минимальными затратами времени получить его цифровой аналог или нет.
Go to the top of the page
 
+Quote Post
wim
сообщение Apr 19 2016, 14:30
Сообщение #24


рядовой
******

Группа: Участник
Сообщений: 2 811
Регистрация: 21-08-06
Пользователь №: 19 713



Цитата(gte @ Apr 19 2016, 17:15) *
смогу я с моими минимальными затратами времени получить его цифровой аналог или нет.
Сможете.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Apr 19 2016, 15:12
Сообщение #25


Гуру
******

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



Цитата(gte @ Apr 19 2016, 17:15) *
Вы с Татьяной пока поспорьте про контенсатор С3

Он у Вас сам собой получится из-за конечного быстродействия цифрового регулятора. Я его иногда ставлю для уменьшения высокочастотных шумов.
Go to the top of the page
 
+Quote Post
gte
сообщение Apr 19 2016, 15:21
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



Цитата(Tanya @ Apr 19 2016, 19:12) *
Он у Вас сам собой получится из-за конечного быстродействия цифрового регулятора. Я его иногда ставлю для уменьшения высокочастотных шумов.

Без этого конденсатора в моей схеме завал характеристики (после полки) начинается при частоте за 200 кГц с ним где-то от 8 кГц.
Go to the top of the page
 
+Quote Post
MikeSchir
сообщение Apr 19 2016, 18:18
Сообщение #27


и по нечётным радист
****

Группа: Участник
Сообщений: 994
Регистрация: 3-03-09
Из: Москва, Кунцево
Пользователь №: 45 598



Цитата(Tanya @ Apr 19 2016, 18:12) *
Я его иногда ставлю для уменьшения высокочастотных шумов.

И не только Вы rolleyes.gif Поскольку наличие пульсации на входе ШИМ компаратора с амплитудой, соизмеримой с амплитудой "пилы", приводит к самовозбуждению регулятора.
А делаете Вы это иногда Только потому, что полоса усилителя уже сильно "зарезана".


--------------------
Go to the top of the page
 
+Quote Post
somebody111
сообщение Apr 24 2016, 16:30
Сообщение #28


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

Группа: Участник
Сообщений: 190
Регистрация: 2-03-11
Пользователь №: 63 341



Цитата(gte @ Apr 13 2016, 21:08) *
Привет Всем!

Есть отлаженные аналоговые PID. Хочется попробовать перевести их в цифровую форму, т.е. в Си код для МК, ARM например?
Схема подобно используемой на рисунке. Это из an-1162.pdf (International Rectifier).
[attachment=100032:PID.JPG]
Работа разовая, а вариант исполнения регулятора достаточно редкий, поэтому хочется минимизировать затраты. С помощью каких программ это можно получить начальный код?
Например, с помощью LabView + Embedded Module for ARM?

Вам нужно составить передаточную функцию регулятора.Вспомните как она считается у инвертирующего усилителя:
Код
H(jw)=-R2/R1
.
R2-активное сопротивление в обратной связи. Это частный случай. В общем случае:
Код
H(jw)=-X2(jw)/X1(jw)

X2-комплексное сопротивление в обратной связи.
==
Приведу простой пример.В обратной связи кондёр. Его комплексное сопротивление X2(jw)=1/(jwC). Чтобы получить передаточную функцию, надо выполнить преобразование Лапласа. В нашем случае - это просто замена: s=jw. Отсюда передаточная функция:
Код
H(s)=-(1/sC)/R2=-1/(R2*C*s)=-1/(T*s)
.
Развернем формулу:
Код
Uвых/Uвх=-1/T*s
T*s*Uвых=-Uвх

Далее, надо перейти к диф.уру. Для этого надо вспомнить свойство обратного преобразования Лапласа. Конкретнее: если оператор Лапласа s стоит рядом с переменной, то при обратном преобразовании переменная заменяется на его производную. Например. s*Y(s) при обратном преобразовании превращается в y'(t):
Код
T*dUвых/dt=-Uвх.

Ну а дальше заменяешь производную на конечную разность:
Код
dUвых/dt=(Uвых(k+1)-Uвых(k))/dt
и выводишь Uвых(k+1) - это и есть выход твоего регулятора.Это и есть цифровая реализация интегрального регулятора
Короче говоря, в вашем случае надо посчитать эквивалентное комплексное сопротивление в на входе операционника и эквивалентное комплексное сопротивление в обратной связи. Думаю не имеет смысла разжовывать, как посчитать эквивалентное сопротивление двух последовательно соединенных резисторов
===
Есть другой способ. После того,как вычислил передаточную функцию, нужно применить формулу Тастина (в поиске найдёшь),а потом тоже самое - вывести Uвых(k+1).

Сообщение отредактировал somebody111 - Apr 24 2016, 16:39
Go to the top of the page
 
+Quote Post
gte
сообщение Apr 24 2016, 17:44
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



Цитата(somebody111 @ Apr 24 2016, 19:30) *
Вам нужно составить передаточную функцию регулятора.Вспомните как она считается у инвертирующего усилителя:
Код
H(jw)=-R2/R1
.
R2-активное сопротивление в обратной связи. Это частный случай. В общем случае:
Код
H(jw)=-X2(jw)/X1(jw)

X2-комплексное сопротивление в обратной связи.

Большое спасибо за помощь, как пройти этот этап в общем виде понятно. Думаю, что понятно как пройти и следующие этапы. Без деталей, в которых, правда, и "кроется дьявол". Со временем, возможно, придется пройти.
Но это будет тема другого топика.
Хотелось бы услышать советы по указанной теме. Какими инструментами?


Go to the top of the page
 
+Quote Post
somebody111
сообщение Apr 24 2016, 18:53
Сообщение #30


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

Группа: Участник
Сообщений: 190
Регистрация: 2-03-11
Пользователь №: 63 341



Там есть один единственный большой ньюанс - это преобразование непрерывного диф.уравнения в дискретное. Так же на примере.Нарисуйте на бумаге синусоиду с периодом 1 секунда. Это непрерывный сигнал,с которым работает ваша аналоговая схема. При цифровой реализации время дискретно. Шаг дискретизации не может стремиться к нулю как в теории и представляет какое-то конкретное число. Суть всей теории по выбору этого шага дискретизации сводится к тому,чтобы дискретизированный сигнал мало отличался от реального непрерывного(вспоминайте теорему Найквиста). Из нарисованной синусоиды выбирайте точки с шагом 0.5 секунды. Похоже на синусоиду выбранные точки? Нет, не похожи.Берите 0.25. Похоже - лучше, но не то и.т.п. Короче говоря, чем меньше шаг дискретизации, тем лучше, но частенько при программной реализации меньший шаг дискретизации требует более быстрый процессор. Чтобы решить эту проблему и была придумана формула Тастина. Она, хоть и усложняет, но позволяет немного снизить частоту выборки без потери точности. В вашем случае этот ньюанс исключен и делайте по-простому y'=[y(k+1)-y(k)]/dt Это единственный подводный камень, который к вам не имеет никакого отношения. Можно сделать еще точнее, но не хочу - для достаточно простой задачи забивать голову матлабом - не вариант
А в плане инструментов...что вас интересует? Как написать программу,которая это реализует?Пожалуйста,цифровое интегрирование
Код
double x,y;
void calc(void)
{
   y=y+x*dT;
}

Функция calc() вызывается всякий раз, когда ацп,который принимает ваш аналоговый сигнал, завершает аналого-цифровое преобразование. Сам АЦП начинает аналого-цифровое преобразование всякий раз,когда его таймер равен 0
===
Если не секрет, то зачем вас переводить нормальную аналоговую схему в цифровую, если при этом ничего не изменится?

Сообщение отредактировал somebody111 - Apr 24 2016, 19:00
Go to the top of the page
 
+Quote Post

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

 


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


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