www.siplace.ru

Оборудование для SMD линии

dialsmt.ru

SMT оборудование.
Сделано в России

www.compensation.ru

Оборудование для компенсации реактивной мощности и щитовое оборудование

www.contaclip.ru

Электротехническая продукция. Измерительные приборы

www.dialelectrolux.ru

Электронные компоненты

бесплатный номер для регионов

+7 (495) 995-20-20

сделать заказ, задать вопрос

sales@dialcomponent.ru

отправить письмо

Новости

Новый компактный датчик присутствия компании Vishay

Подробнее

KEMET представляет высокотемпературные конденсаторы KPS-MCC C0G

Подробнее

Календарь событий

Март 2014

Статьи

STM32 – микроконтроллер оптимизированный для управления бесколлекторным двигателем.

Автор: Vincent Onde, STMicroelectronics

Перевод: Пономарев В.

источник: EPN Online 

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

STM32

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

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

С другой стороны эти двигатели требуют более сложных схем управления, нежели простые триаки и чопперные драйверы. Для удовлетворения потребностей этого рынка, STMicroelectronics представила линейку 32-битных микроконтроллеров STM32.

Они обладают множеством функций, которые отлично подходят для систем управления вентильными двигателям. Недороги и представлены в широком ассортименте корпусов и объемов встроенной Flash памяти. Далее рассмотрим некоторые ключевые свойства и продемонстрируем как они помогут достичь лучшего управления двигателем или сократить количество элементов такой системы.Обычные задачи управления, измерения и обработки информации используют в микроконтроллере АЦП, ЦПУ и ШИМ генератор.

АЦП с улучшенными параметрами.

АЦП является ключевым элементом системы, даже самый быстрый алгоритм с трудом может компенсировать недостаточную точность аналоговых измерений, таким образом, быстрый и качественный АЦП увеличивает общую производительность. В STM32 встроен 12-битный АЦП с 1миллионом выборок в секунду, скоростью преобразования 1мксек. Помимо аналоговой части цифровой интерфейс АЦП также тоже немаловажен. Три главных задачи: Управление и передача данных вне ЦПУ, и интерфейс с остальной частью микросхемы (прерывания и запросы DMA, триггерные входы) а также синхронизация двух преобразователей АЦП - всё это объединено в семействе STM32.

Среди свойств отвечающим высоким требованиям по управлению двигателем – последовательный считыватель каналов. По сравнению с классической схемой сканирования, где заданное количество каналов преобразовывается последовательно, следуя нумерации аналоговых входов, STM32 может преобразовывать данные с каналов в любой последовательности из 16 преобразований, (как например ch3, ch3, ch0, ch11). Это дает дополнительную свободу при разработке печатной платы, позволяя делать несколько выборок с одного канала в одной последовательности например для усреднения с прерыванием генерируемым после конвертирования целой последовательности.

Второй встроенный sequencer-синтезатор.

При измерении тока в текущей фазе двигателя, приходится иметь дело с шумом, создаваемым переходными напряжениями на силовых ключах, которые переключаются со скоростью обычно несколько сотен вольт в микросекунду в автономных приложениях. Решением является синхронизация АЦП с таймером, который управляет силовой частью: Аналого-цифровое преобразование с помощью дополнительного канала сравнения может осуществляться с небольшим опережением или задержкой относительно события. По этой причине предусмотрен второй синтезатор - инжектированный. Он имеет более высокий приоритет, чем обычный синтезатор, а также может прервать текущее преобразование новым, которое нельзя отложить. Обычный синтезатор предназначается для вспомогательных преобразований, таких как текущая температура или других медленно изменяющихся величин, как фоновых задач и послать их в RAM память с помощью DMA. А инжектированный синтезатор обрабатывает критичные по времени преобразования, например по прерыванию, и сохраняет их в ADC регистрах.

Программируемое время выборки.

В STM32 предусмотрено программируемое время выборки АЦП. Большую часть времени тактовый генератор всего микроконтроллера должен быть замедлен пока происходит измерение. Таким образом, увеличивается общее время выборки и преобразования, для всех каналов. В STM32, время выборки может быть задано отдельно для каждого канала, но при этом время преобразования остаётся минимальным. В системах управления двигателями фазовый ток должен измеряться максимально быстро насколько это возможно. Для АЦП STM32 это время составляет до 107нсек. Во время измерения напряжения на шине, которое обычно является резистивным делителем со средним импедансом, требует несколько микросекунд для установления напряжения на конденсаторе выборки и сравнения. Интерфейс АЦП динамично подстраивает время сравнения от одного сравнения к другому стремясь достичь лучших параметров измерения за минимальное время и без дополнительных программных затрат.

STM32

Два независимых АЦП.

В микроконтроллеры линейки STM32 встроено два независимых АЦП, которые могут быть синхронизованы для выполнения одновременных преобразований. Алгоритмы управления с ориентацией по полю требуют измерения тока в трех фазах: на практике нужно измерить значения в двух фазах, третье вычислить, отталкиваясь от того факта, что суммарный ток должен быть равен нулю. Это соотношение выполняется тогда и только тогда, когда значения тока в двух фазах измеряются одновременно. Это позволяет быть уверенным, что никаких неточностей в измерениях, которые могут быть похожи на поведение разбалансированной трехфазной системы, не будет.

Оптимизированная периферия.

В усовершенствованном таймере управления STM32 включена генерация ШИМ-сигнала для управления трехфазным двигателем. Среди функций таймера также 16 битный счётчик с возможностью авто перезагрузки и тактовой частотой до 72МГц, инкрементный и декрементный режим, что позволяет снизить потерь при переключении без акустического шума, шесть выходов с программируемой полярностью, встроенная установка временной задержки, вход аварийного выключения для однородного интерфейса с силовой частью.

На ШИМ генераторе имеется четвёртый канал, обычно выделенный для триггера АЦП: пред- и пост задержка может использоваться для точного позиционирования временных выборок относительно фронтов ШИМ-генератора, когда четвертый канал используется вместе с DMA-контроллером.

Безопасность системы обеспечивается с помощью блокируемых регистров, которые не могут быть изменены даже при сбое программного обеспечения или при отказе тактовой схемы. Вход аварийной остановки использует комбинаторную логику, чтобы работать независимо от главной тактовой схемы. А CSS (Clock Security System система безопасности тактирования) может обнаружить сбой часов, и переключит ядро с главной тактовой схемы на встроенный осциллятор и отключит выходы ШИМ таймера, управляющие силовой частью схемы.

Повышенная плотность кода программ.

Благодаря новейшему 32-разрядному RISC ядру Cortex-M3 от фирмы ARM, построенному на гарвардской архитектуре, STM32 использует набор инструкций THUMB2. Этот набор поддерживает как 16-ти так и 32-ти битные инструкции, что значительно улучшает плотность кода по сравнению с полностью 32- битным кодом ARM на предыдущем ядре ARM7, а также обладает дополнительными инструкциями умножения и деления.