roboforum.ru

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

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

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

Radus » 08 май 2014, 23:21

Попробовал включить эту опцию
И мотор экструдера теперь только дергается и вообще не выдавливает филамент.
Видать ошибка или недоделка в марлине.

#define ADVANCE

#ifdef ADVANCE
#define EXTRUDER_ADVANCE_K 0.1

#define D_FILAMENT 1.75
#define STEPS_MM_E 315.6
#define EXTRUTION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159)
#define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUTION_AREA)

#endif // ADVANCE

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

diglook » 27 июн 2014, 16:24

сделал я новый принтер. на старом принтере прошивка PRotos, и ее запустил на новом все работает.
решил загрузить Marlin, ради дополнительных функций , впервую очередь автоуровень стола.
управляю пока через RepetierHost, дисплей и карту памяти не подключал
команды G28 и G29 выполняются. команды перемещения игнорируются,
пишет Printer stopped due to errors. Fix the errors and use M999 to restart.(Temperature is reset. Set itafterrestarting)
Просмотрел всю ветку ответа не нашел.
Помогите пожалуйста решить вопрос. Или быть может у кого есть прошивка с автоуровнем стола )

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

Radus » 27 июн 2014, 16:40

diglook писал(а):сделал я новый принтер. на старом принтере прошивка PRotos, и ее запустил на новом все работает.
решил загрузить Marlin, ради дополнительных функций , впервую очередь автоуровень стола.
управляю пока через RepetierHost, дисплей и карту памяти не подключал
команды G28 и G29 выполняются. команды перемещения игнорируются,
пишет Printer stopped due to errors. Fix the errors and use M999 to restart.(Temperature is reset. Set itafterrestarting)
Просмотрел всю ветку ответа не нашел.
Помогите пожалуйста решить вопрос. Или быть может у кого есть прошивка с автоуровнем стола )

Так ты сам написал ответ на свой вопрос !
Temperature is reset. Set itafterrestarting
Не работает датчик температуры!
Подключи датчик и сбрось ошибку командой M999

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

diglook » 27 июн 2014, 16:58

так на голове датчик подключен и температуру могу регулировать. с прошивкой Protos печатал нормально.
Быть может отключить в прошивке все что касается подогрева стола( его пока нет)?

Добавлено спустя 10 минут 33 секунды:
Все решилось! Ну и мозг высушило за 2 дня.
короче отключил датчик стола и все #define TEMP_SENSOR_BED 0
в PROTOS достаточно поставить минимальную температуру стола в 5градусов и все.
Спасибо!

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

Dmitry__ » 16 июл 2014, 17:23

Господа, а вот у меня вопрос:
В G коде принтеров используется формат чисел с плавающей точкой?
Например для перемещения, вместо: "G1 X10.5 Y10 Z0.5" так:"G1 X1.05e+1 Y1e+1 Z5e-1" ???
К чему это я? Колупаю прошивку GRBL, наткнулся на жесткий косяк в виде оверхедов парсера: Прием строки символов, перевод символов в число формата int, потом перевод этого числа в формат float, а потом перевод его опять в int :)
Решил посмотреть реализацию парсера в marlin и... Вощем там совсем все плохо. Если в GRBL попытались оптимизировать преобразование строки в число функцией trunc() и самописной read_float(), то в marlin тупо применили тяжеловесную strtod :shock:
Вот у меня и вопрос, если в G коде нет чисел с плавающей точкой (я не обнаружил), то можно заменить strtod более легковесными быстрыми функциями. Или поимею уход от стандарта? Но почему тогда в GRBL так сделали?

Для понимания ужаса говнокода:
Парсер принимает строку "G1", символ "1" преобразует в число float, потом это число преобразуется в int и только после этого делается разбор синтаксиса оператором switch :o
Код: Выделить всёРазвернуть
    switch((int)code_value())
    {
    case 0: // G0 -> G1
    case 1: // G1
      if(Stopped == false) {
        get_coordinates(); // For X Y Z E F
        prepare_move();
        //ClearToSend();
        return;
      }
      break;
    case 2: // G2  - CW ARC
      if(Stopped == false) {
        get_arc_coordinates();
        prepare_arc_move(true);
        return;
      }
      break;

...

float code_value()
{
  return (strtod(&cmdbuffer[bufindr][strchr_pointer - cmdbuffer[bufindr] + 1], NULL));
}



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

ales2k » 17 июл 2014, 12:19

А нет ли у Марлина возможности постоянно чутка греть экструдер процентов на 10 мощности???

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

icehardy » 17 июл 2014, 12:25

ales2k писал(а):А нет ли у Марлина возможности постоянно чутка греть экструдер процентов на 10 мощности???

А это с какой целью необходимо?
сразу при включении чтоб грел или как

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

ales2k » 17 июл 2014, 12:32

Ясно что в процессе печати голова остывает. Рассеивание тепла в воздух, плавление филмента и тп.
Было бы логично подогревать голову не сильно, но постоянно, это бы снизило колебания температуры.

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

icehardy » 17 июл 2014, 12:36

Речь о печати двумя соплами или одним?
Что то не понимаю проблемы
при печати сопло постоянно греется, а если в два сопла печать то будет остывать второе сопло или нет это от слайсера зависит

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

ales2k » 17 июл 2014, 12:50

Речь о печати одним соплом - и сопло греется не всегда. А только когда температура снижается менее чем.

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

icehardy » 17 июл 2014, 13:02

Ясно что не буквально постоянно греется :)
Значит чтоб не возникало больших колебаний температуры нужно правильно настроить параметры PID
у меня колебания не больше 1 градуса и то редко бывает

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

ales2k » 17 июл 2014, 14:54

У меня цельнометаллическая голова - у нее потеря тепла большая, особенно на высоких температурах. После всех настроек ПИД имею колебания +-5 градусов.
Ну и китайский сука-термистор вносит свои 5 копеек.

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

icehardy » 17 июл 2014, 15:10

Какой именно конструкции голова?
Может просто утеплить нагреватель, а термобарьер пусть себе стынет
минеральный утелитель+каптоном замотать
Иногда еще каким то герметиком заливают

Решить этот вопрос программно наверно тоже можно,но будет ли проще и правильнее

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

ales2k » 17 июл 2014, 15:19

Китайский клон с http://e3d-online.com/E3D-v5

Про теплоизоляцию тоже думаю. Термисторы нормальные уже заказал.

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

Vovich70 » 17 июл 2014, 21:40

Я полоску силикона из коврика сковородного вырезал и по периметру нагревателя каптоном примотал))
Температура теперь практически стабильна +-1С


cron
Rambler\'s Top100 Mail.ru counter