Jump to content

KomAndr

Administrators
  • Content Count

    341
  • Joined

  • Last visited

  • Days Won

    35

Everything posted by KomAndr

  1. Все настройки приведены относительно стокового файла настроек, находящегося по пути Marlin\example_configurations\Anet\A8\ Все написанное ниже относится к связке Mega 2560 и RAMPS 1.5, но настройки идентичны и для стоковой платы Anet A8 Небольшое отступление, новые RAMPS есть в трех исполнениях: 1.4 - стандартный RAMPS; 1.5 - с немного измененной схематикой и комплектующими, более мощные мосфеты и SMD предохранители; 1.6 - тоже самое, что и 1.5 но уже с наклеенным радиатором на три мосфета. Вот и настал черед китайского клона BlTouch. Не знаю, попался мне качественный зонд или просто повезло, но больших затруднений в его настройке не возникло. Выбирал его на Али как самый дешевый из всех возможных на момент покупки, GEEETECH Official Store Читал много негативных отзывов об этом магазине в группе Anet A8 в фейсбуке. Но после его настройки понял, что у не довольных руки не от туда растут. Зонд прибыл в антистатическом кульке и мягкой, почтовой упаковке. По качеству исполнения все становится понятно. Китайцы давно не заморачиваются с красотой в угоду стоимости. Перед установкой я полистал сайт Thingiverse и посмотрел куда на Аньке его ставят люди. Можно было его на место предыдущего зонда поставить, но постоянное свечение красным огоньком спереди не прельщало. Нашел расположение сзади на линейном подшипнике. Но и тут не все просто. У автора стоит E3D V6 и с высотой расположения зонда непонятка. Он наклепашил разных размеров по высоте и как-то грустно мне стало разбираться. Сел и сварганил свое крепление в SolidWorks. Одно из условий установки зонда это высота от сопла до нижнего края зонда в 8,3мм Распечатал подставку-калибр, опустил сопло на стол, приложил сзади зонд и снял размеры штангенциркулем. Получилась вот такая вставка. (АК это не автомат калашникова!!!) Вставляется в отверстия подшипника и расклинивается двумя винтиками М2х16 Теперь красный огонек зонда поселился сзади экструдера. Для соединения зонда с платой взял не нужный VGA кабель, расчехлил его и выбрал 5-ть толстых проводков. Лишнее обрезал. Обжал, с одной стороны разъемы мама Dupont, с другой мама Dupont и CHU-3. С механикой разобрались - переходим к электрике. Как всегда в описании товара продавец не удосужился расписать схему подключения. Поковырялся в инете, накопал Wiki от Geeetech с подключением ихнего творения. Распиновка понятна. включаем по схеме к RAMPS но зонд не подает признаков жизни. Забегая на перед. Оказывается в RAMPS, по умолчанию, сигналы с уровнем 3,3В. Соответственно нам не хватает питания для работы зонда и нужно поднять напряжение до 5В и делается это, всего лишь, установкой одной перемычки. Ну вот и с электрической частью разобрались! Вносим изменения в Configuration.h #define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector. #define Z_SERVO_ANGLES {10,90} // У этого зонда именно такие углы. #define BLTOUCH // Активирует меню в настройках принтера из которого можно тестировать зонд. Аналогично команде M280 P0 в слайсере. #define X_PROBE_OFFSET_FROM_EXTRUDER 20 // X offset: -left +right [of the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER 52// Y offset: -front +behind [the nozzle] #define Z_MIN_PROBE_REPEATABILITY_TEST //для проверки точности зонда //#define MIN_SOFTWARE_ENDSTOP_Z // комментируем для возможности выставить отрицательный offset #define AUTO_BED_LEVELING_BILINEAR #define GRID_MAX_POINTS_X 4 // усли кого напрягает 16-ть точек замера - оставляем стандартное значение 3. #define ABL_BILINEAR_SUBDIVISION // не обязательно #define BILINEAR_SUBDIVISIONS 4 // не обязательно #define MESH_EDIT_GFX_OVERLAY #define GRID_MAX_POINTS_X 4 #define Z_SAFE_HOMING // Обязательная команда с BlTouch - хоминг будет происходить строго в центре стола, что бы избежать поломки механики и зода!!! #define INDIVIDUAL_AXIS_HOMING_MENU #define NUM_SERVOS 1 // Servo index starts with 0 for M280 command В новых версиях Marlin необходимо еще определить область замера. // Set the boundaries for probing (where the probe can reach). #define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE #define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE)) #define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE #define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) Если этого не сделать, то при отправки команды G29 в принтер, он отхомится и остановится, а в терминальном окне будет видно, что он не знает границ замера и просит их указать. Если просто раскоментировать указанный фрагмент настроек, то при компиляции получим ошибки, как на пример: FRONT_PROBE_BED_POSITION is outside the probe region. Получается, что с нашим Offset_Y52 (исходя из моего примера смещение по Y52 и габаритам стола 220х220), принтер не может передвинуть корретку по Y так, что бы зонд попал в позицию Y10 потому, что при этом значении и offset Y52 карретка принтера должна отъехать по Y в -48. Считаем - "10 - 52 = -48" от этого значения можно еще отнять 10мм это отрицательное смещение концевика Y в нашем принтере. (#define Y_MIN_POS -10) и на выходе получаем -38мм По этому корректируем FRONT_PROBE_BED_POSITION вот таким выражением #define FRONT_PROBE_BED_POSITION (MIN_PROBE_EDGE +38) С таким значением карретка по Y будет находится на -10мм от края стола, а зонд на 48 мм к центру от края стола. Можно просто это выражение записать как прямое указание координаты предела #define FRONT_PROBE_BED_POSITION 48 Теперь попробуем взять пример если зонд находится не сзади сопла, а спереди на 20мм, cоответственно в конфиге Offset Y-20. С таким значением офсета фронтальная позиция зонда будет попадать в указанный предел FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE, а вот #define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) выходит за границы принтера, т.к. 220 - 10 = 210мм, добавляем наш Offset Y-20, 210 + 20 = 230мм. Получается сопло должно находится на 10мм за пределами границы принтера по оси Y и при компиляции мы получим ошибку BACK_PROBE_BED_POSITION is outside the probe region. По этому считаем допустимое значение исходя из выше написанного #define BACK_PROBE_BED_POSITION (Y_BED_SIZE - 20) или просто указываем числовой предел #define BACK_PROBE_BED_POSITION 200 Компилируем прошивку и проверяем на отсутствие ошибок. Если есть - проверяем по указанной методе значение ошибочной позиции. Все прописано, прошивка залита в принтер и все должно работать. Включаем принтер, а зонд в непонятке и уходит в защиту. Постоянно моргает красным!Не все так просто как оказалось. Зонд нужно еще настроить! Зонд устроен так, что при подаче на него питания он дважды опускает и поднимает щуп. Если все нормально, щуп не затирает и нигде не упирается - зонд переходит в рабочее состояние с втянутым щупом и постоянным свечением светодиода. Если ему, что-то не нравится - он уходит в защиту постоянно моргая светодиодом. Порядок настройки зонда: Поднимаем сопло выше уровня стола на 10-20мм.; Если зонд моргает(в аварийном состоянии), через слайсер вводим команду M280 P0 S160 или через меню принтера выбираем Control/BLTouch/ Reset BlTouch. Зонд успокоится и светодиод погаснет. Берем шестигранник, вставляем в регулировочный винт зонда и плавно крутим против часовой стрелки до момента включения светодиодной индикации. Ловим именно момент когда загорится светодиод и на 1мм или 1градус, кому как удобнее, доворачиваем против часовой стрелки. Так же делаем если у зонда, после сброса горит светодиод, только крутим по часовой, до момента его выключения и возвращаем его обратно как писал выше. Тестируем командой M280 P0 S10 - щуп опускается и светодиод тухнет; Команда M280 P0 S90 - втягивает щуп и светодиод загорается; Автоматический тест M280 P0 S120 - будет опускать и поднимать щуп пока не сделаете сброс командой M280 P0 S160 или через меню принтера Control/BLTouch/ Reset BlTouch Вот теперь зонд настроен и готов к работе. Но нам еще нужно выставить Z OFFSET: Запускаем принтер и через меню настроек производим инициализацию EEPROM; Подключаем слайсер и отправляем команду M851 Z0; Вводим G28; Вводим команду G1 X110 Y110 - сопло переместится в центр стола; Опускаем сопло, пультом управления осями в слайсере, до нужной высоты, проверяя расстояние листом бумаги А4 между столом и соплом; После выставления нужной высоты смотрим на дисплей принтера и записываем получившуюся отрицательную высоту по оси Z, к примеру у меня Z-1,29; Вписываем значение в команду M851 Z-1,29; Сохраняем вписанные значения в EEPROM командой М500; Проверяем правильность установки офсета. Отправляем команду G28, после хоуминга ложим листок на центр стола, отправляем команду G1 Z0 и проверяем листочком высоту сопла. Вот и все настройки и проверки. Ну и в завершении нужно проверить все это в "бою". Опять же нашел модельку коробки LCD дисплея, В SolidWorks немного ее изменил и распечатал. К стати настройки стартового кода в слайсере остались как описано во второй части. (см в начале поста) На данном этапе калибровка высоты стола осуществляется по 16-ти точкам, квадрат 4х4. Единственное напрягает, что калибровка начинается не с Х0.Y0, а с X200.Y-10 и идет к 0.0 Но мне кажется это нормально, с учетом того, что конечная точка калибровки остается X200.Y200 Готовый результат отлично был прикручен сверху на станину принтера в существующие крепежные отверстия, только два винта нужно заменить на более длинные М3х20. Коробка довольно жесткая, от нажатий не шатается, да и доступ к SD-card теперь не затруднен. Единственное, что мне пока не нравится - это подключение компа по USB и постоянна работа принтера от подключенного кабеля USB. Первую проблему буду решать USB-удлинителем, а вторая решается отключением +5в(красный провод) в удлиннители кабеля USB. Модели можно взять по ссылкам: Крепление 3DTouch к линейному подшипнику. Крепление LCD 12864 экрана к раме принтера. Печать на 100мм/с проходит на ура. Кубик 20х20х20 на указанной скорости
  2. @kasper шток люминявый, заменить на любой, подходящей толщины. Магнитик роли не играет, он выполняет роль удерживателя штока. Длинной кембрика от магнита регулируется сила удержания. П.С. настоятельно рекомендую перейти на 55грн серва, 40-50грн оптический концевык, 50коп винт М3, пружинка из авторучки. Пластик ABS у 3Дешника всегда найдется
  3. @kasper при простое, сложно сказать, наверное наводки, а при замере - нужно укоротить кембрик на штоке, котрьій держит магнит. Только без фанатизма, на 0.5мм.
  4. Все настройки приведены относительно стокового файла настроек, находящегося по пути Marlin\example_configurations\Anet\A8\ И так на руках есть два зонда LJ18A3-8-Z/BX - индукционный(срабатывает на металл) и LJC18A3-8-Z/BX емкостной и регулируемый(срабатывает еще и на тело) Оба зонда нормально разомкнуты NPN. При срабатывании на сигнальном проводе появляется минус. 414dee72ab2e62458327143f10f53706.jpg Расключение зонда: КОРИЧНЕВЫЙ - "плюс от 5В до 30В"; СИНИЙ - "минус"; ЧЕРНЫЙ - "сигнальный". Много читал, что нужно питать именно от 12В, но эксперимент на двух зондах показал адекватную работоспособность и от +5В Забегая наперед - точность замеров 0,019мм. Было распечатано два держателя под зонд. Как на картинке выше - для стокового директа MK8. Если сделать модернизацию, как на фото ниже("открывающийся" штатный вентилятор) - перекрывается радиатор охлаждения и нужен другой держатель. Так как работа зонда идентична работе концевика Z - я сделал "горыныча", или разветвитель. С его помощью можно подключить и зонд и концевик одновременно. Одно из названий коннекторов CHU-3 Цыфра обозначает кол-во контактов. Дальше установил зонд и пошел анализ получившейся конструкции. Через управление слайсером подвел зонд к левому переднему краю стола XY(0,0) и померил расстояние, по осям, от края стола до ценра сопла. Получилось по Х-23мм, по Y-44мм. Так как зонд стоит слева и спереди, относительно сопла, получили отрицательные координаты OFFSET - записываем их. Передвигаем экструдер в центр стола и поднимаем его на пару мм выше сопла. Регулируем зонд, что бы он начинал срабатывать на этой высоте и затягиваем его крепление. Механический концевик оси Z не трогаем. Концевик будет дублировать зонд на случай его отказа. К стати, у меня стоит антивоблинг и ось Z не связана жестко с экструдером. По этому я не сильно переживаю если ось Z не остановится по концевику. Максимум может быть неприятный треск говорящий о том, что двигатель пропускает шаги и уперлась винтовая гайка в муфты оси Z(вот это завернул!) Теперь идем в Configuration.h и производим настройку программы. Все настройки приведены относительно стокового файла настроек, находящегося по пути Marlin\example_configurations\Anet\A8\ То, что я изменил для работы зонда: #define PROBING_HEATERS_OFF //отключение нагрева стола во время автоуровня; #define PROBING_FANS_OFF //отключение вентилятора.; #define X_PROBE_OFFSET_FROM_EXTRUDER -23 //смещение датчика автоуровня относительно сопла по оси Х -23мм.; #define Y_PROBE_OFFSET_FROM_EXTRUDER -44 //смещение датчика относительно сопла по оси Y -44мм.; #define XY_PROBE_SPEED 10000 //это скорость перемещения экструдера при замерах. По умолчанию 6000 Можно оставить как было #define MULTIPLE_PROBING 2 // это количество замеров проводимых в одной координате. Если оставить закоментированным значение - берется одна проба. #define Z_MIN_PROBE_REPEATABILITY_TEST //эта строчка позволяет произвести замер точности показаний зонда. Запускается из слайсера командой M48. Как говорил выше - точность составила 0,019мм; //#define MIN_SOFTWARE_ENDSTOP_Z //эта строчка отключает остановку экструдера при движении по оси Z Нам это нужно, что бы настроить OFFSET Z.; #define AUTO_BED_LEVELING_BILINEAR // выбираем режим автокалибровки стола. #define ABL_BILINEAR_SUBDIVISION //Синтезирует промежуточные точки, чтобы получить более подробную сетку. Ну люблю я все новое пробовать. #define Z_PROBE_END_SCRIPT "G1 X-32 Y-9\nG1 Z10" // Эта команда возвращает экструдер, после калибровки уровня стола, в близкое к первоначальным координатам и поднимает его на 10мм по оси Z. Можно не трогать эту строчку, тогда движение экструдера, при начале печати, будет начинаться в дальнем правом углу. С того места где остановился экструдер после калибровки. #define Z_SAFE_HOMING // после этой настройки хоуминг оси Z будет происходить после хоуминга осей Х,Y и в центре стола. Это нужно, что бы зонд находился над столом в момент хоуминга оси Z; #define INDIVIDUAL_AXIS_HOMING_MENU //Моя любимая настройка, позволяющая отправлять отдельно оси домой. Hide Первая часть марлизонского балета окончена. Это необходимые настройки для правильной работы автоуровня. После прошивки принтера - приступаем к его настройке. Отправляем все оси домой. Последней хоумится ось Z и по окончании поднимает экструдер на 10мм оставляя его в середине стола. Через управление принтером в слайсере опускаем Z к столу на 10мм, потом по миллиметру, потом по 0,1мм и регулируем первый слой бумажным листом. После регулировки на табло принтера мы увидим отрицательное число оси Z. В моем случае "Z-3.6" От этого значения отнимаем 0.1мм - толщину листа А4 и получаем Z -0,37. Это значение и будет нашим OFFSET-ом оси Z Можно внести его через кнопки принтера или командой M851 Z-3.7 и сохраняем это значение в памяти принтера командой М500 или кнопками принтера через меню. Так же можно это значение вписать в конфигурационный файл #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.7 и прошить прошивку еще раз. Теперь настал черед подправить стартовый скрипт в слайсере. Ниже мой пример: Start script M140 S[bed0_temperature] ; Прогрев стола без ожидания M109 S[extruder0_temperature] ; прогрев экструдера с ожиданием G90 ; установитm абсолютное позиционирование G21 ;установить метрическую систему M82 ;установить экструдер в абсолютный режим M117 Auto home now G28 ; захоумить все оси M117 Autobedleveling... G29 ; запустить автоматическое выравнивание M117 Moving up on 5 mm... G1 Z5 E-2 F3000 ; поднять сопло 5 мм и втянуть филамент(ретракт) на 2мм G90 ; установитm абсолютное позиционирование M117 Preheat now... M116 ; ожидание прогрева всех нагревателей(экструдер и стол) M190 S[bed0_temperature] ; ожидать прогрев стола M117 Start G92 E0 ;обнулить значение пути экструдера G1 F200 E5 ;подать в экструдер 5мм филамента. Hide Можно обойтись и просто командами G28 и G29, но я уже привык когда мне принтер еще и на экране что-то пишет...;) Еще в слайсере Simplify3D, в разделе Post Processing в поле Additional terminal commandsfor post processing дописал такой скрипт: {REPLACE "; layer" "M117 Layer"} {REPLACE " Z = " " Z="} Теперь в последней строчке на экране, во время печати, принтер пишет какой слой печатается и какая текущая высота слоя. Равномерной всем экструзии!!!
  5. Еще как может! Он реагирует не только на стекло,а и на металл и на индукционное поле. Я перепробовал все известные зонды, так что ответ подкреплен опытом использования!
  6. Приветствую! Конечно есть. Из опыта - емкостные и индукционные датчики - ЗЛО. У них нет никакой стабильности и их показания зависят от прохождения Меркурия в доме Венеры ... Если серьезно - вся беда в том, что он не рассчитан для использования на 3Д принтере. Показания могут зависить даже от напряженности магнитного поля создаваемого нагревательным столом. Если уж очень, ну прям очень нужно использовать это зонд нужно прошивке активировать отключение нагрева на момент замера. И то не факт, что будет хорошо. Если в Марлине активировать функцию М48 и дать команду на тест повторяемости замеров - можно сильно огорчиться! Мой совет - за 100грн можно самому себе напечатать зонд автолевела не уступающего по характеристикам оригинальному BlTouch!
  7. Я смог победить эту функцию только со второго раза, поделюсь с Вами. В версиях Marlin 1.1.9 и bagfix-2.0.x - используется Linear Advance v 1.5. Это ссылка на оригинальную статью. Если активировать эту функцию, то придется подправить все свои стартовые скрипты в слайсере и провести тестовые печати всеми используемыми пластиками. Так как коэфициент поправки для разных пластиков будет разным, а еще нужно иметь правильно отстроенную высоту печати первого слоя! Если все еще интересно заморочиться с этим - тогда идем дальше! Для активации этой функции открываем Configuration_adv.h и раскоментируем и меняем значение переменной К: #define LIN_ADVANCE #define LIN_ADVANCE_K 0 // Unit: mm compression per 1mm/s extruder speed Второй строчкой мы принудительно отключаем эту функцию, до момента ее активации в стартовом скрипте командой М900 Кх.хх В версии 1.5 значения записываются через десятичную дробь. Теперь открываем конфигуратор настройки тестовой печати В конфигураторе заполняем поля своими данными относительно принтера, скорости, пластика и т.д. Я рекомендую обратить особое внимание на следующие пункты: 1. В секции Speed - желательно установить значение с которыми Вы печатаете, не меняем только Jerk!; 2. В секции Pattern нам нужно будет пару раз менять значения, для выявления оптимального диапазона коэфициента: Lin Advance Version: 1.5 Starting Value for K и Ending Value for K для первого старта оставляем как есть K-factor Stepping 0.1 - захватим больший диапазон печатаемых значений Slow Speed Length и Fast Speed Length можно оставить как есть, а можно увеличить на 20мм каждое. Test Line Spacing - дистанция между тестовыми линиями. Если значение будет большим и все тестовые линии не поместятся в границы печатного поля - генератор укажет желтым цветом на ошибочные данные. Print Anchor Frame желательно отметить. По краям тестовых линий напечатается рамка при старте теста, это позволит продавить пластик и приступить к тестовой печати линий, как говорится с полным соплом 3. Нажимаем кнопку генерировать код, скачиваем его и скармливаем принтеру. По окончании теста Вы получаете набор линий приблизительно такого формата. Только линии будет с разной конфигурацией, второй скрин 4. Теперь выбираем диапазон значений в котором линия пропечаталась наиболее однородно. К примеру у меня получилось более менее однородными значения 0,1 и 0,2 Дальше линия после быстой фазы печати прерывалась и образовывалось пустое поле. Вы это поймете когда проведете первый тест. 5. Теперь возвращаемся в п.2 и изменяем значения: Starting Value for K - 0.1 Ending Value for K - 0.2 K-factor Stepping 0.01 Опять генерируем, скачиваем, скармливаем и повторяем п.3 Теперь Вы четко увидите диапазон, а может и "одну единственную", ту самую, линию. Записываете ее значение в стартовом коде. В моем случае этот коэффициент был 0.14 Соответственно в стартовом коде, в конце, пишем М900 К0.14 Если хочется напечатать что-то без функции Linear Advance, то нужно обязательно в конце скрипта прописать М900 К0 - Нулевое значение отключает коррекцию давления пластика в сопле. Теперь эту процедуру необходимо провести со всеми используемыми пластиками. Есть моменты когда нужно эту коррекцию использовать только в некоторых местах модели, к примеру только по периметру, тут нас выручит Post Processing в Simplify3D. Изменяя значения в скрипте пост процессинга, мы можем включать или отключать или изменять значение коэффициента при разных видах печати. Ниже привожу пример скрипта - там все понятно и без комментариев. {REPLACE "perimeter\nG" "perimeter\nM900 K0.14\nG"} {REPLACE "; solid layer\n" "; solid layer\nM900 K0\n"} {REPLACE "fill\n" "fill\nM900 K0\n"} {REPLACE "; skirt\n" "; skirt\nM900 K0\n"} {REPLACE "; bridge\n" "; bridge\nM900 K0\n"} Еще раз обращаю внимание на запись коэффициента в Linear Advance v 1.5 - запись через десятичную дробь !!! Таким образом при печати периметра включается функция Linear Advance с коэффициентом 0.14, а при печати нижних слоев, заполнения, брима, мостов - функция отключена. Так же во время печати можно подкрутить этот коэффициент прямо через ЖК дисплей. Качественного заполнения и ровных углов Вам в моделях!
  8. KomAndr

    Настройка Linear Advance в Marlin

    @Deniss а если внимательно, а не по диагонали, прочитать первьій абзац? Да нужно поупражняться под все используемьіе пластики или в скрипте поставить К0 и продолжать лить пластик на модель.
  9. Принтер Core_XY, ТМС2130 SPI, рельсьі не клинит, сдвигов при печати нет, моторьі из одной партии. Во время печати, при диагональном перемещении, иногда по Y, раздается грохот. В слайсере поставил ограничение на скорость перемещения 95мм/с - не помогает. Вопрос - WTF? Решение проблемы -
  10. @Deniss конструктивно все ролики 16. На двигатели поставил 23-е. Натягивал без фанатизма. Обводньіе со стороньі зубьев с зубами, с обратной стороньі - гольіе. Излом как раз на голом обводном и моторном.
  11. @Deniss месяц как собрал, в общей сложности часов 100, не более Ремень купленьій в Украине, в одном из интернет-магазинов. Второй из стекловолокна из китая. Нужно запасаться нормальньіми ремнями.
  12. И так. Обдув драйверов перенесен прямо над ними. Во время печати ток драйверов не меняется, что говорит о приемлемой температуре драйверов. Ну и виновник грохота обнаружен! Им стал - та-да-да-да-а-а-ам.... Правильно! На принтере стоял один со стальным кордом, второй со стекловолокном. Как ни странно стальной корд не выдержал. Но и со стекловолокном мне не очень нравится. Он начал "волоситься" по краям. Теперь думаю какой же все таки выбрать ремень. То что это будет GT-2 6мм - однозначно. Пока не готов все переделывать под GT-2 10мм
  13. С приобретением материнки SKR v1.1 на микроконтроллере LPC-1768 и небольшого ознакомления с системой Smoothie - захотелось вернуться на любимый и знакомый Marlin. Под 32бит системы необходимо использовать Marlin 2.0(пока что сборка bagfix), ну и понятие прошивать контроллер теперь отходит в небытие. Теперь нужно компилировать firmware.bin и записывать этот файл на флешку. По крайней мере такая процедура работы озвученной платы. Ну и для этой процедуры необходимо использовать PlatformIO. Собственно раньше я не сталкивался с этой программной средой - вот и пришлось разбираться в особенностях и тонкостях, чем я с Вами и поделюсь. Подразумевается наличие опыта в установке и настройки Marlin в среде Arduino IDE!!! Формат поста больше походит на пошаговую инструкцию "приготовления" прошивки для платы BIGTREETECH SKR V1.1 на микроконтроллере LPC-1768 с картинками : Качаем свежую прошивку Marlin и разархивируем ее в корень любого диска. Если в пути к прошивке будут русские буквы или сама прошивка будет находится на облочном сервисе типа Google drive - возможны проблемы и ошибки при компиляции! Открываем PlatformIO и бегло знакомимся с содержимым сайта , для повышения собственной образованности. Видим, что есть два пути (тут вспомнилась байка про два путя ) использовать Atom или VSCode. Я выбрал первое и перешел на сайт ATOM где его и скачал. Запускаем установку и дождаемся запуска программы. 3. В открывшемся окне получаем набор приглашений, приветствий и предупреждений. Я убрал все не нужное мне. 4. Запускаем настройку, в открывшемся окне выбираем пункт Install, в поиске вбиваем название "platformio" и устанавливаем Platformio-IDE 5. Во время установки программа попросит установить еще одну, сопутствующую, программу. Выбираем дистрибутив согласно своей операционки и не забываем, во время установки поставить галку "применить системный патч для всех пользователей". Появится окно с командной строкой и предложением нажать любую клавишу - тыкаем пальцем в клаву, можно с закрытыми глазами Программу устанавливаем с предложенными параметрами, по старинке - далее - далее - ОК. и после успешной установки Atom предложит нам перезапустить себя - соглашаемся. 6. Откроется домашнее окно программной среды Platformio, выбираем - открыть проект Указываем путь к папке с Marlin, лишние вкладки можно позакрывать. 7. Выбираем файл настроек проекта Platformio.ini, в блоке [platformio] находим пункт env_default и выделяем megaatmega2560 - установленное название платы микроконтроллера и начинаем писать lpc - редактор предложит на выбор варианты с этим сочетанием букв. Выбираем LPC1768 и сохраняем изменения сочетанием клавиш "Ctrl+S" или через меню "Файл" 8. Открываем файл boards.h по пути Marlin\src\core и с помощью сочетания клавиш "Ctrl + F" открываем поисковое окно, в нем вводим название нашей платы SKR, выделяем название платы BOARD_BIQU_SKR_V1_1 и копируем название в буфер обмена. 9. Открываем конфигурационный файл Configuration.h и находим строку 135 в которой заменяем название материнской платы на свое, скопированное. Так же изменяем скорость порта согласно ТТХ своей материнки. В моем случае 115200 и сохраняем изменения. Если есть не сохраненные данные в файле, в углу названия файла будет светится синий шарик. После сохранения он исчезнет. 10. Вот мы и добрались до пробной компиляции. На этом пункте мы должны протестировать компиляцию прошивки с основными настройки. Нажимаем на галочку или выбираем в меню PlatformIO\Build и вспоминая Масяню - Только бы не disconnect!!! ожидаем завершения процесса компиляции. Процесс будет сопровождаться движением строчек с системной информацией. 11. Если все прошло успешно, на несколько секунд шапка терминального окна окрасится в зеленый цвет и окно закроется. Это и будет сигналом к успешному завершению пробной компиляции. Если будет обнаружена ошибка - окно терминала останется активным и окрасится в красный цвет. В нем будет информация об ошибке. 12. Ну и собственно результат нашей работы будет находится в папке проекта Марлина по пути \Marlin-bugfix-2.0.x_02.07\.pioenvs\LPC1768 ЭПИЛОГ. Вот мы вместе и прошли весь путь установки, настройки и компиляции прошивки Marlin 2.0 в программной среде Platformio. Теперь можно приступать к настройке прошивки под свой любимый принтер, внося изменения в файлы Configuration.h и Configuration_adv.h За сим - разрешите откланяться!
  14. @kasper что-то мне кажется - загвоздка в малом. А Platformio и компоненты обновлены?
  15. Открыл файл и посмотрел на 153-ю строку // AVR MCUs -- ATmega & ATtiny (no XMEGA) А судя по скрину кто-то пытается скомпилить прошивку для SKR. Внимательно, по пунктам пройтись и все скомпилится. П.С. скачал сегодняшнюю сборку Marlin и вуаля:
  16. п.10 - скомпилировалась прошивка или это результат первой компиляции? Разбирать баги нужно с первой записи красным цветом. По фото вообще ничего не понятно.
  17. @psv мало того еще и разводкой обмоток могут отличаются. В данном случае названия моторов придумано китайцами и расшифровьівается как мотор типа nema17, размером 40х40х23(4023) Можно сказать усредненньіе показатели. http://ms-motor.com/product_detail-9-en.html Под таблицей интересная сноска.
  18. @Magg_ot да я понимаю и знаю как звучат убитьіе подшипники. Сегодня провел єксперимент. Поднял ток до 1250мА, порог спред цикл поднял до 150мм/с и запустил печать, все пучком бьіло минут 20-ть. Потом появился опять грохот и словил сдвиг слоев. Глянул ток драйверов, а он 950мА, причем по Y по Х ток 1000мА. Буду переставлять вентилятор
  19. @Magg_ot принтер на рельсах подразумевает отсутствие упорных подшипников. Про рельсы я писал в топике. По поводу альтернативной прошивки - не знаком ни с одной, но постараюсь попробовать.
  20. @Cynic у меня создается впечатление, что диагональное перемещение 8бит-ньіе мозги не успевают просчитьівать и идет рассинхронизация моторов. Если бьі ось Х бьіла в перекосе єто отразилось бьі на отпечатанньіх моделях, а с ними все в порядке. Диагонали распечатанного квадрата равньі, так, что момент с перекосом - пропускаем.
  21. Для многих не секрет как настраивать шаги экструдера. Можно высчитывать по формуле (200*16)/(2*pi*5) (шаг двигателя * микрошаг)/(2 * 3.14 * радиус приводной шестерни) Но можно и методом проб или тестов, при чем он подойдет для любой реализации подачи пластика. Имеется в виду и редукторной подачи тоже. Вот именно этот метод я и изложу, кратенько. Я рекомендую снять хотенд, ну или выкрутить сопло, заодно можно и прочистить его Берем филамент, заправляем его в подающий механизм и ставим на нем отметку, вровень с какой нибудь, не подвижной, частью экструдера. По линейке ставим вторую метку на расстоянии 100мм и еще две с интервалом в 10мм. То есть отмечаем 0, 100мм, 110мм и 120 м. Эти дополнительные метки помогут нам дальше в вычислении шагов. Дальше подключаем принтер к компьютеру и открываем окно терминала в любом, удобном для Вас, слайсере. Обычно, при подключении принтера к слайсеру, Marlin выдает в терминальное окно информацию о своих настройках, или можно набрать команду M501 - загрузка настроек из EEPROM. Из всего списка нас интересует команда M92. M92 X100.00 Y100.00 Z800.00 E186.86 как видно здесь указано количество шагов для каждого мотора. Нас интересуют показания Е186.86 - записываем их. Теперь нам нужно разрешить программе продавливать пластик без нагрева экструдера, то есть обойти настройки защиты по температуре. С этим справится команда M302 S0, она разрешает продавливать пластик при температуре сопла 0 градусов. Будем учитывать, что комнатная температура около 20-25 С. В слайсере, в меню управления осями, выставляем длину подачи пластика 100мм и нажимаем экструдировать. После того как остановится продавливание, измеряем на сколько прошел пластик от нулевой точки. Он может пройти меньше или больше желаемых 100мм. После измерения, в окне управления двигателями осей, нажимаем на Reverse, тем самым вернем пруток в исходное положение. Если прошло меньше, к примеру 75мм. Составляем пропорцию: 100мм - Х шагов 75мм - 186,86 шагов Высчитываем пропорцию Х=186.86*100/75 Х= 249.1466666666667 - округляем до второго знака Х=249.15 - это и есть наше искомое количество шагов мотора экструдера на 1мм прутка. Если прошло больше, вот тут нам и помогут в подсчете дополнительные метки, к примеру 117мм - составляем такую же пропорцию 100 мм - Х шагов 117 мм - 186.86 шагов производим вычисления и получаем 159.71 Важно помнить, что дробные значения в прошивку вносятся только через точку!!! Теперь внесем полученное значение в нашу прошивку: M92 E249.15 Производим повторное продавливание пластика в меню управления двигателями осей, проверяем реальное продавливание. Если продавило пластика ровно 100мм или не более 101мм - можно запомнить это значение в EEPROM с помощью команда М500, но тут нужно учитывать, что если мы сбросим EEPROM или загрузим значения по умолчанию, то наша настройка собьется! Я рекомендую полученное значение внести в прошивку и перепрошить принтер. Тогда настройки по умолчанию будут содержать правильные значения. Полноценной экструзии всем!!!
  22. Позволю себе, оставить ссьілку на еще более полезньій пункт в меню Marlin https://3dtoday.ru/blogs/stasbronchukov/eliminate-annoying-moments-marlin/ Нечто подобное у меня настроено в OctoPrint.
  23. Инфа полезная. Глянул на меню и есть вопрос, а почему не использовать для сменьі пластика всего один код М600? В Configuration_adv.h его параметрьі можно настроить как угодно. А ещее при М600 не отпускает моторьі и єтим кодом удобно пластик менять во время печати.
  24. Перебирая плагины к OctoPrint я наткнулся на чудный плагин - Custom Control Editor С его помощью можно создавать кнопки во вкладке "Control" На кнопки можно записывать команды и скрипты. Сразу родилась идея максимально автоматизировать процесс установки Offset_Z с использованием зонда автовыравнивания. Создал 6-ть кнопок с необходимыми командами которые выполняются принтером при регулировке Offset_Z. Напомню последовательность: Отключить программные ограничения передвижения осей - M211 S0; Захомить все оси - G28; Поместить сопло в зону замера зонда - G0 X135 Y105 F5000 (здесь указаны координаты центра рабочей зоны моего стола 270х210!!!); Калибровка уровня Z кнопками перемещения оси самого OctoPrinta и внесение полученного значения в поле кнопки "Offset_Z" - M851 Zx.xx; Сохранение значения в EEPROM - M500; Включить программные ограничения передвижения осей - M211 S1. Все было отлично и все кнопки работали кроме внесения данных в команду M851. Тут я не знал какой синтаксис самой команды. На помощь пришел @Cynic (за это ему благодарочка) и подкинул статейку где я и "выловил" правильный синтаксис записи. Вот теперь все заработало как положено. Теперь при установке Offset_Z достаточно последовательно нажимать кнопки, внести данные и не мучать терминальное окно Ниже скрины созданных кнопок и терминального окна с передаваемыми командами. Облегчи себе жизнь!
×