5 / 5 / 2
Регистрация: 07.01.2013
Сообщений: 102
|
|||||||||||
1 | |||||||||||
MCS-51. ПИД-регулятор29.11.2013, 16:58. Показов 6726. Ответов 5
Метки нет (Все метки)
Добрый день!
Необходимо сделать ПИД-регулятор на ассемблере 8051. Начал с отработки алгоритма - написал программу на C#, удостоверился, что все работает так, как нужно. Потом переделал её под C++ в консольном режиме и так, чтобы без сложных уравнений(т.е. каждое вычиление - это либо только сложение, либо только умножение и т.д.). Вот что получилось:
0
|
29.11.2013, 16:58 | |
Ответы с готовыми решениями:
5
ПИД-регулятор (ПИ-регулятор) сервомотора ПИД регулятор на практике ПИД-регулятор на ассемблере помогите реализовать ПИД регулятор |
5 / 5 / 2
Регистрация: 07.01.2013
Сообщений: 102
|
|
30.11.2013, 20:58 [ТС] | 2 |
Козаченко В.Ф. Практическое руководство по применению 16-ти разрядных микроконтроллеров Intel MCS-196/296 во встроенных системах управления
При расчете на текущем интервале квантования, то есть в процессе одного скана программы ПИД-регулятора должны выполняться следующие действия: 1. Опрос очередного значения входной переменной с записью текущей выборки в таблицу выборок. 2. Последовательное умножение трех последних выборок на соответствующие коэффициенты с накоплением результата в аккумуляторе для всех i от 0 до 2. 3. Циклический сдвиг всех выборок на одну позицию в памяти данных с удалением самой “старой” выборки из таблицы. 4. Выдача рассчитанного значения управляющего воздействия в порт. Дискретные модели наиболее распространенных цифровых регуляторов u(k) = u(k − 1) + k e(k) − k e(k − 1) + k e(k − 2) Добавлено через 2 часа 40 минут Запустил свой код на C в MCU 8051 IDE - работает. Сейчас попробовал этот же код скомпилировать и дизассемблировать под IAR Embedded Workbench for 8051 - код какой-то ущербный получается. Теперь нет надежды посмотреть как оно делалось Придётся вернуться к попытке написать самому.
0
|
5 / 5 / 2
Регистрация: 07.01.2013
Сообщений: 102
|
||||||
04.12.2013, 19:03 [ТС] | 3 | |||||
Немного поправил алгоритм:
1
|
5 / 5 / 2
Регистрация: 07.01.2013
Сообщений: 102
|
||||||
28.12.2013, 21:45 [ТС] | 4 | |||||
В общем, вот как сделал:
0
|
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,047
|
|
29.12.2013, 07:29 | 5 |
0
|
1022 / 157 / 10
Регистрация: 16.01.2013
Сообщений: 544
|
|
29.12.2013, 11:57 | 6 |
u(n) = k(0)*u(n − 1) + k(1)*e(n) + k(2)*e(n − 1) + k(3)*e(n − 2).... Причем k(0) обязательно меньше либо равно единице. Иначе система идёт в разнос. Остальные k(n) Со знаком.
0
|
29.12.2013, 11:57 | |
29.12.2013, 11:57 | |
Помогаю со студенческими работами здесь
6
ПИД-регулятор на импульсной микросхеме. ПИД - регулятор оборотов двигателя DSP library STM32f1xx ПИД-регулятор Станок ЧПУ X-Y-Z Axis ПИД-регулятор ПИД-регулятор на C# ПИД-регулятор ПИД-регулятор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |