Реферат: Бесколлекторные электродвигатели
Программную реализацию можно рассматривать как черный ящик с наименованием "Управление двигателем" (рисунок 12) и несколькими входами (mc_run_stop, mc_direction, mc_cmd_speed, mc_measured_speed) и выходами (все сигналы управления силовым мостом).
Рисунок 12. Основные программные переменные
Большинство функций доступны в mc_drv.h. Только некоторые из них зависят от типа двигателя. Функции можно разделить на четыре основных класса:
- Инициализация аппаратной части
void mc_init_HW(void);
Инициализация аппаратной части полностью выполнена в этой функции. Здесь выполняется инициализация портов, прерываний, таймеров и контроллера силового каскада.
void mc_init_SW(void);
Используется для инициализации программного обеспечения. Разрешает все прерывания.
void mc_init_port(void);
Инициализация порта ввода-вывода путем задания через регистры DDRx, какие выводы функционируют как вход, а какие как выход, а также с указанием, на каких входах необходимо включить подтягивающие резисторы (через регистр PORTx).
void mc_init_pwm(void);
Данная функция запускает ФАПЧ и устанавливает все регистры PSC в исходное состояние.
void mc_init_IT(void);
Модифицируйте данную функцию для разрешения или запрета типов прерываний.
void PSC0_Init ( unsigned int dt0,
unsigned int ot0,
unsigned int dt1,
unsigned int ot1);
void PSC1_Init ( unsigned int dt0,
unsigned int ot0,
unsigned int dt1,
unsigned int ot1);
void PSC2_Init (unsigned int dt0,
unsigned int ot0,
unsigned int dt1,
unsigned int ot1);
PSCx_Init позволяет пользователю выбрать конфигурацию контроллера силового каскада (PSC) микроконтроллера.
- Функции коммутации фаз
U8 mc_get_hall(void);
Считывание состояния датчиков Холла, соответствующее шести ступеням коммутации (HS_001, HS_010, HS_011, HS_100, HS_101, HS_110).
_interrupt void mc_hall_a(void);