быстрая ШИМ в AVR

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
andrei-ka
Родился
Сообщения: 12
Зарегистрирован: Вт фев 02, 2010 12:17:32
Откуда: Ростов-на-Дону

быстрая ШИМ в AVR

Сообщение andrei-ka »

Товарищи, разъясните пожалуйста новичку почему в режиме быстрой шим у микроконтроллеров серии AVR идет изменение фазы на ножке OC0? Я читал datasheet на Atmega128 на русском но не нашел там ничего
что могло-бы указывать на причину такого поведения. Информация на сайте "Сопряжение ПК с внешними устройсвами" очень поверхностна и не объясняет сути происходящих процессов.
Опишу как я понимаю этот процесс: первое изменение на ножке ОС0 (она же PB4 у ATmega16) происходит
при совпадении значений регистров ОСRn и TCNTn второе при сбросе таймера ТССR0 в нулевое значение т.е.
оба события происходят с одинаковой частотой.
Изображение
Подскажите где моя ошибка пожаааалуйста!!!!
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

Какая ошибка? Где?
текст программы где?
Чем дальше, тем больше становлюсь занудой...
Изображение
andrei-ka
Родился
Сообщения: 12
Зарегистрирован: Вт фев 02, 2010 12:17:32
Откуда: Ростов-на-Дону

Сообщение andrei-ka »

Ошибка в понимании процессов происходящих при быстрой ШИМ. Вот
два рисунка:
Изображение

на верхнем изображена быстрая ШИМ
на нижнем ШИМ с фазовой коррекцией

А вот коментарии к этим изображениям с сайта "Сопряжение ПК с внешними устройствами":

Существуют два режима работы таймера в качестве ШИМ-модулятора. Это Fast PWM (быстрая ШИМ) и Phase correct PWM (ШИМ с фазовой коррекцией). Режим работы определяется содержимым битов WGM (Waveform Generation Mode) в регистре TCCR2. В Datasheetе написано, что для ШИМ с фазовой коррекцией нужно установить в единицу WGM20, а для быстрой ШИМ WGM20 и WGM21. Чем же отличаются эти режимы? В быстром режиме меняется состояние "ножки" OC2 в моменты совпадения счетного регистра TCNT2 и регистра сравнения OCR2 (зеленая стрелка), а также в момент сброса таймера (синяя стрелка).При этом серединка импульса (оранжевая) как бы смещается влево, меняется фаза импульса. В режиме фазовой коррекции такого явления не наблюдается. В этом режиме таймер, досчитав до максимума (до 255), начинает счет в другую сторону. В моменты совпадения регистров TCNT2 и OCR2 меняется состояние ножки OC2. При этом серединка импульса никуда не смещается. Этот режим имеет в два раза меньшую частоту, чем быстрый, но изготовитель утверждает, что он лучше подходит для управления электромоторами (скорее всего, шаговыми). Быстрый режим можно использовать в любых других случаях. Все остальные таймеры работают в ШИМ-режиме аналогично, таймер1 позволяет также менять период ШИМ произвольным образом, но, думаю, нам это ни к чему.

Мне не понятно почему при быстрой ШИМ расходятся фазы
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Сообщение Meteor »

В режиме быстрого ШИМа при крайнем значении (0 или 255) будут формироваться короткие выбросы. Этого эффекта нет в режиме ШИМ с фазовой коррекцией. Поэтому это режим рекомендуют для управления двигателями (преимущественно ДПТ). Поясню на примере. Создаем следящий привод. Сигнал ШИМ пропорционален разности требуемого и текущего положений. В идеале при полном совпадении рассогласование равно 0 и управления нет. При быстром ШИМ в этом случае будет импульс или пауза длительностью 1/255 периода, в зависимости от того что активное 1 или 0.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
andrei-ka
Родился
Сообщения: 12
Зарегистрирован: Вт фев 02, 2010 12:17:32
Откуда: Ростов-на-Дону

Сообщение andrei-ka »

Спасибо тебе большое Meteor вкурил полностью.
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Сообщение Meteor »

Не за что. Сам "попался" на нем когда разрабатывал СУ электропривода. Благо не схему а прошивку поменять пришлось, и ту при настройке (никто не почуял подмены)
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
andrei-ka
Родился
Сообщения: 12
Зарегистрирован: Вт фев 02, 2010 12:17:32
Откуда: Ростов-на-Дону

Сообщение andrei-ka »

Cкажите, Meteor, а могу я задать вам еще несколько вопросов на эту тему?
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Сообщение Meteor »

Ну если Вам не страшно, то конечно можете задать еще вопросы. :)))
Пишите в личку
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»