Sergey
b261e886ef
|
4 years ago | |
---|---|---|
.github | 4 years ago | |
Marlin | 4 years ago | |
buildroot | 4 years ago | |
config | 4 years ago | |
data/www | 6 years ago | |
docs | 7 years ago | |
firmware | 4 years ago | |
.editorconfig | 5 years ago | |
.gitattributes | 7 years ago | |
.gitignore | 4 years ago | |
LICENSE | 4 years ago | |
README.md | 4 years ago | |
jlink.cmd | 5 years ago | |
platformio.ini | 4 years ago | |
process-palette.json | 5 years ago |
README.md
Marlin 3D Printer Firmware for Flying Bear 4S
Версия поддержкой WIFI модуля
Это конфигурация официального Marlin для принтера Flying Bear Ghost 4S (плата MKS Robin Nano). Прошивка подойдет так же для Flying Bear Ghost 5.
Эта ветка содержит код для работы с модулем MKS WIFI, установленным в FB4S и FB5. Загрузка файлов через стандартный plugin в Cura.
Код работы с экраном взят из репозитория inib/Marlin
В ветке FB4S_Config находится вариант с минимальными изменениями в коде Marlin (только работа с экраном и конфигурация), без поддержки WIFI.
WIFI модуль. Что работает, что не работает
Работает
- Отображение температуры в Cura
- Просмотр содержимого SD карты
- Удаление файлов с SD карты
- Загрузка файлов на SD карту
- Автоматический запуск печати при загрузке файла.
- Настройка WIFI модуля (сеть и пароль)
Не работает (совсем)
- Имена файлов на русском Переименуйте файл в Cura
- Работает только с картами стандарта SD card v2.0 и новее. Это все карты от 1Гб и больше.
- Отображение состояния принтера (печатает, не печатает) в Cura
Как работает, как настроить
Варианты прошивки
Если вас устраивает типовой вариант конфигурации, можно взять готовые файлы прошивки:
- Для FB4S с стандартными драйверами Robin_nano35.bin
- Для FB5 с стандартными драйверами Robin_nano35.bin
- Если установлены все 4 драйвера 2208 или 2209 Robin_nano35.bin
Разница в прошивках, только в направлении движения осей.
Для установки прошивки файл Robin_nano35.bin нужно записать в корень SD карты и включить принтер.
Вернуть стандартную прошивку можно в любой момент. Просто запишите ее на SD и включите принтер.
Для настройки под свои нужды, прошивку нужно собрать самостоятельно.
Как собрать прошивку самому
Видео Дмитрия Соркина youtube
Нужная плата, Robin Nano, уже выбрана в качестве платы по-умолчанию. В меню Platformio можно не выбирать плату, а нажать Build на самом верху. Или использовать сочетание клавиш Ctrl+Alt+B.
После компиляции, готовая прошивка лежит в .pio/build/mks_robin_nano/Robin_nano35.bin
На SD карту нужно записывать именно Robin_nano35.bin, а не firmaware.bin
Что нужно настроить, если собираете сами
Нужно настроить направления движения по осям под свои драйвера в файле Configuration.h (параметры INVERT_?_DIR, строка 1125).
По умолчанию стоят настройки под драйвера 2208/2209 на всех осях. В файле Configuration.h уже есть несколько готовых наборов настроек:
- ALL_DRV_2208 - если установлены драйвера TMC 2208 или TMC 2209 на всех осях
- FB_4S_STOCK - если установлены драйвера A4988 на всех осях. Это конфигурация для FB4S с стандартными драйверами.
- FB_5_STOCK - конфигурация для FB 5 (2208 на осях X,Y и A4988 на Z,E)
В строке 1098 нужно выбрать только один из вариантов:
#define ALL_DRV_2208
//#define FB_4S_STOCK
//#define FB_5_STOCK
Первое, что нужно сделать, после прошивки
Первое, что нужно сделать после прошивки, это проинициализировать eeprom, сбросив настройки по-умолчанию. Делается это через меню Configuration -> Advanced settings -> Initialize eeprom.
Настройки WIFI, если вы используете готовую прошивку
Если модуль уже был настроен, то возможно никакая настройка не понадобится.
Если модуль не был настроен, либо по какой-то причине не смог подключиться к сети, то он запустится в режиме точки доступа с именем сети MKSWIFI??? (вместо ? будут произвольные символы). Подключитесь к этой сети, откройте страницу по адресу 192.168.4.1 и установите нужные настройки.
Настройки WIFI, если вы собираете прошивку сами
В файле mks_wifi_settings.h
Для того, чтобы эти настройки применялись при включении, "MKS_WIFI_ENABLED_WIFI_CONFIG" должен быть раскомментирован. Если закомментировать "#define MKS_WIFI_ENABLED_WIFI_CONFIG", при запуске настройки ESP модулю отправляться не будут.
Настройки сети хранятся в самом MKS WIFI модуле, поэтому отправлять настройки модулю при каждом старте не нужно.
Состояние WIFI
При успешном подключении к сети (или создании сети в режиме точки доступа) в стандартный UART, который выведен на USB разъем принтера, будет выведен IP адрес и название сети.
IP адрес так же будет на экране.
Как понять, что WIFI работает
При включении принтера, на экране отобразится статус "WIFI init"
Если ESP модулю удалось подключиться к сети, на экране будет IP адрес.
При старте передачи файла отображается "Upload file", в процессе загрузки отображается прогресс в процентах.
Если файл успешно принят отобразится "Upload done" и прозвучит один звуковой сигнал
Если во время приема файла были ошибки, отобразится надпись "Upload Failed" и прозвучит три звуковых сигнала
BLTouch
В прошивке по-умолчанию включена поддержка Bltouch. Парковка стола по оси Z настроена по стандартному концевику (а не по датчику), поэтому если у вас нет датчика, то мешать это не будет. Просто не трогайте настройки Z Offset (должно быть 0).
Прошивка настроена на подключение датчика к разъему ZMax (концевик датчика) и PB2 (управление сервой). Подробнее о подключении Bltouch.
Драйвера TMC2209
По-умолчанию прошивка настроена на работу с драйверами шаговых двигателей без программного управления. В случае применения драйвером TMC 2209 или TMC 2208 можно включить управление по UART. Подробнее о настройке и подключении.
EEPROM
На FB4S установлена плата MKS Robin Nano v.1.1. На плате установленно 2 микросхемы флеш памяти: AT24C16 (2кб) подключена по I2C и W25Q64 подключена по SPI.
Размер данных, которые сохраняются в EEPROM зависит от включенных опций. При сохранении настроек командой M500, в ответе есть размер сохраняемых данных.
В качестве места хранения EEPROM в Marlin доступны несколько вариантов:
- SD карта
- I2C EEPROM. Хранение в AT24C16 подключенной по I2C. При первом включении все содержимое AT24C16 будет переписано. Память не быстрая, поэтому процесс занимает до 10 секунд. В дальнейшем в память пишутся только измененные значения, поэтому работает быстрее.
- SPI_EEPROM. Хранение в W25Q64BV подключенной по SPI. Этот вариант используется по-умолчанию.
- FLASH_EEPROM_EMULATION. Это хранение EEPROM в flash памяти STM32. Этот вариант не работает.
- SRAM_EEPROM_EMULATION. Этот вариант не работает.
Для включения в Configuration.h в разделе EEPROM нужно указать нужный define. Возможные варианты указаны в комментарии. Пример:
#if ENABLED(EEPROM_SETTINGS)
/*
MKS Robin EEPROM:
EEPROM_SD
EEPROM_AT24C16
EEPROM_W25Q
*/
#define EEPROM_W25Q
#if ENABLED(EEPROM_AT24C16)
#undef SDCARD_EEPROM_EMULATION
#undef USE_REAL_EEPROM
#undef FLASH_EEPROM_EMULATION
#undef SRAM_EEPROM_EMULATION
#define I2C_EEPROM 1
#define I2C_EEPROM_AT24C16
#define USE_WIRED_EEPROM 1
#define MARLIN_EEPROM_SIZE 1024
#endif
#if ENABLED(EEPROM_W25Q)
#undef SDCARD_EEPROM_EMULATION
#undef USE_REAL_EEPROM
#undef FLASH_EEPROM_EMULATION
#undef SRAM_EEPROM_EMULATION
#undef I2C_EEPROM_AT24C16
#define SPI_EEPROM_W25Q
#define SPI_EEPROM
#define SPI_EEPROM_OFFSET 0x700000
#define USE_WIRED_EEPROM 1
#define MARLIN_EEPROM_SIZE 2048
#endif
#if ENABLED(EEPROM_SD)
#define SDCARD_EEPROM_EMULATION
#undef USE_REAL_EEPROM
#undef FLASH_EEPROM_EMULATION
#undef SRAM_EEPROM_EMULATION
#undef I2C_EEPROM_AT24C16
#undef SPI_EEPROM_W25Q
#undef USE_WIRED_EEPROM
#define MARLIN_EEPROM_SIZE 4096
#endif
#define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors.
#endif
Для изменения места хранения EEPROM нужно заменить "#define EEPROM_W25Q" на другой вариант.
Загрузка прошивки по WIFI
Есть возможность отправлять прошивку на принтер через WIFI. Для этого в файле platformio.ini в разделе [env:mks_robin_nano] нужно указать IP адрес принтера в опции upload_flags (строка 499).
Передача файла происходит при помощи curl, поэтому надо или добавить curl в $PATH, либо указать полный путь в файле mks_robin_nano.py в строке 48.
После настройки, для отправки прошивки на принтер, в меню platformio нужно выбрать Upload или нажать Ctrl+Alt+U.
После успешной передачи файла принтер перезагрузится автоматически.