Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
330 / ОтКомпанииTI / Перевод_8010.doc
Скачиваний:
14
Добавлен:
21.03.2016
Размер:
204.29 Кб
Скачать

4.4 Поколение формы волны вывода

Две процедуры обработки прерывания сотрудничают, чтобы произвести вывод волны синуса.

Обновления Timer1CaptureISR PWM сравнивают значения однажды каждый цикл PWM. HallChangeISR синхронизирует волну синуса к текущей позиции ротора и вычисляет приращение индекса таблицы синуса. Иллюстрация 5-2 показывает взаимодействию между этими двумя хранениями и поисками информации. Государство маркировало eAny statei, символизирует это, это не относится к делу, в каком государстве двигатель был или идет в.

Иллюстрация 4-1. Конечный автомат поколения волны синуса.

Любое государство.

Остановите запуск волны синуса. Режим волны синуса требуют.

Штырек датчика зала изменяет прерывание.

Ждите прерывания.

Выровняйте вывод волны синуса к вводу датчика зала.

Амплитуда масштаба и обновление PWM выводят согласно таблице синуса. Прерывание Случая Кадра Timer/counter1.

Вычислите новое приращение индекса таблицы синуса

4.5 Руководство и управление синхронизации

4.5.1 Связанные флажки

Два определения необходимы, чтобы объяснить управление синхронизации и руководство:

Синхронизированный означает, что конкретное количество последующих вводов датчика зала соответствует шаблону, ожидаемому, вращаясь в руководстве, которым командуют

штырек ввода руководства. Это используется, чтобы гарантировать, что запуск волны синуса применен с правильной частотой, фазой и руководством.

Остановленный означает, что не было изменения ни в одном из вводов датчика зала для конкретного количества импульсов сигнала времени.

Два флажка, которые являются частью глобальной переменной fastFlags переменная, указывают, синхронизируется ли двигатель в настоящее время и/или останавливается. Этими флажками автоматически управляют процедуры обработки прерывания в определенных событиях. Следующие функции/хранения и поиски информации изменяют эти флажки:

CommutationTicksUpdate:

• motorStopped = ИСТИНА, если предопределенное число eticksi прошло начиная с последнего изменения датчика зала.

• motorSynchronized = ЛОЖЬ, если флажок motorStopped был только что установлен в

ИСТИНА.

Эту функцию называет Timer1CaptureISR.

MotorSynchronizedUpdate:

• motorSynchronized = ИСТИНА, если синхронизированные критерии встречен.

• motorSynchronized = ЛОЖЬ, если синхронизированные критерии не встречен.

Эту функцию называет HallChangeISR

HallChangeISR:

• motorStopped = ЛОЖЬ (двигатель не может быть остановлен, если датчики зала изменяют значение),

DirectionInputChangeISR:

• motorSynchronized = ЛОЖЬ

• motorStopped = ЛОЖЬ

4.5.2 Руководство и логика синхронизации

Есть несколько ситуаций, где моторное встроенное программное обеспечение управления должно синхронизировать на двигатель прежде, чем любая форма волны будет применена:

•, Когда двигатель начат с бездействия, это - первый commutated, использующий блочную коммутацию. Блочная коммутация используется, пока синхронизация не получена. Это гарантирует, что волны синуса с правильной частотой и фазой сгенерированы, когда двигатель переключается на запуск волны синуса.

•, Когда микроконтроллер начат и двигатель уже работает, встроенное программное обеспечение не будет применять формы волны запуска, пока это не будет синхронизировано на двигатель, или ротор прекратил поворачиваться.

•, Когда изменение руководства требуют, запуск будет заблокирован или торможение инициализированного, пока двигатель не будет остановлен. Если другое изменение руководства требуют, двигатель может быть в состоянии синхронизировать снова. В этом случае, это возобновляет синусоидальный запуск в правильной частоте, не ожидая двигателя, чтобы остановиться. Полное управление руководства и синхронизации иллюстрировано в иллюстрации 4-2. Двигатель остановил средства, что флажок motorStopped - ИСТИНА. Двигатель синхронизировал средства, что флажок motorSynchronized - ИСТИНА. Изменение руководства просило средства, что DirectionInputChangeISR был выполнен.

Иллюстрация 4-2. Руководство и синхронизация управляют конечным автоматом.

Начало.

Двигатель остановился.

Блочная коммутация.

Ждите остановки или синхронизации.

Запрос изменения руководства.

Двигатель синхронизирован.

Запуск волны синуса.

Соседние файлы в папке ОтКомпанииTI