Методические указания по выполнению работы. Двигатель постоянного тока (ДПТ) является одним из широко используемых элементов современных система автоматического управления
Двигатель постоянного тока (ДПТ) является одним из широко используемых элементов современных система автоматического управления. Рассматриваемый электродвигатель имеет возбуждение на постоянных магнитах и встроенный редуктор.
ШИМ (PWM − Pulse Width Modulation) − это способ кодирования аналогового сигнала путем изменения ширины прямоугольных импульсов заданной частоты. Скважность импульсов − это отношение длительности импульса к периоду сигнала.
Программируемый объект управляется по каналу B 16-битного таймера/счетчика 1, генерирующего ШИМ сигнал. Полярность подаваемого на двигатель напряжения, задающая направление вращения, определяется подачей 0 или 1 на 4-ый разряд порта G. Структура управляющих регистров используемого таймера/счетчика показана на рис. 3.28.
| ||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||
Рис. 3.28. Управляющие регистры таймера/счетчика 1 |
Разряды 7 и 6 регистра TCCR1A − COM1A1 и COM1A0 (режим формирования выходного сигнала канала A), 5 и 4 − COM1B1 и COM1B0 (режим формирования выходного сигнала канала B), 3 и 2 − COM1С1 и COM1С0 (режим формирования выходного сигнала канала С) задают тип выходного сигнала на выводах OC1A, OC1B и OC1C соответственно.
Если один или оба бита COM1A1 и COM1A0 равны 1, то вывод OC1A переходит к выполнению альтернативной функции, запрещая его работу как обычного порта ввода-вывода. Аналогичные изменения происходят с выводами OC1B и OC1C во время записи 1 в один из битов COM1B1, COM1B0 и COM1C1, COM1C0 соответственно. Однако необходимо учитывать, что остается влияние на работу данных выводов состояния регистра направления данных (DDR) − в соответствующих разрядах этого регистра должно быть задано выходное направление для выводов OC1A, OC1B или OC1C.
Если выбрано подключение сигналов OC1A, OC1B или OC1C к выводам МК, то назначение бит COM1x1, COM1x0 определяется выбранным с помощью битов WGM13:0 режима работы таймера счетчика. В таблице 3.13 показано назначение битов COM1x1, COM1x0, когда битами WGM13:0 выбран режим сброса при совпадении или нормальный режим, то есть − режимы без ШИМ.
Таблица 3.13
COM11 | COM10 | Назначение в зависимости от режима | ||
Нормальный и сброс при совпадении | Быстрая ШИМ | ШИМ с фазовой коррекцией | ||
Функция обычного порта ввода/вывода. OC1 отключен | ||||
Инвертирование OC1 при каждом совпадении | Зарезервировано | Зарезервировано | ||
Сброс OC1 = 0 при каждом совпадении | OC1 = 0 при совпадении, OC1 = 1 по достижении верхнего предела | OC1 = 0 при совпадении во время прямого счета, OC1 = 1 при совпадении во время обратного счета | ||
Установка OC1 = 1 при каждом совпадении | OC1 = 1 при совпадении, OC1 = 0 по достижении верхнего предела | OC1 = 1 при совпадении во время прямого счета, OC1 = 0 при совпадении во время обратного счета |
Разряды 1 и 0 − WGM11:0 (режим работы таймера счетчика) в сочетании с битами WGM13:2 из регистра TCCR1B определяют алгоритм счета, источник для задания вершины счета и тип генерируемой формы сигнала. Режимы работы таймера счетчика в зависимости от значения битов регистров приведено в таблице 3.14.
Таблица 3.14
WGM13 | WGM12 | WGM11 | WGM10 | Режим работы таймера счетчика | Верхний предел |
Нормальный | 0xFFFF | ||||
8-ми разрядная ШИМ с фазовой коррекцией | 0x00FF | ||||
9-ти разрядная ШИМ с фазовой коррекцией | 0x01FF | ||||
10-ти разрядная ШИМ с фазовой коррекцией | 0x03FF | ||||
8-ми разрядная быстрая ШИМ | 0x00FF | ||||
9-ти разрядная быстрая ШИМ | 0x01FF | ||||
10-ти разрядная быстрая ШИМ | 0x03FF |
Разряды 2, 1 и 0 регистра TCCR1B – CS02:01:00 (Настройка частоты тактирования таймера) определяют различные тактовые частоты, кратные частоте кварцевого резонатора. В таблице 3.15 приведены зависимости для формирования частоты тактирования.
Таблица 3.15
CS12 | CS11 | CS10 | Описание |
Таймер 1 остановлен | |||
Без предделителя fT1 = fCPU | |||
С предделителем fT1 = fCPU /8 | |||
С предделителем fT1 = fCPU /32 | |||
С предделителем fT1 = fCPU /64 | |||
С предделителем fT1 = fCPU /128 | |||
С предделителем fT1 = fCPU /256 | |||
С предделителем fT1 = fCPU /1024 |
Варианты заданий
В соответствии с вариантом задания, представленном в табл. 3.16, составьте программу управления ДПТ для реализации заданного режима ШИМ и графика изменения скорости вращения (максимальная скорость достигается в пике графика).
Таблица 3.16
Вариант задания | График изменения скорости вращения | Режим ШИМ |
8-разрядная быстрая ШИМ | ||
8-разрядная ШИМ с фазовой коррекцией | ||
10-разрядная быстрая ШИМ | ||
10-разрядная ШИМ с фазовой коррекцией | ||
9-разрядная быстрая ШИМ | ||
9-разрядная ШИМ с фазовой коррекцией | ||
10-разрядная быстрая ШИМ | ||
10-разрядная ШИМ с фазовой коррекцией | ||
8-разрядная быстрая ШИМ | ||
8-разрядная ШИМ с фазовой коррекцией | ||
9-разрядная быстрая ШИМ | ||
9-разрядная ШИМ с фазовой коррекцией |