commit ef868e79537f578916342ef44a01704fdc89bd8e Author: Anto01 Date: Mon Jan 12 20:52:58 2026 -0500 Initial AON3D M2+ dual MCU configuration - Octopus Pro: Motors (MOTOR0-7), bed heater (PA1), chamber heater (PB10) - Azteeg X3: Thermistors, endstops, probe, fan, hotend heaters - IDEX setup with external DM542T drivers - Includes wiring documentation and swap guide Co-Authored-By: Claude Opus 4.5 diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..42addd9 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,8 @@ +{ + "permissions": { + "allow": [ + "Bash(git add:*)", + "Bash(git commit -m \"$\\(cat <<''EOF''\nInitial AON3D M2+ dual MCU configuration\n\n- Octopus Pro: Motors \\(MOTOR0-7\\), bed heater \\(PA1\\), chamber heater \\(PB10\\)\n- Azteeg X3: Thermistors, endstops, probe, fan, hotend heaters\n- IDEX setup with external DM542T drivers\n- Includes wiring documentation and swap guide\n\nCo-Authored-By: Claude Opus 4.5 \nEOF\n\\)\")" + ] + } +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..0bf18f1 --- /dev/null +++ b/README.md @@ -0,0 +1,110 @@ +# AON3D M2+ - BTT Octopus Pro v1.0.1 Conversion + +Controller board upgrade from Azteeg X3 to BigTreeTech Octopus Pro v1.0.1 running Klipper firmware. + +## Machine Configuration + +| Component | Specification | +|-----------|---------------| +| Printer | AON3D M2+ (IDEX) | +| Controller | BTT Octopus Pro v1.0.1 | +| Firmware | Klipper | +| Host | Raspberry Pi 4/5 (FluiddPi) | +| Stepper Drivers | External DM542T | +| Kinematics | Cartesian with Dual Carriage (IDEX) | + +## Motor Assignments + +| Motor Slot | Axis | Function | +|------------|------|----------| +| MOTOR0 | X | Primary carriage | +| MOTOR1 | X2 | Dual carriage (IDEX) | +| MOTOR2 | Y | Y axis | +| MOTOR3 | Y1 | Y axis (second motor) | +| MOTOR4 | Z | Z axis | +| MOTOR5 | Z1 | Z axis (second motor) | +| MOTOR6 | E0 | Extruder 0 | +| MOTOR7 | E1 | Extruder 1 | + +## Build Volume + +- X: 450mm (540mm total with dual carriage travel) +- Y: 450mm +- Z: 600mm +- Heated Chamber: Yes (up to 175°C) + +## Project Structure + +``` +AON3D-M2/ +├── klipper/ +│ ├── printer.cfg # Main Klipper configuration +│ └── macros.cfg # G-code macros (IDEX, pause/resume, etc.) +├── original/ +│ └── klipper_config/ # Original Azteeg X3 configs (reference) +├── docs/ +│ └── wiring.md # Wiring guide for Octopus Pro +└── README.md +``` + +## Quick Start + +1. **Flash Klipper** to the Octopus Pro (see [docs/wiring.md](docs/wiring.md)) + +2. **Wire the board** according to the pin assignments in [docs/wiring.md](docs/wiring.md) + +3. **Copy config files** to your Pi: + ```bash + scp klipper/*.cfg pi@192.168.86.20:~/printer_data/config/ + ``` + +4. **Update serial port** in `printer.cfg`: + ```bash + ssh pi@192.168.86.20 + ls /dev/serial/by-id/* + # Edit printer.cfg with the correct serial ID + ``` + +5. **Restart Klipper** and verify connection + +## Key Differences from Original Setup + +| Setting | Original (Azteeg X3) | New (Octopus Pro) | +|---------|---------------------|-------------------| +| MCU | ATmega2560 (Arduino) | STM32F446 | +| Pin format | `ar##` aliases | Direct STM32 pins | +| Communication | FTDI USB-Serial | Native USB | +| Voltage reference | 5V ADC | 3.3V ADC | + +## Calibration Checklist + +After wiring, perform these calibrations: + +- [ ] Verify motor directions (invert DIR pins if needed) +- [ ] Check endstop triggering (`QUERY_ENDSTOPS`) +- [ ] Verify thermistor readings at room temperature +- [ ] PID tune extruders: `PID_EXTRUDER` / `PID_EXTRUDER1` +- [ ] PID tune bed: `PID_BED` +- [ ] PID tune chamber: `PID_CHAMBER` +- [ ] Calibrate Z endstop: `Z_ENDSTOP_CALIBRATE` +- [ ] Run bed mesh: `BED_MESH_CALIBRATE` +- [ ] Verify IDEX tool changes: `T0` / `T1` + +## Useful Commands + +```gcode +T0 # Switch to extruder 0 +T1 # Switch to extruder 1 +CALIBRATE_M2 # Full calibration routine +PID_EXTRUDER TEMP=250 # PID tune extruder at 250°C +PID_BED TEMP=110 # PID tune bed at 110°C +LOAD_FILAMENT # Load filament +UNLOAD_FILAMENT # Unload filament +``` + +## Links + +- [Klipper Documentation](https://www.klipper3d.org/) +- [BTT Octopus Pro GitHub](https://github.com/bigtreetech/BIGTREETECH-OCTOPUS-Pro) +- [Klipper Config Reference](https://www.klipper3d.org/Config_Reference.html) +- [IDEX Configuration](https://www.klipper3d.org/Config_Reference.html#dual_carriage) diff --git a/docs/BIGTREETECH Octopus Pro - PIN.pdf b/docs/BIGTREETECH Octopus Pro - PIN.pdf new file mode 100644 index 0000000..8edc8cd Binary files /dev/null and b/docs/BIGTREETECH Octopus Pro - PIN.pdf differ diff --git a/docs/BIGTREETECH-Octopus-Pro-V1.0-Color-PIN-V3.0.pdf b/docs/BIGTREETECH-Octopus-Pro-V1.0-Color-PIN-V3.0.pdf new file mode 100644 index 0000000..63a9b5a Binary files /dev/null and b/docs/BIGTREETECH-Octopus-Pro-V1.0-Color-PIN-V3.0.pdf differ diff --git a/docs/BTT_Octopus_pro_EN.pdf b/docs/BTT_Octopus_pro_EN.pdf new file mode 100644 index 0000000..21bc37b Binary files /dev/null and b/docs/BTT_Octopus_pro_EN.pdf differ diff --git a/docs/azteeg-to-octopus-mapping.md b/docs/azteeg-to-octopus-mapping.md new file mode 100644 index 0000000..0d9dd6d --- /dev/null +++ b/docs/azteeg-to-octopus-mapping.md @@ -0,0 +1,79 @@ +# Azteeg X3 → Octopus Pro Swap Guide + +**Do NOT install M0DIAG-M7DIAG jumpers** + +--- + +## MOTORS (left to right on Octopus) + +| Motor | Axis | Step | Dir | Enable | +|-------|------|------|-----|--------| +| MOTOR0 | X (T0) | PF13 | PF12 | PF14 | +| MOTOR1 | Y (left) | PG0 | PG1 | PF15 | +| MOTOR2 | Z (left) | PF11 | PG3 | PG5 | +| MOTOR3 | E0 (T0) | PG4 | PC1 | PA0 | +| MOTOR4 | E1 (T1) | PF9 | PF10 | PG2 | +| MOTOR5 | X2 (T1) | PC13 | PF0 | PF1 | +| MOTOR6 | Y1 (right) | PE2 | PE3 | PD4 | +| MOTOR7 | Z1 (right) | PE6 | PA14 | PE0 | + +--- + +## ENDSTOPS + +| Wire from Azteeg | → | Octopus Pin | +|------------------|---|-------------| +| X min endstop | → | PG6 | +| X2 endstop | → | PG9 | +| Y min endstop | → | PG10 | +| Y1 endstop | → | PG11 | +| Z min endstop | → | PG12 | +| Z1 endstop | → | PG13 | + +--- + +## THERMISTORS + +| Wire from Azteeg | → | Octopus Pin | +|------------------|---|-------------| +| Extruder 0 thermistor | → | PF4 | +| Extruder 1 thermistor | → | PF5 | +| Chamber thermistor | → | PF6 | +| Bed thermistor | → | PF3 | + +--- + +## HEATERS + +| Wire from Azteeg | Azteeg Pin | → | Octopus Pin | +|------------------|------------|---|-------------| +| Hotend 0 heater | ar10 | → | PA2 (HE0) | +| Hotend 1 heater | ar9 | → | PA3 (HE1) | +| Chamber heater | ar4 | → | PB10 (HE2) | +| Bed heater | ar8 | → | PA1 (HB) | + +--- + +## FANS + +| Wire from Azteeg | → | Octopus Pin | +|------------------|---|-------------| +| Enclosure fan | → | PD12 | + +--- + +## PROBE + +| Wire from Azteeg | → | Octopus Pin | +|------------------|---|-------------| +| Probe signal | → | PG15 | + +--- + +## POWER + +| Wire from Azteeg | → | Octopus | +|------------------|---|---------| +| 24V + | → | VIN + | +| 24V - | → | VIN - | +| USB to Pi | → | USB-C | diff --git a/docs/octopus-pro-wiring.svg b/docs/octopus-pro-wiring.svg new file mode 100644 index 0000000..bbb6b95 --- /dev/null +++ b/docs/octopus-pro-wiring.svg @@ -0,0 +1,368 @@ + + + + + + + + + + + AON3D M2+ Wiring Diagram - BTT Octopus Pro v1.0.1 + External DM542T Stepper Drivers Configuration + + + + BTT OCTOPUS PRO v1.0.1 + + + + MOTOR OUTPUTS + + + + MOTOR0 + X Axis + + + + MOTOR1 + X2 (IDEX) + + + + MOTOR2 + Y Axis + + + + MOTOR3 + Y1 Axis + + + + MOTOR4 + Z Axis + + + + MOTOR5 + Z1 Axis + + + + MOTOR6 + Extruder 0 + + + + MOTOR7 + Extruder 1 + + + + + ENDSTOPS (DIAG) + + + DIAG0 + X-min + + + DIAG1 + X2 + + + DIAG2 + Y-min + + + DIAG3 + Y1 + + + DIAG4 + Z-min + + + DIAG5 + Z1 + + + + + THERMISTORS + + + T0 + Extruder 0 + + + T1 + Extruder 1 + + + T2 + Chamber + + + TB + Bed + + + + + HEATERS + + + HE0 + Hotend 0 + + + HE1 + Hotend 1 + + + HE2 + Chamber + + + HB + Bed (10A) + + + + + FANS + + + FAN0 + + + FAN1 + + + FAN2 + + + FAN3 + + + FAN4 + + FAN2 = Enclosure Fan + + + + + PROBE + + PROBE + PG15 + + + + + POWER + + 24V IN + + + USB-C + + + + + PIN REFERENCE + MOTOR0: STEP=PF13, DIR=PF12, EN=PF14 + MOTOR1: STEP=PG0, DIR=PG1, EN=PF15 + MOTOR2: STEP=PF11, DIR=PG3, EN=PG5 + MOTOR3: STEP=PG4, DIR=PC1, EN=PA0 + MOTOR4: STEP=PF9, DIR=PF10, EN=PG2 + MOTOR5: STEP=PC13, DIR=PF0, EN=PF1 + MOTOR6: STEP=PE2, DIR=PE3, EN=PD4 + MOTOR7: STEP=PE6, DIR=PA14, EN=PE0 + + + + + EXTERNAL DM542T DRIVERS (x8) + + + + DM542T + Driver Template + + + INPUTS: + PUL+ ← STEP + PUL- ← GND + DIR+ ← DIR + DIR- ← GND + ENA+ ← EN + ENA- ← GND + + + OUTPUTS: A+,A-,B+,B- + POWER: V+, V- + + + CONNECTION PATTERN + + + + + STEP (pin 2) ──► PUL+ + DIR (pin 3) ──► DIR+ + EN (pin 4) ──► ENA+ + GND (pin 1) ──► PUL- + ├──► DIR- + └──► ENA- + + To Motor: A+, A-, B+, B- + Power: 24-48V DC + + + + + DRIVER ASSIGNMENTS + + + + OCTOPUS DRIVER MOTOR + ──────────────────────────── + MOTOR0 → DM542T #1 → X + MOTOR1 → DM542T #2 → X2 (IDEX) + MOTOR2 → DM542T #3 → Y + MOTOR3 → DM542T #4 → Y1 + MOTOR4 → DM542T #5 → Z + MOTOR5 → DM542T #6 → Z1 + MOTOR6 → DM542T #7 → E0 + MOTOR7 → DM542T #8 → E1 + Total: 8 motor channels + + + + + WIRE COLOR LEGEND + + + + STEP signal + + + DIR signal + + + ENABLE signal + + + GND (common) + + + + + HEATER & SENSOR WIRING + + + THERMISTORS (2-wire, not polarized): + T0 (PF4) ← Extruder 0 thermistor + T1 (PF5) ← Extruder 1 thermistor + T2 (PF6) ← Chamber thermistor + TB (PF3) ← Bed thermistor + + HEATERS: + HE0 (PA2) → Hotend 0 HE2 (PB10) → Chamber + HE1 (PA3) → Hotend 1 HB (PA1) → Bed + + + + + ENDSTOP WIRING + + + ENDSTOP PIN ASSIGNMENTS: + DIAG0 (PG6) → X min DIAG3 (PG11) → Y1 + DIAG1 (PG9) → X2/IDEX DIAG4 (PG12) → Z min + DIAG2 (PG10) → Y min DIAG5 (PG13) → Z1 + PROBE (PG15) → Bed probe (with pull-up: ^PG15) + + + + + DM542T DIP SWITCHES + + + MICROSTEPPING (SW5-SW8): + X,X2,Y,Y1,E0,E1: 16 µsteps + → SW5=OFF, SW6=ON, SW7=ON, SW8=OFF + Z, Z1: 4 µsteps + → SW5=ON, SW6=ON, SW7=OFF, SW8=OFF + CURRENT (SW1-SW3): Set per motor specs + + + + + SYSTEM OVERVIEW + + + + Raspberry Pi + FluiddPi + + + USB ↓ + + + + Octopus Pro + Klipper MCU + + + Step/Dir/En ↓ + + + + DM542T x8 + External Drivers + + + 4-wire ↓ + + + + Stepper Motors + NEMA 17/23 + + + + Note: All GND connections can share a common ground wire daisy-chained between drivers. + Ensure adequate wire gauge for motor power (14-16 AWG for power, 22-24 AWG for signals). + + + AON3D M2+ BTT Octopus Pro Conversion - Wiring Diagram v1.0 + diff --git a/docs/swap-checklist.md b/docs/swap-checklist.md new file mode 100644 index 0000000..b9c932e --- /dev/null +++ b/docs/swap-checklist.md @@ -0,0 +1,142 @@ +# AON3D M2+ Controller Swap Checklist +## Azteeg X3 → BTT Octopus Pro v1.0.1 + +Since your DM542T drivers are already wired to the motors, you only need to move the **signal wires** from the Azteeg to the Octopus Pro. + +--- + +## BEFORE YOU START + +- [ ] Power OFF everything +- [ ] Take photos of current Azteeg wiring for reference +- [ ] Label wires if not already labeled + +--- + +## 1. MOTOR SIGNAL WIRES (Step/Dir/Enable from DM542T) + +Move the signal cables from each DM542T driver to the Octopus Pro motor headers. + +**Wiring per DM542T → Octopus:** +``` +DM542T Octopus MOTOR Header +────── ──────────────────── +PUL+ ─────────► Pin 2 (STEP) +DIR+ ─────────► Pin 3 (DIR) +ENA+ ─────────► Pin 4 (EN) +PUL-/DIR-/ENA- ► Pin 1 (GND) - can share one GND wire +``` + +| DM542T Driver | From Azteeg | To Octopus Header | +|---------------|-------------|-------------------| +| X motor | Azteeg X | **MOTOR0** | ☐ | +| X2 motor (IDEX) | Azteeg ? | **MOTOR1** | ☐ | +| Y motor | Azteeg Y | **MOTOR2** | ☐ | +| Y1 motor | Azteeg ? | **MOTOR3** | ☐ | +| Z motor | Azteeg Z | **MOTOR4** | ☐ | +| Z1 motor | Azteeg ? | **MOTOR5** | ☐ | +| Extruder 0 | Azteeg E0 | **MOTOR6** | ☐ | +| Extruder 1 | Azteeg E1 | **MOTOR7** | ☐ | + +--- + +## 2. ENDSTOPS + +Move endstop connectors from Azteeg to Octopus DIAG headers. + +| Endstop | To Octopus Header | Done | +|---------|-------------------|------| +| X min | **DIAG0** (PG6) | ☐ | +| X2 / IDEX | **DIAG1** (PG9) | ☐ | +| Y min | **DIAG2** (PG10) | ☐ | +| Y1 (if used) | **DIAG3** (PG11) | ☐ | +| Z min | **DIAG4** (PG12) | ☐ | +| Z1 (if used) | **DIAG5** (PG13) | ☐ | + +--- + +## 3. THERMISTORS + +Move thermistor connectors from Azteeg to Octopus. + +| Thermistor | To Octopus Header | Done | +|------------|-------------------|------| +| Extruder 0 | **T0** (PF4) | ☐ | +| Extruder 1 | **T1** (PF5) | ☐ | +| Chamber | **T2** (PF6) | ☐ | +| Bed | **TB** (PF3) | ☐ | + +--- + +## 4. HEATERS + +Move heater wires from Azteeg to Octopus. + +| Heater | To Octopus Header | Done | +|--------|-------------------|------| +| Hotend 0 | **HE0** (PA2) | ☐ | +| Hotend 1 | **HE1** (PA3) | ☐ | +| Chamber | **HE2** (PB10) | ☐ | +| Bed | **HB** (PA1) | ☐ | + +--- + +## 5. FANS + +| Fan | To Octopus Header | Done | +|-----|-------------------|------| +| Enclosure fan | **FAN2** (PD12) | ☐ | +| Others (if any) | FAN0-5 as needed | ☐ | + +--- + +## 6. PROBE + +| Component | To Octopus Header | Done | +|-----------|-------------------|------| +| Probe | **PROBE** (PG15) | ☐ | + +--- + +## 7. POWER & COMMUNICATION + +| Connection | Done | +|------------|------| +| 24V power to Octopus VIN (+/-) | ☐ | +| USB cable to Raspberry Pi | ☐ | + +--- + +## 8. FINAL CHECKS + +- [ ] All connections secure +- [ ] No loose wires +- [ ] 24V polarity correct +- [ ] USB connected to Pi + +--- + +## 9. POWER ON SEQUENCE + +1. [ ] Power on Raspberry Pi first +2. [ ] SSH in: `ssh pi@192.168.86.20` +3. [ ] Power on 24V to printer +4. [ ] Check serial: `ls /dev/serial/by-id/*` +5. [ ] Copy the serial ID +6. [ ] Update printer.cfg with serial ID +7. [ ] Copy configs to Pi +8. [ ] Restart Klipper + +--- + +## QUICK PIN REFERENCE + +``` +MOTOR0 → X MOTOR4 → Z HE0 → Hotend 0 T0 → Extruder 0 temp +MOTOR1 → X2 MOTOR5 → Z1 HE1 → Hotend 1 T1 → Extruder 1 temp +MOTOR2 → Y MOTOR6 → E0 HE2 → Chamber T2 → Chamber temp +MOTOR3 → Y1 MOTOR7 → E1 HB → Bed TB → Bed temp + +DIAG0 → X min DIAG2 → Y min DIAG4 → Z min PROBE → Bed probe +DIAG1 → X2 DIAG3 → Y1 DIAG5 → Z1 FAN2 → Enclosure +``` diff --git a/docs/wiring-checklist.md b/docs/wiring-checklist.md new file mode 100644 index 0000000..8aeb148 --- /dev/null +++ b/docs/wiring-checklist.md @@ -0,0 +1,336 @@ +# AON3D M2+ Wiring Checklist +## BTT Octopus Pro v1.0.1 + +Print this checklist and mark each connection as you complete it. + +--- + +## PRE-WIRING CHECKS + +- [ ] Power supply OFF +- [ ] All components laid out and identified +- [ ] Wire labels/markers ready +- [ ] Multimeter available for testing +- [ ] Correct wire gauges prepared: + - [ ] 14-16 AWG for power + - [ ] 22-24 AWG for signals + +--- + +## 1. POWER CONNECTIONS + +### Main Power +| Connection | From | To | Done | +|------------|------|-----|------| +| 24V+ | PSU +24V | Octopus VIN+ | ☐ | +| 24V- | PSU GND | Octopus VIN- | ☐ | + +### DM542T Driver Power (all 8 drivers) +| Driver | V+ Connected | V- Connected | +|--------|--------------|--------------| +| DM542T #1 (X) | ☐ | ☐ | +| DM542T #2 (X2) | ☐ | ☐ | +| DM542T #3 (Y) | ☐ | ☐ | +| DM542T #4 (Y1) | ☐ | ☐ | +| DM542T #5 (Z) | ☐ | ☐ | +| DM542T #6 (Z1) | ☐ | ☐ | +| DM542T #7 (E0) | ☐ | ☐ | +| DM542T #8 (E1) | ☐ | ☐ | + +--- + +## 2. MOTOR SIGNAL CONNECTIONS + +### MOTOR0 → DM542T #1 → X Axis Motor +| Signal | Octopus Pin | DM542T Terminal | Done | +|--------|-------------|-----------------|------| +| STEP | PF13 (pin 2) | PUL+ | ☐ | +| DIR | PF12 (pin 3) | DIR+ | ☐ | +| EN | PF14 (pin 4) | ENA+ | ☐ | +| GND | GND (pin 1) | PUL-, DIR-, ENA- | ☐ | + +Motor wires to DM542T: +- [ ] A+ connected +- [ ] A- connected +- [ ] B+ connected +- [ ] B- connected + +--- + +### MOTOR1 → DM542T #2 → X2 (Dual Carriage) Motor +| Signal | Octopus Pin | DM542T Terminal | Done | +|--------|-------------|-----------------|------| +| STEP | PG0 (pin 2) | PUL+ | ☐ | +| DIR | PG1 (pin 3) | DIR+ | ☐ | +| EN | PF15 (pin 4) | ENA+ | ☐ | +| GND | GND (pin 1) | PUL-, DIR-, ENA- | ☐ | + +Motor wires to DM542T: +- [ ] A+ connected +- [ ] A- connected +- [ ] B+ connected +- [ ] B- connected + +--- + +### MOTOR2 → DM542T #3 → Y Axis Motor +| Signal | Octopus Pin | DM542T Terminal | Done | +|--------|-------------|-----------------|------| +| STEP | PF11 (pin 2) | PUL+ | ☐ | +| DIR | PG3 (pin 3) | DIR+ | ☐ | +| EN | PG5 (pin 4) | ENA+ | ☐ | +| GND | GND (pin 1) | PUL-, DIR-, ENA- | ☐ | + +Motor wires to DM542T: +- [ ] A+ connected +- [ ] A- connected +- [ ] B+ connected +- [ ] B- connected + +--- + +### MOTOR3 → DM542T #4 → Y1 Axis Motor +| Signal | Octopus Pin | DM542T Terminal | Done | +|--------|-------------|-----------------|------| +| STEP | PG4 (pin 2) | PUL+ | ☐ | +| DIR | PC1 (pin 3) | DIR+ | ☐ | +| EN | PA0 (pin 4) | ENA+ | ☐ | +| GND | GND (pin 1) | PUL-, DIR-, ENA- | ☐ | + +Motor wires to DM542T: +- [ ] A+ connected +- [ ] A- connected +- [ ] B+ connected +- [ ] B- connected + +--- + +### MOTOR4 → DM542T #5 → Z Axis Motor +| Signal | Octopus Pin | DM542T Terminal | Done | +|--------|-------------|-----------------|------| +| STEP | PF9 (pin 2) | PUL+ | ☐ | +| DIR | PF10 (pin 3) | DIR+ | ☐ | +| EN | PG2 (pin 4) | ENA+ | ☐ | +| GND | GND (pin 1) | PUL-, DIR-, ENA- | ☐ | + +Motor wires to DM542T: +- [ ] A+ connected +- [ ] A- connected +- [ ] B+ connected +- [ ] B- connected + +--- + +### MOTOR5 → DM542T #6 → Z1 Axis Motor +| Signal | Octopus Pin | DM542T Terminal | Done | +|--------|-------------|-----------------|------| +| STEP | PC13 (pin 2) | PUL+ | ☐ | +| DIR | PF0 (pin 3) | DIR+ | ☐ | +| EN | PF1 (pin 4) | ENA+ | ☐ | +| GND | GND (pin 1) | PUL-, DIR-, ENA- | ☐ | + +Motor wires to DM542T: +- [ ] A+ connected +- [ ] A- connected +- [ ] B+ connected +- [ ] B- connected + +--- + +### MOTOR6 → DM542T #7 → Extruder 0 Motor +| Signal | Octopus Pin | DM542T Terminal | Done | +|--------|-------------|-----------------|------| +| STEP | PE2 (pin 2) | PUL+ | ☐ | +| DIR | PE3 (pin 3) | DIR+ | ☐ | +| EN | PD4 (pin 4) | ENA+ | ☐ | +| GND | GND (pin 1) | PUL-, DIR-, ENA- | ☐ | + +Motor wires to DM542T: +- [ ] A+ connected +- [ ] A- connected +- [ ] B+ connected +- [ ] B- connected + +--- + +### MOTOR7 → DM542T #8 → Extruder 1 Motor +| Signal | Octopus Pin | DM542T Terminal | Done | +|--------|-------------|-----------------|------| +| STEP | PE6 (pin 2) | PUL+ | ☐ | +| DIR | PA14 (pin 3) | DIR+ | ☐ | +| EN | PE0 (pin 4) | ENA+ | ☐ | +| GND | GND (pin 1) | PUL-, DIR-, ENA- | ☐ | + +Motor wires to DM542T: +- [ ] A+ connected +- [ ] A- connected +- [ ] B+ connected +- [ ] B- connected + +--- + +## 3. DM542T DIP SWITCH SETTINGS + +| Driver | Axis | Microsteps | SW5 | SW6 | SW7 | SW8 | Set | +|--------|------|------------|-----|-----|-----|-----|-----| +| #1 | X | 16 | OFF | ON | ON | OFF | ☐ | +| #2 | X2 | 16 | OFF | ON | ON | OFF | ☐ | +| #3 | Y | 16 | OFF | ON | ON | OFF | ☐ | +| #4 | Y1 | 16 | OFF | ON | ON | OFF | ☐ | +| #5 | Z | 4 | ON | ON | OFF | OFF | ☐ | +| #6 | Z1 | 4 | ON | ON | OFF | OFF | ☐ | +| #7 | E0 | 16 | OFF | ON | ON | OFF | ☐ | +| #8 | E1 | 16 | OFF | ON | ON | OFF | ☐ | + +Current settings (SW1-SW3): Set per your motor specifications +- [ ] All current settings configured + +--- + +## 4. ENDSTOP CONNECTIONS + +| Endstop | Octopus Header | Pin | Signal Wire | GND Wire | +|---------|----------------|-----|-------------|----------| +| X Min | DIAG0 | PG6 | ☐ | ☐ | +| X2 (IDEX) | DIAG1 | PG9 | ☐ | ☐ | +| Y Min | DIAG2 | PG10 | ☐ | ☐ | +| Y1 (opt) | DIAG3 | PG11 | ☐ | ☐ | +| Z Min | DIAG4 | PG12 | ☐ | ☐ | +| Z1 (opt) | DIAG5 | PG13 | ☐ | ☐ | + +--- + +## 5. PROBE CONNECTION + +| Component | Octopus Header | Connection | Done | +|-----------|----------------|------------|------| +| Probe Signal | PROBE | S pin | ☐ | +| Probe GND | PROBE | G pin | ☐ | +| Probe VCC (if needed) | PROBE | V pin | ☐ | + +--- + +## 6. THERMISTOR CONNECTIONS + +| Thermistor | Octopus Header | Pin | Wire 1 | Wire 2 | +|------------|----------------|-----|--------|--------| +| Extruder 0 | T0 | PF4 | ☐ | ☐ | +| Extruder 1 | T1 | PF5 | ☐ | ☐ | +| Chamber | T2 | PF6 | ☐ | ☐ | +| Bed | TB | PF3 | ☐ | ☐ | + +--- + +## 7. HEATER CONNECTIONS + +| Heater | Octopus Header | Pin | + Wire | - Wire | +|--------|----------------|-----|--------|--------| +| Hotend 0 | HE0 | PA2 | ☐ | ☐ | +| Hotend 1 | HE1 | PA3 | ☐ | ☐ | +| Chamber | HE2 | PB10 | ☐ | ☐ | +| Bed | HB | PA1 | ☐ | ☐ | + +**Note for Bed**: If using SSR, connect SSR control to HB output +- [ ] SSR used (if applicable) +- [ ] SSR control wiring correct +- [ ] SSR load wiring correct + +--- + +## 8. FAN CONNECTIONS + +| Fan | Octopus Header | Pin | + Wire | - Wire | +|-----|----------------|-----|--------|--------| +| Enclosure Fan | FAN2 | PD12 | ☐ | ☐ | +| Part Cooling 0 (opt) | FAN0 | PA8 | ☐ | ☐ | +| Part Cooling 1 (opt) | FAN1 | PE5 | ☐ | ☐ | +| Hotend Fan 0 (opt) | FAN3 | PD13 | ☐ | ☐ | +| Hotend Fan 1 (opt) | FAN4 | PE4 | ☐ | ☐ | + +--- + +## 9. COMMUNICATION + +| Connection | Done | +|------------|------| +| USB cable from Octopus to Raspberry Pi | ☐ | + +--- + +## 10. PRE-POWER-ON VERIFICATION + +### Visual Inspection +- [ ] No exposed wire strands touching other terminals +- [ ] All screw terminals tight +- [ ] No pinched wires +- [ ] Polarity correct on all power connections + +### Multimeter Checks +- [ ] No short between 24V+ and GND on Octopus +- [ ] No short between V+ and V- on any DM542T +- [ ] Continuity on all signal wires (disconnected from board) + +--- + +## 11. FIRST POWER-ON SEQUENCE + +### Step 1: Octopus Pro Only (no motor power) +- [ ] Connect USB to Pi +- [ ] Power on 24V supply to Octopus +- [ ] Octopus LEDs illuminate +- [ ] No smoke or burning smell +- [ ] Run `ls /dev/serial/by-id/*` on Pi - device appears + +### Step 2: Flash Klipper Firmware +- [ ] Build Klipper for STM32F446 +- [ ] Copy firmware.bin to SD card +- [ ] Flash Octopus Pro +- [ ] Verify serial device still present + +### Step 3: Start Klipper +- [ ] Copy printer.cfg and macros.cfg to Pi +- [ ] Update serial port in printer.cfg +- [ ] Start/restart Klipper +- [ ] No errors in Klipper log +- [ ] Fluidd connects successfully + +### Step 4: Test Without Motor Power +- [ ] `QUERY_ENDSTOPS` - all show correct state +- [ ] Temperature readings appear (room temp) +- [ ] No heater errors + +### Step 5: Motor Power On +- [ ] Power on DM542T power supply +- [ ] All DM542T LEDs illuminate +- [ ] Test single axis movement at low speed +- [ ] Verify direction (invert DIR pin if wrong) + +### Step 6: Full System Test +- [ ] All axes move correctly +- [ ] Both extruders work +- [ ] Homing works on all axes +- [ ] IDEX tool change (T0/T1) works +- [ ] Heaters respond (test at low temp first) +- [ ] Fans operate + +--- + +## NOTES + +_Use this space for any notes during wiring:_ + +``` + + + + +``` + +--- + +## COMPLETION + +- [ ] All connections verified +- [ ] System tested and operational +- [ ] Date completed: _______________ +- [ ] Signed off by: _______________ diff --git a/docs/wiring-instructions.md b/docs/wiring-instructions.md new file mode 100644 index 0000000..811786c --- /dev/null +++ b/docs/wiring-instructions.md @@ -0,0 +1,534 @@ +# AON3D M2+ Wiring Instructions +## BTT Octopus Pro v1.0.1 with External DM542T Drivers + +--- + +## Overview + +This guide covers wiring your AON3D M2+ IDEX printer with: +- **Controller**: BTT Octopus Pro v1.0.1 +- **Stepper Drivers**: External DM542T (8 units) +- **Host**: Raspberry Pi 4/5 running FluiddPi + +### Total Connections Required + +| Category | Count | Items | +|----------|-------|-------| +| Motor Drivers | 8 | X, X2, Y, Y1, Z, Z1, E0, E1 | +| Endstops | 4-6 | X-min, X-max, Y-min, (Y-max), Z-min, (Z-max) | +| Thermistors | 4 | Extruder 0, Extruder 1, Bed, Chamber | +| Heaters | 4 | Extruder 0, Extruder 1, Bed, Chamber | +| Fans | 1+ | Enclosure fan (+ optional part cooling) | +| Probe | 1 | Bed probe | +| Power | 2 | 24V main, USB to Pi | + +--- + +## PART 1: Power Supply Connections + +### 1.1 Main Power Input (24V DC) + +Connect your 24V power supply to the Octopus Pro: + +``` +Power Supply Octopus Pro +============ =========== ++24V ─────────────────────► VIN (+) +GND ─────────────────────► VIN (-) +``` + +**Location**: Large screw terminals on the edge of the board labeled "POWER" or "VIN" + +**Wire Gauge**: Use 14-16 AWG for main power + +### 1.2 DM542T Driver Power + +Each DM542T driver needs its own power connection (typically 24-48V DC): + +``` +Power Supply DM542T Driver +============ ============= ++24V to +48V ─────────────► V+ (or VCC) +GND ──────────────────────► V- (or GND) +``` + +**Important**: +- All DM542T drivers can share the same power supply +- Use appropriately rated power supply (calculate total motor current) +- Typical: 48V power supply for better high-speed performance + +--- + +## PART 2: Stepper Motor Connections (DM542T Drivers) + +### 2.1 Understanding the Signal Flow + +``` +┌─────────────┐ Step/Dir/Enable ┌─────────────┐ 4-wire ┌─────────────┐ +│ Octopus │ ───────────────────────►│ DM542T │───────────────►│ Stepper │ +│ Pro │ (low current) │ Driver │ (high current)│ Motor │ +└─────────────┘ └─────────────┘ └─────────────┘ +``` + +### 2.2 Octopus Pro Motor Header Pinout + +Each MOTOR header on the Octopus Pro has this pinout: + +``` + ┌───┬───┬───┬───┐ + │ 1 │ 2 │ 3 │ 4 │ + └───┴───┴───┴───┘ + │ │ │ │ + │ │ │ └── EN (Enable) + │ │ └────── DIR (Direction) + │ └────────── STEP (Step pulse) + └────────────── GND (Ground) +``` + +### 2.3 Motor-to-Driver Assignments + +| Octopus Header | Klipper Section | Function | STEP | DIR | EN | +|----------------|-----------------|----------|------|-----|-----| +| MOTOR0 | [stepper_x] | X Carriage 0 | PF13 | PF12 | PF14 | +| MOTOR1 | [dual_carriage] | X Carriage 1 (IDEX) | PG0 | PG1 | PF15 | +| MOTOR2 | [stepper_y] | Y Axis | PF11 | PG3 | PG5 | +| MOTOR3 | [stepper_y1] | Y1 Axis (2nd motor) | PG4 | PC1 | PA0 | +| MOTOR4 | [stepper_z] | Z Axis | PF9 | PF10 | PG2 | +| MOTOR5 | [stepper_z1] | Z1 Axis (2nd motor) | PC13 | PF0 | PF1 | +| MOTOR6 | [extruder] | Extruder 0 | PE2 | PE3 | PD4 | +| MOTOR7 | [extruder1] | Extruder 1 | PE6 | PA14 | PE0 | + +### 2.4 Wiring Each DM542T Driver + +For **EACH** of the 8 motor drivers, make these connections: + +``` +Octopus Pro MOTOR Header DM542T Driver +============================ ============= + +Pin 1 (GND) ──────────────────────► PUL- (Pulse negative) + ├───► DIR- (Direction negative) + └───► ENA- (Enable negative) + +Pin 2 (STEP) ─────────────────────► PUL+ (Pulse positive) + +Pin 3 (DIR) ──────────────────────► DIR+ (Direction positive) + +Pin 4 (EN) ───────────────────────► ENA+ (Enable positive) +``` + +**Visual Diagram**: +``` +Octopus MOTOR0 DM542T #1 (X Axis) +┌─────────────┐ ┌─────────────────┐ +│ GND ●──────┼────────┬───────────────►│ PUL- │ +│ STEP ●──────┼────────┼───────────────►│ PUL+ │ +│ DIR ●──────┼────────┼───────────────►│ DIR+ │ +│ EN ●──────┼────────┼───────────────►│ ENA+ │ +└─────────────┘ │ ┌┤ DIR- │ + ├───────────────►│ ENA- │ + │ │ │ + │ │ A+ ●───────────┼──► Motor Coil A+ + │ │ A- ●───────────┼──► Motor Coil A- + │ │ B+ ●───────────┼──► Motor Coil B+ + │ │ B- ●───────────┼──► Motor Coil B- + │ │ │ + │ │ V+ ●───────────┼──► +24-48V + │ │ V- ●───────────┼──► GND (Power) + │ └─────────────────┘ + │ + └─── Common GND (can use single wire daisy-chained + or individual wires to each driver) +``` + +### 2.5 Repeat for All 8 Drivers + +| # | Octopus Header | DM542T Label | Motor | +|---|----------------|--------------|-------| +| 1 | MOTOR0 | DM542T-X | X Carriage 0 | +| 2 | MOTOR1 | DM542T-X2 | X Carriage 1 | +| 3 | MOTOR2 | DM542T-Y | Y Motor | +| 4 | MOTOR3 | DM542T-Y1 | Y1 Motor | +| 5 | MOTOR4 | DM542T-Z | Z Motor | +| 6 | MOTOR5 | DM542T-Z1 | Z1 Motor | +| 7 | MOTOR6 | DM542T-E0 | Extruder 0 | +| 8 | MOTOR7 | DM542T-E1 | Extruder 1 | + +### 2.6 DM542T DIP Switch Settings + +Set the DIP switches on each DM542T to match the Klipper config: + +**Microstepping** (SW5-SW8): + +| Axis | Microsteps | SW5 | SW6 | SW7 | SW8 | +|------|------------|-----|-----|-----|-----| +| X, X2, Y, Y1 | 16 | OFF | ON | ON | OFF | +| Z, Z1 | 4 | ON | ON | OFF | OFF | +| E0, E1 | 16 | OFF | ON | ON | OFF | + +**Current Settings** (SW1-SW3): Set according to your motor specs. Typical settings: +- NEMA 23 motors: 2.0-3.0A +- NEMA 17 extruders: 1.0-1.5A + +--- + +## PART 3: Endstop Connections + +### 3.1 Endstop Pinout on Octopus Pro + +The DIAG/Endstop headers are 3-pin connectors: + +``` + ┌───┬───┬───┐ + │ S │ V │ G │ + └───┴───┴───┘ + │ │ │ + │ │ └── GND (Ground) + │ └────── +5V (for powered sensors, optional) + └────────── Signal +``` + +### 3.2 Endstop Assignments + +| Endstop | Function | Octopus Header | Pin | Config | +|---------|----------|----------------|-----|--------| +| X Min | Home position Carriage 0 | DIAG0 | PG6 | `endstop_pin: PG6` | +| X Max | Home position Carriage 1 | DIAG1 | PG9 | `endstop_pin: PG9` | +| Y Min | Y home position | DIAG2 | PG10 | `endstop_pin: PG10` | +| Y1 | Y1 endstop (optional) | DIAG3 | PG11 | `endstop_pin: PG11` | +| Z Min | Z home position | DIAG4 | PG12 | `endstop_pin: PG12` | +| Z1 | Z1 endstop (optional) | DIAG5 | PG13 | `endstop_pin: PG13` | + +### 3.3 Wiring Mechanical Endstops + +**Normally Open (NO) Switch** - most common: +``` +Endstop Switch Octopus Pro DIAG Header +============== ======================= +COM ──────────────────────► G (Ground) +NO ──────────────────────► S (Signal) +``` +Config: `endstop_pin: PG6` + +**Normally Closed (NC) Switch** - add `!` to invert: +``` +Endstop Switch Octopus Pro DIAG Header +============== ======================= +COM ──────────────────────► G (Ground) +NC ──────────────────────► S (Signal) +``` +Config: `endstop_pin: !PG6` + +### 3.4 Wiring Optical/Inductive Sensors (3-wire) + +``` +Sensor Octopus Pro DIAG Header +====== ======================= +VCC (Brown/Red) ──────────► V (+5V) +GND (Blue/Black) ─────────► G (Ground) +Signal (Black/Yellow) ────► S (Signal) +``` + +--- + +## PART 4: Thermistor Connections + +### 4.1 Thermistor Header Pinout + +``` + ┌───┬───┐ + │ T │ G │ + └───┴───┘ + │ │ + │ └── GND (Ground) + └────── Thermistor Signal +``` + +### 4.2 Thermistor Assignments + +| Sensor | Function | Octopus Header | Pin | +|--------|----------|----------------|-----| +| TH0 | Extruder 0 temperature | T0 | PF4 | +| TH1 | Extruder 1 temperature | T1 | PF5 | +| TH2 | Chamber temperature | T2 | PF6 | +| TB | Bed temperature | TB | PF3 | + +### 4.3 Wiring Thermistors + +Thermistors are not polarized - either wire can go to either terminal: + +``` +Thermistor (2-wire) Octopus Pro TH Header +=================== ===================== +Wire 1 ───────────────────► T (Signal) +Wire 2 ───────────────────► G (Ground) +``` + +**Important**: Your M2 uses custom thermistors with voltage-based calibration. The config already includes the correct `adc_temperature` definitions. + +--- + +## PART 5: Heater Connections + +### 5.1 Heater Output Specifications + +| Output | Function | Pin | Max Current | Connector | +|--------|----------|-----|-------------|-----------| +| HE0 | Hotend 0 | PA2 | 5A | Screw terminal | +| HE1 | Hotend 1 | PA3 | 5A | Screw terminal | +| HE2 | Chamber heater | PB10 | 5A | Screw terminal | +| HB | Heated bed | PA1 | 10A | Large screw terminal | + +### 5.2 Wiring Hotend Heaters (HE0, HE1) + +``` +Heater Cartridge Octopus Pro HE0/HE1 +================ =================== +Wire 1 ───────────────────► + (Positive terminal) +Wire 2 ───────────────────► - (Negative terminal) +``` + +**Note**: Standard heater cartridges are not polarized. + +### 5.3 Wiring Chamber Heater (HE2) + +Same as hotend heaters: +``` +Chamber Heater Octopus Pro HE2 +============== =============== +Wire 1 ───────────────────► + +Wire 2 ───────────────────► - +``` + +### 5.4 Wiring Heated Bed (HB) + +**For beds drawing less than 10A** - connect directly: +``` +Heated Bed Octopus Pro HB +========== ============== +Wire 1 ───────────────────► + (Positive) +Wire 2 ───────────────────► - (Negative) +``` + +**For high-power beds (>10A)** - use SSR (Solid State Relay): +``` +Octopus Pro HB SSR Heated Bed +============== === ========== ++ ────────────────────────► DC+ (Control) +- ────────────────────────► DC- (Control) + + AC/DC+ (Load) ────────► Bed + + AC/DC- (Load) ◄────────┤ + │ +Power Supply (+) ──────────────────────────────────┘ +Power Supply (-) ─────────────────────────────────► Bed - +``` + +--- + +## PART 6: Fan Connections + +### 6.1 Fan Header Pinout + +``` + ┌───┬───┐ + │ + │ - │ + └───┴───┘ + │ │ + │ └── GND (Negative) + └────── +24V PWM (Positive, controlled) +``` + +### 6.2 Fan Assignments + +| Fan | Function | Pin | Header | +|-----|----------|-----|--------| +| FAN0 | Part cooling 0 (optional) | PA8 | FAN0 | +| FAN1 | Part cooling 1 (optional) | PE5 | FAN1 | +| FAN2 | Enclosure/Chamber fan | PD12 | FAN2 | +| FAN3 | Hotend fan 0 (optional) | PD13 | FAN3 | +| FAN4 | Hotend fan 1 (optional) | PE4 | FAN4 | + +### 6.3 Wiring Fans + +``` +Fan (2-wire) Octopus Pro FAN Header +============ ====================== ++ (Red) ──────────────────► + (Positive/PWM) +- (Black) ────────────────► - (Ground) +``` + +**Enclosure Fan** (configured in Klipper): +- Connected to FAN2 +- Controlled by chamber heater temperature + +--- + +## PART 7: Probe Connection + +### 7.1 Probe Wiring + +Your probe connects to the dedicated PROBE header: + +**For mechanical probe (2-wire)**: +``` +Probe Switch Octopus Pro PROBE +============ ================= +COM ──────────────────────► G (Ground) +NO/NC ────────────────────► S (Signal) +``` + +**For inductive/capacitive probe (3-wire)**: +``` +Probe Sensor Octopus Pro PROBE +============ ================= +VCC ──────────────────────► V (+5V or +24V depending on sensor) +GND ──────────────────────► G (Ground) +Signal ───────────────────► S (Signal) +``` + +Config: `pin: ^PG15` (the `^` enables internal pull-up) + +--- + +## PART 8: Communication Connections + +### 8.1 USB to Raspberry Pi + +Connect the Octopus Pro to your Raspberry Pi via USB: + +``` +Octopus Pro Raspberry Pi +=========== ============ +USB-C port ◄───────────────► USB port (any) +``` + +Use a quality USB cable - data + power capable. + +### 8.2 Finding the Serial Port + +After connecting, run on the Pi: +```bash +ls /dev/serial/by-id/* +``` + +You should see something like: +``` +/dev/serial/by-id/usb-Klipper_stm32f446xx_XXXXXXXXXX-if00 +``` + +Update `printer.cfg` with this path. + +--- + +## PART 9: Complete Wiring Checklist + +### Power +- [ ] 24V power supply connected to Octopus Pro VIN +- [ ] 24-48V power supply connected to all DM542T drivers +- [ ] USB cable from Octopus Pro to Raspberry Pi + +### Motors (8 total) +- [ ] MOTOR0 → DM542T → X motor (Carriage 0) +- [ ] MOTOR1 → DM542T → X2 motor (Carriage 1/IDEX) +- [ ] MOTOR2 → DM542T → Y motor +- [ ] MOTOR3 → DM542T → Y1 motor +- [ ] MOTOR4 → DM542T → Z motor +- [ ] MOTOR5 → DM542T → Z1 motor +- [ ] MOTOR6 → DM542T → Extruder 0 motor +- [ ] MOTOR7 → DM542T → Extruder 1 motor + +### Endstops +- [ ] X endstop → DIAG0 +- [ ] X2/Dual carriage endstop → DIAG1 +- [ ] Y endstop → DIAG2 +- [ ] Y1 endstop → DIAG3 (if used) +- [ ] Z endstop → DIAG4 +- [ ] Z1 endstop → DIAG5 (if used) + +### Thermistors +- [ ] Extruder 0 thermistor → T0 +- [ ] Extruder 1 thermistor → T1 +- [ ] Chamber thermistor → T2 +- [ ] Bed thermistor → TB + +### Heaters +- [ ] Extruder 0 heater → HE0 +- [ ] Extruder 1 heater → HE1 +- [ ] Chamber heater → HE2 +- [ ] Heated bed → HB (or via SSR) + +### Fans +- [ ] Enclosure fan → FAN2 + +### Probe +- [ ] Bed probe → PROBE header + +--- + +## PART 10: First Power-On Procedure + +### Before Applying Power +1. Double-check all wiring against this guide +2. Verify no short circuits (use multimeter) +3. Ensure DM542T DIP switches are set correctly +4. Confirm power supply voltages are correct + +### Power-On Sequence +1. **DO NOT** connect motors yet (just signals) +2. Power on the Octopus Pro only +3. Verify it appears on USB (`ls /dev/serial/by-id/`) +4. Flash Klipper firmware (see below) +5. Start Klipper and check for errors +6. Test endstops: `QUERY_ENDSTOPS` +7. Test thermistors: check temperatures in Fluidd +8. **Then** connect motor power and test movement + +### Flashing Klipper Firmware + +```bash +cd ~/klipper +make menuconfig +``` + +Settings for Octopus Pro v1.0.1: +- Micro-controller: **STMicroelectronics STM32** +- Processor model: **STM32F446** +- Bootloader offset: **32KiB bootloader** +- Clock Reference: **12 MHz crystal** +- Communication: **USB (on PA11/PA12)** + +```bash +make clean +make +``` + +Copy `out/klipper.bin` to SD card as `firmware.bin`, insert into Octopus, power cycle. + +--- + +## Troubleshooting + +### Motor doesn't move +1. Check DM542T has power (LED on?) +2. Verify step/dir/enable wiring +3. Check DIP switch settings +4. Try inverting enable pin: `enable_pin: PF14` → `enable_pin: !PF14` + +### Motor moves wrong direction +- Invert the DIR pin in config: `dir_pin: PF12` → `dir_pin: !PF12` + +### Endstop always triggered or never triggers +- Check `QUERY_ENDSTOPS` output +- Try inverting: `endstop_pin: PG6` → `endstop_pin: !PG6` +- Verify wiring (NO vs NC switch) + +### Thermistor shows wrong temperature +- Check wiring continuity +- Verify correct `sensor_type` in config +- The custom `adc_temperature` definitions should match your sensors + +### Heater doesn't heat +- Check for "HEATER_ERROR" in Klipper logs +- Verify heater wiring +- Check thermistor is working (needs valid temp reading) diff --git a/docs/wiring.md b/docs/wiring.md new file mode 100644 index 0000000..112bef0 --- /dev/null +++ b/docs/wiring.md @@ -0,0 +1,204 @@ +# AON3D M2+ Wiring Guide - BTT Octopus Pro v1.0.1 + +## Motor Driver Connections (External DM542T) + +Since you're using external DM542T drivers, only **STEP**, **DIR**, and **ENABLE** signals are needed from the Octopus Pro. The drivers handle their own current and microstepping via DIP switches. + +### Motor Pin Assignments + +| Motor | Function | Octopus Header | STEP Pin | DIR Pin | ENABLE Pin | +|-------|----------|----------------|----------|---------|------------| +| MOTOR0 | X Axis (Carriage 0) | MOTOR0 | PF13 | PF12 | PF14 | +| MOTOR1 | X2 / Dual Carriage | MOTOR1 | PG0 | PG1 | PF15 | +| MOTOR2 | Y Axis | MOTOR2 | PF11 | PG3 | PG5 | +| MOTOR3 | Y1 Axis | MOTOR3 | PG4 | PC1 | PA0 | +| MOTOR4 | Z Axis | MOTOR4 | PF9 | PF10 | PG2 | +| MOTOR5 | Z1 Axis | MOTOR5 | PC13 | PF0 | PF1 | +| MOTOR6 | Extruder 0 | MOTOR6 | PE2 | PE3 | PD4 | +| MOTOR7 | Extruder 1 | MOTOR7 | PE6 | PA14 | PE0 | + +### DM542T Wiring per Motor + +``` +Octopus Pro Motor Header DM542T Driver +======================== ============= +STEP (pin 2) ───────────────► PUL+ +GND (pin 1) ───────────────► PUL- + +DIR (pin 3) ───────────────► DIR+ +GND (pin 1) ───────────────► DIR- + +EN (pin 4) ───────────────► ENA+ +GND (pin 1) ───────────────► ENA- +``` + +**Note:** The Octopus Pro motor headers have a 4-pin connector: +- Pin 1: GND +- Pin 2: STEP +- Pin 3: DIR +- Pin 4: EN (active low) + +--- + +## Endstop Connections + +| Endstop | Function | Octopus Pin | Header | +|---------|----------|-------------|--------| +| DIAG0 | X Min (Carriage 0) | PG6 | DIAG0 | +| DIAG1 | X Max (Dual Carriage) | PG9 | DIAG1 | +| DIAG2 | Y Min | PG10 | DIAG2 | +| DIAG3 | Y1 (optional) | PG11 | DIAG3 | +| DIAG4 | Z Min | PG12 | DIAG4 | +| DIAG5 | Z1 (optional) | PG13 | DIAG5 | +| Probe | Bed probe | PG15 | PROBE | + +### Endstop Wiring + +``` +Endstop Switch Octopus Pro +============== =========== +Signal ─────────────────► S (Signal) +GND ────────────────────► G (Ground) +(VCC optional) ─────────► V (+5V for powered sensors) +``` + +--- + +## Heater Connections + +| Heater | Function | Octopus Pin | Header | Max Current | +|--------|----------|-------------|--------|-------------| +| HE0 | Extruder 0 Hotend | PA2 | HE0 | 5A | +| HE1 | Extruder 1 Hotend | PA3 | HE1 | 5A | +| HE2 | Chamber Heater | PB10 | HE2 | 5A | +| HB | Heated Bed | PA1 | HB | 10A (use SSR for high power beds) | + +**Important:** For high-power heated beds (>10A), use a Solid State Relay (SSR) controlled by the HB output. + +--- + +## Thermistor Connections + +| Sensor | Function | Octopus Pin | Header | +|--------|----------|-------------|--------| +| T0 | Extruder 0 Temperature | PF4 | TH0 | +| T1 | Extruder 1 Temperature | PF5 | TH1 | +| T2 | Chamber Temperature | PF6 | TH2 | +| TB | Bed Temperature | PF3 | TB | + +### Thermistor Wiring + +``` +Thermistor Octopus Pro +========== =========== +Wire 1 ─────────────────► T (Thermistor signal) +Wire 2 ─────────────────► G (Ground) +``` + +--- + +## Fan Connections + +| Fan | Function | Octopus Pin | Header | +|-----|----------|-------------|--------| +| FAN0 | Part Cooling (optional) | PA8 | FAN0 | +| FAN1 | Part Cooling 2 (optional) | PE5 | FAN1 | +| FAN2 | Chamber/Enclosure Fan | PD12 | FAN2 | +| FAN3 | Hotend Fan 0 (optional) | PD13 | FAN3 | +| FAN4 | Hotend Fan 1 (optional) | PE4 | FAN4 | + +--- + +## Power Connections + +### Main Power Input +- **VIN**: 24V DC (or your system voltage) +- **GND**: Ground + +### Motor Power +- The DM542T drivers have their own power input - connect them to your 24-48V power supply as per DM542T specifications. + +--- + +## DM542T DIP Switch Settings + +Set the DIP switches on your DM542T drivers to match the Klipper configuration: + +### Microstepping (match `microsteps` in config) +| Microsteps | SW5 | SW6 | SW7 | SW8 | +|------------|-----|-----|-----|-----| +| 16 (X,Y,E) | OFF | ON | ON | OFF | +| 4 (Z axes) | ON | ON | OFF | OFF | + +### Current Setting (adjust for your motors) +Refer to DM542T documentation for current settings based on your stepper motor specifications. + +--- + +## Octopus Pro v1.0.1 Header Layout + +``` +┌─────────────────────────────────────────────────────────────┐ +│ BTT OCTOPUS PRO v1.0.1 │ +├─────────────────────────────────────────────────────────────┤ +│ │ +│ [MOTOR0] [MOTOR1] [MOTOR2] [MOTOR3] [MOTOR4] │ +│ X X2 Y Y1 Z │ +│ │ +│ [MOTOR5] [MOTOR6] [MOTOR7] │ +│ Z1 E0 E1 │ +│ │ +│ [HE0] [HE1] [HE2] [HB] ← Heater outputs │ +│ │ +│ [TH0] [TH1] [TH2] [TB] ← Thermistor inputs │ +│ │ +│ [FAN0-5] ← Fan outputs │ +│ │ +│ [DIAG0-7] ← Endstop/diagnostic inputs │ +│ │ +│ [PROBE] ← Probe input │ +│ │ +│ [USB] [POWER] │ +│ │ +└─────────────────────────────────────────────────────────────┘ +``` + +--- + +## Flashing Klipper to Octopus Pro + +1. SSH into your Raspberry Pi: + ```bash + ssh pi@192.168.86.20 + ``` + +2. Build Klipper firmware: + ```bash + cd ~/klipper + make menuconfig + ``` + +3. Configure for Octopus Pro v1.0.1: + - Micro-controller: **STMicroelectronics STM32** + - Processor model: **STM32F446** + - Bootloader offset: **32KiB bootloader** + - Clock Reference: **12 MHz crystal** + - Communication interface: **USB (on PA11/PA12)** + +4. Build: + ```bash + make clean + make + ``` + +5. Flash via SD card: + - Copy `out/klipper.bin` to SD card as `firmware.bin` + - Insert SD card into Octopus Pro + - Power cycle the board + +6. Find the serial port: + ```bash + ls /dev/serial/by-id/* + ``` + +7. Update `printer.cfg` with the correct serial port. diff --git a/klipper/Controllino_aliases.cfg b/klipper/Controllino_aliases.cfg new file mode 100644 index 0000000..6929599 --- /dev/null +++ b/klipper/Controllino_aliases.cfg @@ -0,0 +1,26 @@ + +[board_pins arduino-mega] +aliases: + ar0=PE0, ar1=PE1, ar2=PE4, ar3=PE5, ar4=PG5, + ar5=PE3, ar6=PH3, ar7=PH4, ar8=PH5, ar9=PH6, + ar10=PB4, ar11=PB5, ar12=PB6, ar13=PB7, ar14=PJ1, + ar15=PJ0, ar16=PH1, ar17=PH0, ar18=PD3, ar19=PD2, + ar20=PD1, ar21=PD0, ar22=PA0, ar23=PA1, ar24=PA2, + ar25=PA3, ar26=PA4, ar27=PA5, ar28=PA6, ar29=PA7, + ar30=PC7, ar31=PC6, ar32=PC5, ar33=PC4, ar34=PC3, + ar35=PC2, ar36=PC1, ar37=PC0, ar38=PD7, ar39=PG2, + ar40=PG1, ar41=PG0, ar42=PL7, ar43=PL6, ar44=PL5, + ar45=PL4, ar46=PL3, ar47=PL2, ar48=PL1, ar49=PL0, + ar50=PB3, ar51=PB2, ar52=PB1, ar53=PB0, ar54=PF0, + ar55=PF1, ar56=PF2, ar57=PF3, ar58=PF4, ar59=PF5, + ar60=PF6, ar61=PF7, ar62=PK0, ar63=PK1, ar64=PK2, + ar65=PK3, ar66=PK4, ar67=PK5, ar68=PK6, ar69=PK7, + analog0=PF0, analog1=PF1, analog2=PF2, analog3=PF3, analog4=PF4, + analog5=PF5, analog6=PF6, analog7=PF7, analog8=PK0, analog9=PK1, + analog10=PK2, analog11=PK3, analog12=PK4, analog13=PK5, analog14=PK6, + analog15=PK7, + # Marlin adds these additional aliases + ml70=PG4, ml71=PG3, ml72=PJ2, ml73=PJ3, ml74=PJ7, + ml75=PJ4, ml76=PJ5, ml77=PJ6, ml78=PE2, ml79=PE6, + ml80=PE7, ml81=PD4, ml82=PD5, ml83=PD6, ml84=PH2, + ml85=PH7 diff --git a/klipper/firmware.bin b/klipper/firmware.bin new file mode 100644 index 0000000..fa47c9d Binary files /dev/null and b/klipper/firmware.bin differ diff --git a/klipper/macros.cfg b/klipper/macros.cfg new file mode 100644 index 0000000..436dbda --- /dev/null +++ b/klipper/macros.cfg @@ -0,0 +1,276 @@ +# AON3D M2+ Macros +# For BTT Octopus Pro with IDEX configuration + +# ================================================================================ +# Cancel Print +# ================================================================================ +[gcode_macro CANCEL_PRINT] +description: Cancel the actual running print +rename_existing: CANCEL_PRINT_BASE +gcode: + PARK_{printer.toolhead.extruder} + CANCEL_PRINT_BASE + +# ================================================================================ +# Pause / Resume +# ================================================================================ +[gcode_macro PAUSE] +rename_existing: BASE_PAUSE +gcode: + {% set Z = params.Z|default(10)|float %} + {% set E = params.E|default(1)|float %} + SAVE_GCODE_STATE NAME=PAUSE_state + BASE_PAUSE + G91 + G1 E-{E} F2100 + G1 Z{Z} + PARK_{printer.toolhead.extruder} + +[gcode_macro RESUME] +rename_existing: BASE_RESUME +gcode: + {% set E = params.E|default(1)|float %} + G91 + G1 E{E} F2100 + G90 + RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1 + BASE_RESUME + +# ================================================================================ +# End Print +# ================================================================================ +[gcode_macro END_PRINT] +gcode: + {% set Z = params.Z|default(10)|float %} + {% set E = params.E|default(5)|float %} + # Turn off heaters and fan + M106 S0 + SET_HEATER_TEMPERATURE HEATER=extruder TARGET=0 + SET_HEATER_TEMPERATURE HEATER=extruder1 TARGET=0 + SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0 + SET_HEATER_TEMPERATURE HEATER=chamber TARGET=0 + G91 + G1 E-{E} F2100 + G1 Z{Z} + PARK_{printer.toolhead.extruder} + # Disable steppers + M84 + +# ================================================================================ +# Homing Override +# ================================================================================ +[homing_override] +set_position_z: 10 +gcode: + SAVE_GCODE_STATE NAME=home_z_state + G91 + G1 Z10 F480 + G28 X0 Y0 + G28 Z0 + G90 + G1 Z3 F600 + RESTORE_GCODE_STATE NAME=home_z_state +axes: z + +# ================================================================================ +# Idle Timeout +# ================================================================================ +[idle_timeout] +timeout: 86400 # 24 hours + +# ================================================================================ +# IDEX Toolhead Macros +# ================================================================================ + +# Primary toolhead (T0) park position +[gcode_macro PARK_extruder] +gcode: + SAVE_GCODE_STATE NAME=park0 + G90 + G1 X-85 F12000 + RESTORE_GCODE_STATE NAME=park0 + +# Activate primary extruder +[gcode_macro T0] +gcode: + PARK_{printer.toolhead.extruder} + ACTIVATE_EXTRUDER EXTRUDER=extruder + SET_DUAL_CARRIAGE CARRIAGE=0 + SET_GCODE_OFFSET Z=0 + # Input shaper for carriage 0 (calibrate these values for your machine) + SET_INPUT_SHAPER SHAPER_FREQ_X=60 SHAPER_TYPE_X=ei SHAPER_FREQ_Y=40 SHAPER_TYPE_Y=ei + +# Secondary toolhead (T1) park position +[gcode_macro PARK_extruder1] +gcode: + SAVE_GCODE_STATE NAME=park1 + G90 + G1 X518 F12000 + RESTORE_GCODE_STATE NAME=park1 + +# Activate secondary extruder +[gcode_macro T1] +gcode: + PARK_{printer.toolhead.extruder} + ACTIVATE_EXTRUDER EXTRUDER=extruder1 + SET_DUAL_CARRIAGE CARRIAGE=1 + SET_GCODE_OFFSET Z=-0.45 + # Input shaper for carriage 1 (calibrate these values separately) + SET_INPUT_SHAPER SHAPER_FREQ_X=60 SHAPER_TYPE_X=ei SHAPER_FREQ_Y=40 SHAPER_TYPE_Y=ei + +# ================================================================================ +# Calibration Macro +# ================================================================================ +[gcode_macro CALIBRATE_M2] +description: Calibrate the current tool with a mesh centered at Z=0 +gcode: + G28 + G1 Z15 F600 + G1 X200 Y200 F6000 + Z_ENDSTOP_CALIBRATE + PROBE + TESTZ Z=-.001 + G4 P500 + M400 + ACCEPT + SET_KINEMATIC_POSITION Z=0 + BED_MESH_CALIBRATE + +[gcode_macro Calibrate_Tool_Offset] +gcode: + z_endstop_calibrate + +# ================================================================================ +# Temperature Command Overrides (for chamber heater compatibility) +# ================================================================================ +[gcode_macro M140] +rename_existing: M140.1 +gcode: + {% if params.S is defined %} + SAVE_VARIABLE VARIABLE=bedtemp VALUE={params.S} + {% endif %} + M140.1 { rawparams } + +[gcode_macro M190] +rename_existing: M190.1 +gcode: + {% if params.S is defined %} + SAVE_VARIABLE VARIABLE=bedtemp VALUE={params.S} + {% endif %} + M190.1 { rawparams } + +[gcode_macro M104] +rename_existing: M104.1 +gcode: + {% if params.T is defined and params.T == "3"%} + SET_HEATER_TEMPERATURE HEATER=chamber TARGET={params.S if params.S is defined else "0"} + {% else %} + {% if params.S is defined %} + {% set varname = "t1temp" if params.T is defined and params.T == "1" else "t0temp" %} + SAVE_VARIABLE VARIABLE={varname} VALUE={params.S} + {% endif %} + M104.1 { rawparams } + {% endif %} + +[gcode_macro M109] +rename_existing: M109.1 +gcode: + {% if params.T is defined and params.T == "3"%} + SET_HEATER_TEMPERATURE HEATER=chamber TARGET={params.S if params.S is defined else "0"} + TEMPERATURE_WAIT SENSOR=chamber MINIMUM={params.S} MAXIMUM={params.S} + {% else %} + {% if params.S is defined %} + {% set varname = "t1temp" if params.T is defined and params.T == "1" else "t0temp" %} + SAVE_VARIABLE VARIABLE={varname} VALUE={params.S} + {% endif %} + M109.1 { rawparams } + {% endif %} + +# ================================================================================ +# G-code Offset Management +# ================================================================================ +[gcode_macro SET_GCODE_OFFSET] +rename_existing: _SET_GCODE_OFFSET +gcode: + {% if printer.save_variables.variables.gcode_offsets %} + {% set offsets = printer.save_variables.variables.gcode_offsets %} + {% else %} + {% set offsets = {'x': None,'y': None,'z': None} %} + {% endif %} + + {% set ns = namespace(offsets={'x': offsets.x,'y': offsets.y,'z': offsets.z}) %} + + _SET_GCODE_OFFSET {% for p in params %}{'%s=%s '% (p, params[p])}{% endfor %} + + {%if 'X' in params %}{% set null = ns.offsets.update({'x': params.X}) %}{% endif %} + {%if 'Y' in params %}{% set null = ns.offsets.update({'y': params.Y}) %}{% endif %} + {%if 'Z' in params %}{% set null = ns.offsets.update({'z': params.Z}) %}{% endif %} + SAVE_VARIABLE VARIABLE=gcode_offsets VALUE="{ns.offsets}" + +[delayed_gcode LOAD_GCODE_OFFSETS] +initial_duration: 2 +gcode: + {% if printer.save_variables.variables.gcode_offsets %} + {% set offsets = printer.save_variables.variables.gcode_offsets %} + + _SET_GCODE_OFFSET {% for axis, offset in offsets.items() + if offsets[axis] %}{ "%s=%s " % (axis, offset) }{% endfor %} + + { action_respond_info("Loaded gcode offsets from saved variables [%s]" % (offsets)) } + {% endif %} + +# Initialize input shaper on startup (for dual_carriage compatibility) +[delayed_gcode INIT_INPUT_SHAPER] +initial_duration: 3 +gcode: + # Set default input shaper for carriage 0 (T0) + SET_INPUT_SHAPER SHAPER_FREQ_X=60 SHAPER_TYPE_X=ei SHAPER_FREQ_Y=40 SHAPER_TYPE_Y=ei + { action_respond_info("Input shaper initialized for dual carriage") } + +# ================================================================================ +# Utility Macros +# ================================================================================ +[gcode_macro LOAD_FILAMENT] +description: Load filament into current extruder +gcode: + {% set TEMP = params.TEMP|default(220)|float %} + {% set LENGTH = params.LENGTH|default(100)|float %} + M109 S{TEMP} + G91 + G1 E{LENGTH} F300 + G90 + +[gcode_macro UNLOAD_FILAMENT] +description: Unload filament from current extruder +gcode: + {% set TEMP = params.TEMP|default(220)|float %} + {% set LENGTH = params.LENGTH|default(100)|float %} + M109 S{TEMP} + G91 + G1 E10 F300 + G1 E-{LENGTH} F1000 + G90 + +[gcode_macro PID_EXTRUDER] +description: PID tune the current extruder +gcode: + {% set TEMP = params.TEMP|default(240)|float %} + PID_CALIBRATE HEATER=extruder TARGET={TEMP} + +[gcode_macro PID_EXTRUDER1] +description: PID tune extruder 1 +gcode: + {% set TEMP = params.TEMP|default(240)|float %} + PID_CALIBRATE HEATER=extruder1 TARGET={TEMP} + +[gcode_macro PID_BED] +description: PID tune the heated bed +gcode: + {% set TEMP = params.TEMP|default(100)|float %} + PID_CALIBRATE HEATER=heater_bed TARGET={TEMP} + +[gcode_macro PID_CHAMBER] +description: PID tune the heated chamber +gcode: + {% set TEMP = params.TEMP|default(70)|float %} + PID_CALIBRATE HEATER=chamber TARGET={TEMP} diff --git a/klipper/printer.cfg b/klipper/printer.cfg new file mode 100644 index 0000000..f3d8cec --- /dev/null +++ b/klipper/printer.cfg @@ -0,0 +1,285 @@ +# AON3D M2+ - Dual MCU Configuration +# Azteeg X3: Sensors, Endstops, Probe, Fan, Hotend Heaters +# Octopus Pro: Motors + Bed/Chamber Heaters +# IDEX setup with heated chamber, external DM542T drivers + +# ================================================================================ +# Requirements +# ================================================================================ +[pause_resume] +[display_status] +[virtual_sdcard] +path: ~/gcode_files + +[include macros.cfg] +[include Controllino_aliases.cfg] + +# ================================================================================ +# MCU Configuration +# ================================================================================ +# Main MCU - Azteeg X3 +[mcu] +serial: /dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN05SBA9-if00-port0 +restart_method: command + +# Secondary MCU - Octopus Pro (motors + heaters only) +[mcu octopus] +serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_32000A000E50315939343520-if00 +restart_method: command + +# ================================================================================ +# Printer Definition +# ================================================================================ +[printer] +kinematics: cartesian +max_velocity: 250 +max_accel: 3000 +max_z_velocity: 12 +max_z_accel: 30 + +# ================================================================================ +# Stepper Configuration - Motors on Octopus, Endstops on Azteeg +# ================================================================================ + +# --- X Axis T0 (MOTOR0) --- +[stepper_x] +step_pin: octopus:PF13 +dir_pin: !octopus:PF12 +enable_pin: !octopus:PF14 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar3 # Azteeg +position_endstop: -90 +position_min: -90 +position_max: 450 +homing_speed: 100 +step_pulse_duration: 0.000006 + +# --- Y Axis Left (MOTOR1) --- +[stepper_y] +step_pin: octopus:PG0 +dir_pin: !octopus:PG1 +enable_pin: !octopus:PF15 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar14 # Azteeg +position_endstop: -44 +position_min: -44 +position_max: 450 +homing_speed: 80 +step_pulse_duration: 0.000006 + +# --- Z Axis Left (MOTOR2) --- +[stepper_z] +step_pin: octopus:PF11 +dir_pin: octopus:PG3 +enable_pin: !octopus:PG5 +microsteps: 4 +rotation_distance: 2 +endstop_pin: ar18 # Azteeg +position_min: -11 +position_max: 600 +homing_retract_dist: 2 +homing_speed: 5 +step_pulse_duration: 0.000006 + +# --- Dual Carriage / X T1 (MOTOR5) --- +[dual_carriage] +axis: x +step_pin: octopus:PC13 +dir_pin: !octopus:PF0 +enable_pin: !octopus:PF1 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar2 # Azteeg +position_endstop: 518.5 +position_max: 518.5 +homing_speed: 100 +step_pulse_duration: 0.000006 + +# --- Y1 Axis Right (MOTOR6) --- +[stepper_y1] +step_pin: octopus:PE2 +dir_pin: octopus:PE3 +enable_pin: !octopus:PD4 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar15 # Azteeg +step_pulse_duration: 0.000006 + +# --- Z1 Axis Right (MOTOR7) --- +[stepper_z1] +step_pin: octopus:PE6 +dir_pin: octopus:PA14 +enable_pin: !octopus:PE0 +microsteps: 4 +rotation_distance: 2 +endstop_pin: ar19 # Azteeg +step_pulse_duration: 0.000006 + +# ================================================================================ +# Extruder Configuration - Motors on Octopus, Heaters+Sensors on Azteeg +# ================================================================================ + +# --- Extruder 0 (MOTOR3) - Motor on Octopus, Heater on Azteeg --- +[extruder] +step_pin: octopus:PG4 +dir_pin: octopus:PC1 +enable_pin: !octopus:PA0 +microsteps: 16 +rotation_distance: 4.961 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: ar10 # Azteeg +sensor_type: thermistor20 +sensor_pin: analog3 # Azteeg +min_temp: 0 +max_temp: 500 +pressure_advance: 0.06 +pressure_advance_smooth_time: 0.12 +max_extrude_cross_section: 10 +control: pid +pid_kp: 17.123 +pid_ki: 0.660 +pid_kd: 111.088 + +# --- Extruder 1 (MOTOR4) - Motor on Octopus, Heater on Azteeg --- +[extruder1] +step_pin: octopus:PF9 +dir_pin: octopus:PF10 +enable_pin: !octopus:PG2 +microsteps: 16 +rotation_distance: 4.961 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: ar9 # Azteeg +sensor_type: thermistor20 +sensor_pin: analog9 # Azteeg +min_temp: 0 +max_temp: 400 +pressure_advance: 0.06 +pressure_advance_smooth_time: 0.12 +control: pid +pid_kp: 15.157 +pid_ki: 0.529 +pid_kd: 108.559 + +# ================================================================================ +# Custom Thermistor Definitions +# ================================================================================ + +[adc_temperature thermistor86] +temperature1: 20 +voltage1: 4.8239 +temperature2: 90 +voltage2: 3.3005 +temperature3: 180 +voltage3: 0.7913 + +[adc_temperature thermistor20] +temperature1: 20 +voltage1: 1.1926 +temperature2: 200 +voltage2: 1.921 +temperature3: 600 +voltage3: 3.328 + +[adc_temperature thermistor5] +temperature1: 20 +voltage1: 4.817 +temperature2: 150 +voltage2: 1.122 +temperature3: 300 +voltage3: 0.0876 + +# ================================================================================ +# Heated Bed - on Octopus (both SSRs wired to PA1) +# ================================================================================ +[heater_bed] +heater_pin: octopus:PA1 # Octopus HB +sensor_type: thermistor5 +sensor_pin: analog14 # Azteeg +control: pid +pid_Kp: 22.2 +pid_Ki: 1.08 +pid_Kd: 114 +min_temp: -20 +max_temp: 230 + +# ================================================================================ +# Heated Chamber - on Octopus +# ================================================================================ +[heater_generic chamber] +gcode_id: T2 +heater_pin: octopus:PB10 # Octopus HE2 +sensor_type: thermistor86 +sensor_pin: analog13 # Azteeg +max_power: 1.0 +pwm_cycle_time: 0.3 +control: pid +pid_Kp: 100 +pid_Ki: 1.8 +pid_Kd: 300 +min_temp: -20 +max_temp: 175 + +[verify_heater chamber] +check_gain_time: 900 +max_error: 200 + +[heater_fan Enclosure_fan] +pin: ar5 # Azteeg +fan_speed: 1.0 +heater: chamber +kick_start_time: 10000 +shutdown_speed: 0 + +# ================================================================================ +# Probe and Bed Mesh - on Azteeg +# ================================================================================ +[probe] +pin: ^ar22 # Azteeg +lift_speed: 10 +speed: 6.0 + +[bed_mesh] +speed: 200 +horizontal_move_z: 2 +mesh_min: 60, 60 +mesh_max: 380, 380 +probe_count: 6, 6 + +# ================================================================================ +# Additional Configuration +# ================================================================================ +[force_move] +enable_force_move: True + +[idle_timeout] +timeout: 14400 + +[save_variables] +filename: ~/savedVariables.cfg + +# ================================================================================ +# Temperature Monitoring +# ================================================================================ +[temperature_sensor octopus_temp] +sensor_type: temperature_mcu +sensor_mcu: octopus +min_temp: 0 +max_temp: 100 + +[temperature_sensor raspberry_pi] +sensor_type: temperature_host +min_temp: 10 +max_temp: 100 + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [probe] +#*# z_offset = 0.500 +#*# +#*# [stepper_z] +#*# position_endstop = -1.590 diff --git a/original/20260112-backup_OG.zip b/original/20260112-backup_OG.zip new file mode 100644 index 0000000..df303f1 Binary files /dev/null and b/original/20260112-backup_OG.zip differ diff --git a/original/klipper_config/.moonraker.conf.bkp b/original/klipper_config/.moonraker.conf.bkp new file mode 100644 index 0000000..3a7b8b7 --- /dev/null +++ b/original/klipper_config/.moonraker.conf.bkp @@ -0,0 +1,45 @@ +[server] +host = 0.0.0.0 +port = 7125 +max_upload_size = 1024 + +[file_manager] +enable_object_processing = False + +[data_store] +temperature_store_size = 600 +gcode_store_size = 1000 + +[authorization] +force_logins = false +cors_domains = + *.local + *.lan + *://app.fluidd.xyz +trusted_clients = + 10.0.0.0/8 + 127.0.0.0/8 + 169.254.0.0/16 + 172.16.0.0/12 + 192.168.0.0/16 + FE80::/10 + ::1/128 + 127.0.0.1 + 127.0.0.0 + +[octoprint_compat] + +[history] + +[announcements] +subscriptions = + fluidd + +[update_manager] +enable_auto_refresh = True + +[update_manager client fluidd] +type = web +repo = fluidd-core/fluidd +path = ~/fluidd + diff --git a/original/klipper_config/Controllino_aliases.cfg b/original/klipper_config/Controllino_aliases.cfg new file mode 100644 index 0000000..dfc64cd --- /dev/null +++ b/original/klipper_config/Controllino_aliases.cfg @@ -0,0 +1,26 @@ + +[board_pins arduino-mega] +aliases: + ar0=PE0, ar1=PE1, ar2=PE4, ar3=PE5, ar4=PG5, + ar5=PE3, ar6=PH3, ar7=PH4, ar8=PH5, ar9=PH6, + ar10=PB4, ar11=PB5, ar12=PB6, ar13=PB7, ar14=PJ1, + ar15=PJ0, ar16=PH1, ar17=PH0, ar18=PD3, ar19=PD2, + ar20=PD1, ar21=PD0, ar22=PA0, ar23=PA1, ar24=PA2, + ar25=PA3, ar26=PA4, ar27=PA5, ar28=PA6, ar29=PA7, + ar30=PC7, ar31=PC6, ar32=PC5, ar33=PC4, ar34=PC3, + ar35=PC2, ar36=PC1, ar37=PC0, ar38=PD7, ar39=PG2, + ar40=PG1, ar41=PG0, ar42=PL7, ar43=PL6, ar44=PL5, + ar45=PL4, ar46=PL3, ar47=PL2, ar48=PL1, ar49=PL0, + ar50=PB3, ar51=PB2, ar52=PB1, ar53=PB0, ar54=PF0, + ar55=PF1, ar56=PF2, ar57=PF3, ar58=PF4, ar59=PF5, + ar60=PF6, ar61=PF7, ar62=PK0, ar63=PK1, ar64=PK2, + ar65=PK3, ar66=PK4, ar67=PK5, ar68=PK6, ar69=PK7, + analog0=PF0, analog1=PF1, analog2=PF2, analog3=PF3, analog4=PF4, + analog5=PF5, analog6=PF6, analog7=PF7, analog8=PK0, analog9=PK1, + analog10=PK2, analog11=PK3, analog12=PK4, analog13=PK5, analog14=PK6, + analog15=PK7, + # Marlin adds these additional aliases + ml70=PG4, ml71=PG3, ml72=PJ2, ml73=PJ3, ml74=PJ7, + ml75=PJ4, ml76=PJ5, ml77=PJ6, ml78=PE2, ml79=PE6, + ml80=PE7, ml81=PD4, ml82=PD5, ml83=PD6, ml84=PH2, + ml85=PH7 \ No newline at end of file diff --git a/original/klipper_config/KlipperScreen.conf b/original/klipper_config/KlipperScreen.conf new file mode 100644 index 0000000..80fdaad --- /dev/null +++ b/original/klipper_config/KlipperScreen.conf @@ -0,0 +1,36 @@ +[main] +# Invert axis in move panel. Default is False. Change to true to invert +invert_x: False +invert_y: False +invert_z: False +# Time (seconds) before the Job Status page reverts to main menu after a successful job +job_complete_timeout: 30 +# Time (seconds) before the Job Status page reverts to main menu after a successful job. +# If this option is 0, the user must click on a button to go back to the main menu. +job_error_timeout: 0 +# Specify the language +# The language can be specified here instead of using the system default language. +language: en +# Allows the cursor to be displayed on the screen +show_cursor: False + +[printer M2 2020] +# Define the moonraker host/port if different from 127.0.0.1 and 7125 +moonraker_host: 127.0.0.1 +moonraker_port: 7125 +# Moonraker API key if this is not connecting from a trusted client IP +moonraker_api_key: 755f90d2560c45c5a8bfd1dd1ee6a008 +# Define the z_babystep intervals in a CSV list. Currently only 2 are supported +z_babystep_values: 0.01, 0.05 +#~# --- Do not edit below this line. This section is auto generated --- #~# +#~# +#~# [main] +#~# language = en +#~# print_estimate_compensation = 133 +#~# move_speed_xy = 101 +#~# print_sort_dir = date_desc +#~# +#~# [graph M2 2020] +#~# heater_bed = False +#~# extruder = False +#~# diff --git a/original/klipper_config/M2_macros.cfg b/original/klipper_config/M2_macros.cfg new file mode 100644 index 0000000..2e52a83 --- /dev/null +++ b/original/klipper_config/M2_macros.cfg @@ -0,0 +1,243 @@ + +# Cancel print definition +[gcode_macro CANCEL_PRINT] +description: Cancel the actual running print +rename_existing: CANCEL_PRINT_BASE +gcode: + PARK_{printer.toolhead.extruder} + CANCEL_PRINT_BASE + +#[pause_resume] + +[gcode_macro PAUSE] +rename_existing: BASE_PAUSE +gcode: + {% set Z = params.Z|default(10)|float %} + {% set E = params.E|default(1)|float %} + SAVE_GCODE_STATE NAME=PAUSE_state + BASE_PAUSE + G91 + G1 E-{E} F2100 + G1 Z{Z} + PARK_{printer.toolhead.extruder} + +[gcode_macro RESUME] +rename_existing: BASE_RESUME +gcode: + {% set E = params.E|default(1)|float %} + G91 + G1 E{E} F2100 + G90 + RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1 + BASE_RESUME + +[gcode_macro END_PRINT] +gcode: + {% set Z = params.Z|default(10)|float %} + {% set E = params.E|default(5)|float %} + # Turn off bed, extruder, and fan +; M140 S0 +; M104 T0 S0 +; M104 T1 S0 + M106 S0 + SET_HEATER_TEMPERATURE HEATER=extruder TARGET=0 + SET_HEATER_TEMPERATURE HEATER=extruder1 TARGET=0 + SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0 + SET_HEATER_TEMPERATURE HEATER=chamber TARGET=0 + G91 + G1 E-{E} F2100 + G1 Z{Z} + PARK_{printer.toolhead.extruder} + # Disable steppers + M84 + +# Homing definition +[homing_override] +set_position_z: 10 +gcode: + SAVE_GCODE_STATE NAME=home_z_state + G91 + G1 Z10 F480 + G28 X0 Y0 + G28 Z0 + G90 + G1 Z3 F600 + RESTORE_GCODE_STATE NAME=home_z_state +axes: z + +# Idle definition +[idle_timeout] +#gcode: +# A list of G-Code commands to execute on an idle timeout. See +# docs/Command_Templates.md for G-Code format. The default is to run +# "TURN_OFF_HEATERS" and "M84". +timeout: 86400 # Allow heaters to run 24 hours lol +# Idle time (in seconds) to wait before running the above G-Code +# commands. The default is 600 seconds. + +# Toolhead definition +# Primary toolhead +[gcode_macro PARK_extruder] +gcode: + SAVE_GCODE_STATE NAME=park0 + G90 + G1 X-85 F12000 + RESTORE_GCODE_STATE NAME=park0 + +# Activate the primary extruder +[gcode_macro T0] +gcode: + PARK_{printer.toolhead.extruder} + ACTIVATE_EXTRUDER EXTRUDER=extruder + SET_DUAL_CARRIAGE CARRIAGE=0 + SET_GCODE_OFFSET Z=0 + #SWITCH_PROBE PROBE_NUM=0 + # Input shaper for carriage 0 + SET_INPUT_SHAPER SHAPER_FREQ_X=60 SHAPER_TYPE_X=ei SHAPER_FREQ_Y=40 SHAPER_TYPE_Y=ei + +# Secondary toolhead +[gcode_macro PARK_extruder1] +gcode: + SAVE_GCODE_STATE NAME=park1 + G90 + G1 X518 F12000 + RESTORE_GCODE_STATE NAME=park1 + +[gcode_macro T1] +gcode: + PARK_{printer.toolhead.extruder} + ACTIVATE_EXTRUDER EXTRUDER=extruder1 + SET_DUAL_CARRIAGE CARRIAGE=1 + SET_GCODE_OFFSET Z=-0.45 + #SWITCH_PROBE PROBE_NUM=1 + # Input shaper for carriage 1 + SET_INPUT_SHAPER SHAPER_FREQ_X=60 SHAPER_TYPE_X=ei SHAPER_FREQ_Y=40 SHAPER_TYPE_Y=ei + +[gcode_macro CALIBRATE_M2] +# Macro to calibrate the current tool with a mesh centered at Z=0. +# Useful if you're using Z fade for dupe mode, or anomalously thick sheets. +gcode: + G28 + G1 Z15 F600 + G1 X200 Y200 F6000 + Z_ENDSTOP_CALIBRATE + PROBE + TESTZ Z=-.001 + G4 P500 + M400 + ACCEPT + SET_KINEMATIC_POSITION Z=0 + BED_MESH_CALIBRATE + +#[gcode_macro SET_HEATER_TEMPERATURE] +#description: Set heater temperature and save temperature to variables file. +#rename_existing: SET_HEATER_TEMPERATURE_BASE +#gcode: +# {% if params.HEATER=="extruder" %} +# SAVE_VARIABLE VARIABLE=t0temp VALUE={params.TARGET} +# {% elif params.HEATER=="extruder1"%} +# SAVE_VARIABLE VARIABLE=t1temp VALUE={params.TARGET} +# {% elif params.HEATER=="heater_bed"%} +# SAVE_VARIABLE VARIABLE=bedtemp VALUE={params.TARGET} +# {% elif params.HEATER=="chamber"%} +# SAVE_VARIABLE VARIABLE=chambertemp VALUE={params.TARGET} +# {% endif%} +# SET_HEATER_TEMPERATURE_BASE HEATER={params.HEATER} TARGET={params.TARGET} + +[gcode_macro M140] +rename_existing: M140.1 +gcode: + {% if params.S is defined %} + SAVE_VARIABLE VARIABLE=bedtemp VALUE={params.S} + {% endif %} + M140.1 { rawparams } + +[gcode_macro Calibrate_Tool_Offset] +gcode: + z_endstop_calibrate + +[gcode_macro M190] +rename_existing: M190.1 +gcode: + {% if params.S is defined %} + SAVE_VARIABLE VARIABLE=bedtemp VALUE={params.S} + {% endif %} + M190.1 { rawparams } + +[gcode_macro M104] +rename_existing: M104.1 +gcode: + {% if params.T is defined and params.T == "3"%} + SET_HEATER_TEMPERATURE HEATER=chamber TARGET={params.S if params.S is defined else "0"} + {% else %} + {% if params.S is defined %} + {% set varname = "t1temp" if params.T is defined and params.T == "1" else "t0temp" %} + SAVE_VARIABLE VARIABLE={varname} VALUE={params.S} + {% endif %} + M104.1 { rawparams } + {% endif %} + +[gcode_macro M109] +rename_existing: M109.1 +gcode: + {% if params.T is defined and params.T == "3"%} + SET_HEATER_TEMPERATURE HEATER=chamber TARGET={params.S if params.S is defined else "0"} + TEMPERATURE_WAIT SENSOR=chamber MINIMUM={params.S} MAXIMUM={params.S} + {% else %} + {% if params.S is defined %} + {% set varname = "t1temp" if params.T is defined and params.T == "1" else "t0temp" %} + SAVE_VARIABLE VARIABLE={varname} VALUE={params.S} + {% endif %} + M109.1 { rawparams } + {% endif %} + +[save_variables] +filename: ~/savedVariables.cfg + +[gcode_macro SET_GCODE_OFFSET] +rename_existing: _SET_GCODE_OFFSET +gcode: + {% if printer.save_variables.variables.gcode_offsets %} + {% set offsets = printer.save_variables.variables.gcode_offsets %} + {% else %} + {% set offsets = {'x': None,'y': None,'z': None} %} + {% endif %} + + {% set ns = namespace(offsets={'x': offsets.x,'y': offsets.y,'z': offsets.z}) %} + + _SET_GCODE_OFFSET {% for p in params %}{'%s=%s '% (p, params[p])}{% endfor %} + + {%if 'X' in params %}{% set null = ns.offsets.update({'x': params.X}) %}{% endif %} + {%if 'Y' in params %}{% set null = ns.offsets.update({'y': params.Y}) %}{% endif %} + {%if 'Z' in params %}{% set null = ns.offsets.update({'z': params.Z}) %}{% endif %} + SAVE_VARIABLE VARIABLE=gcode_offsets VALUE="{ns.offsets}" + +[delayed_gcode LOAD_GCODE_OFFSETS] +initial_duration: 2 +gcode: + {% if printer.save_variables.variables.gcode_offsets %} + {% set offsets = printer.save_variables.variables.gcode_offsets %} + + _SET_GCODE_OFFSET {% for axis, offset in offsets.items() + if offsets[axis] %}{ "%s=%s " % (axis, offset) }{% endfor %} + + { action_respond_info("Loaded gcode offsets from saved variables [%s]" % (offsets)) } + {% endif %} + +# Initialize input shaper on startup (for dual_carriage compatibility) +[delayed_gcode INIT_INPUT_SHAPER] +initial_duration: 3 +gcode: + # Set default input shaper for carriage 0 (T0) + SET_INPUT_SHAPER SHAPER_FREQ_X=60 SHAPER_TYPE_X=ei SHAPER_FREQ_Y=40 SHAPER_TYPE_Y=ei + { action_respond_info("Input shaper initialized for dual carriage") } + +#[gcode_macro TURN_OFF_HEATERS] +#description: Turn off heaters and wipe saved temperature variables. +#rename_existing: TURN_OFF_HEATERS_BASE +#gcode: +# TURN_OFF_HEATERS_BASE +# SAVE_VARIABLE VARIABLE=t0temp VALUE=0 +# SAVE_VARIABLE VARIABLE=t1temp VALUE=0 +# SAVE_VARIABLE VARIABLE=bedtemp VALUE=0 +# SAVE_VARIABLE VARIABLE=chambertemp VALUE=0 diff --git a/original/klipper_config/klipperScreen_exemple.conf b/original/klipper_config/klipperScreen_exemple.conf new file mode 100644 index 0000000..08bd41a --- /dev/null +++ b/original/klipper_config/klipperScreen_exemple.conf @@ -0,0 +1,101 @@ +[main] +# Invert axis in move panel. Default is False. Change to true to invert +invert_x: False +invert_y: False +invert_z: False +# Time (seconds) before the Job Status page reverts to main menu after a successful job +job_complete_timeout: 30 +# Time (seconds) before the Job Status page reverts to main menu after a successful job. +# If this option is 0, the user must click on a button to go back to the main menu. +job_error_timeout: 0 +# Specify the language +# The language can be specified here instead of using the system default language. +language: en +# Allows the cursor to be displayed on the screen +show_cursor: False + +[printer M2 2020] +# Define the moonraker host/port if different from 127.0.0.1 and 7125 +moonraker_host: 127.0.0.1 +moonraker_port: 7125 +# Moonraker API key if this is not connecting from a trusted client IP +moonraker_api_key: False +# Define the z_babystep intervals in a CSV list. Currently only 2 are supported +z_babystep_values: 0.1, 0.05 + +#~# --- Do not edit below this line. This section is auto generated --- #~# + +#~# +#~# [main] +#~# language = en +#~# print_sort_dir = date_desc +#~# screen_blanking = 300 +#~# theme = colorized +#~# side_macro_shortcut = False +#~# +#~# [displayed_macros Printer] +#~# bed_mesh_calibrate = False +#~# cancel_print = False +#~# dump_parameters = False +#~# dump_config = False +#~# dump_settings = False +#~# mesh_load = False +#~# m204 = False +#~# m141 = False +#~# man_resonances = False +#~# m600 = False +#~# mesh_store = False +#~# prime_line = False +#~# m300 = False +#~# _caselight_off = False +#~# pause = False +#~# resume = False +#~# _display_plate = False +#~# rst_service = False +#~# rst_filter = False +#~# print_end = False +#~# _extruder_on = False +#~# _display_on = False +#~# _filament_ball = False +#~# test_probe_accuracy = False +#~# quad_gantry_level = False +#~# _list_plates = False +#~# _lcd_knob = False +#~# _add_new_plate = False +#~# _filter_info = False +#~# print_start = False +#~# _runout_info = False +#~# _display_state = False +#~# _add_print_time = False +#~# _extruder_off = False +#~# _set_filter = False +#~# _bed_off = False +#~# _caselight_on = False +#~# _psu_off = False +#~# _vent_info = False +#~# _g32 = False +#~# _bed_on = False +#~# _print_info1 = False +#~# _set_plate_offset = False +#~# _print_info2 = False +#~# _print_ar = False +#~# _filter_on = False +#~# _display_print_time = False +#~# _set_caselight = False +#~# _cg28 = False +#~# _heater_on = False +#~# _display_off = False +#~# _change_plate_name = False +#~# _change_plate_offset = False +#~# _set_z_current = False +#~# _sd_printer_stats = False +#~# _sd_print_stats = False +#~# _wipe = False +#~# _remove_plate = False +#~# _init_plate_array = False +#~# _print_time = False +#~# _set_acc = False +#~# _set_plate = False +#~# _select_pa = False +#~# _shutdown_pi = False +#~# \ No newline at end of file diff --git a/original/klipper_config/moonraker.conf b/original/klipper_config/moonraker.conf new file mode 100644 index 0000000..d12a77d --- /dev/null +++ b/original/klipper_config/moonraker.conf @@ -0,0 +1,51 @@ +[server] +host: 0.0.0.0 +port: 7125 +max_upload_size: 1024 + +[file_manager] +# cancel object preprocessing - set to True to enable; leave disabled when running on a low-powered device (e.g. Pi Zero) +enable_object_processing: False + +[data_store] +temperature_store_size: 600 +gcode_store_size: 1000 + +[authorization] +force_logins: false +cors_domains: + *.local + *.lan + *://app.fluidd.xyz + +trusted_clients: + 10.0.0.0/8 + 127.0.0.0/8 + 169.254.0.0/16 + 172.16.0.0/12 + 192.168.0.0/16 + FE80::/10 + ::1/128 + 127.0.0.1 + 127.0.0.0 + +# enables partial support of Octoprint API +[octoprint_compat] + +# enables moonraker to track and store print history. +[history] + +# this enables moonraker announcements for fluidd +[announcements] +subscriptions: + fluidd + +# this enables moonraker's update manager +[update_manager] +enable_auto_refresh: True + +# this enabled fluidd updates +[update_manager client fluidd] +type: web +repo: fluidd-core/fluidd +path: ~/fluidd diff --git a/original/klipper_config/printer-20241107_160227.cfg b/original/klipper_config/printer-20241107_160227.cfg new file mode 100644 index 0000000..b1d9af7 --- /dev/null +++ b/original/klipper_config/printer-20241107_160227.cfg @@ -0,0 +1,327 @@ +# AON3D M2+ +# Requirements +[pause_resume] +[display_status] +[virtual_sdcard] +path: ~/gcode_files +[include M2_macros.cfg] +[include Controllino_aliases.cfg] + +# MCU definition +;[mcu] +;serial: /dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN05SBA9-if00-port0 +;baud: 115200 +;restart_method: command + +[mcu] +serial: /dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN05SBA9-if00-port0 +#serial: /dev/ttyACM0 +;baud: 250000 +restart_method: command + + +# Printer definition +[printer] +kinematics: cartesian +max_velocity: 250 +max_accel: 3000 +max_z_velocity: 12 +max_z_accel: 30 + +# Steppers definition +[stepper_x] +step_pin: ar54 +dir_pin: !ar55 +enable_pin: !ar38 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar3 +position_endstop: -90 +position_min: -90 +position_max: 450 +homing_speed: 100 +step_pulse_duration: 0.000006 + + +[dual_carriage] +axis: x +step_pin: ar23 +dir_pin: !ar25 +enable_pin: !ar40 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar2 +position_endstop: 518.5 +position_max: 518.5 +homing_speed: 100 +step_pulse_duration: 0.000006 + + +[stepper_y] +step_pin: ar60 +dir_pin: !ar61 +enable_pin: !ar56 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar14 +position_endstop: -44 +position_min: -44 +position_max: 450 +homing_speed: 80 +step_pulse_duration: 0.000006 + + +[stepper_y1] +step_pin: ar27 +dir_pin: ar29 +enable_pin: !ar41 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar15 +step_pulse_duration: 0.000006 + + +[stepper_z] +step_pin: ar46 +dir_pin: ar48 +enable_pin: !ar62 +microsteps: 4 +rotation_distance: 2 +endstop_pin: ar18 +#position_endstop: -1.6 # -16 for HT bed, -9 for LT, -11 for Hudson Vac +position_min: -11 # -16 for HT bed, -9 for LT, -11 for Hudson Vac +position_max: 600 +homing_retract_dist: 2 +homing_speed: 5 +step_pulse_duration: 0.000006 + + +[stepper_z1] +step_pin: ar43 +dir_pin: ar37 +enable_pin: !ar42 +microsteps: 4 +rotation_distance: 2 +endstop_pin: ar19 +step_pulse_duration: 0.000006 + + + +# Thermal sensors definition +[adc_temperature thermistor86] +temperature1: 20 +voltage1: 4.8239 +temperature2: 90 +voltage2: 3.3005 +temperature3: 180 +voltage3: 0.7913 + +[adc_temperature thermistor20] +temperature1: 20 +voltage1: 1.1926 +temperature2: 200 +voltage2: 1.921 +temperature3: 600 +voltage3: 3.328 + +[adc_temperature thermistor5] +temperature1: 20 +voltage1: 4.817 +temperature2: 150 +voltage2: 1.122 +temperature3: 300 +voltage3: 0.0876 + +# thermistor89 +# temperature1:30 +# voltage1:3.391 +# temperature2:100 +# voltage2:2.171 +# temperature1:160 +# voltage1:0.819 + + + +# Extruders definition +[extruder] +step_pin: ar26 +dir_pin: ar28 +enable_pin: !ar24 +microsteps: 16 +rotation_distance: 4.961 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: ar10 +sensor_type: thermistor20 +sensor_pin: analog3 +control: pid +pid_Kp: 22.2 +pid_Ki: 1.08 +pid_Kd: 114 +min_temp: 0 +max_temp: 500 +pressure_advance: 0.06 +pressure_advance_smooth_time: 0.12 +max_extrude_cross_section: 10 + +[extruder1] +step_pin: ar36 +dir_pin: ar34 +enable_pin: !ar30 +microsteps: 16 +rotation_distance: 4.961 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: ar9 +sensor_type: thermistor20 +sensor_pin: analog9 +control: pid +pid_Kp: 22.2 +pid_Ki: 1.08 +pid_Kd: 114 +min_temp: 0 +max_temp: 400 +pressure_advance: 0.06 +pressure_advance_smooth_time: 0.12 + +# Heat bed definition +[heater_bed] +heater_pin: ar8 +sensor_type: thermistor5 +sensor_pin: analog14 +control: pid +pid_Kp: 22.2 +pid_Ki: 1.08 +pid_Kd: 114 +min_temp: -20 +max_temp: 230 + +# Heated chamber definition +[heater_generic chamber] +gcode_id: T2 +heater_pin: ar4 +sensor_type: thermistor86 +sensor_pin: analog13 +max_power: 1.0 +pwm_cycle_time: 0.3 +control: pid +pid_Kp: 100 +pid_Ki: 1.8 +pid_Kd: 300 +min_temp: -20 +max_temp: 175 + +[verify_heater chamber] +check_gain_time: 900 +max_error: 200 + +[heater_fan Enclosure_fan] +pin: ar5 +fan_speed: 1.0 +heater: chamber +kick_start_time: 10000 +shutdown_speed: 0 + + +# Probe definition +[probe] +pin: ^ar22 +;probe2: ^ar7 +lift_speed: 10 +speed: 6.0 +#z_offset = -0.06 + +# Bed mesh definition +[bed_mesh] +speed: 200 +horizontal_move_z: 2 +mesh_min: 60,60 +mesh_max: 380,380 +probe_count: 6,6 + +[force_move] +enable_force_move = True + +#[filament_switch_sensor RunoutSensor] +#pause_on_runout: False +#runout_gcode: PAUSE +#insert_gcode: RESUME +#switch_pin: !PC2 + +[idle_timeout] +timeout : 14400 + +[input_shaper] +shaper_freq_x: 60 +shaper_type_x: ei +shaper_freq_y: 40 +shaper_type_y: ei + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [probe] +#*# z_offset = 0.500 +#*# +#*# [bed_mesh t0bed] +#*# version = 1 +#*# points = +#*# 0.020833, -0.031667, -0.064167, -0.046667, 0.010833, 0.015833 +#*# 0.045833, 0.010833, -0.031667, 0.085833, 0.135833, 0.180833 +#*# 0.105833, 0.070833, 0.060833, 0.098333, 0.108333, 0.100833 +#*# 0.263333, 0.175833, 0.165833, 0.205833, 0.220833, 0.220833 +#*# 0.368333, 0.248333, 0.185833, 0.175833, 0.175833, 0.170833 +#*# 0.500833, 0.353333, 0.280833, 0.178333, 0.115833, 0.118333 +#*# tension = 0.2 +#*# mesh_x_pps = 2 +#*# algo = lagrange +#*# min_x = 0.0 +#*# min_y = 0.0 +#*# y_count = 6 +#*# mesh_y_pps = 2 +#*# x_count = 6 +#*# max_x = 420.0 +#*# max_y = 420.0 +#*# +#*# [bed_mesh t1bed] +#*# version = 1 +#*# points = +#*# -0.302500, -0.380000, -0.420000, -0.407500, -0.365000, -0.305000 +#*# -0.395000, -0.417500, -0.440000, -0.332500, -0.280000, -0.247500 +#*# -0.267500, -0.325000, -0.335000, -0.265000, -0.282500, -0.287500 +#*# -0.202500, -0.247500, -0.262500, -0.242500, -0.222500, -0.237500 +#*# -0.110000, -0.187500, -0.225000, -0.230000, -0.245000, -0.250000 +#*# 0.022500, -0.127500, -0.197500, -0.290000, -0.322500, -0.330000 +#*# tension = 0.2 +#*# mesh_x_pps = 2 +#*# algo = lagrange +#*# min_x = 0.0 +#*# min_y = 0.0 +#*# y_count = 6 +#*# mesh_y_pps = 2 +#*# x_count = 6 +#*# max_x = 420.0 +#*# max_y = 420.0 +#*# +#*# [bed_mesh default] +#*# version = 1 +#*# points = +#*# 0.515000, 0.530000, 0.520000, 0.520000, 0.455000, 0.362500 +#*# 0.562500, 0.632500, 0.637500, 0.650000, 0.605000, 0.537500 +#*# 0.762500, 0.802500, 0.822500, 0.797500, 0.742500, 0.672500 +#*# 0.920000, 0.980000, 0.980000, 0.965000, 0.900000, 0.842500 +#*# 1.015000, 1.045000, 1.042500, 1.025000, 0.962500, 0.855000 +#*# 0.970000, 0.982500, 0.962500, 0.905000, 0.825000, 0.722500 +#*# tension = 0.2 +#*# min_x = 60.0 +#*# algo = lagrange +#*# y_count = 6 +#*# mesh_y_pps = 2 +#*# min_y = 60.0 +#*# x_count = 6 +#*# max_y = 380.0 +#*# mesh_x_pps = 2 +#*# max_x = 380.0 +#*# +#*# [stepper_z] +#*# position_endstop = -1.590 diff --git a/original/klipper_config/printer-20241107_161232.cfg b/original/klipper_config/printer-20241107_161232.cfg new file mode 100644 index 0000000..c673afa --- /dev/null +++ b/original/klipper_config/printer-20241107_161232.cfg @@ -0,0 +1,333 @@ +# AON3D M2+ +# Requirements +[pause_resume] +[display_status] +[virtual_sdcard] +path: ~/gcode_files +[include M2_macros.cfg] +[include Controllino_aliases.cfg] + +# MCU definition +;[mcu] +;serial: /dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN05SBA9-if00-port0 +;baud: 115200 +;restart_method: command + +[mcu] +serial: /dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN05SBA9-if00-port0 +#serial: /dev/ttyACM0 +;baud: 250000 +restart_method: command + + +# Printer definition +[printer] +kinematics: cartesian +max_velocity: 250 +max_accel: 3000 +max_z_velocity: 12 +max_z_accel: 30 + +# Steppers definition +[stepper_x] +step_pin: ar54 +dir_pin: !ar55 +enable_pin: !ar38 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar3 +position_endstop: -90 +position_min: -90 +position_max: 450 +homing_speed: 100 +step_pulse_duration: 0.000006 + + +[dual_carriage] +axis: x +step_pin: ar23 +dir_pin: !ar25 +enable_pin: !ar40 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar2 +position_endstop: 518.5 +position_max: 518.5 +homing_speed: 100 +step_pulse_duration: 0.000006 + + +[stepper_y] +step_pin: ar60 +dir_pin: !ar61 +enable_pin: !ar56 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar14 +position_endstop: -44 +position_min: -44 +position_max: 450 +homing_speed: 80 +step_pulse_duration: 0.000006 + + +[stepper_y1] +step_pin: ar27 +dir_pin: ar29 +enable_pin: !ar41 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar15 +step_pulse_duration: 0.000006 + + +[stepper_z] +step_pin: ar46 +dir_pin: ar48 +enable_pin: !ar62 +microsteps: 4 +rotation_distance: 2 +endstop_pin: ar18 +#position_endstop: -1.6 # -16 for HT bed, -9 for LT, -11 for Hudson Vac +position_min: -11 # -16 for HT bed, -9 for LT, -11 for Hudson Vac +position_max: 600 +homing_retract_dist: 2 +homing_speed: 5 +step_pulse_duration: 0.000006 + + +[stepper_z1] +step_pin: ar43 +dir_pin: ar37 +enable_pin: !ar42 +microsteps: 4 +rotation_distance: 2 +endstop_pin: ar19 +step_pulse_duration: 0.000006 + + + +# Thermal sensors definition +[adc_temperature thermistor86] +temperature1: 20 +voltage1: 4.8239 +temperature2: 90 +voltage2: 3.3005 +temperature3: 180 +voltage3: 0.7913 + +[adc_temperature thermistor20] +temperature1: 20 +voltage1: 1.1926 +temperature2: 200 +voltage2: 1.921 +temperature3: 600 +voltage3: 3.328 + +[adc_temperature thermistor5] +temperature1: 20 +voltage1: 4.817 +temperature2: 150 +voltage2: 1.122 +temperature3: 300 +voltage3: 0.0876 + +# thermistor89 +# temperature1:30 +# voltage1:3.391 +# temperature2:100 +# voltage2:2.171 +# temperature1:160 +# voltage1:0.819 + + + +# Extruders definition +[extruder] +step_pin: ar26 +dir_pin: ar28 +enable_pin: !ar24 +microsteps: 16 +rotation_distance: 4.961 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: ar10 +sensor_type: thermistor20 +sensor_pin: analog3 +control: pid +pid_Kp: 22.2 +pid_Ki: 1.08 +pid_Kd: 114 +min_temp: 0 +max_temp: 500 +pressure_advance: 0.06 +pressure_advance_smooth_time: 0.12 +max_extrude_cross_section: 10 + +[extruder1] +step_pin: ar36 +dir_pin: ar34 +enable_pin: !ar30 +microsteps: 16 +rotation_distance: 4.961 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: ar9 +sensor_type: thermistor20 +sensor_pin: analog9 +#control: pid +#pid_Kp: 22.2 +#pid_Ki: 1.08 +#pid_Kd: 114 +min_temp: 0 +max_temp: 400 +pressure_advance: 0.06 +pressure_advance_smooth_time: 0.12 + +# Heat bed definition +[heater_bed] +heater_pin: ar8 +sensor_type: thermistor5 +sensor_pin: analog14 +control: pid +pid_Kp: 22.2 +pid_Ki: 1.08 +pid_Kd: 114 +min_temp: -20 +max_temp: 230 + +# Heated chamber definition +[heater_generic chamber] +gcode_id: T2 +heater_pin: ar4 +sensor_type: thermistor86 +sensor_pin: analog13 +max_power: 1.0 +pwm_cycle_time: 0.3 +control: pid +pid_Kp: 100 +pid_Ki: 1.8 +pid_Kd: 300 +min_temp: -20 +max_temp: 175 + +[verify_heater chamber] +check_gain_time: 900 +max_error: 200 + +[heater_fan Enclosure_fan] +pin: ar5 +fan_speed: 1.0 +heater: chamber +kick_start_time: 10000 +shutdown_speed: 0 + + +# Probe definition +[probe] +pin: ^ar22 +;probe2: ^ar7 +lift_speed: 10 +speed: 6.0 +#z_offset = -0.06 + +# Bed mesh definition +[bed_mesh] +speed: 200 +horizontal_move_z: 2 +mesh_min: 60,60 +mesh_max: 380,380 +probe_count: 6,6 + +[force_move] +enable_force_move = True + +#[filament_switch_sensor RunoutSensor] +#pause_on_runout: False +#runout_gcode: PAUSE +#insert_gcode: RESUME +#switch_pin: !PC2 + +[idle_timeout] +timeout : 14400 + +[input_shaper] +shaper_freq_x: 60 +shaper_type_x: ei +shaper_freq_y: 40 +shaper_type_y: ei + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [probe] +#*# z_offset = 0.500 +#*# +#*# [bed_mesh t0bed] +#*# version = 1 +#*# points = +#*# 0.020833, -0.031667, -0.064167, -0.046667, 0.010833, 0.015833 +#*# 0.045833, 0.010833, -0.031667, 0.085833, 0.135833, 0.180833 +#*# 0.105833, 0.070833, 0.060833, 0.098333, 0.108333, 0.100833 +#*# 0.263333, 0.175833, 0.165833, 0.205833, 0.220833, 0.220833 +#*# 0.368333, 0.248333, 0.185833, 0.175833, 0.175833, 0.170833 +#*# 0.500833, 0.353333, 0.280833, 0.178333, 0.115833, 0.118333 +#*# tension = 0.2 +#*# mesh_x_pps = 2 +#*# algo = lagrange +#*# min_x = 0.0 +#*# min_y = 0.0 +#*# y_count = 6 +#*# mesh_y_pps = 2 +#*# x_count = 6 +#*# max_x = 420.0 +#*# max_y = 420.0 +#*# +#*# [bed_mesh t1bed] +#*# version = 1 +#*# points = +#*# -0.302500, -0.380000, -0.420000, -0.407500, -0.365000, -0.305000 +#*# -0.395000, -0.417500, -0.440000, -0.332500, -0.280000, -0.247500 +#*# -0.267500, -0.325000, -0.335000, -0.265000, -0.282500, -0.287500 +#*# -0.202500, -0.247500, -0.262500, -0.242500, -0.222500, -0.237500 +#*# -0.110000, -0.187500, -0.225000, -0.230000, -0.245000, -0.250000 +#*# 0.022500, -0.127500, -0.197500, -0.290000, -0.322500, -0.330000 +#*# tension = 0.2 +#*# mesh_x_pps = 2 +#*# algo = lagrange +#*# min_x = 0.0 +#*# min_y = 0.0 +#*# y_count = 6 +#*# mesh_y_pps = 2 +#*# x_count = 6 +#*# max_x = 420.0 +#*# max_y = 420.0 +#*# +#*# [bed_mesh default] +#*# version = 1 +#*# points = +#*# 0.515000, 0.530000, 0.520000, 0.520000, 0.455000, 0.362500 +#*# 0.562500, 0.632500, 0.637500, 0.650000, 0.605000, 0.537500 +#*# 0.762500, 0.802500, 0.822500, 0.797500, 0.742500, 0.672500 +#*# 0.920000, 0.980000, 0.980000, 0.965000, 0.900000, 0.842500 +#*# 1.015000, 1.045000, 1.042500, 1.025000, 0.962500, 0.855000 +#*# 0.970000, 0.982500, 0.962500, 0.905000, 0.825000, 0.722500 +#*# tension = 0.2 +#*# min_x = 60.0 +#*# algo = lagrange +#*# y_count = 6 +#*# mesh_y_pps = 2 +#*# min_y = 60.0 +#*# x_count = 6 +#*# max_y = 380.0 +#*# mesh_x_pps = 2 +#*# max_x = 380.0 +#*# +#*# [stepper_z] +#*# position_endstop = -1.590 +#*# +#*# [extruder1] +#*# control = pid +#*# pid_kp = 15.157 +#*# pid_ki = 0.529 +#*# pid_kd = 108.559 diff --git a/original/klipper_config/printer.cfg b/original/klipper_config/printer.cfg new file mode 100644 index 0000000..7c97309 --- /dev/null +++ b/original/klipper_config/printer.cfg @@ -0,0 +1,364 @@ +# AON3D M2+ +# Requirements +[pause_resume] +[display_status] +[virtual_sdcard] +path: ~/gcode_files +[include M2_macros.cfg] +[include Controllino_aliases.cfg] + +# MCU definition +;[mcu] +;serial: /dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN05SBA9-if00-port0 +;baud: 115200 +;restart_method: command + +[mcu] +serial: /dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN05SBA9-if00-port0 +#serial: /dev/ttyACM0 +;baud: 250000 +restart_method: command + +# Second MCU - Octopus Pro (for testing) +[mcu octopus] +serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_32000A000E50315939343520-if00 + +# ================================================================================ +# TEST: Thermistors on Octopus (uncomment to test) +# ================================================================================ +# Plug thermistors into Octopus T0, T1, T2, TB headers to test + +#[temperature_sensor test_extruder0] +#sensor_type: thermistor20 +#sensor_pin: octopus:PF4 + +#[temperature_sensor test_extruder1] +#sensor_type: thermistor20 +#sensor_pin: octopus:PF5 + +#[temperature_sensor test_chamber] +#sensor_type: thermistor86 +#sensor_pin: octopus:PF6 + +#[temperature_sensor test_bed] +#sensor_type: thermistor5 +#sensor_pin: octopus:PF3 + +# Printer definition +[printer] +kinematics: cartesian +max_velocity: 250 +max_accel: 3000 +max_z_velocity: 12 +max_z_accel: 30 + +# Steppers definition +[stepper_x] +step_pin: ar54 +dir_pin: !ar55 +enable_pin: !ar38 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar3 +position_endstop: -90 +position_min: -90 +position_max: 450 +homing_speed: 100 +step_pulse_duration: 0.000006 + + +[dual_carriage] +axis: x +step_pin: ar23 +dir_pin: !ar25 +enable_pin: !ar40 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar2 +position_endstop: 518.5 +position_max: 518.5 +homing_speed: 100 +step_pulse_duration: 0.000006 + + +[stepper_y] +step_pin: ar60 +dir_pin: !ar61 +enable_pin: !ar56 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar14 +position_endstop: -44 +position_min: -44 +position_max: 450 +homing_speed: 80 +step_pulse_duration: 0.000006 + + +[stepper_y1] +step_pin: ar27 +dir_pin: ar29 +enable_pin: !ar41 +microsteps: 16 +rotation_distance: 80 +endstop_pin: ar15 +step_pulse_duration: 0.000006 + + +[stepper_z] +step_pin: ar46 +dir_pin: ar48 +enable_pin: !ar62 +microsteps: 4 +rotation_distance: 2 +endstop_pin: ar18 +#position_endstop: -1.6 # -16 for HT bed, -9 for LT, -11 for Hudson Vac +position_min: -11 # -16 for HT bed, -9 for LT, -11 for Hudson Vac +position_max: 600 +homing_retract_dist: 2 +homing_speed: 5 +step_pulse_duration: 0.000006 + + +[stepper_z1] +step_pin: ar43 +dir_pin: ar37 +enable_pin: !ar42 +microsteps: 4 +rotation_distance: 2 +endstop_pin: ar19 +step_pulse_duration: 0.000006 + + + +# Thermal sensors definition +[adc_temperature thermistor86] +temperature1: 20 +voltage1: 4.8239 +temperature2: 90 +voltage2: 3.3005 +temperature3: 180 +voltage3: 0.7913 + +[adc_temperature thermistor20] +temperature1: 20 +voltage1: 1.1926 +temperature2: 200 +voltage2: 1.921 +temperature3: 600 +voltage3: 3.328 + +[adc_temperature thermistor5] +temperature1: 20 +voltage1: 4.817 +temperature2: 150 +voltage2: 1.122 +temperature3: 300 +voltage3: 0.0876 + +# thermistor89 +# temperature1:30 +# voltage1:3.391 +# temperature2:100 +# voltage2:2.171 +# temperature1:160 +# voltage1:0.819 + + + +# Extruders definition +[extruder] +step_pin: ar26 +dir_pin: ar28 +enable_pin: !ar24 +microsteps: 16 +rotation_distance: 4.961 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: ar10 +sensor_type: thermistor20 +sensor_pin: analog3 +#control: pid +#pid_Kp: 22.2 +#pid_Ki: 1.08 +#pid_Kd: 114 +min_temp: 0 +max_temp: 500 +pressure_advance: 0.06 +pressure_advance_smooth_time: 0.12 +max_extrude_cross_section: 10 + +[extruder1] +step_pin: ar36 +dir_pin: ar34 +enable_pin: !ar30 +microsteps: 16 +rotation_distance: 4.961 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: ar9 +sensor_type: thermistor20 +sensor_pin: analog9 +#control: pid +#pid_Kp: 22.2 +#pid_Ki: 1.08 +#pid_Kd: 114 +min_temp: 0 +max_temp: 400 +pressure_advance: 0.06 +pressure_advance_smooth_time: 0.12 + +# Heat bed definition +[heater_bed] +heater_pin: ar8 +sensor_type: thermistor5 +sensor_pin: analog14 +control: pid +pid_Kp: 22.2 +pid_Ki: 1.08 +pid_Kd: 114 +min_temp: -20 +max_temp: 230 + +# Heated chamber definition +[heater_generic chamber] +gcode_id: T2 +heater_pin: ar4 +sensor_type: thermistor86 +sensor_pin: analog13 +max_power: 1.0 +pwm_cycle_time: 0.3 +control: pid +pid_Kp: 100 +pid_Ki: 1.8 +pid_Kd: 300 +min_temp: -20 +max_temp: 175 + +[verify_heater chamber] +check_gain_time: 900 +max_error: 200 + +[heater_fan Enclosure_fan] +pin: ar5 +fan_speed: 1.0 +heater: chamber +kick_start_time: 10000 +shutdown_speed: 0 + + +# Probe definition +[probe] +pin: ^ar22 +;probe2: ^ar7 +lift_speed: 10 +speed: 6.0 +#z_offset = -0.06 + +# Bed mesh definition +[bed_mesh] +speed: 200 +horizontal_move_z: 2 +mesh_min: 60,60 +mesh_max: 380,380 +probe_count: 6,6 + +[force_move] +enable_force_move = True + +#[filament_switch_sensor RunoutSensor] +#pause_on_runout: False +#runout_gcode: PAUSE +#insert_gcode: RESUME +#switch_pin: !PC2 + +[idle_timeout] +timeout : 14400 + +# Input Shaper - For IDEX, configure via macros in T0/T1 tool change +# Use SET_INPUT_SHAPER commands in the T0 and T1 macros +# Calibrated values: +# Carriage 0 (T0): shaper_freq_x=60, shaper_type_x=ei +# Carriage 1 (T1): shaper_freq_x=60, shaper_type_x=ei +# Y axis: shaper_freq_y=40, shaper_type_y=ei + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [probe] +#*# z_offset = 0.500 +#*# +#*# [bed_mesh t0bed] +#*# version = 1 +#*# points = +#*# 0.020833, -0.031667, -0.064167, -0.046667, 0.010833, 0.015833 +#*# 0.045833, 0.010833, -0.031667, 0.085833, 0.135833, 0.180833 +#*# 0.105833, 0.070833, 0.060833, 0.098333, 0.108333, 0.100833 +#*# 0.263333, 0.175833, 0.165833, 0.205833, 0.220833, 0.220833 +#*# 0.368333, 0.248333, 0.185833, 0.175833, 0.175833, 0.170833 +#*# 0.500833, 0.353333, 0.280833, 0.178333, 0.115833, 0.118333 +#*# tension = 0.2 +#*# mesh_x_pps = 2 +#*# algo = lagrange +#*# min_x = 0.0 +#*# min_y = 0.0 +#*# y_count = 6 +#*# mesh_y_pps = 2 +#*# x_count = 6 +#*# max_x = 420.0 +#*# max_y = 420.0 +#*# +#*# [bed_mesh t1bed] +#*# version = 1 +#*# points = +#*# -0.302500, -0.380000, -0.420000, -0.407500, -0.365000, -0.305000 +#*# -0.395000, -0.417500, -0.440000, -0.332500, -0.280000, -0.247500 +#*# -0.267500, -0.325000, -0.335000, -0.265000, -0.282500, -0.287500 +#*# -0.202500, -0.247500, -0.262500, -0.242500, -0.222500, -0.237500 +#*# -0.110000, -0.187500, -0.225000, -0.230000, -0.245000, -0.250000 +#*# 0.022500, -0.127500, -0.197500, -0.290000, -0.322500, -0.330000 +#*# tension = 0.2 +#*# mesh_x_pps = 2 +#*# algo = lagrange +#*# min_x = 0.0 +#*# min_y = 0.0 +#*# y_count = 6 +#*# mesh_y_pps = 2 +#*# x_count = 6 +#*# max_x = 420.0 +#*# max_y = 420.0 +#*# +#*# [bed_mesh default] +#*# version = 1 +#*# points = +#*# 0.515000, 0.530000, 0.520000, 0.520000, 0.455000, 0.362500 +#*# 0.562500, 0.632500, 0.637500, 0.650000, 0.605000, 0.537500 +#*# 0.762500, 0.802500, 0.822500, 0.797500, 0.742500, 0.672500 +#*# 0.920000, 0.980000, 0.980000, 0.965000, 0.900000, 0.842500 +#*# 1.015000, 1.045000, 1.042500, 1.025000, 0.962500, 0.855000 +#*# 0.970000, 0.982500, 0.962500, 0.905000, 0.825000, 0.722500 +#*# tension = 0.2 +#*# min_x = 60.0 +#*# algo = lagrange +#*# y_count = 6 +#*# mesh_y_pps = 2 +#*# min_y = 60.0 +#*# x_count = 6 +#*# max_y = 380.0 +#*# mesh_x_pps = 2 +#*# max_x = 380.0 +#*# +#*# [stepper_z] +#*# position_endstop = -1.590 +#*# +#*# [extruder1] +#*# control = pid +#*# pid_kp = 15.157 +#*# pid_ki = 0.529 +#*# pid_kd = 108.559 +#*# +#*# [extruder] +#*# control = pid +#*# pid_kp = 17.123 +#*# pid_ki = 0.660 +#*# pid_kd = 111.088 diff --git a/original/klipper_config/webcam.txt b/original/klipper_config/webcam.txt new file mode 100644 index 0000000..8b7bb9c --- /dev/null +++ b/original/klipper_config/webcam.txt @@ -0,0 +1,79 @@ +### Windows users: To edit this file use Notepad++, VSCode, Atom or SublimeText. +### Do not use Notepad or WordPad. + +### MacOSX users: If you use Textedit to edit this file make sure to use +### "plain text format" and "disable smart quotes" in "Textedit > Preferences" + +### Configure which camera to use +# +# Available options are: +# - auto: tries first usb webcam, if that's not available tries raspi cam +# - usb: only tries usb webcam +# - raspi: only tries raspi cam +# +# Defaults to auto +# +#camera="auto" + +### Additional options to supply to MJPG Streamer for the USB camera +# +# See https://faq.octoprint.org/mjpg-streamer-config for available options +# +# Defaults to a resolution of 640x480 px and a framerate of 10 fps +# +#camera_usb_options="-r 640x480 -f 10" + +### Additional webcam devices known to cause problems with -f +# +# Apparently there a some devices out there that with the current +# mjpg_streamer release do not support the -f parameter (for specifying +# the capturing framerate) and will just refuse to output an image if it +# is supplied. +# +# The webcam daemon will detect those devices by their USB Vendor and Product +# ID and remove the -f parameter from the options provided to mjpg_streamer. +# +# By default, this is done for the following devices: +# Logitech C170 (046d:082b) +# GEMBIRD (1908:2310) +# Genius F100 (0458:708c) +# Cubeternet GL-UPC822 UVC WebCam (1e4e:0102) +# +# Using the following option it is possible to add additional devices. If +# your webcam happens to show above symptoms, try determining your cam's +# vendor and product id via lsusb, activating the line below by removing # and +# adding it, e.g. for two broken cameras "aabb:ccdd" and "aabb:eeff" +# +# additional_brokenfps_usb_devices=("aabb:ccdd" "aabb:eeff") +# +# +#additional_brokenfps_usb_devices=() + +### Additional options to supply to MJPG Streamer for the RasPi Cam +# +# See https://faq.octoprint.org/mjpg-streamer-config for available options +# +# Defaults to 10fps +# +#camera_raspi_options="-fps 10" + +### Configuration of camera HTTP output +# +# Usually you should NOT need to change this at all! Only touch if you +# know what you are doing and what the parameters mean. +# +# Below settings are used in the mjpg-streamer call like this: +# +# -o "output_http.so -w $camera_http_webroot $camera_http_options" +# +# Current working directory is the mjpg-streamer base directory. +# +#camera_http_webroot="./www-fluidd" +#camera_http_options="-n" + +### EXPERIMENTAL +# Support for different streamer types. +# +# Available options: +# mjpeg [default] - stable MJPG-streamer +#camera_streamer=mjpeg