diff --git a/config/generic-azteeg-x3-pro.cfg b/config/generic-azteeg-x3-pro.cfg new file mode 100644 index 000000000..6ff2b218f --- /dev/null +++ b/config/generic-azteeg-x3-pro.cfg @@ -0,0 +1,212 @@ +# This file contains common pin mappings for the Azteeg X3 Pro. +# This board uses a firmware compiled for the AVR atmega2560. +# +# See docs/Config_Reference.md for a description of parameters. +# +#Flashing the MCU. +# -SSH into your device running Klipper (Raspberry Pi, etc...) +# -Determine the port ID using these instructions: +# https://www.klipper3d.org/FAQ.html#wheres-my-serial-port +# -Make sure your locale is set correctly on your device running +# klipper. For my Rasperry Pi, I needed to run `sudo raspi-config` +# and set the locale in `localisation options`. +# -Run `make menuconfig` to open the menu to set MCU settings. +# - Micro-controller Architecture: Atmega AVR +# - Processor model: atmega2560 +# -run `make` to build the MCU firmware. +# -Stop the Klipper service: `sudo service klipper stop` +# -Flash the MCU: `make flash FLASH_DEVICE=`. +# -Check the output of avrdude to make sure the flash was successful. +# -Start Klipper again: ` sudo service klipper start` + +[mcu] +serial: /dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN04GSGV-if00-port0 + +[printer] +kinematics: cartesian +max_velocity: 150 +max_accel: 2000 +max_z_velocity: 10 +max_z_accel: 100 + +[stepper_x] +step_pin: PF0 +dir_pin: !PF1 +enable_pin: !PD7 +microsteps: 32 +rotation_distance: 54 +endstop_pin: ^!PE5 +position_endstop: 0 +position_max: 590 +homing_speed: 20 + +[stepper_y] +step_pin: PF6 +dir_pin: !PF7 +enable_pin: !PF2 +microsteps: 32 +rotation_distance: 54 +endstop_pin: ^!PJ1 +position_endstop: 0 +position_max: 760 +homing_speed: 20 + +[stepper_z] +step_pin: PL3 +dir_pin: PL1 +enable_pin: !PK0 +microsteps: 32 +rotation_distance: 1.5875 +endstop_pin: ^!PD3 +position_endstop: 0 +position_max: 900 +position_min: 0.0 +homing_speed: 5 + +[extruder] +step_pin: PA4 +dir_pin: !PA6 +enable_pin: !PA2 +microsteps: 32 +rotation_distance: 6.4 +nozzle_diameter: 0.4 +filament_diameter: 2.85 +heater_pin: PB4 #Thermocouple 1 +sensor_type: AD8495 +sensor_pin: PF4 +min_temp: 0 +max_temp: 250 +control: pid +pid_kp: 16.533 +pid_ki: 0.538 +pid_kd: 127.100 + +[heater_bed] +heater_pin: PH5 +sensor_type: AD8495 +voltage_offset: -1.24 +sensor_pin: PF5 #Thermocouple 2 +min_temp: 0 +max_temp: 120 +control: pid +pid_kp: 62.838 +pid_ki: 1.682 +pid_kd: 586.754 + +[fan] +#Part cooling fan +pin: PH0 #Hotend 4 + +[heater_fan heatbreak_fan] +pin: PH1 #Hotend 3 +heater: extruder +heater_temp: 50.0 + +#Full scale voltage output of these pots is ~1.2V. +# These pots connect to the vref pin on the drivers. +[mcp4451 pot1] +i2c_address: 44 +wiper_0: 0 #Goes to X driver +wiper_1: 0 #Goes to Y driver +wiper_2: 0 #Goes to Z driver +wiper_3: 0 #Goes to E1 driver + +[mcp4451 pot2] +i2c_address: 46 +wiper_0: 0 #Goes to E2 driver +wiper_1: 0 #Goes to E3 driver +wiper_2: 0 #Goes to E4 driver +wiper_3: 0 #Goes to E5 driver + +#The Viki2 display is actually ST7565 based, but the UC1701 type works here. +#[display] +# lcd_type: uc1701 +# cs_pin: PL4 +# a0_pin: PL5 +# contrast: 50 +# encoder_pins: ^PA0, ^PH4 +# click_pin: ^!PG2 + +[board_pins] +aliases: + x_step=PF0, + x_dir=PF1, + x_enable=PD7, #All motor enable pins have hardware pullups. + x_min_endstop=PE5, + x_max_endstop=PE4, + + y_step=PF6, + y_dir=PF7, + y_enable=PF2, + y_min_endstop=PJ1, + y_max_endstop=PJ0, + + z_step=PL3, + z_dir=PL1, + z_enable=PK0, + z_min_endstop=PD3, + z_max_endstop=PD2, + + e1_enable=PA2, + e1_dir=PA6, + e1_step=PA4, + + e2_enable=PC7, + e2_dir=PC3, + e2_step=PC1, + + e3_enable=PG1, + e3_dir=PA3, + e3_step=PA1, + + e4_enable=PG0, + e4_dir=PA7, + e4_step=PA5, + + e5_enable=PL7, + e5_dir=PC0, + e5_step=PL6, + + thermistor_bed=PK6, + thermistor_0=PK5, + thermistor_1=PK7, + thermistor_2=PK4, + thermistor_3=PK3, + thermistor_4=PK2, + thermocouple1=PF4, #Type K + thermocouple2=PF5, #Type K + + hotbed=PH5, + hotend_1=PB4, + hotend_2=PH6, + hotend_3=PH1, + hotend_4=PH0, + hotend_5=PG5, + hotend_6=PE3, + hotend_7=PH3, + hotend_8=PB5, + + sd_card_select=PB0, #Onboard SD card. Not tested. + sd_card_detect=PL0, #Needs pull-up + buzzer=PC4, #High side of buzzer + onboard_led=PB7, #Not tested. + + #Pins for the Viki2 LCD. These pins are somewhat arbitrary, but + # the below is the standard wiring from the manual. + viki2_buzzer=PC4, #Same as onboard buzzer + viki2_lcd_a0=PL5, + viki2_lcd_cs=PL4, + viki2_enc_a=PA0, + viki2_enc_b=PH4, + viki2_enc_btn=PG2, + viki2_sd_detect=PL0, + viki2_sd_cs=PL0, + viki2_led_red=PC5, + viki2_led_blue=PC2, + + rx=PE0, #Attached to USB through a FTDI FT231x + tx=PE1, + MOSI=PB2, + MISO=PB3, + SDA=PD1, + SCL=PD0, diff --git a/test/klippy/printers.test b/test/klippy/printers.test index 92c340cb8..2378e2357 100644 --- a/test/klippy/printers.test +++ b/test/klippy/printers.test @@ -15,6 +15,7 @@ CONFIG ../../config/example-winch.cfg # Printers using the atmega2560 DICTIONARY atmega2560.dict +CONFIG ../../config/generic-azteeg-x3-pro.cfg CONFIG ../../config/generic-einsy-rambo.cfg CONFIG ../../config/generic-fysetc-f6.cfg CONFIG ../../config/generic-gt2560.cfg