реклама на сайте
подробности

 
 
> PIC18F4431. Регулирование бесколлекторного эл. двигателя (BLDC), Motion Feedback, Input Capture, CAPxBUF
d_dr
сообщение Jul 5 2012, 18:44
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 2-07-12
Пользователь №: 72 599



Доброго всем времени суток!

Пытаюсь сделать регулирование частоты вращения бесколлекторного эл. двигателя (BLDC) на "PIC18F4431". Двигатель имеет датчики положения (Холла) для коммутации. В принципе, все как описано в "AN899", тот же "source code" (с минимальными изменениями).
Текущая задача заключается в измерении времени таймером "Timer5" между событиями (изменениями состояний датчиков) в диапазоне до 16-и бит, для последующего вычисления частоты вращения с соответствующим 16-битным разрешением, используя аппаратные возможности uC - "Input Capture" (on state change) модуля "Motion Feedback".
Конкретно моя проблема состоит в том, что по приходу события, из таймера в буфер записывается только нижний байт - "CAPxBUFL", верхний же байт таймера ("Timer5_H") и буфера ("CAPxBUFH") остаются равны нулю. Т.е. при переполнении нижнего байта таймера НЕ происходит переноса в верхний байт. Таким образом значительно сокращается снизу диапазон измерения частоты вращения...
Желаемые 16 бит дает переодическое зачитывание значения верхнего байта таймера в "ручном режиме" по примеру:
Код
        movf    TMR5H, w
        movwf   Timer5_H
        movf    TMR5L, w
        movwf   Timer5_L

но необходимость вводить это зачитывание в процедуру обработки прерываний доставляет неудобства, как "эстетического" так и функционального характера. Да и разобраться охота - модуль "Motion Feedback" ведь для того и нужен, чтобы считать до 16-и бит автоматически!!?
Или я чего-то недопонял???

С уважением!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01522 секунд с 7
ELECTRONIX ©2004-2016