Перейти к содержанию
    

Перевести аналоговый PID в цифровой

В вашем случае этот ньюанс исключен и делайте по-простому y'=[y(k+1)-y(k)]/dt Это единственный подводный камень,
Исключен, не исключен мне пока трудно судить, да и регуляторов должно быть 2-3 в одном процессоре плюс запас на отработку критических ситуаций.

А в плане инструментов...что вас интересует? Как написать программу,которая это реализует?Пожалуйста,цифровое интегрирование..

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

Если не секрет, то зачем вас переводить нормальную аналоговую схему в цифровую, если при этом ничего не изменится?

В каком смысле не изменится? В смысле характеристик регулятора? Да, они и так устраивают. Но есть и другие аспекты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Технически подойдёт любой процессор, у которого есть на борту АЦП. Если лень программно реализовывать ШИМ, то и с ШИМом на борту. Производители - microchip,texas instruments,atmel.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Технически подойдёт любой процессор, у которого есть на борту АЦП. Если лень программно реализовывать ШИМ, то и с ШИМом на борту. Производители - microchip,texas instruments,atmel.

Понятно, спасибо за полезные советы, как раз ATtyni остались не использованные :cranky: .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Ну смотрите, время выполнения оценивается просто в режиме отладки. Перед функцией, которая все это будет считать, запускаете аппаратный таймер в процессоре, а в конце функции ставите точку останова. По кол-ву натиканных значений легко определяется время выполнения. Если делать на ассемблере, то это считается все на бумажке. Забегая вперед могу сразу вам сказать, что если речь идет только о данном регуляторе для ШИМа, время выполнения будет ограничено периодом ШИМа, т.е. функция должна полностью просчитаться до того, как пила ШИМа достигнет максимума или достигнет нуля.Даже могу сказать больше - выбранный вами период ШИМа и будет реальный шагом дискретизации dt

Насчёт наладки.

Здесь несколько вариантов.

1. Вы зашиваете настройки в процессор только 1 раз при программировании. Соответственно, сторонние наладчики с этим ничего не сделают. При наладке - это проблема, потому что придется либо это учитывать схемотехнически путем введения различного рода перемычек, либо установкой колодки,когда вы можете вынуть процессор- перешить-ткнуть обратно. Я очень давно так делал, но из-за того, что изделие работало в условиях постоянной вибрации приходилось после наладки снимать колодку и уже железно впаивать процессор.

2. Вы предоставляется наладчикам некий интерфейс, который позволяет эти настройки менять и отображать. Традиционно такая задача решается 2-мя способами: либо ставятся кнопочки с LCD -дисплеем, либо через компьютер через разные интерфейсы типа uart-rs232-usb, uart-ethernet, ethernet-ethernet, can-usb и пр. они зашиваются. Библиотеки для работы с дисплеями и интерфейсами, как правило, качаются с сайта-производителя.

Изменено пользователем somebody111

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Понятно, спасибо за полезные советы, как раз ATtyni остались не использованные :cranky: .

Странная реакция. Человек Вам изо всех сил помочь пытается, а Вы ему "вигвамы рисуете"...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странная реакция. Человек Вам изо всех сил помочь пытается, а Вы ему "вигвамы рисуете"...

Человек пытается помочь рассказывая про то что главным критерием выбора МК для регулятора с ПИД является наличие ЦАП на борту. Или о том, что схему данного ПИД можно представить в виде инвертирующего усилителя, или как посчитать время выполнения программы в МК. Зачем здесь пересказывать банальности которые, к тому же, не имеют отношения к теме топика? Я уже вежливо просил не продолжать в таком ключе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...