Похожие презентации:
Управление мотором. Релейный и пропорциональный регуляторы
1. Управление мотором. Релейный и пропорциональный регуляторы
Сергей Александрович ФилипповПрезидентский физико-математический лицей №239
Санкт-Петербург
2. Регулятор
Регулятор – это совокупность устройств,обеспечивающих желаемое поведение системы.
Поплавковый
регулятор
Ползунова,
1765 г.
Центробежный
регулятор
Уатта,
1788 г.
3. Ветвление
Ветвление – часть алгоритма, в которой взависимости от условия выполняется один или
другой набор действий.
Да
Действия 1
Конец
условия
Условие
Нет
Действия 2
Ветвление применяется в релейном регуляторе
4. Управление положением мотора
• Установить мотор в заданное положение 45º• Удерживать мотор в заданном положении
5. Релейный регулятор: управление мотором
• Установить мотор в заданноеположение 45º
• Удерживать мотор в положении 45º
• Попробуйте понизить колебания
6. Релейный регулятор: возникает перерегулирование
• Как избавиться отколебаний?
• Например, понизить
скорость движения
• Но тогда падает сила…
7. Релейный трехпозиционный регулятор
• Рассмотримокрестность ±5
вокруг 45
• Возможны три
состояния:
– Энкодер ≤ 40
– Энкодер > 50
– 40 < Энкодер ≤ 50
• Но мотору
трудно попасть в
окрестность…
8. Пропорциональный регулятор
В задачах автоматического регулирования управляющеевоздействие u обычно является функцией динамической
ошибки – отклонения e регулируемой величины x от ее
заданного значения x0:
e =x0 – x
Пропорциональный регулятор – это устройство,
оказывающее управляющее воздействие на объект
пропорционально его отклонению от заданного
состояния.
u = k·e
Здесь k – это коэффициент усиления регулятора.
9. Пропорциональный регулятор: управление мотором
• Пусть encoderA – показания датчика оборотов намоторе A. Тогда управление мощностью мотора
задается формулой:
• МоторА=k*(alpha-encoderA),
• где k – коэффициент усиления, например 2,
• alpha – желаемое положение мотора (уставка).
Задача: запустите регулятор с разными коэффициентами – от 0.1 до 100.
10. Пропорциональный регулятор: контроль скорости
• time() – обозначение таймера, который срабатывает1000 раз в секунду
• alpha=time()/100*36 – изменяется на 360 градусов в
секунду
• Регулятор 1000 раз в секунду стремится привести
мотор в положение alpha.
• Задача: ускорьте движение в 2 раза, замедлите в 10 раз
11. Пропорциональный регулятор: часовая стрелка
В TRIK Studio поддерживается целочисленное делениеПример: 7//5=1
time()//1000 изменяется на единицу раз в секунду
alpha=time()//1000*30 – обходит полный круг за 12
«тиков»
• Задача: ускорьте движение до 2 «тиков» в секунду
12. Пропорциональный регулятор: барабанщик
В TRIK Studio поддерживается деление с остаткомПример: 7%5=2
time() // 100 % 2 чередуется 5 раз в секунду (0 или 1)
alpha=time() // 100 %2 * 15 – выполняет движения барабанной
палочки
• Сила удара регулируется коэффициентом усиления k
13. Пропорциональный регулятор: задание ритма через формулу
• Ритмический рисунок определяетсядлительностью пауз между ударами
• Задача: достигнув стабильности
метронома, примените формулу
alpha= time() // 100 % 5 % 2 * 15 и
придумайте свой ритм
• Пусть T1=time() // 100
Часы
alpha = T1 / 10 · k2
Метроном
alpha = T1 % 2 · k2
Ритм
alpha = T1 % 5 % 2 · k2
T1
T1%5
T1%5%2
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 1 2 3 4 0 1 2 3 4 0 1 2 3 4
0 1 0 1 0 0 1 0 1 0 0 1 0 1 0
T1%5%2*15
0 15 0 15 0 0 15 0 ...
Можно перевернуть палочку: alpha = (1 – T1 % 5 % 2) * 15
14. Две палочки одновременно
Один общий циклalpha – для первой палочки
beta – для второй палочки
u1=(alpha – encoderA) * k
u2=(beta – encoderB) * k
u1 подаем на мотор А
u2 подаем на мотор В
Часы
alpha = T1 / 10 · k2
Метроном
alpha = T1 % 2 · k2
Ритм
alpha = T1 % 5 % 2 · k2
T1
T1%5
T1%5%2
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 1 2 3 4 0 1 2 3 4 0 1 2 3 4
0 1 0 1 0 0 1 0 1 0 0 1 0 1 0
T1%5%2*15
0 15 0 15 0 0 15 0 ...
Можно перевернуть палочку: alpha = (1 – T1 % 5 % 2) * 15
15. Благодарю за внимание!
Сергей Александрович ФилипповПрезидентский физико-математический лицей № 239
Санкт-Петербург
safilippov@gmail.com
Промышленность