roboforum.ru

Технический форум по робототехнике.
Текущее время: 05 апр 2025, 02:32

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 164 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10, 11  След.
Автор Сообщение
 Заголовок сообщения: Marlin 2.0 (32bit)
СообщениеДобавлено: 29 окт 2017, 20:54 
Не в сети

Зарегистрирован: 05 фев 2015, 22:58
Сообщения: 93
Как известно одна из популярных прошивок для 3D принтеров Marlin обзавелась поддержкой 32битных контроллеров на базе следующих чипов:
  • AT91SAM3X8E (на базе Arduino Due) (например RAMPS-FD, RADDS)
  • LPC176x (Всем известные девайсы на базе Smoothieboard) (работают ReARM, MKS Sbase, Azteeg X5 GT, AZSMZ mini)
  • STM32F1
  • Teensy 3.5/3.6 (они уже Cortex-M4 с FPU)

Предыстория: Товарижчь setar подбросил мне плату Azteeg X5 GT с драйверами BigFoot BSD2660. В оригинале плата работала на Smoothiware, но мне хотелось попробовать Marlin на ней. Собственно дело оставалось за малым, добавить в Marlin поддержку этой платы. К плате прилагался дисплей Viki2.

На фото ниже, Marlin запущенный на Azteeg X5 GT с Viki2 (к принтеру пока не подключал, драйвера tmc2660 не удалось запустить, надо написать или найти библиотеку для них)
Вложение:
DSC_0339.JPG
DSC_0339.JPG [ 7.13 МиБ | Просмотров: 125910 ]

Вложение:
DSC_0340.JPG
DSC_0340.JPG [ 6.74 МиБ | Просмотров: 125810 ]

Вложение:
DSC_0341.JPG
DSC_0341.JPG [ 5.95 МиБ | Просмотров: 125815 ]

Вложение:
DSC_0342.JPG
DSC_0342.JPG [ 5.75 МиБ | Просмотров: 125877 ]


Что сейчас работает:
  • Мапинг базовых пинов
  • Эндстопы
  • Грелки
  • Сервы
  • Термисторы
  • Экран Viki2
  • Драйверы (пробовал drv8825 и tmc2100)
Что не работает:
  • Драйверы BSD2660 (нет библиотеки, надо написать)
  • Ну и потенциально всё что не проверялось ;)

Как всё это было: вся проблема заключалась в том, что по этой борде нет нормальной спецификации с пинами, а предположение что все пины будут совпадать с тем что заявлено для Smoothieboard мягко говоря не оправдалось =). Так что пины искались методом реверс энжиниринга и научного тыка. Порт по сути делался не с нуля, а в качестве базы использовалось то, что было сделано уже для re-arm. Фотки и может пара видео этого дела будет в следующих постах.

Мой код поддержки Azteeg X5 GT смержили в основное дерево Marlin, так что берем бранч bugfix-2.0.x и пользуем

Базовая инструкция для сборки
  • Ставим platformio
  • Клонируем основную репу марлина
    Код:
    git clone https://github.com/MarlinFirmware/Marlin
  • Переключаем бранч на bugfix-2.0.x
    Код:
    git checkout -b bugfix-2.0.x origin/bugfix-2.0.x
  • Конфигурим как обычно, выставляем нужные параметры для платы и тип платы
  • Собираем
    Код:
    pio run -e LPC1768
  • В итоге получится файл firmware.bin (смотрим где он в выводе pio), копируем его на флешку, и перезапускаем плату
  • Радуемся Marlin на 32битной борде


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Marlin 2.0 (32bit)
СообщениеДобавлено: 08 окт 2018, 09:08 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
M42 P26 S{PWM 0 -255}
// возможно пин как требуется P0_26 описывать - нужно проверить

http://marlinfw.org/docs/gcode/M042.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Marlin 2.0 (32bit)
СообщениеДобавлено: 08 окт 2018, 11:53 
Не в сети

Зарегистрирован: 27 авг 2014, 02:11
Сообщения: 267
Откуда: Тольятти
ФИО: Михаил
Да спасибо, разобрался. Рулится такой командой М42 Р026 S...

UPD: Есть нюанс. В файле пинов нужно назначить пин 0.26 на серву 2(может быть на любую другую тоже заработает, не пробовал) #define SERVO2_PIN P0_26
И включить в конфиге поддержку серв вообще. #define NUM_SERVOS 3 и задать им всем делей #define SERVO_DELAY { 300, 300, 300 }. Иначе работать не будет. Может кому пригодится.

_________________
ZAV MAX Pro V1. ZAV mini.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Marlin 2.0 (32bit)
СообщениеДобавлено: 11 окт 2018, 11:15 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
очень даже пригодится :)
я сегодня вторую серву описывать буду (Bltouch + extruder switch), про зависимость от массива SERVO_DELAY я бы долго разбирался.
спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Marlin 2.0 (32bit)
СообщениеДобавлено: 31 окт 2018, 12:22 
Не в сети
Аватара пользователя

Зарегистрирован: 28 авг 2006, 17:09
Сообщения: 664
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов
Надо же, я как раз поменял на днях Marlin плату на MKS SBase и жалел, что для SBASE нет Marlin. Но потом обновил "смузю" на последнюю версию и она мне больше нравится чем Marlin. Печатает плавней на больших скоростях. Хотя я в Marlin через Cura настраивал ускорения и рывки, но смузя это делает оптимальней. Опять же в смузи код прозрачней - ковырять проще (;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Marlin 2.0 (32bit)
СообщениеДобавлено: 02 ноя 2018, 12:03 
Не в сети
Аватара пользователя

Зарегистрирован: 28 авг 2006, 17:09
Сообщения: 664
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов
Почитал исходники Marlin 2 и решил таки попробовать. Народ, как оно на SBASE - юзабильно уже? Стоит заморачиваться со сборкой под него? И есть какой нибудь "олдскульный" способ сборки под Linux без установки всяких IDE и проч? (toolchain под arm уже стоит)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Marlin 2.0 (32bit)
СообщениеДобавлено: 02 ноя 2018, 16:31 
Не в сети

Зарегистрирован: 18 дек 2014, 01:43
Сообщения: 1132
Strijar писал(а):
Почитал исходники Marlin 2 и решил таки попробовать. Народ, как оно на SBASE - юзабильно уже? Стоит заморачиваться со сборкой под него? И есть какой нибудь "олдскульный" способ сборки под Linux без установки всяких IDE и проч? (toolchain под arm уже стоит)

Я установил себе и не могу нарадоваться. Намного лучше Смузи, перешел потому что Смузи не все команды Гкода отрабатывает. Собирал через Платформио.

Есть правда один глючок, непонятный. При печати на экране скачет температура стола. То показывает заданную, то подскочит до 5-6 тысяч, то опять упадет. По факту вроде держит заданную ПИДом, но на экране такая вот фигня. Датчик менял. У экструдера все нормально, такой же датчик. Никто не сталкивался?

_________________
Noname + Arduino + RAMPS 1.4 + Marlin (не понравился)
Noname (CoreXY) + Duet2 WiFi v1.03 (MKS Clone) + 4 x (E3D V6 1,75 мм (боуден)) ToolChanger (в процессе эксплуатации)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Marlin 2.0 (32bit)
СообщениеДобавлено: 12 ноя 2018, 13:59 
Не в сети
Аватара пользователя

Зарегистрирован: 28 авг 2006, 17:09
Сообщения: 664
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов
Да, я тоже уже собрал и поставил. Пока устраивает. Одно раздражает не сохранение настроек. Раньше эмулировал EEPROM в файле на SD, но я так понял что выпилили эту фичу. Надо будет заняться и вернуть. А то ради поправки z-offset пересобирать прошивку как-то напрягает.

Народ, а кто занимался портированием Marlin2 на Selena Compact? Я купил ее, жду драйвера ST820. Как приедут хотел бы перейти на нее. Какие-то конфиги уже лежат в исходниках - на каком оно там этапе? Можно скооперироваться и дожать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Marlin 2.0 (32bit)
СообщениеДобавлено: 13 ноя 2018, 18:49 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
селена работает, EEPROM сохраняется на флешке.
UBL Autolevel принципиально не выполнить без калибровки (пересборкой прошивки не выполняется) которая и сохраняется в EEPROM.

по селене могу дать конфиги.

Добавлено спустя 9 минут 5 секунд:
кроме стандартного конфига из коробки
#define MOTHERBOARD BOARD_SELENA_COMPACT

я добавлял поддержку их же графического дисплея (конфигурировал как VIKI2), пришлось немного контакты поправить
Marlin/src/pins/pins_SELENA_COMPACT.h
Код:
#endif // REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

+//Panel Selena 3.1.0
+#if ENABLED(VIKI2)
+    #undef DEFAULT_LCD_CONTRAST
+    #define DEFAULT_LCD_CONTRAST 200
+
+//# SPI сигналы аппаратные
+//    #define SCK_PIN             P0_15
+//    #define MOSI_PIN            P0_18
+
+//# SPI сигналы на панели
+//    #define SCK_PIN             P0_07
+//    #define MISO_PIN            P0_08
+//    #define MOSI_PIN            P0_09
+
+    #define DOGLCD_SCK          P0_07
+    #define DOGLCD_MOSI         P0_09
+
+    #define DOGLCD_A0           P1_01
+    #define DOGLCD_CS           P1_00
+
+    #define BTN_EN1             P3_25
+    #define BTN_EN2             P3_26
+    #define BTN_ENC             P1_30
+
+    #define SDSS                P0_28
+    #define SD_DETECT_PIN       P0_27
+
+    #define BEEPER_PIN          P1_31
+#endif // VIKI2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Marlin 2.0 (32bit)
СообщениеДобавлено: 14 ноя 2018, 12:56 
Не в сети
Аватара пользователя

Зарегистрирован: 28 авг 2006, 17:09
Сообщения: 664
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов
Цитата:
селена работает, EEPROM сохраняется на флешке.


А какая версия? В последней из git нет даже пункта меню для сохранения.
И кстати, у меня тут Марлин2 перестал нормально печатать. Я просто экспериментировал с разными соплами и он вдруг стал дико перегревать экструдер. Я обычно печатаю на 235, а тут стал пластик закипать. Я уже снизил до 225 - и все равно не помогало. Стенки кривые, косые. Сдвигает слои. Я чего только не делал. Даже ремни нятягивал-ослаблял. И сопло поставил новое. Потом плюнул поставил "смузи" и оно все стало просто идеально. Так что пока на нем побуду.

Цитата:
UBL Autolevel принципиально не выполнить без калибровки (пересборкой прошивки не выполняется) которая и сохраняется в EEPROM.


Я автолевелом не пользуюсь. Стол выровнял и не трогаю. Иногда только z-offset поправляю когда сопла меняю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Marlin 2.0 (32bit)
СообщениеДобавлено: 14 ноя 2018, 13:14 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
все работает, поломок в последнее время не фиксировал (может перескочил через сбойные коммиты ?)
версия оригинальная https://github.com/MarlinFirmware/Marlin.git ветка bugfix-2.0.x


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Marlin 2.0 (32bit)
СообщениеДобавлено: 14 ноя 2018, 16:24 
Не в сети
Аватара пользователя

Зарегистрирован: 28 авг 2006, 17:09
Сообщения: 664
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов
Цитата:
все работает, поломок в последнее время не фиксировал (может перескочил через сбойные коммиты ?)


Да я как взял исходники так и не накатывал. Просто пересобирал изменяя конфиг. Сам не понимаю как оно случилось.

Цитата:
версия оригинальная https://github.com/MarlinFirmware/Marlin.git ветка bugfix-2.0.x


Ну да, ее и использую. Но все таки мне кажется что "смузи" лучше управляет движками. Может частота больше или еще что. Токи у меня одинаковые выставлены что в "смузи", что в Марлин. Но при этом "смузи" работает значительно тише и как-то четче. Хочу поковырять "смузи" под Селену. Убрать поддержку сети (web, ethernet, telnet) и прикрутить Micropython (;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Marlin 2.0 (32bit)
СообщениеДобавлено: 24 ноя 2018, 11:23 
Не в сети

Зарегистрирован: 13 янв 2014, 22:06
Сообщения: 80
Strijar писал(а):
Цитата:
Но при этом "смузи" работает значительно тише и как-то четче.

Потому, что там другая математика. Марлин так и остался на старых добрых джерках, смузи, а вслед за ней и клиппер, используют junction_deviation. Если интересны подробности, можно там https://onehossshay.wordpress.com/2011/09/24/improving_grbl_cornering_algorithm/ почитать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Marlin 2.0 (32bit)
СообщениеДобавлено: 26 ноя 2018, 18:32 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
Смузи хороша математикой, да.
Но для серьезных проектов не подходит.
Там много чего нету, взять тот же функционал автоуровня UBL:
криволинейная матрица поверхности, что очень нужно, ибо почти всегда стол представляет из себя закрученную винтом поверхность.
Это особенно начинает чувствоваться при размерах 400x400 и больше.
всякие миксеры для использования DiamondHead, переключаемые экструдеры (один мотор/два сопла),
паркуемые экструдеры.
Я уже не говорю про prusa mmu2 (переключатель цвета прутка)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Marlin 2.0 (32bit)
СообщениеДобавлено: 27 ноя 2018, 11:44 
Не в сети
Аватара пользователя

Зарегистрирован: 28 авг 2006, 17:09
Сообщения: 664
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов
Цитата:
Марлин так и остался на старых добрых джерках, смузи, а вслед за ней и клиппер, используют junction_deviation


Да, конечно же я все это уже понял и даже посмотрел как это реализовано (;
Я пару недель назад столкнулся с тем что Марлин перестал нормально печатать. Я решил попробовать поменять сопло и началось. То не липнет к столу, то пластик начинает кипеть (хотя параметры термистора и температура та-же!), когда начал печатать качество резко упало - стенки кривые, углы завалены итд итп. Я уже и ремни натянул, потом ослабил. Ничего не помогало. Плюнул, запустил под Смузи - и все стало просто идеально!

Цитата:
Там много чего нету, взять тот же функционал автоуровня UBL:
криволинейная матрица поверхности, что очень нужно, ибо почти всегда стол представляет из себя закрученную винтом поверхность.


Я автоуровнем не пользуюсь. Хотя индуктивный датчик был на голове, чтобы печатать на стекле я его перенес на раму. Со стеклом проблем кривизны стола нет. Хотя может это пока стол 220х220. Вот сделаю следующий ~350-400мм тогда посмотрю. Тут родилась безумная идея - приклеить силиконовую грелку прямо на 6мм стекло (;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Marlin 2.0 (32bit)
СообщениеДобавлено: 27 ноя 2018, 14:24 
Не в сети
Аватара пользователя

Зарегистрирован: 05 сен 2017, 10:50
Сообщения: 281
Откуда: Обнинск
ФИО: Андрей
Strijar писал(а):
Тут родилась безумная идея - приклеить силиконовую грелку прямо на 6мм стекло (;

Стекло обязательно должно быть закалённым... иначе либо стол будет вынужден греться пол-часа, либо лопнет от быстрого нагрева.
P.S. Думаю, можно попробовать использовать для эксперимента плоское закалённое автостекло, например, опускное с задней двери "классики" 2105.

_________________
Печатаю на RepRap


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 164 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10, 11  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO