roboforum.ru

Технический форум по робототехнике.

3D принтер. Прошивка Marlin, оптимизация.

Re: 3D принтер. Прошивка Marlin, оптимизация.

icehardy » 29 сен 2015, 20:49

По идее можно бы во время печати вовсе уменьшить частоту обновлений экрана
и не выводить координаты по XY, достаточно Z
Или на загрузке процессора это не скажется ?

Re: 3D принтер. Прошивка Marlin, оптимизация.

Dmitry__ » 29 сен 2015, 21:57

icehardy писал(а):Или на загрузке процессора это не скажется ?

Не, не сказывается, просто бесит моргающий экран.
В прошивке, зачем-то, сделали очистку всего экрана при команде m117. Я закомментировал "lcd.clear();" в "static void lcd_implementation_clear()" в файле "ultralcd_implementation_hitachi_HD44780.h". Экран не мелькает, остальное вроде не поломал :)
Код: Выделить всёРазвернуть
static void lcd_implementation_clear()
{
//!!!*!!!    lcd.clear();
}

Re: 3D принтер. Прошивка Marlin, оптимизация.

Dnaroid » 30 сен 2015, 00:01

Если, все же поломали - посмотрите в файле ultralcd.cpp в теле функции void lcd_finishstatus()

Код: Выделить всёРазвернуть
void lcd_finishstatus() {
  int len = lcd_strlen(lcd_status_message);
  if (len > 0) {
    while (len < LCD_WIDTH) {
      lcd_status_message[len++] = ' ';
    }
  }
  lcd_status_message[LCD_WIDTH] = '\0';
  #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT) && !defined(DOGLCD)
    #if PROGRESS_MSG_EXPIRE > 0
  messageTick =
    #endif
  progressBarTick = millis();
  #endif
  lcdDrawUpdate = 2;

  #ifdef FILAMENT_LCD_DISPLAY
  message_millis = millis();  //get status message to show up for a while
  #endif
}


в строке lcdDrawUpdate = 2 поменяйте значение на 1.

Добавлено спустя 4 минуты 37 секунд:
icehardy писал(а):По идее можно бы во время печати вовсе уменьшить частоту обновлений экрана
и не выводить координаты по XY, достаточно Z
Или на загрузке процессора это не скажется ?

Зависит от типа и разрешения экрана. Делал поддержку цветного дисплея - обновление экрана около 0.5сек. :(

Re: 3D принтер. Прошивка Marlin, оптимизация.

Dmitry__ » 30 сен 2015, 00:29

Dnaroid писал(а):Если, все же поломали - посмотрите в файле ultralcd.cpp в теле функции void lcd_finishstatus()

Это все так, я оттуда есно и начал копать и добрался до lcd.clear(). Я вообще не понимаю смысла в lcd.clear, если вывод на индикатор идет с гашением старых символов.

Re: 3D принтер. Прошивка Marlin, оптимизация.

Dnaroid » 30 сен 2015, 20:51

Dmitry__ писал(а):
Dnaroid писал(а):Если, все же поломали - посмотрите в файле ultralcd.cpp в теле функции void lcd_finishstatus()

Это все так, я оттуда есно и начал копать и добрался до lcd.clear(). Я вообще не понимаю смысла в lcd.clear, если вывод на индикатор идет с гашением старых символов.


На символьном дисплее так и происходит. Но на графическом дисплее с символами разной ширины проще обновлять экран частично, чтобы не было мерцания.

Re: 3D принтер. Прошивка Marlin, оптимизация.

Dmitry__ » 01 окт 2015, 01:44

Все равно низачот. Значит должны были быть любимые марлином #ifdef, типа:
Код: Выделить всёРазвернуть
#ifdef graf_lcd
    разная хрень
    нужная графич. индикатору
#endif

Еще один из стотыщ #ifdef уже не испортит нечитабельность исходников :D

Re: 3D принтер. Прошивка Marlin, оптимизация.

dccharacter » 02 окт 2015, 00:04

Покритикуйте идею - при хоуминге/z-пробинге перед вторым подходом поднимать зонд не на предустановленное значение, а до момента отключения датчика.
Т.е. вот эти параметры:
#define X_HOME_RETRACT_MM 5
#define Y_HOME_RETRACT_MM 5
#define Z_HOME_RETRACT_MM 1
Сделать автоматическими - откатывается, пока эндстоп отключился, и опять прем до включения.
Че-т я не пойму, что я потеряю, избавившись от этих настроек

Re: 3D принтер. Прошивка Marlin, оптимизация.

setar » 02 окт 2015, 12:06

пока эндстоп отключился, и опять прем до включения

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

Re: 3D принтер. Прошивка Marlin, оптимизация.

dccharacter » 02 окт 2015, 14:02

Почему половину? Момент включения. У меня на микриках большой гистерезис, но на датчике из вентилятора вообще был миллиметра полтора.
Вот про установившийся режим - понятно, логично, согласен.

Re: 3D принтер. Прошивка Marlin, оптимизация.

dccharacter » 12 окт 2015, 05:24

Народ, а как улучшить чертов марлин? Он чудесатые чудеса вытворяет. Пример: в этой дурашке можно задать подъем по оси Z перед хомингом. Понятно для чего это делается, да? Чтобы соплом по столу не елозить и щупы не отрывать. Ну и чо, смотрим команду G28: сначала долго и муторно хоумим Х и У, потом радостно летим в место хоуминга Z, _потом только_ поднимаем каретку по Z и начинаем очень безопасно хоумиться. Это уже после того как оторвало щуп на хоуминге X и Y.

Re: 3D принтер. Прошивка Marlin, оптимизация.

setar » 12 окт 2015, 17:09

с ходу лень смотреть исходники, но вроде там была обработка что то вроде SAFE_HOMING для G28
а как улучшить - заводи свой форк на гитхабе, пили, коммить и предлагай свои коммиты для мерджа.
только как показывает моя практика они сначала подумают, потом еще подумают, потом посоветуют изменить стиль именования переменных а потом скажут что фикс несущественный :)

Re: 3D принтер. Прошивка Marlin, оптимизация.

dccharacter » 13 окт 2015, 06:32


Re: 3D принтер. Прошивка Marlin, оптимизация.

2Zombi » 18 окт 2015, 17:24

Народ!!! Скиньте кали-ласка прошивку MARLIN на Prusa i3 . Шпильки 5мм , 3 концевика , ремень GT2 , шпули на 16 зубов , экструдер bowden mk8 , ramps 1.4 , mega 2560 , lcd 12864. Если надо ещё какие параметры , то сообщу.

Re: 3D принтер. Прошивка Marlin, оптимизация.

setar » 19 окт 2015, 13:48

Изображение

Re: 3D принтер. Прошивка Marlin, оптимизация.

2Zombi » 19 окт 2015, 15:19

??? :beer:


Rambler\'s Top100 Mail.ru counter