Вот прям сейчас провел эксперимент - и все получилось! :) Рассказываю.
Я сам не имею 3D принтера. У меня ЧПУ фрезер, управляемый через "ламповый" LPT софтом на PC. Сути процессов управления станком это никак не меняет. те же STEP DIR...
3D принтер у друга (друг не сильно "дружит" с электроникой) тем не менее он разобрался, собрал и запустил купленный принтер, я помогал только удаленно.
Так вот, что я сделал сейчас.
Взял с полки плату ARDUINO MEGA2560. Классическая, с али.
оболочка ARDUINO IDE 1.8.5 на компе уже у меня стояла
скачал вот отсюда
https://jgaurorawiki.com/a5/firmware
прошивку "JGAurora A3S - Custom Marlin Firmware 1.1.8C.zip"
распаковал и "тупо" выполнил все 19 пунктов "Firmware Installation Instructions"
Подскажу, как победить IDE. Есть несколько не очевидных моментов.
Качаем инсталяху ARDUINO и ставим - тут совсем все просто.
(вот, ещё одна инструкция из сети
https://3deshnik.r …arlin-dlya-3d-printera )
Теперь надо до установить библиотеки для LCD, те самые u8glib (это 11 пункт инструкции)
У ардуино управление библиотеками .... не тривиальное. Нужно подключение к сети и система сама их находит (список)
через меню "Скетч- подключить библиотеку-управлять библиотеками"
Откроется список Тип "все" Тема "все".
В поиске набираем u8glib - отфильтруются нужные.
я поставил (по инструкции) две либы:
U8g2 by oliver 2.14.7
и
U8glib by oliver 1.19.1
для установки жмем More info в каждой - появится справа выбор версии и установка. Жмем по очереди.
В результате, рядом с номером версии в заголовке библиотеки появится INSTALLED.
Закрываем менеджер библиотек.
Открываем файл Marlin.ino в IDE. Он подтянет все остальные файлы.
В закладке "инструменты" указываем плату "MEGA 2560" и правильный СОМ порт (плата должна быть подключена и порт не занят другой прогой)
Все!
Активируем закладку Marlin и жмем круглую кнопку с птичкой "компиляция" - ждем пол минутки, получаем репорт:
Скетч использует 144268 байт (56%) памяти устройства. Всего доступно 253952 байт.
Глобальные переменные используют 5086 байт (62%) динамической памяти, оставляя 3106 байт для локальных переменных. Максимум: 8192 байт.
теперь жмем "Загрузка" - (компиляция выполнится ещё раз) и замигают светодиоды загрузки через USB.
Загрузка заканчивается очень русским словом "вгрузили" :)
теперь Ctrl+Shift+M открываем терминалку ардуины (убогая, ну какая есть...)
справа внизу скорость - ставим 250000 и надо включить возврат каретки перевод строки (рядом)
жмем ресет на плате или перезаходим в терминалку (она всегда дает сброс платы при входе в терминалку)
и видим:
start
echo: External Reset
Marlin 1.1.8
echo: Last Updated: 2017-12-25 12:00 | Author: (Telli Mantelli, Kris Waclawski, Samuel Pinches & Michael Gilardi, 22 Jan 2018)
echo:Compiled: Oct 28 2018
echo: Free Memory: 3066 PlannerBufferBytes: 1264
echo:V47 stored settings retrieved (642 bytes; crc 55189)
echo:SD init fail
даю команду M502
echo:Hardcoded Default Settings Loaded
ok
даю команду M500
echo:Settings Stored (642 bytes; crc 55189)
ok
даю команду G1 X100
ok
и вижу пробником импульсы STEP на выводе платы A0 - мотор поехал по Х в точку 100
Бинго ! :)