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

 
 
> Перевести аналоговый PID в цифровой, Какими инструментами?
gte
сообщение Apr 13 2016, 18:08
Сообщение #1


Гуру
******

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



Привет Всем!

Есть отлаженные аналоговые PID. Хочется попробовать перевести их в цифровую форму, т.е. в Си код для МК, ARM например?
Схема подобно используемой на рисунке. Это из an-1162.pdf (International Rectifier).
Прикрепленное изображение

Работа разовая, а вариант исполнения регулятора достаточно редкий, поэтому хочется минимизировать затраты. С помощью каких программ это можно получить начальный код?
Например, с помощью LabView + Embedded Module for ARM?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
somebody111
сообщение Apr 24 2016, 18:53
Сообщение #2


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

Группа: Участник
Сообщений: 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
gte
сообщение Apr 25 2016, 10:38
Сообщение #3


Гуру
******

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



Цитата(somebody111 @ Apr 24 2016, 21:53) *
В вашем случае этот ньюанс исключен и делайте по-простому y'=[y(k+1)-y(k)]/dt Это единственный подводный камень,
Исключен, не исключен мне пока трудно судить, да и регуляторов должно быть 2-3 в одном процессоре плюс запас на отработку критических ситуаций.
Цитата
А в плане инструментов...что вас интересует? Как написать программу,которая это реализует?Пожалуйста,цифровое интегрирование..

Написать, выбрать процессор, оценить время выполнение, скорректировать, сделать или купить "железо" как то отладить, потом вручную снять АЧХ и ФЧХ или начать отлаживать совместно с объектом, убедится что не совсем то и, возможно, пойти по новой. Так?
Цитата
Если не секрет, то зачем вас переводить нормальную аналоговую схему в цифровую, если при этом ничего не изменится?

В каком смысле не изменится? В смысле характеристик регулятора? Да, они и так устраивают. Но есть и другие аспекты.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- gte   Перевести аналоговый PID в цифровой   Apr 13 2016, 18:08
- - Herz   Стоит только погуглить... Вот, например. Или ещё. ...   Apr 13 2016, 20:32
|- - gte   Цитата(Herz @ Apr 14 2016, 00:32) Стоит т...   Apr 13 2016, 20:48
|- - Herz   Цитата(gte @ Apr 13 2016, 22:48) Это стро...   Apr 13 2016, 20:59
|- - gte   Цитата(Herz @ Apr 14 2016, 00:59) А каким...   Apr 13 2016, 21:51
|- - Herz   Цитата(gte @ Apr 14 2016, 00:51) Не готов...   Apr 14 2016, 11:20
|- - Tanya   Цитата(gte @ Apr 14 2016, 00:51) Возможно...   Apr 14 2016, 11:30
|- - gte   Цитата(Tanya @ Apr 14 2016, 15:30) Скорее...   Apr 14 2016, 13:22
|- - wim   Цитата(gte @ Apr 14 2016, 16:22) математи...   Apr 14 2016, 14:17
||- - gte   Цитата(wim @ Apr 14 2016, 18:17) Математи...   Apr 14 2016, 15:31
|- - Tanya   Цитата(gte @ Apr 14 2016, 16:22) Увы, под...   Apr 14 2016, 14:18
|- - mcheb   Цитата(gte @ Apr 14 2016, 16:22) Тем, что...   Apr 15 2016, 02:10
|- - gte   Цитата(mcheb @ Apr 15 2016, 06:10) Этой м...   Apr 15 2016, 04:56
|- - Baser   Цитата(gte @ Apr 15 2016, 07:56) А что не...   Apr 15 2016, 11:06
|- - Tanya   Цитата(Baser @ Apr 15 2016, 14:06) Не пол...   Apr 15 2016, 12:31
|- - gte   Цитата(Tanya @ Apr 15 2016, 16:31) А ТС п...   Apr 15 2016, 15:40
|- - enshtein   Без проблем. 10т.р. цена вопроса. Но как калькулят...   Apr 15 2016, 16:22
|- - iosifk   Цитата(gte @ Apr 15 2016, 18:40) Что заче...   Apr 16 2016, 08:57
|- - gte   Цитата(iosifk @ Apr 16 2016, 12:57) А взя...   Apr 17 2016, 10:41
|- - wim   Цитата(gte @ Apr 19 2016, 14:52) мне надо...   Apr 19 2016, 12:09
|- - gte   Цитата(wim @ Apr 19 2016, 16:09) Объясняю...   Apr 19 2016, 14:15
|- - wim   Цитата(gte @ Apr 19 2016, 17:15) смогу я ...   Apr 19 2016, 14:30
|- - Tanya   Цитата(gte @ Apr 19 2016, 17:15) Вы с Тат...   Apr 19 2016, 15:12
|- - gte   Цитата(Tanya @ Apr 19 2016, 19:12) Он у В...   Apr 19 2016, 15:21
|- - MikeSchir   Цитата(Tanya @ Apr 19 2016, 18:12) Я его ...   Apr 19 2016, 18:18
- - AnatolyT   Делал когда то в своем изделии источник вторичного...   Apr 16 2016, 07:31
- - AnatolyT   Попробую навскидку сформулировать, применить МК в ...   Apr 17 2016, 11:39
- - somebody111   Цитата(gte @ Apr 13 2016, 21:08) Привет В...   Apr 24 2016, 16:30
|- - gte   Цитата(somebody111 @ Apr 24 2016, 19:30) ...   Apr 24 2016, 17:44
- - somebody111   Технически подойдёт любой процессор, у которого ес...   Apr 25 2016, 11:08
|- - gte   Цитата(somebody111 @ Apr 25 2016, 14:08) ...   Apr 25 2016, 15:57
|- - Herz   Цитата(gte @ Apr 25 2016, 17:57) Понятно,...   Apr 25 2016, 22:43
|- - gte   Цитата(Herz @ Apr 26 2016, 01:43) Странна...   Apr 26 2016, 10:23
- - somebody111   ЦитатаНаписать, выбрать процессор, оценить время в...   Apr 25 2016, 22:29


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

 


RSS Текстовая версия Сейчас: 24th August 2025 - 15:47
Рейтинг@Mail.ru


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