
Хотите узнать, как мне удалось преобразовать проект управляемой по CAN светодиодной матрицы с коммерческого Keil uVision IDE и RTX RTOS в полностью бесплатную связку VS Code + FreeRTOS, не написав ни строчки кода?
User
Хотите узнать, как мне удалось преобразовать проект управляемой по CAN светодиодной матрицы с коммерческого Keil uVision IDE и RTX RTOS в полностью бесплатную связку VS Code + FreeRTOS, не написав ни строчки кода?
Ничто так не поднимает настроение, как продолжительная анаэробная тренировка. Но здесь важно не переусердствовать. В нашем возрасте (50+) тренировка может как улучшить самочувствие, так и ухудшить его. Поэтому во время бега я всегда контролирую пульс.
Модуль S7 V30 изначально разработан для управления промышленными контроллерами, но может быть использован и автономно. В этой статье я попробую раскрыть его потенциал как сенсора для обнаружения и анализа вибраций, углов отклонения, аномальных состояний и специфических активностей. Для этого мне помогут MATLAB и ChatGPT.
Здесь представлено продолжение проекта на платформе S7V30 с использованием микроконтроллеров семейства Synergy. В прошлой статье был разработан bootloader с функциями криптозащиты прошивки и SD карты. В данном проекте мы расширяем функциональность нашего бутлодера добавляя в него криптозащищенные каналы связи по Wi-Fi и Bluetooth. Стараемся не делать компромиссов между скоростью и функциональностью. Нам нужно устройство которое могло бы предоставлять услуги точки доступа по Wi-Fi, станции Wi-Fi, периферии Bluetooth LE и централи Bluetooth LE и все это одновременно. Кроме этого мы сделаем резервное подключение к интернету через USB и реализуем виртуальный COM порт через Bluetooth Classic. Сетевой стек должен работать в мульти интерфейсном режиме, то есть каждый из внутренних серверов (FTP, HTTP, Telnet и т.д.) доступен со всех подключенных IP интерфейсов. Управлять будем через минималистичный веб интерфейс с шифрованием TLS 1.3, через него же и апгрейдить прошивку.
Новейшее семейство микроконтроллеров RA8M1 просится быть использованным в умном электроприводе. Вычислительная мощь ядра ARM Cortex-M85 (480 МГц) позволяет легко управлять на нашей плате одновременно двумя PMSM/BLDC или тремя DC коллекторными моторами с использованием алгоритмов машинного обучения и еще оставляет ресурс для комплексной удаленной диагностики в реальном времени. Добавим сюда IoT на ESP32-С6, дисплей, интерфейсы энкодеров, полевые шины и в результате получаем универсальный контроллер моторов.
Во встраиваемых устройствах есть риск извлечения SD карты и использования её для посторонних целей. В этом случае помогает аппаратный пароль SD карты. Установка пароля не даёт проводить с картой никаких операций. Обычные PC такую карту просто не видят.
В начальном загрузчике модуля S7V30 с микроконтроллером Synergy S7G2 на базе Azure RTOS реализован механизм установки и снятия паролей с SD карт. В этой статье покажу как использовать встроенный веб-сервер Azure RTOS с TLS для операций с SD картой.
Основные фичи: загрузка образов программного кода из интернета по USB, Wi-Fi и с SD карты, шифрация программного кода с аутентификацией алгоритмом AES 256 GCM, подпись ключом RSA 2048, сжатие разными типами компрессоров. При этом простая подготовка образов программного кода и смена ключей одним кликом.
Здесь мы продолжаем развитие платформы нашего ПЛК под названием PLCS7 на базе модуля с микроконтроллером семейства Synergy S7FS2. В этом ПЛК ввод-вывод в основном выполняется через микросхемы расширители IO с последовательными каналами связи. Программный байтовый обмен с такими микросхемами может отбирать значительные ресурсы процессора. Но в микроконтроллерах Synergy есть модули DMA Controller (DMAC ) и Data Transfer Controller (DTC).
Тут пришло приглашение на семинар по освоению программирования RA8M1. Предлагалось сделать четыре лабораторных работы и бесплатный обед с кофе‑брейками. В заключении за труды получить очередную плату EK‑RA8M1. От такого не отказываются. Хороший повод найти применение плате MKR RGB Shield и дополнить копилку демо‑проектов под RA8M1, решил я.
Быстрый Wi-Fi позволяет собрать больше диагностической информации, а значит облегчает отладку, улучшает поддержку и открывает путь к машинному обучению в ПЛК и во встраиваемых устройствах. Но кроме быстрого Wi-Fi модуля нужен ещё быстрый драйвер на стороне микроконтроллера. Здесь покажем процесс портирования открытого проекта Infineon Wi-Fi Host Driver (WHD) на нашу платформу универсального ПЛК PLCS7.
Фирма Renesas вдруг стала раздавать бесплатно платы EK-RA8M1 со своим новейшим чипом R7FA8M1AHECBD. А чип этот является первым в индустрии коммерческим микроконтроллером с ядром Arm® Cortex®-M85. Работает ядро на 480 МГц, снабжено технологией M-Profile Vector Extension (MVE) под названием Helium™ и ускоряет работу AI в малых системах в 4 раза. Ну и другие DSP алгоритмы там тоже ускоряются примерно на столько же. По сути чип стал передовым DSP, но это не всё.
Некоторое количество оборудования в домашнем хозяйстве имеет довольно похожую структуру. В нем есть мотор, пользовательский интерфейс в виде кнопок и дисплея, управление подсветкой и местным освещением, электромеханические элементы в виде замков, соленоидов, клапанов, реле и множество защитных датчиков и выключателей. Рынок полон предложений для реализации системы управления для всего этого. Но дело в том, что меняются возможности индустрии разработки электроники, ценовые балансы и запросы потребителей. Сделать свой универсальный ПЛК иной раз проще чем приобрести и освоить экосистему стороннего производителя.
Здесь разрабатываем эталонную таблицу коммутации BLDC мотора на основе цифрового двойника и создаем алгоритм для автоматической генерации таблицы в сервоконтроллере MC50. Таблица коммутации используется для 6-шагового управления вращением ротора BLDC мотора с датчиками Холла. Хотя найти правильный способ коммутации несложно путём перебора (6! => 720 вариантов), но такой путь опасен неправильным выбором последовательности коммутаций, которые могут создать вращение, но крайне неэффективное и нестабильное.
Продолжение разработки сервоконтроллера MC50. В предыдущем проекте управления DС мотором специалисты в комментариях высказали сомнения относительно способа изменять состояние линий ШИМ путём переназначения функций портов в реальном времени. Этот способ был применён в связи с оригинальной архитектурой формирователей мёртвого времени в таймерах чипов семейства Renesas Synergy. Здесь представлен другой метод.
Речь о том, как управлять включением и скоростью двигателя постоянного тока на примере сервопривода MC50 так, чтобы сервопривод не сгорел. Несмотря на то, что MC50 был разработан для управления BLDC моторами, он также хорошо подходит и для управления коллекторными двигателями постоянного тока мощностью до 600 Вт. Правда для этого пришлось сделать некоторые незначительные модификации.
Продолжаем открытый проект сервоконтроллера MC50.
В предыдущей статье была разработана архитектура управления и написана программа сервопривода. Но регулятор был вручную настроен на определенный тип нагрузки. А что делать если тип и динамика нагрузки неизвестны?
Открытый проект серво‑контроллера MC50 продолжает развиваться. На этот раз поговорим о создании сервопривода.
Сервоприводы в умном доме нужны повсеместно: в запорных кранах, в электрических замках, в моторизированных кронштейнах и столах, в автоматических дверях, калитках, окнах, маркизах, воротах, поворотных видеокамерах, регулируемых креслах, электро‑пандусах и проч. Поэтому технология сервоприводов весьма востребована и тут есть где развернуться творчеству.
В нашем проекте контроллера сервоприводов применяется чип семейства Renesas Synergy S5D9. Чип содержит периферийный блок специально предназначенный для 6-шагового управления. Попробую показать как этот блок применить для управления BLDC мотором и какие грабли разложены на пути.
В рамках проекта контроллера сервоприводов MC50 постоянно пишутся тестовые прошивки. В результате одной из проб получился Хаброметр — устройство навеянное вот этими статьями HabrScore, HabraTab. Наш Хаброметр периодически парсит страницу Хабра, извлекает из неё данные пользователя и выводит на экран, одновременно ведёт хронологическую запись полученных данных в файл.csv и выдаёт голосовые сообщения о величине кармы, когда она изменяется.
Схема и плата контроллера - в этой статье.
Первые шаги по разработке прошивки были выполнены здесь. А теперь займёмся промежуточным программным обеспечением. Промежуточное ПО - это то, что придаёт нашему девайсу основную массу фичей. RTOS для встраиваемых систем приобретают особую популярность когда сопровождаются полезным промежуточным софтом.