Jump to content

Search the Community

Showing results for tags 'klipper'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General section
    • Правила и рекомендации
    • Questions and answers in English
    • Работа форума
    • Новости
    • Заявки на доступ к закрытым ресурсам
  • Library
    • Загальнотехнічні питання
    • Електроніка
    • Матеріали для друку і обробки
  • Technical issues
    • Материнские платы
    • Прошивки
    • Механика
    • Экструдеры
    • Столы нагревательные
    • Discussion of 3D printers
    • Корисна електроніка
  • Software
    • OctoPrint
    • Klipper
    • Cura 3D
    • Simplify 3D
    • SOLIDWORKS
    • Repetier-Host
    • MatterControl - 3D
    • Pronterface
    • CraftWare
    • KISSlicer
    • IdeaMaker
    • Revision section Octoscreen&Octoprint
  • Our workshops
    • Новичкам. Задай вопрос - получи ответ
    • 3D принтер своими руками
    • Пластики
    • Our interesting products
    • Позор БАРЫГАМ
    • Links to useful resources
  • Smoking room
    • Давайте знакомится
  • Flea market
    • Правила раздела
    • Продам
    • Подарю/Обменяю
    • Пропоную роботу

Product Groups

There are no results to display.

Blogs

  • Anet A8.
  • Інженерія та 3д принтери
  • Ярко о 3D
  • Мой новый принтер
  • Принтер Беркут 3D
  • Новый проект под ласковым именем EVA. :)
  • Цікаво про Raspberry Pi
  • TwoTrees Sapphire S

Categories

  • Files
  • Firmware
  • 3D Моделі

Categories

  • 3D printing services
  • 3D изделия
  • 3д принтери
  • Printer accessories

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Имя


Возраст


Город


Сайт


Принтер


About Me


Telegram

Found 10 results

  1. Deniss

    Датчик диаметра

    Давным давно, еще когда телефоны были кнопочными а 3д принтеры фанерными я поставил на принтер датчик диаметра филамента. Оптический, датчик был огромный по размерам, ставил на прошивку марлин, но он работал и я был рад. Потом я стал думать, было неожиданно, мне понравилось думать. В результате мыслей и поиска в интернете решил попробовать сделать датчик на основе магнита и датчика Холла который регистрирует изменение силы магнитного поля. Попробовал, кое-что даже получилось, но как выяснилось у датчика от температуры меняются показатели. Применил проверенный метод, начал думать. В результате применил два датчика, и измеряется разница между показателями этих датчиков. так родился этот датчик И пока я не перешел на прошивку Клиппер он у меня работал. После перехода на Клиппер я подключил модуль tsl1401cl_filament_width_sensor и продолжил работать. Но в голове снова завелась МЫСЛЬ. Она мешала спать и пришлось ее думать. На самом деле у клиппера есть достаточно много свободных ресурсов а у платы есть неиспольсованные аналоговые входы, почему бы не отказатся от лишней платы Ардуино и что еще более важно дополнительного преобразования цифрового сигнала в аналоговый и обратного преобразования из аналога в цифру, как ни крути это потеря точности. Потому к клипперу был написан свой модуль для этого датчика. Будет ли он на гитхабе в релизе - не знаю, постараюсь сделать толковое описание и возможно тогда он там будет. итак, что надо для того чтобы запустить датчик на клиппере Предполагается что клиппер уже стоит и в октопринте есть плагин для клиппера скопировать модуль hall_filament_width_sensor.py отвечающий за работу с датчиком на малину/апельсину в папку ~/klipper/klippy/extras пока он не добавлен в основной репозиторий сделать это можно так cd ~/klipper git pull "https://github.com/test3210-d/klipper" Все уже добавлено в основной репозиторий клиппер далее перезагрузить клиппер sudo service klipper restart теперь можно идти в октопринт, открываем конфиг и добавлям параметры для работы с датчиком [hall_filament_width_sensor] adc1: analog11 #adc channel 1 adc2: analog12 #adc channel 2 Cal_dia1: 1.48 #REFERENCE DIAMETER 1 (mm) Cal_dia2: 1.97 #REFERENCE DIAMETER 2 (mm) Raw_dia1:9630 #RAW VALUE FOR REFERENCE DIAMETER 1 Raw_dia2:8300 #RAW VALUE FOR REFERENCE DIAMETER 2 default_nominal_filament_diameter: 1.75 # This parameter is in millimeters (mm) max_difference: 0.15 # mm measurement_delay: 70 #mm В данном конфиге ориентация на ардуино плату и aux2 разъем, у него как раз и питание есть и 2 канала АЦП. Так-же можно использовать и aux1 тогда в конфиге будут adc1: analog3 #adc channel 1 adc2: analog4 #adc channel 2 В любом случае этот вопрос не является чем-то критичным, зависит от того какие есть под рукой разъемы и как удобнее уложить провода. На платах отличных от меги соответственно будут отличатся названия ног, главное чтобы это были аналоговые входы. Сразу обращаю внимание, на платах с питанием 3.3 вольта датчик запитывается от 3.3 а на 5вольтовых от 5 вольт следующий шаг в конциге надо добавить в меню возможность смотреть диаметр филамента (если у вас нет дисплея то смело пропускаем эту секцию итак добавляем [menu __filament_width_current] type: item name: "Dia:{0:4.2f} mm" parameter: hall_filament_width_sensor.Diameter [menu __filament_raw_width_current] type: item name: "RAW:{0:4.0f}" parameter: hall_filament_width_sensor.Raw [menu __filament] type: list name: Filament items: __temp __hotend0_current, __temp __hotend0_target .__unload .__load .__feed __filament_width_current __filament_raw_width_current данные секции для дефолтного меню , в меню филамент появится строка с диаметром и цифровым значением датчика для директа подпункты .__unload .__load .__feed можно убрать, по крайней мере если они вам не нужны Далее , нам надо 2 сверла (или любых прутка с известным диаметром) у меня это были прутки 1.48 и 1.97 мм. Диаметры желательно 1.5 и 2 мм для прутка 1.75. Если филамент 3 мм то желательно 2.8 и 3.2 мм, с тем рассчетом чтобы номинальное значене было в середине. Прописываем ваши значения в конфиг Cal_dia1: 1.48 #REFERENCE DIAMETER 1 (mm) Cal_dia2: 1.97 #REFERENCE DIAMETER 2 (mm) Предварительно готово, сохраняем конфиг если есть дисплей идем в меню, вставляем калибровочный стержень 1 и засекаем raw значение при установленном стержне. повторяем для второго калибровочного стержня , в результате имеем два диаметра и 2 значения датчика для этих диаметров у меня это 9630 для 1.48 и 8300 для 1.97 записываем в конфиг. Raw_dia1:9630 #RAW VALUE FOR REFERENCE DIAMETER 1 Raw_dia2:8300 #RAW VALUE FOR REFERENCE DIAMETER 2 Если все сделано верно то после этого при установленном стержне в меню будет отображать правильный диаметр Если дисплея нет, есть команда QUERY_RAW_FILAMENT_WIDTH она позволяет получить значения с каналов АЦП и значение датчика так-же поддерживаются все команды от tsl1401cl_filament_width_sensor описанные в документации клиппера для совместимости G-кода с марлином можно добавить в конфиг [gcode_macro M405] gcode: ENABLE_FILAMENT_WIDTH_SENSOR [gcode_macro M406] gcode: DISABLE_FILAMENT_WIDTH_SENSOR [gcode_macro M407] gcode: QUERY_FILAMENT_WIDTH Либо использовать штатные команды клиппера. Датчик по умолчанию отключен, и если команда включения в G-коде отсутствует то печать будет идти без коррекции, Но если предыдущая печать его включила то дальше датчик уже будет работать, а потому я его включаю или отключаю в стартовом коде слайсера. Отключать надо для мягких (флекс) пластиков которые датчик сжимает и их из-за этого толком не может измерить. hall_filament_width_sensor.zip
  2. # This file contains common pin mappings for RAMPS (v1.3 and later) # boards. RAMPS boards typically use a firmware compiled for the AVR # atmega2560 (though other AVR chips are also possible). # See the example.cfg file for a description of available parameters. [stepper_x] step_pin: ar54 dir_pin: ar55 enable_pin: !ar38 step_distance: .0125 endstop_pin: ^ar3 position_max: 221 position_min: -29 position_endstop: -29 homing_speed: 80 [stepper_y] step_pin: ar60 dir_pin: !ar61 enable_pin: !ar56 step_distance: .0125 endstop_pin: ^ar14 position_min: -11 position_max: 221 position_endstop: -11 homing_speed: 80 [stepper_z] step_pin: ar46 dir_pin: !ar48 enable_pin: !ar62 step_distance: .0025 endstop_pin: probe:z_virtual_endstop position_min: -5.7 ## *1 position_endstop: 0 position_max: 200 homing_speed: 5 [servo bftouch] pin: ar11 initial_angle: 105 maximum_servo_angle = 180 minimum_pulse_width = 0.0005 maximum_pulse_width = 0.0025 enable: True [probe] pin: ar18 x_offset: 0 y_offset: -25 z_offset: 1.25 lift_speed: 20 speed: 10.0 activate_gcode: SET_SERVO SERVO=bftouch ENABLE=1 SET_SERVO SERVO=bftouch angle=10 G4 P500 SET_SERVO SERVO=bftouch ENABLE=0 deactivate_gcode: SET_SERVO SERVO=bftouch ENABLE=1 SET_SERVO SERVO=bftouch angle=105 G4 P400 SET_SERVO SERVO=bftouch ENABLE=1 [extruder] max_extrude_cross_section: 300 step_pin: ar26 dir_pin: !ar28 enable_pin: !ar24 step_distance: 0.0092 #.0081 filament_diameter: 1.750 heater_pin: ar10 sensor_type: ATC Semitec 104GT-2 sensor_pin: analog13 control: pid pid_Kp=19.484 pid_Ki=0.738 pid_Kd=163.779 min_temp: 0 max_temp: 290 nozzle_diameter=0.4 [heater_bed] heater_pin: ar8 sensor_type: EPCOS 100K B57560G104F sensor_pin: analog14 control: pid pid_Kp=60.895 pid_Ki=1.025 pid_Kd=904.285 min_temp: 0 max_temp: 130 [fan] pin: ar9 [mcu] serial: /dev/ttyUSB0 baud: 250000 pin_map: arduino [printer] kinematics: corexy max_velocity: 2500 max_accel: 3000 max_z_velocity: 25 max_z_accel: 100 # Common EXP1 / EXP2 (display) pins [board_pins] aliases: # Common EXP1 header found on many "all-in-one" ramps clones EXP1_1=ar37, EXP1_3=ar17, EXP1_5=ar23, EXP1_7=ar27, EXP1_9=<GND>, EXP1_2=ar35, EXP1_4=ar16, EXP1_6=ar25, EXP1_8=ar29, EXP1_10=<5V>, # EXP2 header EXP2_1=ar50, EXP2_3=ar31, EXP2_5=ar33, EXP2_7=ar49, EXP2_9=<GND>, EXP2_2=ar52, EXP2_4=ar53, EXP2_6=ar51, EXP2_8=ar41, EXP2_10=<RST> # Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "spi" # Note, some boards wire: EXP2_8=<RST>, EXP2_10=ar41 # See the sample-lcd.cfg file for definitions of common LCD displays. [display] lcd_type: st7920 cs_pin: EXP1_4 sclk_pin: EXP1_5 sid_pin: EXP1_3 encoder_pins: ^EXP2_3, ^EXP2_5 click_pin: ^!EXP1_2 kill_pin: ^!EXP2_8 #menu_root: infodesk [output_pin beeper] pin: EXP1_1 [safe_z_home] home_xy_position: 100,192 # 100,130 Change coordinates to the center of your print bed speed: 100 z_hop: 6 # Move up 6mm z_hop_speed: 20 [bed_mesh] speed: 120 horizontal_move_z: 4 mesh_min: 10,15 mesh_max: 190, 170 probe_count: 3,3 [gcode_macro G29] gcode: Z_TILT_ADJUST BED_MESH_CALIBRATE METHOD=automatic SET_SERVO SERVO=bftouch ENABLE=1 SET_SERVO SERVO=bftouch angle=105 G4 P400 SET_SERVO SERVO=bftouch ENABLE=1 G1 X0 Y0 Z5 F8000 SET_PRESSURE_ADVANCE ADVANCE=0.037250 SET_SERVO SERVO=bftouch ENABLE=0 BED_MESH_OUTPUT [gcode_macro M900] gcode: SET_PRESSURE_ADVANCE ADVANCE={K} [virtual_sdcard] path: ~/.octoprint/uploads/ Чуть позже разжуем по пунктам пункт первый моторы [stepper_x] step_pin: ar54 dir_pin: ar55 enable_pin: !ar38 step_distance: .0125 endstop_pin: ^ar3 position_max: 221 position_min: -29 position_endstop: -29 homing_speed: 80 так как все моторы одинаковы будем рассматривать на примере оси х пины step dir enable. Указываем к какой ноге процессора подсоедены ноги драйвера, в примере это ардуино и ноги ar54 ar55 и ar38. Замечу перед ar38 стоит ! , это значит что сигнал надо инвертировать, например если поставить ! перед dir то мотор будет вращатся в другую сторону В отличии от марлина указывается не количество шагов на мм а длинна шага в параметре step_distance . Если в марлине было 80 шагов то 1/80=0.0125 . Если шаги неизвесны то идем сюда https://blog.prusaprinters.org/calculator/ вводим что у нас шпуля такая-то (у меня 20 зубов, ремень gt2 микрошаг (у меня 16 ) иотор 1.8 или 0.9 и получем наши шаги 12.5 микрон или 0.0125 мм endstop_pin: ^ar3 тут вместо ! применяется ^ для того чтобы инвертировать вход , т-е если контакт работает на размукание (оптика) то ставим ^ если сигнал появляется при замыкании то значек не надо Ну я положения ендстопов, максимальный ход по оси и минимальная позиция для оси, тут думаю понятно все и так. Отдельно хочется остановится на оси зет, так как у многих стоит блтач и ось зет физически ендстопа не имеет . В таком случае endstop_pin: probe:z_virtual_endstop т-е это не физический ендстоп на оси а блтач или серво датчик
  3. Ось ми і підійшли до налаштування Klipper. Подальша інструкція відноситься для материнки SKR1.3, але по аналогічно можливо налаштувати під будь яку материнку. У цьому описі я буду користуватися плагіном Octoklipper. У ньому і буду конфігурувати свій принтер. На гітхабі проекту є вже створені конфіги принтеру під певні материнки. Відкриваємо цей файл, копіюємо все, шо в ньому,та вставляємо у вікно конфігурування OktoКlipper Як ми бачимо у блоках вже прописані піни нашої материнки. Давайте більш детально розглянемо що до чого. Приведу аналогію до Марлін. Назва блоку починаеться з квадратних скобках в яких записана назва. Послідовність блоків не має значення, але щоб не плутатись що де розташовано, бажано об'єднувати блоки по напрямкам, або функціям. # така решітка коментує все, що знаходиться за нею, тоб-то программа не бере до уваги все що після решітки аж до наступного рядку. Можно вписувати свої коментарі. ! - знак оклику інвертує значення на протилежне. [stepper_x] -назва блоку - налаштування драйверу вісі "Х" step_pin: P2.2 #define X_STEP_PIN P2_02 dir_pin: !P2.6 #define X_DIR_PIN P2_06 enable_pin: !P2.1 #define X_ENABLE_PIN P2_01 step_distance: .00625 #define DEFAULT_AXIS_STEPS_PER_UNIT { 160, Y, Z, E} У Klipper відстань вимірюеться по уньшому. Треба вказати відстань у мм на один крок. Можно використати формулу 1/(кроки двигуна * мікрокрок)/(крок ремня * кількість зубів шкива) Так як у мене мотори 0,9град/оберт, у Марлін було 160 кроків на 1мм. Тоді для Кліппера 1/160=0,00625 endstop_pin: P1.29 # P1.28 for X-max - #define X_MIN_PIN P1_29 Як що кінцевик стоїть в МАХ - тоді треба замість Р1.29 вписати Р1.28 position_endstop: -13 #define X_MIN_POS -13 position_max: 270 #define X_BED_SIZE 270 position_min: -13 #це значення вказує на скільки каретка по Х може поїхати від позиції Х0 Для вісі ХУ це значення повинно дорівнювати position_endstop: homing_speed: 80 #define XY_PROBE_SPEED 8000 Як ми бачимо, можно з легкістю налаштувати параметри маючи конфіг та карту пінов з Марліна. По аналогії налаштовується всі останні вісі та екструдер. Як що треба змінити напрямок обертання любого мотору треба змінити значення dir_pin: за допомогою ! перед вказаним піном, або його прибирання, якщо він там вже стоїть. [heater_bed] heater_pin: P2.5 #define HEATER_BED_PIN P2_05 max_power: 0.75 #define MAX_BED_POWER 160 у мене стіл 12, а живлення 24в. Цей рядок обмежує напругу завдяки PWM Значення від 0.0 до 1.0 sensor_type: ATC Semitec 104GT-2 sensor_pin: P0.23 #define TEMP_BED_PIN 0 control: watermark # bang-bang Якщо треба ввімкнути PID пишемо pid min_temp: 0 #define HEATER_0_MINTEMP 5 max_temp: 150 #define BED_MAXTEMP 150 Більш детально зупинемось на блоці [mcu] serial: /dev/serial/by-id/usb-Klipper_lpc1768_1BF00004852036AF755C695BC62000F5-if00 Тут нам треба вписати порт в який під'єднан наш принтер. Відкриваємо Putty та заходимо на наш мінікомп на якому стоїть Octoprint. Пишемо: ls /dev/serial/by-id/* По цьому порту буде проходити з'єднання Кліппера з материнською платою. Як що ви змінюєте USB порт на мінікомпі треба знову зробити цю процедуру, та вписати новій, робочий порт. Після внесення змін у конфіг обов'язково кнопку "SAVE" тоді всі зміни будуть збережені і перезагружен конфіг, а в деяких випадках ще перезапишеться прошивка принтера. Вказуємо кінематику принтера та його основні налаштування швидкості. Я маю принтер з кінематикою Core_XY, для прусоподібних принтерів треба вказати kinematics: cartesian та зменьшити швидкості. [printer] kinematics: corexy max_velocity: 300 max_accel: 3000 max_z_velocity: 25 max_z_accel: 30 Налаштування ТМС2130 SPI прибираєми решітки, тоб-то розкоментуємо налаштування драйверів. [tmc2130 stepper_x] cs_pin: P1.17 spi_software_miso_pin: P0.5 spi_software_mosi_pin: P4.28 spi_software_sclk_pin: P0.4 #diag1_pin: P1.29 #пін #define SENSORLESS_HOMING microsteps: 16 run_current: 0.900 #струм драйвера у мА hold_current: 0.500 stealthchop_threshold: 250 # швидкість після якої драйвер перейде в режим SpreadCycle Якщо закоментувати цю строчку - драйвер буде постійно працювати у режимі SpreadCycle Так само налаштовуємо останні драйвери. Якщо використовуєте графічний дісплей 12864 - дописуємо цей блок: [display] lcd_type: st7920 cs_pin: EXP1_4 sclk_pin: EXP1_5 sid_pin: EXP1_3 encoder_pins: ^EXP2_3, ^EXP2_5 click_pin: ^!EXP1_2 #kill_pin: ^!EXP2_8 [output_pin beeper] pin: EXP1_1 Так як я використовую управління вентилятором охолодження екструдеру, та обдуву електроніки - то я дописав це в конфіг, створивши два блоки: # Additional fans [heater_fan nozzle_fan] pin: P1.26 max_power: 1 shutdown_speed: 0 #cycle_time: #hardware_pwm: #kick_start_time: heater: extruder heater_temp: 50.0 #температура при якій вимкнеться вентилятор обдуву радіатора екструдеру fan_speed: 1.0 [controller_fan Case_controller_fan] pin: P1.24 max_power: 1 shutdown_speed: 0 #cycle_time: #hardware_pwm: #kick_start_time: idle_timeout: 5 #через 5 сек після вимкнення двигунів - вимкнути вентилятор обдуву електроніки. idle_speed: 1.0 Зондом автовимірювання я використовую BFPtouch. Він зроблений на основі сервоприводу. Треба його прописати у налаштуваннях. Дуже дякую за допомогу в його налаштуванні пану@Deniss # Servos [servo bftouch] pin: P1.28 maximum_servo_angle = 180 minimum_pulse_width = 0.0005 maximum_pulse_width = 0.0025 Для використання автокалібровки висоти під час друку створюємо наступні блоки. ОБОВ'ЯЗКОВО перед SET_SERVO поставити пробіл!!! [probe] pin: P1.25 x_offset: -11 #define NOZZLE_TO_PROBE_OFFSET { -11, 71, 0 } y_offset: 70 #define NOZZLE_TO_PROBE_OFFSET { -11, 71, 0 } #z_offset: 0 speed: 5.0 activate_gcode: SET_SERVO SERVO=bftouch ENABLE=1 #активуємо керування сервою SET_SERVO SERVO=bftouch angle=200 #опустити щуп #define Z_SERVO_ANGLES {200,117} G4 P400 #пауза SET_SERVO SERVO=bftouch ENABLE=0 #вимкнути керування сервою deactivate_gcode: SET_SERVO SERVO=bftouch ENABLE=1 #активуємо керування сервою SET_SERVO SERVO=bftouch angle=115 #підняти щуп #define Z_SERVO_ANGLES {200,115} #G4 P300 #пауза SET_SERVO SERVO=bftouch ENABLE=0 #вимкнути керування сервою Якщо не писати рядки з активацією та деактивацією - серва буде постійно пританцьовувати. Щоб зонд проводив заміри висоті столу при команді додому добавляємо [safe_z_home] home_xy_position: 146,34 #координати сопла при яких щуп зонду буде знаходитись в центрі столу speed: 80 z_hop: 10 # Move up 10mm z_hop_speed: 5 Налаштовуємо координати точок промірів зонду. Вказуємо координати сопла!!! Вам треба врахувати offset_XY вашого зонду. Так, щоб зонд не віходив за межи столу. [bed_tilt] speed: 90 points: 16,-3 100,-3 184,-3 269,-3 269,46 184,46 100,46 16,46 16,92 100,92 184,92 269,92 269,137 184,137 100,137 16,137 Створюємо макрос команди G29 [gcode_macro G29] gcode: BED_TILT_CALIBRATE G0 X-10 Y6 F4000 BED_TILT_CALIBRATE - запустити вимірювання сітки столу G0 X-10 Y6 F4000 - по закінчені встановити сопло у задані координати. Вказуємо в блоці [stepper_z] що ми використовуємо занд автовимірювання. endstop_pin: probe:z_virtual_endstop Основні налаштування зроблені. Можно провіряти рух каретки. Треба відправити кожну вісь у дом. Як що каретка їде не в ту сторону - інвертуємо пін на відповідному моторі. Писав вище. Коли провірите всі мотори та нагрів екструдеру і столу - можно приступати до пробного друку. Нижче закріплюю свій конфіг. Config_EvA.cfg
  4. Если у вас компьютер под линукс то лучше конечно поставить октопринт и клиппер на него, но как показывает практика у большинства виндовс а линукс это нечто сродни космического корабля. Поставил и установил на виртуальную машину октопринт и клиппер http://dieselirk.info/octoklipper.zip - 2,5Гб для тех кто хочет только попробовать хватит
  5. Після спілкування в нашому телеграмм канале, деякий "злодій", під ником @stanislav_i, розпалив у мені бажання спробувати цього звіра на смак. Я не сильний в Линухах, а у програмуванні і поготів. Klipper розроблений в середовищі програмування Pyton завдяки цьому команди більше схожі на шматки коду. Відразу обмовлюся - без підтримки і настанов @Deniss у мене нічого не виходило! РЕСПЕКТІЩЄ йому! Ну вернемся к клипперу. Ставиться він паралельно з октопринтом. У моєму випадку використовується RaspberryPi B3 з операцікою Raspbian 0.17.0 Після першого запуску системи заходимо в термінал, я використовую додаток PuTTY, і запускаємо конфигуратор sudo raspi-config Міняємо пароль користувача pi на свій, налаштовуємо Wi-Fi якщо потрібно і міняємо в Localisation Options / Wi-Fi Country на UA.По старым рекомендациям расширяем файловую систему Advanced Options/A1 Expand Filesystem. Активуємо SSH Interfacing Options / P2 SSH При використанні дисплея робимо автовходу в консоль Boot Options/B1 Desktop / CLI /B2 Console Autologin Пристрій перезавантажиться. Оновлюємо систему. Запасаємося терпінням, процес тривалий sudo apt-get update && sudo apt-get upgrade --yes Встановлюємо pyton3-pip sudo apt-get install python3-pip --yes Перезавантажуємо пристрій sudo reboot Заходимо через WEB браузер в OctoPrint та налаштовуємо свій конфіг. В адресному рядку набираємо http: //octopi.local або IP адресу пристрою http://10.10.10.162 Після налаштування отримуємо стандартне вікно OctopRint Йдемо в налаштування і встановлюємо плагін Klipper Перезавантажуємо OctoPrint Бачимо змінений інтерфейс вікна з'єднань. Знову зходить в налаштування OctoPrint та налаштовуємо з'єднання з принтером. В полі "додатковий послідовний порт" має з'явиться / tmp / printer якщо немає - дописуємо і ставимо позначку автоз'єднання. У додаткових налаштуваннях з'єднання вибираємо скасування від'єднання принтера при помилці Зберігаємо та повертаємося в термінал для встановлення Klipper-у. У терміналі набираємо команду клонування проекту та запуску скрипта встановлення git clone https://github.com/KevinOConnor/klipper ./klipper/scripts/install-octopi.sh Тут, як у випадку з оновленням системи, чекаємо закінчення встановлення. Ну ось і дочекалися. Сервіс Кліппер запущений. Тепер почнемо дружити його з принтером. Переходимо у дерикторію кліпера та запускаємо конфигуратор cd ~/klipper/ make menuconfig Вибираємо процесор встановлений на материнці. У моєму випадку LPC1768 Всі переміщення за допомогою стрілок на клавіатурі, Select - пробіл. Після закінчення вибираємо стрілками "Select", або два рази натискаємо кнопку Esc Далі підтверджуємо закінчення конфігурації. Тепер збираємо файл для прошивки його в мізки принтера. Вводимо команду make На екрані буде відображатися процес збору прошивки. Знову чекаємо Як і повідомлялося в терміналі по шляху ~ / klipper / out / знаходиться потрібний нам файл прошивки. Далі потрібно цей файл перейменувати в firmware.bin і записати на sd-карту принтера. Я зробив це через картрідер  У випадку якщо використовуєтся ATmega sudo service klipper stop make flash FLASH_DEVICE=yourdevicename sudo service klipper start де замість yourdevicename в залежності від чіпа юсб треба вставити /dev/ttyUSB0 чи /dev/ttyACM0 Для більш зручної роботи з лінуксом можна використовувати аналог Volkov_Commandr - mc Потрібно тільки його встановити цією командою sudo apt-get install mc --yes Після установки набираємо в терміналі мс і вуаля переходимо в директорію ~ / klipper / config і вибираємо потрібну конфіг-заготовку, спираючись на кінематику принтера і копіюємо конфіг у домашню директорію користувача з перейменуванням в printer.cfg. У мене кінематика Core_XY, відповідно до цього я вибрав такий. Залишилося ребутнуть пристрій або перезапустити сервіс klipper. Я ребутнувся sudo reboot Чекаємо коли запуститися октопринт та заходимо на web-морду. Принтер поки можна не підключати. Відкриваємо вкладку Кліппер і натискаємо Помилка з'єднання. Отримуємо вікно з повідомленням про підключення до хосту та версією прошивки. Натискаємо Get Status і бачимо повідомлення про помилку з'єднання, та пропозицію прошити прошивку в принтер Не засмучуємося, поки все йде за планом. Далі, як на скріншоті, заходимо в налаштування, вибираємо плагін OctoKlipper, вкладку Klipper Configuration і бачимо тепер конфиг принтера. Ось тепер можна зробити основні налаштування.  У наступній частині будуть основні налаштування конфіга для роботи принтера в зв'язці з OctoPrint
  6. При будь яких налаштуваннях октолапсу, перед відводом голови на місце знімку, та коли повертається для продовженя друку сопло зависає на 2 - 2,5сек на одному місці. Це так задумано, чи це який сь глюк пов'язаний з klipper? На марлін я такого не пам'ятаю.
  7. Стикнувся сьогодні з двома помилками при старті друку. Перша : Хвилин 5-ть уйшло поки я допетрав, що це при старті не скидається відстань пройденого шляху на вісі екструдера. В прошивці закладена відстань 50мм. Рішення: Додав на початку стартового скрипта команду G92 E0 ; скинути пройдену відстань на єкструдері. Друга: Виявилось це вносились зміни октолапсом в G-code для того, щоб відвести голову вліво, для скріншоту. Треба правильно налаштувати профіль октолапсу, та вказати реальні офсети вісі Х У. П.С. додавайтє свої помилки та рішення, зробимо невеличку базу знань.
  8. Як завжди портібно мультіметр с термопарою. Термопару прилаштовуємо на нагрівальній кубік поруч із соплом та робимо три заміри температури. Кімнатна температура, приблизно 20-25С, 200, та 280С. Калібрувати будемо знаходячи опір термістора при ціх температурах. В терміналі вводимо команду: QUERY_ADC name=extruder PULLUP=4700 Ми отримаємо відповідь Як бачимо при температурі 18,7 С опір на термісторі 105595.129 Ом Робимо для себе табличку - показники термопари та опір термістора. На скріншоті вже виправлені показники. Температуру записуємо ту, що показав мультіметр, а опір з виводу вікна терміналу. Далі нагріваємо єкструдер так, щоб термопара стабільно показувала 200С, знову відправляємо команду та записуємо опір для температурі 200С за мультіметром. Так само робимо і для 280С. Може статися так, що кліппер зупинить принтер з помилкою - низькє значення АЦП. Тоді перезавантажуємо його кнопкою Firmware, та зменьшуємо температуру на пару градусів, чекаємо, щоб вона нормалізувалася та знімаємо останній показник. Коли маємо на руках всі три показники вносимо їх у конфігурацію принтеру. Відкриваємо плагін OctoKlipper та записуємо перед секцією "extruder" як у зразку. Тільки пишіть свої значення опору термістора [thermistor NTC100K] temperature1: 21 resistance1: 94700.904 temperature2: 200 resistance2: 358.545 temperature3: 280 resistance3: 84.414 Замість NTC100K можно написати свою назву термістора. Далі в секції екструдера міняємо стандартну назву термістора на свою sensor_type: NTC100K Повинно получитися приблизно як на скріншоті Натискаємо збереження конфігурації. Принтер перезавантажиться і на дісплеї, як що він використовується, маємо показники температурі, а не значення в "папугах" За таким самим принципом калібрується термістер столу тільки команда для відображення опору термістера столу віглядае так: QUERY_ADC name=heater_bed PULLUP=4700 Значення записати треба перед блоком [heater_bed] , змінити назму термістера, щоб не повторювалася, та в цьому блоці замінити назву стокового термістера на свій.
  9. Налаштування для освітлення принтера звичайною світлодіодною стрічкою. Я використовую для цього канал вентилятору другого екструдеру. Треба пам'ятати, що живлення принтеру 24в, а стрічка розрахована на 12в живлення. Тому треба увімкнути регулювання PWM, та не перевищувати значення у половину потужності. добавляємо блок курування пінами та обзиваємо його case_light [output_pin case_light] pin: P2.4 #define FAN1_PIN P2_04 pwm: 1 #активація PWM (ШІМ регулювання) value: .02 #значення при підключенні принтеру. Діапазон від 0.0 до 1.0 shutdown_value: 0 cycle_time: 0.010 #встановлення частоти ШІМ довжина імпульсу 100мс З такими значеннями ні око ні камера не помічають миготіння. На марліні я не зміг подолати миготіння. Управління освітленням через команду у терміналі: SET_PIN PIN=case_light VALUE=.02 #ввімкнути з вказанною потужністю. 0 - вимкнути. У октопринті можливо налаштувати свої кнопки з значеннями
  10. KomAndr

    Printer.cfg

    Version 1.0.0

    6 downloads

    Мій конфіг Core_XY klipper
×