AlexandrY 3 17 апреля, 2017 Опубликовано 17 апреля, 2017 · Жалоба Вариантов-то не осталось, раз уж угадайка всё-таки идёт. Т.е. какой-то KIT на FPGA с линуксом? А Matlab только ради GUI? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Daedal07 0 17 апреля, 2017 Опубликовано 17 апреля, 2017 · Жалоба Т.е. какой-то KIT на FPGA с линуксом? А Matlab только ради GUI? FPGA - да, только голый. Ethernet при помощи wiznet чипа. Матлаб для отработки алгоритма, для GUI. Потом его не будет. Хотел использовать System Generator в начале, но позже понял, что тут его и негде особо использовать, прошивка простая и так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 17 апреля, 2017 Опубликовано 17 апреля, 2017 · Жалоба FPGA - да, только голый. Ethernet при помощи wiznet чипа. Матлаб для отработки алгоритма, для GUI. Потом его не будет. Хотел использовать System Generator в начале, но позже понял, что тут его и негде особо использовать, прошивка простая и так. А микроконтроллер Wiznet-овский или в FPGA встроен? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gruffly 0 17 апреля, 2017 Опубликовано 17 апреля, 2017 · Жалоба А вы, я так вижу, пользуетесь какой-то устаревшей версией VisSim Версия 5.11 - быстрая и легкая, много наработок. Есть Solidthinking Embed 2017 (это дальнейшее развитие Vissim). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 17 апреля, 2017 Опубликовано 17 апреля, 2017 · Жалоба Итак, вот модель PID контроллера подготовленная к кодогенерации для ARM Cortex-M По модели генерируется код который не использует нигде магические константы типа периода сэмплирования и проч. Все констаны задается явно во входной шине Pars (она же структура Pars в исходниках на C-и) Явно задается и константа периода сэмплирования. Модель представляет параллельную архитектуру PID-а, с клампингом и ограничениями на размах выходного сигнала. Везде тип данных float. На 120 МГц Cortex-M4 с сопроцессором такой PID выполнится за пару микросекунд. Загрузочный файл - PID_model.slx Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KatKat 0 19 апреля, 2017 Опубликовано 19 апреля, 2017 (изменено) · Жалоба AlexandrY Вопрос по ограничителю скорости роста выходного сигнала. На "ступеньку" откликается "ступенькой". Что же он ограничивает ? Изменено 19 апреля, 2017 пользователем KatKat Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 19 апреля, 2017 Опубликовано 19 апреля, 2017 · Жалоба На 120 МГц Cortex-M4 с сопроцессором такой PID выполнится за пару микросекунд. 3288 тактов, если быть точнее, на Cortex-M4 с float point сопроцессором. Т.е. на 48 МГц Cortex-M0 без сопроцессора будет где-то 300 мкс Вопрос по ограничителю скорости роста выходного сигнала. На "ступеньку" откликается "ступенькой". Что же он ограничивает ? Он следит чтобы при переносе этого PID-а на реальный объект всё не пошло бы в разнос. Скажем у вас люфт. Это элемент задержки плюс неправильный отклик. Люфт из любого хорошего PID-а сделает осциллятор. Чтоб бороться с люфтом придумывают всякие эвристические алгоритмы на старте управления. И вот пока вы их не настроили у PID-а надо включать ограничение на скорость. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KatKat 0 19 апреля, 2017 Опубликовано 19 апреля, 2017 · Жалоба И вот пока вы их не настроили у PID-а надо включать ограничение на скорость. Чем это ограничение отличается от обычного saturation - в чем фишка ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 19 апреля, 2017 Опубликовано 19 апреля, 2017 · Жалоба Чем это ограничение отличается от обычного saturation - в чем фишка ? saturation может скакать от max до min каждый период и получится такая жёсткая болтанка. Если уменьшите max и min то болтанка все равно останется. А ограничение скорости просто сделает плавную пилу если управление уйдет в осцилляцию, а чаще даже осцилляция пропадает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KatKat 0 19 апреля, 2017 Опубликовано 19 апреля, 2017 · Жалоба А ограничение скорости просто сделает плавную пилу если управление уйдет в осцилляцию, а чаще даже осцилляция пропадает. Простите, но не могу увидеть ограничение скорости. Взял из модели модуль ограничения скорости. При входном сигнале с амплитудой в пределах границ saturation с частотами 5Гц, 10Гц, 15 Гц выходной сигнал абсолютно совпадает с входным сигналом. Что то не так делаю ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 19 апреля, 2017 Опубликовано 19 апреля, 2017 · Жалоба Простите, но не могу увидеть ограничение скорости. Взял из модели модуль ограничения скорости. При входном сигнале с амплитудой в пределах границ saturation с частотами 5Гц, 10Гц, 15 Гц выходной сигнал абсолютно совпадает с входным сигналом. Что то не так делаю ? Значит неверно выбран лимит. Ограничение работает если за один интервал сэмплирования входной сигнал вышел за границы лимита. Это модель с дискретным временем, напомню на всякий случай. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KatKat 0 19 апреля, 2017 Опубликовано 19 апреля, 2017 · Жалоба Значит неверно выбран лимит. Ограничение работает если за один интервал сэмплирования входной сигнал вышел за границы лимита. Это модель с дискретным временем, напомню на всякий случай. Могли бы Вы привести графики входа и выхода, где будет видно ограничение скорости. Спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 19 апреля, 2017 Опубликовано 19 апреля, 2017 · Жалоба Могли бы Вы привести графики входа и выхода, где будет видно ограничение скорости. Спасибо Вот: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KatKat 0 20 апреля, 2017 Опубликовано 20 апреля, 2017 · Жалоба Спасибо. Процесс получился для sample time 30ms Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
somebody111 0 21 апреля, 2017 Опубликовано 21 апреля, 2017 (изменено) · Жалоба А просто поставить апериодические звено с понятным для наладки параметром-постоянная времени не проще, чем опять как-то хитроумно делать тоже самое?)С люфтом борются иначе-на очень низких токах делается 1.5-2сек постоянная времени, на высоких- снижается до 0.2-0.5 сек И еще вопрос:вы выбрали 80МГцовый процессор и кучу матлабоыские ПО чтобы реализовать ПИ, который паяется на коленке из операционник пары резисторов и кондеров?) Извините за оффтоп, Solidthinking Embed 2017 можно стимулировать схемотехнику?Пробывали-не? Насколько правдоподобные результаты? Изменено 21 апреля, 2017 пользователем somebody111 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться