diff --git a/config/generic-azteeg-x3-pro.cfg b/config/generic-azteeg-x3-pro.cfg new file mode 100644 index 000000000..51b9cb4ba --- /dev/null +++ b/config/generic-azteeg-x3-pro.cfg @@ -0,0 +1,211 @@ +# 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: x_step + dir_pin: !x_dir + enable_pin: !x_enable + microsteps: 32 + rotation_distance: 54 + endstop_pin: ^!x_min_endstop + position_endstop: 0 + position_max: 590 + homing_speed: 20 + +[stepper_y] + step_pin: y_step + dir_pin: !y_dir + enable_pin: !y_enable + microsteps: 32 + rotation_distance: 54 + endstop_pin: ^!y_max_endstop + position_endstop: 0 + position_max: 760 + homing_speed: 20 + +[stepper_z] + step_pin: z_step + dir_pin: z_dir + enable_pin: !z_enable + microsteps: 32 + rotation_distance: 1.5875 + endstop_pin: ^!z_min_endstop + position_endstop: 0 + position_max: 900 + position_min: 0.0 + homing_speed: 5 + +[extruder] + step_pin: e1_step + dir_pin: !e1_dir + enable_pin: !e1_enable + microsteps: 32 + rotation_distance: 6.4 + nozzle_diameter: 0.4 + filament_diameter: 2.85 + heater_pin: hotend_1 + sensor_type: AD8495 + sensor_pin: thermocouple1 + min_temp: 0 + max_temp: 250 + control: pid + pid_kp: 16.533 + pid_ki: 0.538 + pid_kd: 127.100 + +[heater_bed] + heater_pin: hotbed + sensor_type: AD8495 + voltage_offset: -1.24 + sensor_pin: PF3 + 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: hotend_4 + +[heater_fan heatbreak_fan] + pin: hotend_3 + heater: extruder, extruder1 + heater_temp: 50.0 + +#Full scale voltage output of these pots is ~1.2V +[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: viki2_lcd_cs +# a0_pin: viki2_lcd_a0 +# contrast: 50 +# encoder_pins: ^viki2_enc_a, ^viki2_enc_b +# click_pin: ^!viki2_enc_btn + +[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, \ No newline at end of file