Люди почему то не верят, что на arduino uno можно собрать мозги принтера (а точнее засунуть туда управляемую часть прошивки клиппер).
основа:
- arduino uno
- cnc shield v3
- драйверы шаговых двигателей (4 шт)
- горсть джамперов ( 12-14 шт)
Далее все собирается примерно так же как описано во всех руководствах предлагающих собрать grbl чпу гравер на cnc shield
- согласно датащита на ваши драйвера шаговых двигателей поставить микрошаг 1/16
- поставить джампера на штыри подписаные D12 и D13(необходимо для подключения экструдера)
- поставить драйвера моторов так, чтобы вывод enable модуля совпал с меткой enable разьема на плате.
- собственно подключить моторы, подключить концевики
- Выставить ток моторов
получается примерно вот такой бутерброд
(картинка взята с 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