Довелось мне, в своем университете, вести занятия для студентов колледжа по управлению роботами STUDICA.

Наша версия “WorldSkills Shanghai Collection 2022 - Insert - July 5-22”.

Мы использовали для управления язык LabView2020, с пакетами, как рекомендует производитель в документации.

В нашем распоряжении 5 роботов, нумерация каждого от «1111» до «5555» или от «первого» до «пятого».

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

Итак, на очередном занятии, робот с номером 4444 при движении вперед остановился и перестал реагировать на команды, чаще всего помогает перезагрузка робота путем выключения питания или замена разряженного аккумулятора. Однако, это не помогло. Робот перестал даже определяться по сети Wi-Fi и производить обмен информацией по шине CAN от VMX-pi к TITAN.

Стало ясно, что робот STUDICA производства канадской фирмы, позиционируемый как высоконадежный, вышел из строя, сломался.

Сначала, мы сделали запрос на форум поддержки STUDICA в канаде, но ответа не пришло до сих пор, похоже из-за санкций.

Пришлось самим в интернете искать документацию, описания, изучать схему и плату VMX-pi, смотреть работу индикаторов.

Первая попытка – перепрошить VMX-pi предлагаемыми производителем средствами – dfu метод, но он не помог. Прошивка прошла успешно, однако неисправность не исчезла.

Значит, решили, что ошибка аппаратная и надо искать, что вышло из строя.

Неисправность проявляла себя индикацией на VMX-pi (рисунок 1) – светодиод LED1 (обведен желтым эллипсом) – мигает оранжевым цветом и не гаснет, индицируя бесконечные запросы на калибровку IMU MPU9250 (в нормальном режиме, не позже чем через минуту после включения питания, при неподвижном роботе, этот светодиод должен погаснуть, показывая успешность калибровки IMU MPU9250), зеленые светодиоды S1 и S2 погашены (обведены красным эллипсом), один отвечает за наличие прерываний по шине I2C, второй за наличие обмена по шине I2C, в нормальном состоянии работы эти светодиоды должны светиться непрерывно или чуть заметно мигать. Индикатор "3,3V" светит зеленым, показывая наличие напряжения питания микроконтроллера на борту, а красный светодиод "FAULT" погашен, показывая отсутствие короткого замыкания в цепях робота. Все внешние периферийные устройства отключены, питание от аккумулятора, штатное.

Рисунок 1 – Вид сверху VMX-pi (из документации)
Рисунок 1 – Вид сверху VMX-pi (из документации)

Изучив плату и документацию выяснили, что индикаторы LED1, S1, S2 указывают на выход из строя высоконадежного элемента IMU MPU9250.

Остальные индикаторы на VMX-pi работают, как требуется в штатном режиме.

Было принято решение заменить неисправный IMU MPU9250 на новый, из заводской упаковки, не подвергавшийся пайке.

После установки нового IMU MPU9250 и включения питания описанная неисправность сохранилась.

Тогда было принято решение “прошить” микроконтроллер (МК) STM32F411VET6, находящийся на плате VMX-pi не через dfu, а при помощи стандартных средств программирования, рекомендуемых фирмой ST – программатор ST-LINK V2 и свободно распространяемой фирмой ST программы STVP, благо, на плате производитель предусмотрительно сделал 4 площадки, рядом с МК, под внутрисхемное программирование. Подключились программатором и попробовали считать “неисправную” прошивку робота 4444, повезло, производитель не поставил защиту от чтения, прошивку сохранили в *.hex файл. Откуда брать новую прошивку? Скопировали с другого рабочего робота 2222.

После заливки “новой” прошивки в “неисправный” VMX-pi робота 4444 он стал работать как требуется, была выполнена калибровка нового магнитометра, согласно инструкции производителя, таблицы калибровки сохранены в память на борту VMX-pi.

Тогда, был сделан вывод, что не только вышел из строя IMU MPU9250, но и прошивка в микроконтроллере вышла из строя. Хотя, фирма ST (www.st.com) позиционирует свои микроконтроллеры как высоконадежные устройства, в которых для изменения прошивки необходимо выполнить определенную последовательность действий, не возможную случайно, плюс многоуровневая защита от электромагнитных помех.

Робот 4444 работает успешно после ремонта, с февраля 2025г., “пережил” демо-экзамен в июне 2025г. и ежедневные практики с сентября 2025г. по нынешнее время.

Однако, месяц назад, при проведении очередной практики и работе с роботом 3333 он выходит из строя с "симптомами", аналогичными описанным выше.

Было принято решение менять IMU MPU9250 и после этого прошивку. Заказали на маркетплейсе IMU MPU9250 и ждали его доставки.

Однако, пока была доставка, возникло желание проверить и “прошить” МК STM32F411VET6 робота 3333 “исправной” прошивкой, использованной для ремонта робота 4444.

Результат был неожиданным, робот стал работать исправно, как и раньше.

Тогда был проведен анализ текстов исправной и неисправной прошивок, результаты анализа показали изменения прошивки в двух местах - рисунок 2, рисунок 3.

Рисунок 2 – Сравнение прошивки, место 1 – слева исправная, справа неисправная
Рисунок 2 – Сравнение прошивки, место 1 – слева исправная, справа неисправная
Рисунок 3 – Сравнение прошивки, место 2 – слева исправная, справа неисправная
Рисунок 3 – Сравнение прошивки, место 2 – слева исправная, справа неисправная

Исходя из предыдущего опыта, возникли рекомендации для тех, у кого такой робот – при покупке, сразу сохранить прошивку МК STM32F411VET6, как описано выше, в файл и сохранить на надежном диске, чтобы, при возникновении “мнимой” неисправности IMU MPU9250, восстановить прошивку.

Мы ждем, проявится ли эта мнимая неисправность IMU MPU9250 на оставшихся трех роботах.

Версия1 15.01.2026г.

Комментарии (1)


  1. Indemsys
    15.01.2026 17:53

    Первый дамп был из SRAM, а второй не пойми откуда, за пределами SRAM, но не Flash.