Здесь представлено продолжение проекта на платформе 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, через него же и апгрейдить прошивку.
Пользователь
Универсальный контроллер моторов на ARM Cortex-M85. Трассировка
Новейшее семейство микроконтроллеров RA8M1 просится быть использованным в умном электроприводе. Вычислительная мощь ядра ARM Cortex-M85 (480 МГц) позволяет легко управлять на нашей плате одновременно двумя PMSM/BLDC или тремя DC коллекторными моторами с использованием алгоритмов машинного обучения и еще оставляет ресурс для комплексной удаленной диагностики в реальном времени. Добавим сюда IoT на ESP32-С6, дисплей, интерфейсы энкодеров, полевые шины и в результате получаем универсальный контроллер моторов.
Установка пароля на SD карту с помощью веб-приложения на jQuery, веб-сервера Azure RTOS и Synergy
Во встраиваемых устройствах есть риск извлечения SD карты и использования её для посторонних целей. В этом случае помогает аппаратный пароль SD карты. Установка пароля не даёт проводить с картой никаких операций. Обычные PC такую карту просто не видят.
В начальном загрузчике модуля S7V30 с микроконтроллером Synergy S7G2 на базе Azure RTOS реализован механизм установки и снятия паролей с SD карт. В этой статье покажу как использовать встроенный веб-сервер Azure RTOS с TLS для операций с SD картой.
Делаем начальный загрузчик с криптографической защитой для Synergy на базе Azure RTOS
Основные фичи: загрузка образов программного кода из интернета по USB, Wi-Fi и с SD карты, шифрация программного кода с аутентификацией алгоритмом AES 256 GCM, подпись ключом RSA 2048, сжатие разными типами компрессоров. При этом простая подготовка образов программного кода и смена ключей одним кликом.
Архитектура, планирование и реализация DMA в микроконтроллерах Synergy
Здесь мы продолжаем развитие платформы нашего ПЛК под названием PLCS7 на базе модуля с микроконтроллером семейства Synergy S7FS2. В этом ПЛК ввод-вывод в основном выполняется через микросхемы расширители IO с последовательными каналами связи. Программный байтовый обмен с такими микросхемами может отбирать значительные ресурсы процессора. Но в микроконтроллерах Synergy есть модули DMA Controller (DMAC ) и Data Transfer Controller (DTC).
Как сделать вывод на LED дисплей за один семинар с нуля
Тут пришло приглашение на семинар по освоению программирования RA8M1. Предлагалось сделать четыре лабораторных работы и бесплатный обед с кофе‑брейками. В заключении за труды получить очередную плату EK‑RA8M1. От такого не отказываются. Хороший повод найти применение плате MKR RGB Shield и дополнить копилку демо‑проектов под RA8M1, решил я.
Как сделать быстрый Wi-Fi для ПЛК
Быстрый Wi-Fi позволяет собрать больше диагностической информации, а значит облегчает отладку, улучшает поддержку и открывает путь к машинному обучению в ПЛК и во встраиваемых устройствах. Но кроме быстрого Wi-Fi модуля нужен ещё быстрый драйвер на стороне микроконтроллера. Здесь покажем процесс портирования открытого проекта Infineon Wi-Fi Host Driver (WHD) на нашу платформу универсального ПЛК PLCS7.
Осваиваем чип с Arm Cortex-M85
Фирма Renesas вдруг стала раздавать бесплатно платы EK-RA8M1 со своим новейшим чипом R7FA8M1AHECBD. А чип этот является первым в индустрии коммерческим микроконтроллером с ядром Arm® Cortex®-M85. Работает ядро на 480 МГц, снабжено технологией M-Profile Vector Extension (MVE) под названием Helium™ и ускоряет работу AI в малых системах в 4 раза. Ну и другие DSP алгоритмы там тоже ускоряются примерно на столько же. По сути чип стал передовым DSP, но это не всё.
Разработка универсального ПЛК для домашних агрегатов
Некоторое количество оборудования в домашнем хозяйстве имеет довольно похожую структуру. В нем есть мотор, пользовательский интерфейс в виде кнопок и дисплея, управление подсветкой и местным освещением, электромеханические элементы в виде замков, соленоидов, клапанов, реле и множество защитных датчиков и выключателей. Рынок полон предложений для реализации системы управления для всего этого. Но дело в том, что меняются возможности индустрии разработки электроники, ценовые балансы и запросы потребителей. Сделать свой универсальный ПЛК иной раз проще чем приобрести и освоить экосистему стороннего производителя.
Автоматическое определение таблицы коммутации BLDC мотора
Здесь разрабатываем эталонную таблицу коммутации BLDC мотора на основе цифрового двойника и создаем алгоритм для автоматической генерации таблицы в сервоконтроллере MC50. Таблица коммутации используется для 6-шагового управления вращением ротора BLDC мотора с датчиками Холла. Хотя найти правильный способ коммутации несложно путём перебора (6! => 720 вариантов), но такой путь опасен неправильным выбором последовательности коммутаций, которые могут создать вращение, но крайне неэффективное и нестабильное.
Мёртвое время. Как не ошибиться при настройке ШИМ в Renesas Synergy
Продолжение разработки сервоконтроллера MC50. В предыдущем проекте управления DС мотором специалисты в комментариях высказали сомнения относительно способа изменять состояние линий ШИМ путём переназначения функций портов в реальном времени. Этот способ был применён в связи с оригинальной архитектурой формирователей мёртвого времени в таймерах чипов семейства Renesas Synergy. Здесь представлен другой метод.
Безопасное управление двигателем постоянного тока
Речь о том, как управлять включением и скоростью двигателя постоянного тока на примере сервопривода MC50 так, чтобы сервопривод не сгорел. Несмотря на то, что MC50 был разработан для управления BLDC моторами, он также хорошо подходит и для управления коллекторными двигателями постоянного тока мощностью до 600 Вт. Правда для этого пришлось сделать некоторые незначительные модификации.
Разработка робастного управления сервоприводом
Продолжаем открытый проект сервоконтроллера MC50.
В предыдущей статье была разработана архитектура управления и написана программа сервопривода. Но регулятор был вручную настроен на определенный тип нагрузки. А что делать если тип и динамика нагрузки неизвестны?
Разработка сервопривода с BLDC мотором
Открытый проект серво‑контроллера MC50 продолжает развиваться. На этот раз поговорим о создании сервопривода.
Сервоприводы в умном доме нужны повсеместно: в запорных кранах, в электрических замках, в моторизированных кронштейнах и столах, в автоматических дверях, калитках, окнах, маркизах, воротах, поворотных видеокамерах, регулируемых креслах, электро‑пандусах и проч. Поэтому технология сервоприводов весьма востребована и тут есть где развернуться творчеству.
6-шаговая коммутация BLDC моторов
В нашем проекте контроллера сервоприводов применяется чип семейства Renesas Synergy S5D9. Чип содержит периферийный блок специально предназначенный для 6-шагового управления. Попробую показать как этот блок применить для управления BLDC мотором и какие грабли разложены на пути.
Ещё один Хаброметр
В рамках проекта контроллера сервоприводов MC50 постоянно пишутся тестовые прошивки. В результате одной из проб получился Хаброметр — устройство навеянное вот этими статьями HabrScore, HabraTab. Наш Хаброметр периодически парсит страницу Хабра, извлекает из неё данные пользователя и выводит на экран, одновременно ведёт хронологическую запись полученных данных в файл.csv и выдаёт голосовые сообщения о величине кармы, когда она изменяется.
Программирование контроллера сервоприводов MC50. Развёртывание промежуточного ПО
Схема и плата контроллера - в этой статье.
Первые шаги по разработке прошивки были выполнены здесь. А теперь займёмся промежуточным программным обеспечением. Промежуточное ПО - это то, что придаёт нашему девайсу основную массу фичей. RTOS для встраиваемых систем приобретают особую популярность когда сопровождаются полезным промежуточным софтом.
Программирование контроллера сервоприводов MC50. Введение
Это продолжение открытого проекта платы контроллера сервоприводов. В предыдущей статье был проведён анализ возможностей и выбор микроконтроллера, изучена и освоена среда разработки. Теперь подошла собранная плата.
Открытый проект встраиваемого модуля для IoT
Выполнен на чипе семейства Synergy. Если коротко, то: ядро Cortex-M4, 240 МГц, 640 КБ RAM, 32 МБ SDRAM, 4 МБ Flash, LoRA, BLE, Wi-Fi a/b/g/n, uSD, USB HS, IMU, NV RTC, Li-ion Charger, 81 I/O, 7 мкА wakeful sleep.
Открытый проект Wi-Fi логгера по USB, CAN, RS-485, RS-232
Бывает нужно удалённо снять лог с какого-либо труднодоступного агрегата или установки. А лучше чтобы логи автоматически отсылались на сервер. Но, как правило, установки и агрегаты имеют контроллер только с локальным проводным интерфейсом. Чаще всего RS-232 или RS-485, в последнее время популярен USB. А может быть в наличии только одна полевая шина типа CAN. Либо бывает нужно одновременно снять лог и с локального интерфейса и с полевой шины. Мы попытались сделать для этих целей неприхотливый промышленный логгер с передачей данных в облака по Wi-Fi с установкой на DIN рейку и возможностью автономного питания.
Информация
- В рейтинге
- 1 199-й
- Зарегистрирован
- Активность