домовой

Люди почему то не верят, что на arduino uno можно собрать мозги принтера (а точнее засунуть туда управляемую часть прошивки клиппер).


основа:


  1. arduino uno
  2. cnc shield v3
  3. драйверы шаговых двигателей (4 шт)
  4. горсть джамперов ( 12-14 шт)

Далее все собирается примерно так же как описано во всех руководствах предлагающих собрать grbl чпу гравер на cnc shield


  1. согласно датащита на ваши драйвера шаговых двигателей поставить микрошаг 1/16
  2. поставить джампера на штыри подписаные D12 и D13(необходимо для подключения экструдера)
  3. поставить драйвера моторов так, чтобы вывод enable модуля совпал с меткой enable разьема на плате.
  4. собственно подключить моторы, подключить концевики
  5. Выставить ток моторов



получается примерно вот такой бутерброд
(картинка взята с 3dtoday)


Далее начинается творчество и извращения. Необходимо как-то подключить термистор и нагреватель.


С термистором все просто:
Всего лишь необходимо сделать резисторный делитель и подключить к ацп микроконтроллера. Номинал резистора в 4.7 кОм честно подсмотрен на схемах разных плат. И в комментариях прошивки марлин.



С нагревателем все чуть сложнее. Его включают по примерно такой схеме.



подключать термистор и мосфет можно любым выводам порта PC (ANALOG A0 -A5) .


свести все в одну дополнительную плату это немного напряжно, но в принципе возможно. например как-то так.



Далее подразумевается что вы знаете  как поставить клиппер на пк.


Настройки прошивки.


cd klipper
make menuconfig
в появившемся меню выбрать
Micro-controller Architecture : Atmega AVR
Processor model : atmega328p
processor speed : 16MHZ
сохранить конфиг.
собрать и загрузить прошивку
make
make flash FLASH_DEVICE=/dev/ttyUSB0



Примерный конфиг клиппера для ардуины с чпу шилдом.



[stepper_x]
step_pin: PD2
dir_pin: PD5
enable_pin: !PB0

step_distance:0.00125
endstop_pin: ^!PB1
position_endstop: 0
position_max: 200




[stepper_y]
step_pin: PD3
dir_pin: !PD6
enable_pin: !PB0
step_distance:0.00125
endstop_pin: ^!PB2
position_endstop: 0
position_max: 200




[stepper_z]
step_pin: PD4
dir_pin: PD7
enable_pin: !PB0
step_distance:0.0003906
endstop_pin: ^!PB3
position_endstop: 0.5
position_max: 200




[extruder]
step_pin: PB4
dir_pin: PB5
enable_pin: !PB0
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.500
filament_diameter: 3.500
heater_pin: PC1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC2
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 210




[mcu]
serial: /dev/ttyUSB0

[printer]
kinematics: cartesian
max_velocity: 350
max_accel: 5000
max_z_velocity: 1
max_z_accel: 30