roboforum.ru

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

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




Начать новую тему Ответить на тему  [ Сообщений: 164 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 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 МиБ | Просмотров: 125937 ]

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

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

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


Что сейчас работает:
  • Мапинг базовых пинов
  • Эндстопы
  • Грелки
  • Сервы
  • Термисторы
  • Экран 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)
СообщениеДобавлено: 31 окт 2017, 13:43 
Не в сети

Зарегистрирован: 13 ноя 2016, 14:15
Сообщения: 19
vtoryh писал(а):
Итого... Встал в компиляции на
In file included from Marlin\src\lcd\../inc/../HAL/HAL_LPC1768/HAL.h:57:0,
from Marlin\src\lcd\../inc/../HAL/HAL.h:47,
from Marlin\src\lcd\../inc/MarlinConfig.h:34,
from Marlin\src\lcd\ultralcd.cpp:23:
Marlin\src\lcd\dogm/ultralcd_st7920_u8glib_rrd.h: In function 'void ST7920_SWSPI
_SND_8BIT(uint8_t)':
Marlin\src\lcd\../inc/../pins/pins_MKS_SBASE.h:158:28: error: 'P0_14' was not de
clared in this scope
#define LCD_PINS_D4 P0_14 // EXP1.5
плата mks sbase с включенными опциями
#define ULTRA_LCD // Character based
#define SDSUPPORT
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
Хелп ми. :)

Может не так параметры экрана раскомментированы? Попробуй #define ULTRA_LCD - закоменти.


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

Зарегистрирован: 11 мар 2013, 15:47
Сообщения: 256
Откуда: МО, Нахабино
То же самое.

Добавлено спустя 36 минут 10 секунд:
В файле Marlin-bugfix-2.0.x\Marlin\src\HAL\HAL_LPC1768\pinmapping.h
Добавил строку #define P0_14 LPC1768_PIN(PORT(0), PIN(14), INTERRUPT(1), PWM(0), ADC_NONE)
Скомпилилось, но экран не показывает. :(

_________________
Печатаю на FastMaker(corexy, композитный корпус, AZSMZ mini, Volcano 0.4, 210х210х300)


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

Зарегистрирован: 13 ноя 2016, 14:15
Сообщения: 19
vtoryh писал(а):
То же самое.

Добавлено спустя 36 минут 10 секунд:
В файле Marlin-bugfix-2.0.x\Marlin\src\HAL\HAL_LPC1768\pinmapping.h
Добавил строку #define P0_14 LPC1768_PIN(PORT(0), PIN(14), INTERRUPT(1), PWM(0), ADC_NONE)
Скомпилилось, но экран не показывает. :(

U8glib отсюда скачивалась?
https://github.com/olikraus/U8glib_Arduino


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

Зарегистрирован: 05 фев 2015, 22:58
Сообщения: 93
vtoryh писал(а):
Итого... Встал в компиляции на
In file included from Marlin\src\lcd\../inc/../HAL/HAL_LPC1768/HAL.h:57:0,
from Marlin\src\lcd\../inc/../HAL/HAL.h:47,
from Marlin\src\lcd\../inc/MarlinConfig.h:34,
from Marlin\src\lcd\ultralcd.cpp:23:
Marlin\src\lcd\dogm/ultralcd_st7920_u8glib_rrd.h: In function 'void ST7920_SWSPI
_SND_8BIT(uint8_t)':
Marlin\src\lcd\../inc/../pins/pins_MKS_SBASE.h:158:28: error: 'P0_14' was not de
clared in this scope
#define LCD_PINS_D4 P0_14 // EXP1.5
плата mks sbase с включенными опциями
#define ULTRA_LCD // Character based
#define SDSUPPORT
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
Хелп ми. :)


А конфиг из Marlin/src/config/examples/Mks/Sbase/ собирается?

У меня MKS Sbase нет, так что не проверял на нём

Добавлено спустя 2 минуты 16 секунд:
iYw682w писал(а):
U8glib отсюда скачивалась?
https://github.com/olikraus/U8glib_Arduino


PlatformIO по идее само ставит нужные либы.

Добавлено спустя 2 минуты 20 секунд:
vtoryh писал(а):
То же самое.

Добавлено спустя 36 минут 10 секунд:
В файле Marlin-bugfix-2.0.x\Marlin\src\HAL\HAL_LPC1768\pinmapping.h
Добавил строку #define P0_14 LPC1768_PIN(PORT(0), PIN(14), INTERRUPT(1), PWM(0), ADC_NONE)
Скомпилилось, но экран не показывает. :(


Хе, там похоже пинов не хватает ;)


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

Зарегистрирован: 11 мар 2013, 15:47
Сообщения: 256
Откуда: МО, Нахабино
alexxy писал(а):
Хе, там похоже пинов не хватает ;)

Либо не допилено, либо я чета не так делаю. :(

_________________
Печатаю на FastMaker(corexy, композитный корпус, AZSMZ mini, Volcano 0.4, 210х210х300)


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

Зарегистрирован: 05 фев 2015, 22:58
Сообщения: 93
Видимо забыли ;) Не все конфигурации проверялись ;)


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

Зарегистрирован: 13 ноя 2016, 14:15
Сообщения: 19
Докладываю. Все отлично скомпелировалось. Проверить пока не смогу.
Если что брать сразу нужный бренч можно вот так:
git clone -b bugfix-2.0.x https://github.com/MarlinFirmware/Marlin.git


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

Зарегистрирован: 11 мар 2013, 15:47
Сообщения: 256
Откуда: МО, Нахабино
alexxy писал(а):
Видимо забыли ;) Не все конфигурации проверялись ;)

Ну ладно. будем делать подождать. :)

_________________
Печатаю на FastMaker(corexy, композитный корпус, AZSMZ mini, Volcano 0.4, 210х210х300)


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

Зарегистрирован: 04 мар 2012, 01:06
Сообщения: 1607
Откуда: Севастополь-Москва
скопилил по умолчанию скопировав примеры конфигов от sbase
сделалось два файла bin и elf
причём bin маленький совсем 80к а елф под 2мега
и смузя вешается при попытке прошиться

какого размера firmware.bin у вас компилится?

> Executing task: platformio.exe run --environment LPC1768 <
[11/01/17 15:19:18] Processing LPC1768 (build_unflags: -Wall; build_flags: !python Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py; src_build_flags: -Wall; lib_deps:
U8glib-ARM, CMSIS-LPC1768; extra_scripts: Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py; board_f_cpu: 100000000L; platform: nxplpc; lib_extra_dirs: frameworks; li
b_ldf_mode: off; src_filter: +<src/*> -<src/config>)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Warning! Library `CMSIS-LPC1768` has not been found in PlatformIO Registry.
You can ignore this message, if `CMSIS-LPC1768` is a built-in library (included in framework, SDK). E.g., SPI, Wire, etc.
Verbose mode can be enabled via `-v, --verbose` option
Collected 9 compatible libraries
Looking for dependencies...
Library Dependency Graph
|-- <U8glib-ARM> v1.18.1
|-- <CMSIS-LPC1768> v0.0.0
Linking .pioenvs\LPC1768\firmware.elf
Calculating size .pioenvs\LPC1768\firmware.elf
text data bss dec hex filename
86564 1128 6092 93784 16e58 .pioenvs\LPC1768\firmware.elf

Добавлено спустя 2 часа 17 минут 51 секунду:
Блин по привычке смотрел на лампочки платы. Они ж выключены в марлине
короче заработал дисплей GLDC P0_15 должен быть на A0
а вот кардридер не собрался.
И по USB монтирует флешку но компорт хотя и появляется, нет коннекта из пронтерфейса

#define LCD_PINS_D4 P0_15 // EXP1.5

//#define ULTRA_LCD // Character based
//#define SDSUPPORT
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER


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

Зарегистрирован: 14 янв 2015, 16:18
Сообщения: 235
Откуда: СПб
karabas2011 писал(а):
а вот кардридер не собрался.


попробуй
#define SDCARD_SORT_ALPHA


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

Зарегистрирован: 04 мар 2012, 01:06
Сообщения: 1607
Откуда: Севастополь-Москва
Да уже нашёл. Без сортировки никак, а с ней видимо глюки.
cddetect отрабатывает, а проинитить флешку не может. Рисует трясущиеся полосочки на экране, потом говорит нет карты.
флешки разные пробовал.

Пронтерфейс так и не сконнетился. Хотя компорт исправно в системе появляется


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

Зарегистрирован: 14 янв 2015, 16:18
Сообщения: 235
Откуда: СПб
Вывод марлина на AUX-1 P0.2


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

Зарегистрирован: 05 фев 2015, 22:58
Сообщения: 93
Для USB-to-Serial надо поставить PORT на -1, у меня только так с Azteeg заработал USB-to-serial


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

Зарегистрирован: 11 мар 2013, 15:47
Сообщения: 256
Откуда: МО, Нахабино
karabas2011 писал(а):
Блин по привычке смотрел на лампочки платы. Они ж выключены в марлине
короче заработал дисплей GLDC P0_15 должен быть на A0
а вот кардридер не собрался.
И по USB монтирует флешку но компорт хотя и появляется, нет коннекта из пронтерфейса

#define LCD_PINS_D4 P0_15 // EXP1.5

//#define ULTRA_LCD // Character based
//#define SDSUPPORT
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

Исправил настройки пинов платы
#define LCD_PINS_D4 P0_15 // EXP1.5
Экран заработал. флешка не видится, никак.

Отправьте кто-нибудь разрабам... что нужно пин поправить. :)

_________________
Печатаю на FastMaker(corexy, композитный корпус, AZSMZ mini, Volcano 0.4, 210х210х300)


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

Зарегистрирован: 13 ноя 2016, 14:15
Сообщения: 19
vtoryh писал(а):
karabas2011 писал(а):
Блин по привычке смотрел на лампочки платы. Они ж выключены в марлине
короче заработал дисплей GLDC P0_15 должен быть на A0
а вот кардридер не собрался.
И по USB монтирует флешку но компорт хотя и появляется, нет коннекта из пронтерфейса

#define LCD_PINS_D4 P0_15 // EXP1.5

//#define ULTRA_LCD // Character based
//#define SDSUPPORT
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

Исправил настройки пинов платы
#define LCD_PINS_D4 P0_15 // EXP1.5
Экран заработал. флешка не видится, никак.

Отправьте кто-нибудь разрабам... что нужно пин поправить. :)


Да, обязательно надо отправлять. Если не можете, то кидайте сюда описание проблемы или просто информацию, но обязательно надо прикладывать zip фаил с `Configuration.h` and `Configuration_adv.h`. Есть аккаунт на гите, могу репостить туда.


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


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

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