Кремень FMZ Реклама
Kremen FMHM Реклама

Подключение платы Melzi V2.05 к Arduino IDE

chernykh986
Идет загрузка
Загрузка
24.06.2019
4676
6
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

5

С целью заливки новой прошивки (Marlin 1.1.9) в плату Melzi V 2.05 решил подключить ее к Arduino IDE. Дело это нехитрое. Скачиваем последнюю на данный момент версию с официального сайта (1.8.9): https://www.arduino.cc/en/Main/Donate (если не хотим платить – нажимаем JUST DOWNLOAD). Распаковываем и устанавливаем. Вторым шагом скачиваем архив Sanguino - master https://github.com/Lauszus/Sanguino и копируем папку AVR из архива (с заменой файлов) в паку с установленной Arduino IDE. У меня на Windows 10 это: c:Program Files (x86)Arduinohardwarearduino .

Запускаем Arduino IDE и убеждаемся, что выбрана плата Sanguino:

Подключение платы Melzi V2.05 к Arduino IDE
И, в завершение настройки, выбираем процессор:
Подключение платы Melzi V2.05 к Arduino IDE
Дальше все должно быть просто. Переключаем перемычку на плате в режим питания от USB:
Подключение платы Melzi V2.05 к Arduino IDE
И подключаем плату к компьютеру. Открываем Диспетчер устройств, чтобы посмотреть номер COM-порта, к которому подключилась плата. И тут меня поджидал сюрприз - моя плата определилась как Matador Engine:
Подключение платы Melzi V2.05 к Arduino IDE
Ну, ничего страшного – Windows неправильно определила устройство. Бывает… Жмем правой клавишей мыши на неведомом нам Matador Engine и выполняем Update driver. Место где находится драйвер (с SD-карты, что была с принтером) указываем «вручную». Но опять – «что-то пошло не так»:
Подключение платы Melzi V2.05 к Arduino IDE
Нахожу драйвер «посвежее» (v.2.08.14) https://driverslab.ru/685-ftdi-d2xx-cdm-drivers-v-2-08-14.html , пытаюсь обновить - и опять неудача.

Начинаю «чесать репу», в смысле «гуглить Internet» и выясняю истоки проблемы. Собственно, драйвер, который нужно установить, является драйвером микросхемы FT 232 RL, установленной на плате. Китайские производители могут ставить на свои платы пиратские клоны этих микросхем. Производитель «оригиналов» в целях борьбы с «пиратством» в последних версиях драйверов заложил возможность обнуления VID и PID устройства. Т.е. ставите, вы свежий драйвер, а он не только не ставится, но, и в добавок, меняет VID и PID платы. Так, что и «не свежий» драйвер поставить не удастся. Исправляется это легко с помощью программы MProg 3.5: https://habr.com/ru/post/241299/ . Однако, работать с MProg 3.5 не получится, пока драйвер не будет установлен. Получается замкнутый круг, который можно разорвать, отредактировав inf-файлы драйвера: https://avtoadapter.ru/forum/viewtopic.php?t=327 .

Сначала в Диспетчере устройств, на вкладке Events смотрим VID и PID нашего устройства Matador Engine. Оказалось, что VID=0333 и PID=3769. В то время как «правильные» VID=0403 и PID=6001.

Подключение платы Melzi V2.05 к Arduino IDE

Приступаем к редактированию файлов драйвера.

Редактируем ftdibus . inf:

В секции [FtdiHw] копируем строку

%USBVID_0403&PID_6001.DeviceDesc%=FtdiBus.NT,USBVID_0403&PID_6001

и меняем в «копии» VID и PID на нужные нам. Должно получиться:

%USBVID_0403&PID_6001.DeviceDesc%=FtdiBus.NT,USBVID_0403&PID_6001

%USBVID_0333&PID_3769.DeviceDesc%=FtdiBus.NT,USBVID_0333&PID_3769

Вносим аналогичные изменения в секции [FtdiHw.NTamd64]:

%USBVID_0403&PID_6001.DeviceDesc%=FtdiBus.NTamd64,USBVID_0403&PID_6001

%USBVID_0333&PID_3769.DeviceDesc%=FtdiBus.NTamd64,USBVID_0333&PID_3769

И в секции [Strings]:

USBVID_0403&PID_6001.DeviceDesc='USB Serial Converter'

USBVID_0333&PID_3769.DeviceDesc='USB Serial Converter'

Редактируем fdiport . inf:

[FtdiHw]

%VID_0403&PID_6001.DeviceDesc%=FtdiPort.NT,FTDIBUSCOMPORT&VID_0403&PID_6001

%VID_0333&PID_3769.DeviceDesc%=FtdiPort.NT,FTDIBUSCOMPORT&VID_0333&PID_3769

[FtdiHw.NTamd64]

%VID_0403&PID_6001.DeviceDesc%=FtdiPort.NTamd64,FTDIBUSCOMPORT&VID_0403&PID_6001

%VID_0333&PID_3769.DeviceDesc%=FtdiPort.NTamd64,FTDIBUSCOMPORT&VID_0333&PID_3769

[Strings]

VID_0403&PID_6001.DeviceDesc='USB Serial Port'

VID_0333&PID_3769.DeviceDesc='USB Serial Port'

Отредактировав файлы приступаем к обновлению драйверов. Снова ошибка:

Подключение платы Melzi V2.05 к Arduino IDE

Это уже проще – необходимо отключить проверку цифровых подписей драйверов. Проще всего перевести Windows в режим Test Mode: https://aslenkov.ru/likbez/4294 .

Нажимаем комбинацию клавиш Win+x и запускаем командную строку от имени Администратора:

Подключение платы Melzi V2.05 к Arduino IDE

В открывшемся окне вводим:

bcdedit.exe -set TESTSIGNING ON

Подключение платы Melzi V2.05 к Arduino IDE

Перезагружаемся. В правом нижнем углу рабочего стола видим надпись Test Mode. Обновляем драйвер. В процессе обновления открывается окно:

Подключение платы Melzi V2.05 к Arduino IDE

Нажимаем Install this driver software anyway. Драйвер установлен. Смотрим Диспетчер устройств. Опять не «Слава Богу»:

Подключение платы Melzi V2.05 к Arduino IDE

Повторяем процесс обновления драйвера и наконец-то получаем то, что нужно:

Подключение платы Melzi V2.05 к Arduino IDE

Выключаем режим Test Mode . Снова запускаем командную строку и вводим:

bcdedit.exe -set TESTSIGNING OFF

Подключение платы Melzi V2.05 к Arduino IDE

Перезагружаемся. Подключаем плату к компьютеру. Запускаем Arduino IDE и выбираем нужный порт:

Подключение платы Melzi V2.05 к Arduino IDE

Выполняем команду Tools->Get Board Info:

Подключение платы Melzi V2.05 к Arduino IDE

Видим, наши VID и PID.

Теперь можно приступать к загрузке. Открываем в Arduino IDE ino-файл, выбираем COM-порт и загружаем скетч.

Подключение платы Melzi V2.05 к Arduino IDE

Ну, ё-моё! А сейчас-то что !!!???

Погуглив, делаю предположение, что «что-то не так» с загрузчиком. Прошиваю загрузчик:

Подключение платы Melzi V2.05 к Arduino IDE

Шо, опять !!!???

Подключаю к плате программатор (например, https://3dtoday.ru/blogs/chernykh986/backup-the-firmware-on-your-board-melzi-v205/ ) прошиваю загрузчик снова (не забыв изменить COM-порт):

Подключение платы Melzi V2.05 к Arduino IDE

Ух-ты, получилось…

Снова подключаю Melzi к компьютеру напрямую и заливаю прошивку:

Подключение платы Melzi V2.05 к Arduino IDE

Не верю глазам своим – получилось!!!

P . S. А, нужны-ли, вообще, эти «танцы с бубном», если все равно пришлось использовать программатор? Ответ: НЕТ!!! Подключив Melzi через программатор, мы спокойно прошиваем ее:

Подключение платы Melzi V2.05 к Arduino IDE

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

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

5
Комментарии к статье