Двигатель постоянного тока (ДПТ) является одним из широко используемых элементов современных система автоматического управления. Рассматриваемый электродвигатель имеет возбуждение на постоянных магнитах и встроенный редуктор.
ШИМ (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-разрядная ШИМ с фазовой коррекцией |