1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/seekfree-TC264_GTM_BLDC_Project

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 21 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 01:12 0f2d409

Основываясь на модуле MCU GTM от Infineon, мы предлагаем решение для управления бесщёточным двигателем.

Введение

Приветствуем всех участников соревнований! Если вы подписаны на наш официальный аккаунт в WeChat, то наверняка помните, что 9 декабря 2021 года мы выпустили открытый проект по управлению бесщёточными двигателями. Мы уверены, что некоторые из вас уже начали использовать его. Если же вы ещё не ознакомились с ним, то можете сделать это через нашу статью «Infineon BLDC Drive Solution — от компании Pursue Technology», опубликованную недавно. Это поможет вам лучше понять проект.

После публикации предыдущего проекта мы узнали, что многие участники хотят объединить основную плату и бесщёточный двигатель, используя микросхему TC264 для управления всеми внешними устройствами. Однако в предыдущем проекте использовался модуль CCU6, который требовал частого управления от процессора для переключения фаз бесщёточного двигателя. Некоторые участники беспокоились, что процессор может не справиться с нагрузкой. Кроме того, компания Infineon также хотела создать новое решение на основе модуля MCU GTM. И вот мы представляем вам новый открытый проект — управление бесщёточным двигателем на основе модуля Infineon MCU GTM!

Рисунок 1: Изображение

Часть 1. Принцип работы бесщёточных двигателей

С момента объявления правил для соревнований в этом году, это уже третий открытый проект, посвящённый управлению бесщёточными двигателями, от нашей команды. Мы надеемся, что большинство участников, которым разрешено использовать бесщёточные двигатели, знакомы с принципом их вращения. Тем не менее, для удобства чтения, позвольте нам кратко объяснить принцип работы бесщёточных двигателей.

1.1. Структура внутреннего устройства бесщёточного двигателя

На рисунке 2 представлена упрощённая схема соединения внутренних проводов бесщёточного двигателя. Можно увидеть три катушки, каждая из которых имеет один конец, соединённый с другим концом другой катушки. В центре находится постоянный магнит с N-S полюсами. Обычно мы называем эту часть двигателя статором. Между тем, часть с катушками называется ротором. Интересно, что определение статора и ротора в бесщёточном двигателе противоположно определению в щёточном двигателе.

Рисунок 2: Упрощённая схема соединения проводов внутри бесщёточного двигателя

1.2. Принцип вращения бесщёточного двигателя

Если подключить любые две из трёх катушек к источнику питания, что произойдёт? Давайте рассмотрим рисунок 3.

Мы подключим положительный полюс источника питания к A, а отрицательный полюс — к B. Так как внутри двигателя есть катушки, подключённые к источнику питания, вокруг них образуется магнитное поле. Это магнитное поле будет воздействовать на постоянный магнит, заставляя его изменить своё положение. Как известно, «одноимённые полюса отталкиваются, разноимённые — притягиваются». Используя этот принцип, можно определить направление перемещения постоянного магнита. Результат будет соответствовать рисунку 3.

Теперь представим, что мы поменяли местами подключение положительного и отрицательного полюсов источника питания. Тогда магнитное поле изменится на противоположное, и постоянный магнит повернётся на 180°. Более подробно об этом можно узнать из предыдущей статьи.

Из рисунка 3 видно, что при подключении двух катушек к источнику питания образуется магнитное поле, которое заставляет постоянный магнит вращаться. Но как определить, в каком направлении он вращается? Для этого можно использовать правило правой руки.

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

А что если поменять местами подключение катушек? Тогда магнитное поле изменит направление на противоположное. Постоянный магнит также повернётся на 180°, и его вращение будет происходить по часовой стрелке.

Всего существует шесть возможных комбинаций подключения катушек к источнику питания. Каждая комбинация соответствует определённому углу поворота постоянного магнита относительно начального положения.

Если рассмотреть эти комбинации последовательно, то можно заметить, что соседние углы отличаются на 60°. Если мы сможем контролировать переключение между этими шестью комбинациями, то сможем заставить постоянный магнит вращаться! Однако для этого необходимо знать текущий угол поворота магнита. Если у вас остались вопросы о принципе работы, рекомендуется обратиться к предыдущей статье.

Рисунок 3: Принцип вращения бесщёточного двигателя при подключении двух катушек

1.3. Определение угла поворота с помощью эффекта Холла

Бесщёточные двигатели бывают с датчиками и без датчиков для определения угла поворота. Независимо от наличия датчика, необходимо найти способ измерения угла.

В данном случае мы используем эффект Холла для определения положения постоянного магнита. Всего устанавливается три датчика Холла, расположенных под углом 120° друг к другу. На рисунке 4 показан сигнал, получаемый с датчиков Холла. Когда положение постоянного магнита меняется, датчики Холла изменяют своё состояние, выдавая высокий или низкий уровень сигнала.

Обратите внимание, что существует шесть различных состояний датчиков Холла, которые соответствуют шести возможным комбинациям подключения катушек. Таким образом, мы можем связать состояния датчиков Холла с углами поворота постоянного магнита и использовать эту информацию для управления двигателем.

Принцип работы системы управления бесщёточным двигателем можно описать следующим образом:

  • Датчики Холла определяют текущий угол поворота постоянного магнита;
  • Процессор определяет следующую комбинацию подключения катушек на основе текущего угла;
  • Сигналы управления передаются на драйвер и MOSFET для переключения катушек;
  • Когда постоянный магнит достигает следующего угла, процесс повторяется.

Для более подробного понимания принципа работы рекомендуется ознакомиться с предыдущей статьёй.

Рисунок 4: Сигнал с датчиков Холла при изменении положения постоянного магнита

Часть 2. Модуль MCU GTM: введение

2.1. Краткое описание модуля MCU GTM

Модуль MCU GTM (Generic Timer Module) переводится как «модуль универсального таймера». Он отличается от обычных таймеров тем, что помимо функций генерации сигналов широтно-импульсной модуляции (PWM), он также предоставляет дополнительные возможности для аппаратного обнаружения и управления.

На рисунке 5 представлена общая блок-схема модуля MCU GTM. Основной компонент — это ARU (Application Runtime Unit), который обрабатывает данные. Он также контролирует работу всего модуля. Слева и снизу от ARU расположены модули TIM, SPE и TOM. Вместе они позволяют процессору выполнять меньше операций, связанных с управлением бесщёточным двигателем.

Рисунок 5: Общая блок-схема модуля MCU GTM

2.2. Анализ логики управления

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

Модуль TIM отвечает за сбор данных с датчиков Холла и обработку сигналов. Затем он передаёт обработанные данные в модуль SPE.

SPE (Sensor Pattern Evaluation) модуль оценивает текущее значение сигнала с датчиков Холла и использует его для выбора соответствующего значения из таблицы. Это значение затем используется для управления модулем TOM, который генерирует сигналы PWM для управления бесщёточным двигателем. Логика работы модуля SPE показана на рисунке 6.

Сигналы с датчиков Холла поступают в модуль TIM, где происходит их обработка. Полученные значения передаются в модуль SPE, где они сравниваются с таблицей соответствия. На основе этого сравнения выбирается значение, которое затем передаётся в модуль TOM для генерации сигналов PWM.

Важно отметить, что модуль SPE также управляет сигналом торможения. При активации сигнала торможения, значения, полученные из таблицы соответствия, заменяются значениями из таблицы FSOI. Эти значения используются для управления модулем TOM и обеспечивают функцию торможения.

Рисунок 6: Логика работы модуля SPE

Модуль TOM генерирует сигналы PWM на основе полученных значений. Эти сигналы управляют работой бесщёточного двигателя, обеспечивая его вращение.

Заключение

Это был краткий обзор нашего нового открытого проекта по управлению бесщёточным двигателем с использованием модуля MCU GTM от Infineon. Мы надеемся, что эта информация будет полезна для участников соревнований. Этот текст представляет собой часть ядра TC264 с периферийной схемой, которая не сильно отличается от предыдущей открытой схемы CCU6. Изменения коснулись только некоторых портов: контроля вывода, ввода Холла и захвата ввода.

Не стоит беспокоиться о том, что новые порты будут конфликтовать с портами материнской платы. GTM-модуль использует только несколько контактов, которые могут конфликтовать с контактами одного кодировщика. В остальном же порты модуля не пересекаются с портами материнской платы, поэтому можно свободно работать над проектом.

Часть 4. Программа выполнения процесса

  • GTM-модуль без щёточного привода с открытым исходным кодом
    • Проект каталога открытого исходного кода для Infineon Intelligent Vehicle BLDC
      • В папке CODE находятся файлы, связанные с безщёточным двигателем, написанные специалистами компании «Погоня». Если требуются другие функции микроконтроллера или одноплатного компьютера, можно написать программу на основе библиотек Infineon Libraries. Seekfree Libraries и Seekfree Peripheral — это прикладные библиотеки нижнего уровня, созданные на основе TC264. Файлы в папке user содержат основную программу и файлы прерываний.
    • Необходимые внешние и внутренние устройства для безщёточного двигателя и код управления
      • Безщёточный двигатель требует использования следующих устройств на микроконтроллере:
        • АЦП: используется для измерения напряжения питания, сбора данных о токе в обмотках и измерения тока в фазах.
        • Таймер GTM: генерирует комплементарные сигналы широтно-импульсной модуляции (ШИМ) для двигателя и обеспечивает защиту от перегрузки по току без вмешательства кода. Когда ток в обмотке превышает заданное значение, таймер автоматически отключается.
        • GPIO: используется для управления светодиодными индикаторами, отображающими различные состояния, и для инициализации информации о направлении и скорости.
        • Кнопки: используются для изменения источника ввода через потенциометры и пользовательские сигналы ШИМ.
        • Входной сигнал ШИМ: используется GTM-модулем для получения информации о периоде и коэффициенте заполнения внешних сигналов ШИМ.
      • Файлы, используемые для управления безщёточным двигателем:
        • bldc_config.h: файл конфигурации двигателя, который позволяет настроить параметры, такие как включение/выключение обратной связи, торможение и максимальная скорость.
        • hall: файл, используемый для определения значений Холла, расчёта времени переключения фаз и вычисления скорости.
        • motor: файл, управляющий коэффициентом заполнения ШИМ для двигателя, вычисляющий скорость и направление и выводящий информацию о скорости и направлении.
        • move_filter: файл, выполняющий скользящее среднее и фильтрацию данных.
        • pid: файл, использующий ПИД-регулирование для контроля скорости двигателя.
    • Основная функция и функция прерывания
      • Основная функция и функция обработки прерываний хранятся в папке USER. Управление безщёточным двигателем осуществляется GTM-модулем, поэтому нет необходимости в коде для управления двигателем. Все функции, связанные с прерываниями, находятся в файле isr.c.
    • Процесс работы GTM-модуля без щёточного привода с открытым исходным кодом
      • Для более ясного понимания рабочего процесса проекта были созданы несколько блок-схем, сопровождаемых текстовыми описаниями. Поскольку основным компонентом является GTM-модуль, программная часть относительно проста.

На этом текст обрывается. Пожалуйста, уточните запрос, если требуется полный перевод.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/seekfree-TC264_GTM_BLDC_Project.git
git@api.gitlife.ru:oschina-mirror/seekfree-TC264_GTM_BLDC_Project.git
oschina-mirror
seekfree-TC264_GTM_BLDC_Project
seekfree-TC264_GTM_BLDC_Project
master