Довелось мне, в своем университете, вести занятия для студентов колледжа по управлению роботами STUDICA (https://www.studica.ca/en/worldskills-mobile-robotics-collection-shanghai-2022).
Наша версия “WorldSkills Shanghai Collection 2022 - Insert - July 5-22”.
Мы использовали для управления язык LabView2020, с пакетами, как рекомендует производитель в документации https://docs.wsr.studica.com/en/latest/.
В нашем распоряжении 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 погашены (обведены красным эллипсом), один отвечает за наличие прерываний от IMU MPU9250, второй за наличие обмена по шине I2C, в нормальном состоянии работы эти светодиоды должны светиться непрерывно или чуть заметно мигать.
Изучив плату и документацию выяснили, что эти индикаторы указывают на выход из строя высоконадежного элемента IMU MPU9250.
Остальные индикаторы на VMX-pi работают, как в штатном режиме.
Было принято решение заменить неисправный IMU MPU9250 на новый, из упаковки.
После установки нового IMU MPU9250 и включения питания неисправность сохранилась.
Тогда было принято решение “прошить” микроконтроллер (МК) STM32F411VET6, находящийся на плате VMX-pi не через dfu, а при помощи стандартных средств программирования, рекомендуемых фирмой ST – программатор ST-LINK V2 и программы 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.
Исходя из предыдущего опыта, возникли рекомендации для тех, у кого такой робот – при покупке, сразу сохранить прошивку МК STM32F411VET6, как описано выше, в файл и сохранить на надежном диске, чтобы при возникновении “мнимой” неисправности IMU MPU9250 восстановить прошивку.
Мы ждем, проявится ли эта мнимая неисправность IMU MPU9250 на оставшихся роботах.
31.12.2025г. 13.49