Реферат: Бесколлекторные электродвигатели
_interrupt void mc_hall_c(void);
Данные функции выполняются, если выявлено внешнее прерывание (изменение выхода датчиков Холла). Они позволяют выполнить коммутацию фаз и вычислить скорость.
void mc_duty_cycle(U8 level);
Данная функция устанавливает рабочий цикл ШИМ в соответствии с конфигурацией PSC.
void mc_switch_commutation(U8 position);
Коммутация фаз выполняется в соответствии со значением на выходах датчиков Холла и только в случае, если пользователь запустит двигатель.
- Конфигурация времени преобразования
void mc_config_sampling_period(void);
Инициализация таймера 1 для генерации прерывания каждые 250 мкс.
_interrupt void launch_sampling_period(void);
После активизации 250 мкс-ого прерывания устанавливает флаг. Он может использоваться для управления временем преобразования.
- Оценка скорости
void mc_config_time_estimation_speed(void);
Конфигурация таймера 0 для выполнения функции вычисления скорости.
void mc_estimation_speed(void);
Данная функция вычисляет частоту вращения двигателя на основе принципа измерения периода следования импульсов датчика Холла.
_interrupt void ovfl_timer(void);
При возникновении прерывания выполняется приращение 8-разрядной переменной для реализации 16-разрядного таймера с помощью 8-разрядного таймера.
- Измерение тока
_interrupt void ADC_EOC(void);
Функция ADC_EOC выполняется сразу после завершения преобразования усилителя для установки флага, который может использоваться пользователем.
void mc_init_current_measure(void);
Данная функция инициализирует усилитель 1 для измерения тока.
U8 mc_get_current(void);
Считывание значения тока, если преобразование завершено.
Bool mc_conversion_is_finished(void);
Индицирует завершение преобразования.
void mc_ack_EOC(void);
Сброс флага завершения преобразования.
- Детекция токовой перегрузки
void mc_set_Over_Current(U8 Level);
Устанавливает порог определения токовой перегрузки. В качестве порога выступает выход ЦАП, связанный с внешним компаратором.
Контур стабилизации