МГТУ им. Н.Э. Баумана: Универсальный контроллер управления линией производства

Цель проекта

Реализовать универсальный контроллер управления линии производства, содержащим до 6 контроллеров шаговых двигателей, до 8 входов/выходов для подключения оптических датчиков, концевиков, пневмоцилиндров. Учебный проект по оттачиваю навыков по созданию систем управления на базе микроконтроллеров.

Описание задачи

Одно ядро занимается обслуживанием контроллеров шаговых двигателей (разгон, торможение, выход в точку), опросом датчиков, выдачей воздействия на пневматику и основным алгоритмом их взаимодействия.

Второе ядро занимается обменом данными с HMI/хостом¸ поддержкой дисплея. Предусмотрен RS485 c поддержкой MODBUS, дополнительный RS485 для логгирования, с поддержкой пользовательской консоли. Также присутствует Ethernet c поддержкой MODBUS TCP, логгированием. На небольшом OLED экране отображаются текущие настройки соединения, коды ошибок.

Алгоритмы/программное обеспечение

Использовались IDE VS Code, SDK mcu-sdk-2.1 от Baikal Electronics. Ряд самописных библиотек и с github.

Аппаратная часть

Отладочная плата EVU-BA-2.1 от «БАЙКАЛ ЭЛЕКТРОНИКС

OLED-дисплей 0.96’ на базе графического контроллера SSD1306 (I2C).

Изолированные драйверы RS485 – ADUM2587E (UART)

Модуль Ethernet WizNet W5500 (SPI)

Оптопары SFH615, транзисторы IRLML2030

Драйвера ШД Purelogic PLD880-G2, Leadshine CS-D508, ШД Purelogic PL20H28-D4.

Образовательный контекст

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

 Результаты

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

Есть заделы по дальнейшему расширению функционала.

Получившийся проект с учебной точки зрения хорошо демонстрирует принципы создания сложных программных систем на базе микроконтроллеров

Выводы

Микроконтроллер BE-U1000 отлично подходит для задач создания управляющих контроллеров для задач промавтоматики благодаря богатой периферии и хорошей вычислительной мощности. Многоядерная архитектура открывает ряд интересных возможностей для построения программных систем.

Перспективы

Есть заделы по добавлению ряда сетевых протоколов, использованию интерфейса CAN, блока ADC.