Хорошо, если я понимаю вас, все оборудование уже сделано?
Итак, ваша система имеет ввод команд, который является текущим уровнем в амперах (указанный, например, число с плавающей запятой двойной точности в программном обеспечении), а выход контроллера - это напряжение, которое управляет оборудованием, которое потребляет ток, ваш завод это схема, и обратная связь, вероятно, представляет собой 8, 10 или 16-битное число - либо подписанное, либо без знака в зависимости от вашего A/D.
Так что система выглядит следующим образом:
alt text http://steves-wiki.wikispaces.com/file/view/control_diagram.jpg/64043668
Вашего быстрое и грязное подход, вероятно, ПИД-регулирование. Вы можете освежить основы с помощью this Wikipedia article, и есть несколько намеков на реализацию в этом embedded.com article.
В двух словах вы хотите вычислить ошибку системы, которая в вашем примере является текущей командой - Current Feedback. Убедитесь, что все находится в одних и тех же единицах, надеюсь, Ампер. Затем, после вычисления вашей ошибки, вы должны исправить ее командой. В вашей системе, которая является командой напряжения для вашего источника тока, управляемого напряжением. С помощью PID команда вычисляется путем умножения ошибки, интеграла ошибки и производной от ошибки на прибыль и суммирование результата. Прибыль - сложная часть. ДРУГИЕ сложные штуки: убедитесь, что ваши устройства согласованы, убедившись, что время правильное, и правильный расчет интеграции/производных.
В вашей системе у вас много единиц: ошибка в амперах, команда Volts, которая превращается в Amps, тогда текущее использование - это Amps, который сообщается как Volts, который преобразуется в либо подписанное, либо беззнаковое целое число, которое должно быть скорректированным назад в Амперы, чтобы сделать ошибку надлежащей. У вас будет много переменных, убедитесь, что вы можете отслеживать, какая физическая единица относится к каждому.
Алгоритм управления является жестким в режиме реального времени и должен работать с определенной скоростью. Я бы рекомендовал по крайней мере 100 Гц (вычисления каждые 10 мс). Электронные схемы движутся быстро - не как электромеханические системы. Вам может потребоваться более высокая ставка, чтобы оставаться на вершине вещей. Но это должно быть тяжелым реальным временем - это означает последовательное. Вы даже не сможете уйти с таймерами программного обеспечения.
Интеграция и производные расчеты сложны, но их очень много. Самый простой алгоритм - это правило прямоугольника - он немой, но он, вероятно, сработает. Если вам нужно более точно использовать трапецеидальное правило. Проверьте алгоритмы вне here. Скорее всего, вы не будете использовать производственный контроль - он имеет тенденцию делать вещи нестабильными и не нужны в большинстве систем. Вы должны быть в порядке с интегральным + пропорциональным контролем.
Есть много подводных камней, но это должно заставить вас начать. Если у вас есть опыт в теории управления, тогда все должно вернуться к вам. Как только структура будет на месте, вы потратите много времени на настройку пропорционального и интегрального выигрыша - это мясо работы. Если это по-прежнему кажется слишком большой математикой для вас, ну, извините - это примерно так же просто, как и для контроля.
Хорошее резюме. Как вы сказали, хотя: сломайте термин D; вы почти никогда не используете его, кроме регуляторов температуры. –
Отличный ответ !! Одна небольшая проблема, половина текста охвачена объявлениями в моем браузере. Но в противном случае большое спасибо, я смотрел на PID, но был немного потерян с терминологией, ваша диаграмма помогает много. Еще раз спасибо! – Richard
О да, оборудование уже установлено. – Richard