Готовые решения на основе микроконтроллеров STM32
Одним из самых эффективных способов сократить до минимума сроки проектирования является применение готовых решений. В качестве них могут выступать не только модули, опорные разработки или наборы, но даже интегральные схемы, если в их архитектуре учтены требования конкретных применений и производитель оказывает всестороннюю техническую поддержку, направленную на популяризацию его продукции в этих применениях. В случае семейства микроконтроллеров STM32 их производитель, STMicroelectronics, сделал ставку на такие применения:
- устройства управления электродвигателями;
- эргономичные устройства личного пользования;
- управляющая электроника для бытового электрооборудования, отвечающего стандарту IEC60335.
Микроконтроллеры STM32 в устройствах управления электродвигателями
Ввиду высокой популярности таких типов электродвигателей, как синхронный двигатель на постоянных магнитах (СДПМ) и асинхронный двигатель (АД), создатели МК STM32 позаботились о максимальном соответствии их архитектуры требованиям современных систем управления данными двигателями. Собственно популярность этих двигателей обусловлена их конструкцией - в ней отсутствует щеточный узел, а, следовательно, их работа, при условии выполнения электронной системой управления всех необходимых защитных функций, будет практически безотказной.
К числу особенностей микроконтроллеров STM32, которые важны для реализации систем управления электродвигателем, относятся:
- высокоэффективная архитектура ЦПУ, которая позволяет за небольшое время выполнять сложные алгоритмы управления (например, для выполнения алгоритма векторного управления 3-фазным СДПМ с косвенной оценкой положения ротора требуется до 24 мкс);
- многофункциональный таймер для генерации ШИМ-сигналов;
- шесть выходов;
- генерация паузы неперекрытия (исключает протекание кратковременного сквозного тока в двухтактном силовом каскаде);
- генерация прямоугольных импульсов с выравниванием по фронту или по центру;
- возможность совместной работы с АЦП;
- 12-битный АЦП с двумя УВХ для одновременной выборки и запоминания двух аналоговых сигналов и их последующей поочередной оцифровки (время преобразования 1 мкс);
- таймеры для обработки сигналов датчиков скорости/положения;
- совместимость архитектуры МК с требованиями стандарта EN/IEC60335-1 (более детально об этом пойдет речь в последней части статьи).
Функциональная схема устройства векторного управления трехфазным СДПМ/АД на основе МК STM32 показана на рисунке 1 [1].
Рис. 1. Функциональная схема устройства векторного управления электродвигателем на основе МК STM32
На ней зеленым цветом выделены аппаратные блоки МК STM32, а оранжевым - программные блоки, реализующие алгоритмы векторного управления. Однако производитель и здесь позаботился об облегчении жизни разработчика и предлагает бесплатные библиотеки векторного управления СДПМ/АД, причем с поддержкой различных способов определения положения ротора: без датчиков (по обратной ЭДС), с помощью датчиков Холла или энкодера. Данная функция имеет отношение только к СДПМ. В случае АД оценивается только частота вращения с помощью тахометра. Также поддерживаются различные способы контроля тока: шунтовой или с помощью изолированных датчиков. Оценить возможности этой библиотеки программ можно в составе специального оценочного набора STM3210B-MCKIT. В состоянии поставки данный набор полностью готов к совместной работе с электродвигателем (входит в комплект): для этого достаточно подать напряжение питания. Кроме того, некоторые платы набора можно использовать как готовую платформу для управления различными типами СДПМ/АД. Необходимые перенастройки можно сделать через специально предусмотренный графический пользовательский интерфейс на основе ЖКИ или путем внесения изменений во входящие в комплект исходные коды. В документации на STM3210B-MCKIT также можно найти готовые схемные решения и рекомендации по выбору параметров узлов сопряжения микроконтроллера с внешними сигналами.
Таким образом, микроконтроллеры STM32 с учетом доступности бесплатной библиотеки векторного управления СДПМ/АД можно считать завершенной платформой для реализации высококачественных и высоконадежных регулируемых электроприводов для различных применений. К ним можно отнести бытовые (стиральные машины, посудомоечные машины, холодильники, кондиционеры и др.) и промышленные (электромобили, приводы малой и средней мощности, офисная автоматика, вентиляторы, исполнительные механизмы HVAC-систем, насосы, компрессоры, торговое оборудование, банкоматы и др.) применения.
STM32 Primer - готовая платформа для создания эргономичных устройств личного пользования
В любительской и профессиональной практике часто возникает желание создать некое «умное» и полезное устройство, в основу которого положено собственная идея или даже «ноу-хау» автора. Но вот если на создание рабочего макета такого устройства автору возможно хватит сил, то с реализацией завершенного устройства, которое отличает оригинальный дизайн, могут возникнуть сложности. Преодолеть данные трудности поможет STM32 Primer [2]. И хотя он формально носит название оценочного средства, его можно прекрасно использовать как завершенную и эргономичную платформу для создания собственных устройств личного пользования. Множество тому подтверждений можно найти на вэб-портале сообщества пользователей STM32 Primer (www.stm32circle.com), где выложены описания различных вариантов использования STM32 Primer, в т.ч. в качестве игровой консоли, измерительного прибора, часов и даже электрокардиографа.
Внешний вид STM32 Primer с указанием составляющих его основу компонентов показан на рисунке 2.
Рис. 2. Внешний вид STM32 Primer
Он выполнен в эргономичном пластиковом корпусе кольцевой формы с разборной конструкцией. На лицевой стороне установлены цветной графический дисплей (в центре) и кнопка, которая может использоваться для включения/отключения, а также для активизации команд меню графического пользовательского интерфейса (ГПИ). Кроме того, на лицевой стороне сквозь полупрозрачный пластик видны два светодиодных индикатора красного и зеленого цветов свечения. На тыльной стороне имеются два разъема USB-портов (отладочный и рабочий) и, кроме того, под пластиковой крышкой находятся звуковой излучатель, два NiMH-аккумулятора (номинальное напряжение 2,4 В), посадочные места для монтажа IrDA-трансивера и контактные ламели, связанные с неиспользуемыми выводами МК.
Основой STM32 Primer является МК из семейства STM32: STM32F103B6. Он выполнен на основе нового 32-битного ядра ARM Cortex-M3 и характеризуется следующими возможностями:
- Производительность ЦПУ 90 DMIPS на тактовой частоте 72 МГц (1,25 DMIPS/МГц);
- 128 кБ флэш-памяти, 20 кбайт статического ОЗУ;
- Отладочные интерфейсы SWD и JTAG;
- Быстродействующий ввод-вывод (до 80 линий ввода-вывода), АЦП, ЦАП;
- Встроенные коммуникационные интерфейсы: USB 2.0, CAN, USART, SPI, I2C, LIN;
- Несколько таймеров, сторожевые таймеры, генерация ШИМ-сигналов, системный таймер.
Для отображения информации у STM32 Primer предусмотрен цветной графический дисплей, выполненный на основе ЖК-модуля PZG15BW-SCLW-1 (Palm Technology) с разрешающей способностью 128х128 точек и возможностью отображения 64 тыс. цветов, а также на основе контроллера ST7637 (Sitronix).
Однако «изюминкой» STM32 Primer все же является не цветной дисплей, а трехкоординатный датчик ускорения LIS3LV02D (STMicroelectronics). С его помощью можно организовать оригинальный ГПИ, в котором графический курсор будет управляться наклонами STM32 Primer в ту или иную сторону. Именно таким способом мы управляем положением шарика в детских игрушках-лабиринтах. К слову, именно эта игра и демонстрируется в состоянии поставки STM32 Primer (см. рисунок 2).
Система электропитания. В состоянии поставки STM32 Primer настроен на питание от любого из USB-портов. Чтобы включить в работу встроенные аккумуляторы, необходимо снять крышку и установить перемычку JP1. С этого момента после подключения USB-портов будет также осуществляться заряд аккумуляторов. Для полного перезаряда аккумуляторов необходимо около 16 часов, а длительность работы от полностью зараженных аккумуляторов составит около 2 часов. Продлить это время можно снижением активности использования STM32 Primer или снижением яркости подсветки ЖКИ.
Операционная система CircleOS. Еще одним преимуществом STM32 Primer является то, что он выполнен на основе собственной мини-операционной системы CircleOS. Ее использование существенно ускорит создание собственных приложений, так как CircleOS поддерживает множество функций, в том числе графические функции, функции управления звуковым излучателем и светодиодами, функции считывания состояния кнопки и обработки данных датчика ускорения, функции меню пользователя и др. Кроме того, CircleOS имеет возможность загрузки нескольких независимых приложений. После запуска любого из этих приложений ему выделяется весь незанятый ОС объем оперативной памяти (16 кбайт).
Таким образом, STM32 Primer можно рассматривать как завершенную аппаратно-программную платформу для создания эргономичных приборов личного пользования с возможностями организации пользовательского меню, навигации по нему и дополнения новыми приложениями. Для этого у STM32 Primer предусмотрена аппаратная возможность подключения внешней платы расширения через специальные контактные ламели, а также программная возможность (поддерживается CircleOS) загрузки и запуска программных приложений пользователя.
Микроконтроллеры STM32 для реализации устройств, соответствующих классу В по стандарту IEC60335
С октября 2007 года вступило в силу новое четвертое издание стандарта IEC60335, в котором изложены более жесткие требования к электронным блокам управления, использующим программное обеспечение (ПО). Классификация ПО и требования к нему приведены в другом международном стандарте IEC 60730-1. На территории РФ действует аналогичный стандарт ГОСТР Р МЭК 60730-1, являющийся полной аутентичной версией международного. В приложении Н «Требования к электронным управляющим устройствам» ПО разделяется на три класса: А, В и С.
Если ПО не влияет на безопасность применения оборудования, то его относят к классу А (примеры: регуляторы освещения, таймеры, реле времени, комнатные термостаты). Если же ПО отвечает за безопасность работы управляемого оборудования, то его относят к классу В (примеры: температурная защита оборудования, блокировка двери стиральной машины). Наконец, к классу С относят ПО, отвечающее за безопасность в особых случаях (примеры: устройства электронного управления газовыми горелками, термовыключатели невентилируемых систем нагрева).
В устройствах с ПО классов В и С должны быть реализованы аппаратные или программные методы тестирования внутренних ресурсов микроконтроллера, в т.ч.:
- Регистры ЦПУ;
- Счетчик программ ЦПУ;
- Обработка и выполнение прерываний;
- Синхронизация;
- Все типы запоминающих устройств;
- Адресация (внутренняя и внешняя);
- Внутренние маршруты передачи данных;
- Связь с внешними устройствами;
- Таймеры;
- Устройства ввода-вывода;
- АЦП и ЦАП;
- Аналоговые мультиплексоры.
Использование микроконтроллеров STM32 существенно облегчит сертификацию оборудования класса В на соответствие указанным стандартам, т.к. многие их положения учтены на уровне архитектуры [3]. Кроме того, компания ST по запросу на бесплатной основе также предлагает библиотеку подпрограмм самотестирования внутренних ресурсов МК STM32, таких как ОЗУ, флэш-память, внешняя синхронизация и ЦПУ. Более того, данная библиотека прошла процедуру сертификации в немецком институте электротехники, электроники и информатики (VDE). Таким образом, использование этой библиотеки не только упростит разработку продукции, но и ускорит ее сертификацию.
Особенности архитектуры микроконтроллеров STM32 в части соответствия стандарту МЭК 60335 отражены на рисунке 3 (pdf Class B, стр. 1). Здесь представлена система синхронизации и система контроля очередности выполнения программы на основе двух сторожевых таймеров. Один сторожевой таймер носит название оконного. Он синхронизируется системным сигналом синхронизации и предназначен для точной оценки временных характеристик выполняемых ветвей программы. На аппаратном уровне он реализован, как 7-битный циклический счетчик обратного счета. Данный сторожевой таймер генерирует сигнал сброса при выходе за пределы одной из двух границ (одна - фиксированная, другая - программируемая). Другой сторожевой таймер носит название независимого. Он синхронизируется отдельным встроенным низкочастотным генератором и отличается большей степенью автономности и защищенности. Благодаря работе от отдельного генератора он позволяет реагировать на сбои в основной системе синхронизации.
На рисунке 3 также показаны различные источники синхронизации и их соединение внутри кристалла МК.
Рис. 3. В микроконтроллеры STM32 интегрированы отказоустойчивая система синхронизации и два сторожевых таймера
Важно обратить внимание, что часы реального времени могут синхронизироваться от внутреннего НЧ-генератора RC-типа. Благодаря этому их можно использовать для контроля отклонения частоты внешней синхронизации.
Наконец, некоторые процедуры из упомянутой выше библиотеки программ используют встроенный в МК STM32 блок арифметики CRC32, который позволяет существенно ускорить алгоритмы тестирования запоминающих устройств без существенного ухудшения реально-временных характеристик микроконтроллера.
Таким образом, особенности архитектуры микроконтроллеров STM32 с учетом доступной программной библиотеки позволяют рассматривать данные МК как готовую платформу для создания электронных устройств управления бытовых электроприборов, относящихся к классу В стандарта IEC60335. Их применение позволит сократить не только затраты времени и средств на создание IEC60335-совместимых схемных решений и ПО, но и на прохождение процедуры сертфикации, т.к. предлагаемая программная библиотека уже прошла сертификацию в институте VDE.
Литература
1. Motor control with STM32 32-bit ARM®-based MCU//Brochure, STMicroelectronics, 2007. - 8 p.
2. STM32-Primer//User Manual, Raisonance, 2007. - 21 p.
3. STM32 (CORTEX M3) - Self-test routines Class B norm certification//Вэб-страница на сайте компании STMicroelectronics, http://www.st.com/mcu/inchtml-pages-stm32_classb.html.
Получение технической информации, заказ образцов, поставка -
e-mail: mcu.vesti@compel.ru
Ваш комментарий к статье | ||||