Similar presentations:
Оценка положения и скорости электропривода средствами МК
1.
1Менеджер событий - интеграция
специализированной периферии
для управления двигателями
Каналы захвата процессора событий
Квадратурный декодер для сопряжения с
импульсными датчиками положения
2. Оценка положения и скорости электропривода средствами МК
2Оценка положения
и скорости
электропривода
средствами МК
3. Датчики положения и скорости на элементах Холла. Применение модуля захвата eCAP.
3Датчики положения и скорости на
элементах Холла.
Применение модуля захвата eCAP.
4. Основные области применения расширенного модуля захвата eCAP
Основные области применения4
расширенного модуля захвата eCAP
o Измерение скорости вращения различных машин,
например, с помощью датчиков на основе элементов
Холла;
o Измерение времени между импульсами с датчика
положения с последующим программным расчетом
скорости;
o Измерение периода и скважности сигнала в виде
последовательности импульсов, расчет частоты;
o Декодирование амплитуды тока или напряжения,
полученной с датчика тока/напряжения с выходным
частотным сигналом, скважность которого
пропорциональна измеренному значению.
5. Установка элементов Холла
NS
N
Д3
B<0
N
B>0
Д2
B=0
S
S
Д1
5
6. Сигнал с 3-х датчиков
AB
C
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
t
t
t
θэл
300
240
180
120
60
0
6
t
Код
101
100
110
010
011
001
Угол, эл.град.
0
60
120
180
240
300
7. Сигнал и его обработка с 3-х датчиков
Метка 1Метка 2
Метка 3
t
t
t
t1
t2
7
8. Сигнал и его обработка с 3-х датчиков
8θэл
Декодированный
угол
Интерполированный
угол
t
9. Сигнал и его обработка с 3-х датчиков
9θэл
Декодированный
угол
Интерполированный
угол
t
10. РАСЧЕТ СКОРОСТИ
10tс
t
t
t
tс
* Tном tс * ном
11. РАСЧЕТ СКОРОСТИ
1112. Возможности расширенного модуля захвата
o 32-битовый модуль базового времениo 32-разрядный регистр «временного штампа» внешних
событий – времени захвата;
o Предварительный делитель частоты входного сигнала
захвата;
o Селектор полярности перепада входного сигнала для
захвата последовательности входных событий
o Генерация прерывания;
o Одно-тактный режим захвата до 4-х внешних событий
(захват макрособытия из 4-х событий);
o Непрерывный режим захвата с размещением «временных
штампов» событий в кольцевом буфере глубиной 4 слова;
o Режим захвата абсолютного времени;
o Режим захвата относительного времени – режим захвата
приращения (Delta mode);
12
13. Блок схема eCAP
1314. Блок схема eCAP
1415.
Возможности расширенногомодуля захвата
15
16. Возможности расширенного модуля захвата
16Предварительный делитель событий (Event Prescaler)
Входной сигнал, подлежащий захвату, и
представляющий собой последовательность импульсов
может быть пропущен через предварительный делитель
частоты с коэффициентом деления N= 2-62 (с
умножением на 2). Можно обойти предварительный
делитель частоты (by-pass). При этом будут
обрабатываться все исходные события.
Режим предварительного деления применяется при
очень большой частоте входных сигналов.
17. Возможности расширенного модуля захвата
17Селектор полярности перепада и квалификатор событий
Используются четыре независящих друг от друга
селектора полярности перепада входного сигнала, по
одному для каждого события захвата.
Каждый перепад (вплоть до 4-го) представляет собой
событие, которое квалифицируется задатчиком
последовательности событий (упорядочивателем
событий)
Событие по заданному перепаду стробирует загрузку
«временного штампа» в собственный регистр «времени
захвата события» в соответствии с текущим номером
события, хранящимся в счетчике событий. Регистры
«времени событий» CAPx загружаются по заднему
фронту.
18. Возможности расширенного модуля захвата
Событие 118
Событие 2
t
t
19. Возможности расширенного модуля захвата
19Режим одно-кратного и непрерывного захвата событий
Счетчик событий является 2-битовым и
инкрементируется по перепаду каждого
детектированного входного события.
Счетчик событий считает непрерывно и продолжает
считать без остановки после переполнения (0->1->2->3>0). При этом реализуется режим непрерывного
захвата последних четырех событий.
Для выполнения однократной операции захвата
используется 2-битовый регистр останова (stop register).
Текущее содержимое считчика числа захваченных
событий сравнивается с содержимым стопового
регистра и при совпадении (захвате нужного числа
событий) перезагрузка регистров времени захвата
CAP1-CAP4 блокируется до момента считывания
содержимого этих регистров центральным
процессором и инициирования нового цикла захвата.
20. Возможности расширенного модуля захвата
2032-разрядный счетчик и управление фазой
Этот счетчик обеспечивает временную базу для модуля
захвата событий и тактируется системной тактовой
частотой процессора.
Опционально 32-разрядный счетчик временной базы
может сбрасываться по любому из четырех захваченных
событий. Эта опция используется в режиме захвата
относительного времени (time defference – приращения
времени). Вначале выполняется захват времени события
(текущего состояния 32-разрядного счетчика временной
базы), а затем обнуление счетчика.
21. Возможности расширенного модуля захвата
21Регистры «временных штампов» CAP1-CAP4
32-разрядные регистры «временных штампов»
захваченных внешних событий CAP1-CAP4 подключены к
32-разрядной шине текущего состояния счетчика
временной базы.
Загрузка регистров времени захвата может быть
заблокирована путем очистки бита разрешения
загрузки.
При выполнении операций однократного захвата (oneshot) этот бит автоматически очищается, когда
выполняется условие стопорения модуля захвата, т.е.
тогда, когда заданное число внешних событий
захвачено.
22. Возможности расширенного модуля захвата
22Управление прерываниями
Прерывания могут генерироваться по:
любому из захваченных внешних событий
по переполнению базового таймера CTROVF
Все события захвата упорядочиваются по фронту
входного сигнала (с помощью селектора полярности) и
по порядку их поступления.
Любое из четырех событий захвата может быть
селектировано в качестве источника запроса
прерывания от модуля eCAPx, который затем
обрабатывается в модуле расширения периферийных
прерываний PIE.
23. Квадратурные (оптические) датчики положения и скорости. Применение модуля обработки квадратурного сигнала eQEP.
23Квадратурные
(оптические) датчики
положения и скорости.
Применение модуля
обработки квадратурного
сигнала eQEP.
24. Сигналы с датчика
2425. Сигналы с датчика
2526. Сигналы с датчика
2627. Индексный (реперный) сигнал
27Квадратурные энкодеры различных производителей могут иметь разную форму
(реперного) индексного сигнала, как показано на рисунке. Индексный импульс может
быть «ведомым» одним или обоими квадратурными сигналами или «неведомым» (как
бы автономным). Последний вариант не стандартизуется.
28. Функциональная схема eQEP
2829. Детектирование направления движения
2930. Режим «квадратурного» счета
30A
t
B
t
QDIR
t
QCLK
t
QPOSCNT
t
31. Другие режимы счёта
31Режим «направленного» счета
Этот режим используется тогда, когда сам датчик положения содержит в себе электронику для
выделения счетных импульсов и сигнала направления движения, т.е. собственно «квадратурный»
декодер. При этом вход QEPA используется для ввода внешних счетных импульсов (XCLK), а вход
QEPB – для ввода внешнего сигнала направления счета (XDIR). Счетчик положения инкрементируется
по каждому положительному фронту счетного импульса на входе QEPA, если сигнал направления
движения (QEPB) высокого уровня, в противном случае, - декрементируется.
Режим суммирующего счетчика
Сигнал направления счета принудительно устанавливается в состояние, соответствующее режиму
суммирования. Счетчик положения тактируется импульсами, поступающими на вход QEPA
микроконтроллера. Этот режим работы может использоваться для измерения положения с помощью
одноканальных датчиков положения и частоты импульсов по входу QEPA.
Если установить бит QDECCTL[XCR], то будет разрешен режим генерации счетных импульсов по
обоим фронтам входного сигнала QEPA. При этом разрешение по положению можно увеличить в два
раза – 2-х кратная интерполяция применительно к одноканальным датчикам положения.
Режим вычитающего счетчика
В этом режиме работы сигнал направления счета принудительно устанавливается в состояние,
соответствующее режиму вычитания. Одно из назначений - измерение частоты импульсов по входу
QEPA. Так же, как и в режиме суммирующего счетчика, установка бита QDECCTL[XCR] разрешает
режим генерации счетных импульсов по обоим фронтам входного сигнала QEPA для получения 2-х
кратного разрешение по положению.
32. Режимы работы счётчик положения
Сброс счетчика положения по индексному (реперному)событию (Index Event). Применяется для измерения
относительного положения.
Сброс счетчика положения при достижении максимальной
позиции (Maximum Position). Применяется для измерения
абсолютного положения.
Сброс счетчика положения по первому индексному
событию (First Index Event). Применяется в позиционных
системах с процедурой причаливания к «реперу».
Сброс счетчика положения по выходному событию в
модуле временной базы (Unit Time Out Event). Этот режим
чаще всего применяется для измерения частоты входных
импульсов.
32
33.
Сброс счетчика положения поиндексному (реперному) событию
33
34.
Операции сброса и установки счетчика положения приположительных и отрицательных переполнениях при
QPOSMAX=4
34
35. Расчёт скорости и положения
На аппаратном уровне поддерживаются два алгоритма оценкискорости:
a. Для низких скоростей: автоматическое измерение временного
интервала отработки заданного путевого приращения – «кванта
перемещения» в количестве квадратурных импульсов.
Возможность программного поддержания максимальной
точности измерения за счет увеличения «кванта перемещения»
по мере роста скорости (1, 2, 4, 8, …2048).
b. Для высоких скоростей: автоматическое измерение путевого
приращения за заданный «квант времени» (тайм-аут).
Возможность автоматического поддержания максимальной
точности измерения за счет регулирования величины тайм-аута.
35
36. Технология расчета скорости
Диапазон измерения скоростиВысокие скорости
Низкие скорости
Параметр
T – «квант» времени
36
Как задается или
рассчитывается
Задается в регистре периода субмодуля генерации «тайм-аута»
X – приращение положения за
время тайм-аута
Рассчитываетя как приращение
состояния регистра-защелки
положения
X – «квант перемещения»
Определяется разрешением
датчика положения и заданным
числом «квадратурных
импульсов» в регистре
управления модулем захвата
T – приращение времени за
«квант перемещения»
Защелкивается в регистре
периода захвата автоматически и
считывается из него процессором
37.
Расчет скорости на основе измерения периодаимпульсов инкрементального датчика
37
n скорость в об/мин
60 c
n
T N
c const заданое приращение угла в импульсах
T измеренное время
N разрешение энкодера
38.
Недостатки метода расчета скорости на основеизмерения периода импульсов
QDIR
t
QCLK
t
Пусть c 4 const ,
тогда относительная и
абсолютная ошибки
равны:
t
T
60 4
измеренное время уменьшаяется с ростом скорости n
n N
n
1
f ЦПУ T
n p n p n
n N
относительная ошибка, где h - время квантования
f ЦПУ 60 4
1
f ЦПУ
n2 N
n
абсолютная ошибка,
T
f ЦПУ 60 4
увеличивающаяся пропорционально квадрату скорости
38
39.
Расчет скорости на основе измерения частотыимпульсов инкрементального датчика
n скорость в об/мин
60 c
n
T N
c измеренное приращение угла в импульсах
T const заданое время измерения
N разрешение энкодера
39
40.
Недостатки метода расчета скорости на основеизмерения частоты импульсов
QDIR
t
QCLK
t
c 6
c 7
t
QPOSCNT
Ts
c
Пусть Т const ,
тогда относительная и
абсолютная ошибки
равны:
Ts
Т n N
измеренное число импульсов
60
60
относительная ошибка растет
T n N
с уменьшением скорости и времени измерения
n
n p n p n
40
60 1
абсолютная ошибка зависит только от времени измерения
Ts N
41.
Комбинированный метод измерения скоростиОптимальная скорость переключения – при которой относительные
ошибки предыдущих методов равны:
41
60
h n N
2 60
nopt
T n N
60 4
N h T
До этой скорости используется метод расчета скорости на основе измерения
частоты, после этой точки – метод расчета на основе измерения периода.
Относительная ошибка
измерения данного метода:
nopt
h nopt N
60
Tnopt N
60 4
h
4T
42.
Синхронизированный метод постоянноговремени измерения
t AF k
t AR k 1
Speed loop execution
t AF k 1
t AR k
Speed loop execution
Microcontroller
QEPA
QEPB
CaptureA
CaptureB
A
B
tBF k
tBR k
tBF k 1
tBR k 1
B
c k
c k 1
Ts
С помощью энкодера QEP и модуля
захвата CAP получаем следующие данные:
- Текущее положение в импульсах
энкодера;
- Направление вращения;
- Времена передних и задних фронтов
каналов А и В энкодера из
предыдущего вызова функции расчета;
- Времена передних и задних фронтов
каналов А и В энкодера текущего
вызова функции.
Тогда для случая, когда количество
импульсов, прошедших
между двумя
вызовами
функции,
кратно
4,
используются
следующие
формулы
расчета:
A
c
42
t
c c k c k 1 ,
Ts t AR k t AR k 1 ,
c f ЦПУ 60
.
Ts
N
43.
cВызов Рег. Скор.
c k
c k 1
Ts
43
В случае, когда количество импульсов,
прошедших
между двумя вызовами
функции, не кратно 4, к с прибавляются
значения до кратной величины, а время
рассчитывается как разница между
временами предыдущего и текущего
значения ближайшего к вызову функции
фронта.
t AR k
Speed loop execution
t AF k
tBF k
tBF k 1
B
tBR k
A
Рег. Скор.
1
tBR k Вызов
Speed loop execution
t AR k 1
t AF k 1
Синхронизированный метод постоянного
времени измерения
t
c c k c k 1 1,
Ts t AR k t AR k 1 ,
c f ЦПУ 60
.
Ts
N
44.
cc k
c k 1
Ts
c 2
44
Если
количество
импульсов,
прошедших между двумя вызовами
функции,
меньше
4,
время
рассчитывается как разница между
временами фронтов ближайшим к
текущему и предыдущему вызовам
функции.
Вызов Рег. Скор.
t AR k
Speed loop execution
t AF k t AF k 1
Speed loop execution
tBF k
tBF k 1
B
Вызов Рег. Скор.
A
tBR k 1
tBR k
t AR k 1
Синхронизированный метод постоянного
времени измерения
t
c c k c k 1 ,
Ts t AR k t AF k 1 ,
c f ЦПУ 60
.
Ts
N
45.
Синхронизированный метод постоянноговремени измерения
45
СОСТОЯНИЯ
c[k] –
c[k–1]
>3
=3
=2
=1
=0
КАНАЛОВ
ТЕК. ПРЕД.
AB AB
КОЛИЧЕСТВО
ИМПУЛЬСОВ
Время Ts
10
10
c[k] – c[k–1]
tAR[k] – tAR[k–1]
10
11
c[k] – c[k–1] + 1
tAR[k] – tAR[k–1]
10
01
c[k] – c[k–1] + 2
tAR[k] – tAR[k–1]
10
00
c[k] – c[k–1] + 3
tAR[k] – tAR[k–1]
11
10
c[k] – c[k–1] + 3
tBR[k] – tBR[k–1]
11
11
c[k] – c[k–1]
tBR[k] – tBR[k–1]
11
01
c[k] – c[k–1] + 1
tBR[k] – tBR[k–1]
11
00
c[k] – c[k–1] + 2
tBR[k] – tBR[k–1]
01
10
c[k] – c[k–1] + 2
tAF[k] – tAF[k–1]
01
11
c[k] – c[k–1] + 3
tAF[k] – tAF[k–1]
01
01
c[k] – c[k–1]
tAF[k] – tAF[k–1]
01
00
c[k] – c[k–1] + 1
tAF[k] – tAF[k–1]
00
10
c[k] – c[k–1] + 1
tBF[k] – tBF[k–1]
00
11
c[k] – c[k–1] + 2
tBF[k] – tBF[k–1]
00
01
c[k] – c[k–1] + 3
tBF[k] – tBF[k–1]
00
00
c[k] – c[k–1]
tBF[k] – tBF[k–1]
10
11
3
tAR[k] – tBR[k–1]
11
01
3
tBR[k] – tAF[k–1]
01
00
3
tAF[k] – tBF[k–1]
00
10
3
tBF[k] – tAR[k–1]
10
01
2
tAR[k] – tAF[k–1]
11
00
2
tBR[k] – tBF[k–1]
01
10
2
tAF[k] – tAR[k–1]
00
11
2
tBF[k] – tBR[k–1]
10
00
1
tAR[k] – tBF[k–1]
11
10
1
tBR[k] – tAR[k–1]
01
11
1
tAF[k] – tBR[k–1]
00
01
1
tBF[k] – tAF[k–1]
xx
xx
0
∞
В таблице представлен алгоритм расчета
импульсов и времени для положительного
направления вращения ротора.