|
Перевести аналоговый PID в цифровой, Какими инструментами? |
|
|
|
Apr 13 2016, 18:08
|
Гуру
     
Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613

|
Привет Всем! Есть отлаженные аналоговые PID. Хочется попробовать перевести их в цифровую форму, т.е. в Си код для МК, ARM например? Схема подобно используемой на рисунке. Это из an-1162.pdf (International Rectifier).
Работа разовая, а вариант исполнения регулятора достаточно редкий, поэтому хочется минимизировать затраты. С помощью каких программ это можно получить начальный код? Например, с помощью LabView + Embedded Module for ARM?
|
|
|
|
|
 |
Ответов
|
Apr 24 2016, 18:53
|
Частый гость
 
Группа: Участник
Сообщений: 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
|
|
|
|
|
Apr 25 2016, 10:38
|
Гуру
     
Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613

|
Цитата(somebody111 @ Apr 24 2016, 21:53)  В вашем случае этот ньюанс исключен и делайте по-простому y'=[y(k+1)-y(k)]/dt Это единственный подводный камень, Исключен, не исключен мне пока трудно судить, да и регуляторов должно быть 2-3 в одном процессоре плюс запас на отработку критических ситуаций. Цитата А в плане инструментов...что вас интересует? Как написать программу,которая это реализует?Пожалуйста,цифровое интегрирование.. Написать, выбрать процессор, оценить время выполнение, скорректировать, сделать или купить "железо" как то отладить, потом вручную снять АЧХ и ФЧХ или начать отлаживать совместно с объектом, убедится что не совсем то и, возможно, пойти по новой. Так? Цитата Если не секрет, то зачем вас переводить нормальную аналоговую схему в цифровую, если при этом ничего не изменится? В каком смысле не изменится? В смысле характеристик регулятора? Да, они и так устраивают. Но есть и другие аспекты.
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|