Переглянути джерело

[2.0.x] UltiMachine Archim2 (#8190)

* UltiMachine Archim2 support

* SPI gets included by the library

* Invert TMC2130 diag pin state

* Clean up Archim2 pins

* Update Archim2 config

* FAN2 -> FAN1

* Cleanup

* Add brief Archim installation instructions

* Bring pins into compliance

* Update 1.0 SD Detect pin for 1.1

* Update Configuration.h

* Update pins_ARCHIM2.h
teemuatlut 6 роки тому
джерело
коміт
70be4d206e

+ 0
- 1
Marlin/Marlin.ino Переглянути файл

@@ -54,7 +54,6 @@
54 54
 #endif
55 55
 
56 56
 #if ENABLED(HAVE_TMC2130)
57
-  #include <SPI.h>
58 57
   #include <TMC2130Stepper.h>
59 58
 #endif
60 59
 

+ 68
- 18
Marlin/src/HAL/HAL_DUE/fastio_Due.h Переглянути файл

@@ -404,31 +404,81 @@ pins
404 404
 #define DIO91_PIN 15
405 405
 #define DIO91_WPORT PIOB
406 406
 
407
-#define DIO92_PIN 5
408
-#define DIO92_WPORT PIOA
407
+#if ARDUINO_SAM_ARCHIM
408
+  #define DIO92_PIN 11
409
+  #define DIO92_WPORT PIOC
409 410
 
410
-#define DIO93_PIN 12
411
-#define DIO93_WPORT PIOB
411
+  #define DIO93_PIN 2
412
+  #define DIO93_WPORT PIOB
412 413
 
413
-#define DIO94_PIN 22
414
-#define DIO94_WPORT PIOB
414
+  #define DIO94_PIN 1
415
+  #define DIO94_WPORT PIOB
415 416
 
416
-#define DIO95_PIN 23
417
-#define DIO95_WPORT PIOB
417
+  #define DIO95_PIN 0
418
+  #define DIO95_WPORT PIOB
418 419
 
419
-#define DIO96_PIN 24
420
-#define DIO96_WPORT PIOB
420
+  #define DIO96_PIN 10
421
+  #define DIO96_WPORT PIOC
421 422
 
422
-#define DIO97_PIN 20
423
-#define DIO97_WPORT PIOC
423
+  #define DIO97_PIN 24
424
+  #define DIO97_WPORT PIOB
424 425
 
425
-#define DIO98_PIN 27
426
-#define DIO98_WPORT PIOC
426
+  #define DIO98_PIN 7
427
+  #define DIO98_WPORT PIOB
427 428
 
428
-#define DIO99_PIN 10
429
-#define DIO99_WPORT PIOC
429
+  #define DIO99_PIN 6
430
+  #define DIO99_WPORT PIOB
430 431
 
431
-#define DIO100_PIN 11
432
-#define DIO100_WPORT PIOC
432
+  #define DIO100_PIN 8
433
+  #define DIO100_WPORT PIOB
434
+
435
+  #define DIO101_PIN 5
436
+  #define DIO101_WPORT PIOB
437
+
438
+  #define DIO102_PIN 4
439
+  #define DIO102_WPORT PIOB
440
+
441
+  #define DIO103_PIN 3
442
+  #define DIO103_WPORT PIOB
443
+
444
+  #define DIO104_PIN 20
445
+  #define DIO104_WPORT PIOC
446
+
447
+  #define DIO105_PIN 22
448
+  #define DIO105_WPORT PIOB
449
+
450
+  #define DIO106_PIN 27
451
+  #define DIO106_WPORT PIOC
452
+
453
+  #define DIO107_PIN 10
454
+  #define DIO107_WPORT PIOB
455
+#else
456
+  #define DIO92_PIN 5
457
+  #define DIO92_WPORT PIOA
458
+
459
+  #define DIO93_PIN 12
460
+  #define DIO93_WPORT PIOB
461
+
462
+  #define DIO94_PIN 22
463
+  #define DIO94_WPORT PIOB
464
+
465
+  #define DIO95_PIN 23
466
+  #define DIO95_WPORT PIOB
467
+
468
+  #define DIO96_PIN 24
469
+  #define DIO96_WPORT PIOB
470
+
471
+  #define DIO97_PIN 20
472
+  #define DIO97_WPORT PIOC
473
+
474
+  #define DIO98_PIN 27
475
+  #define DIO98_WPORT PIOC
476
+
477
+  #define DIO99_PIN 10
478
+  #define DIO99_WPORT PIOC
479
+
480
+  #define DIO100_PIN 11
481
+  #define DIO100_WPORT PIOC
482
+#endif
433 483
 
434 484
 #endif // _FASTIO_DUE_H

+ 1729
- 0
Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 1451
- 0
Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 1
- 0
Marlin/src/core/boards.h Переглянути файл

@@ -174,6 +174,7 @@
174 174
 #define BOARD_RAMPS4DUE_EFF    1545   // RAMPS4DUE (Power outputs: Hotend, Fan0, Fan1)
175 175
 #define BOARD_RAMPS4DUE_EEF    1546   // RAMPS4DUE (Power outputs: Hotend0, Hotend1, Fan)
176 176
 #define BOARD_RAMPS4DUE_SF     1548   // RAMPS4DUE (Power outputs: Spindle, Controller Fan)
177
+#define BOARD_ARCHIM2          1590   // UltiMachine Archim2 (with TMC2130 drivers)
177 178
 #define BOARD_ALLIGATOR        1602   // Alligator Board R2
178 179
 
179 180
 //

+ 1
- 1
Marlin/src/module/stepper_indirection.cpp Переглянути файл

@@ -181,7 +181,7 @@
181 181
     st.power_down_delay(128); // ~2s until driver lowers to hold current
182 182
     st.hysterisis_start(0); // HSTRT = 1
183 183
     st.hysterisis_low(1); // HEND = -2
184
-    st.diag1_active_high(1); // For sensorless homing
184
+    st.diag1_active_high(0); // For sensorless homing
185 185
     #if ENABLED(STEALTHCHOP)
186 186
       st.stealth_freq(1); // f_pwm = 2/683 f_clk
187 187
       st.stealth_autoscale(1);

+ 2
- 0
Marlin/src/pins/pins.h Переглянути файл

@@ -302,6 +302,8 @@
302 302
   #include "pins_RAMPS4DUE.h"
303 303
 #elif MB(RAMPS4DUE_SF)
304 304
   #include "pins_RAMPS4DUE.h"
305
+#elif MB(ARCHIM2)
306
+  #include "pins_ARCHIM2.h"
305 307
 #elif MB(ALLIGATOR)
306 308
   #include "pins_ALLIGATOR_R2.h"
307 309
 #elif MB(STM32F1R)

+ 137
- 0
Marlin/src/pins/pins_ARCHIM2.h Переглянути файл

@@ -0,0 +1,137 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+
23
+/**
24
+ * ARCHIM2 pin assignment (pins_ARCHIM2.h)
25
+ *
26
+ * The Archim2 board requires Arduino Archim addons installed.
27
+ * Add the following URL to Arduino IDE's Additional Board Manager URLs:
28
+ * https://raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json
29
+ * In the Arduino IDE Board Manager search for Archim and install the package.
30
+ * Change your target board to "Archim".
31
+ *
32
+ * Further information is provided by UltiMachine
33
+ * https://github.com/ultimachine/Archim/wiki/Archim-v2.0
34
+ * https://github.com/ultimachine/Archim/wiki
35
+ *
36
+ */
37
+
38
+#ifndef __SAM3X8E__
39
+  #error "Oops!  Make sure you have 'Archim' selected from the 'Tools -> Boards' menu."
40
+#endif
41
+
42
+//
43
+// Items marked * have been altered from Archim v1.0
44
+//
45
+
46
+//
47
+// Limit Switches
48
+//
49
+#define X_MIN_PIN          14   // PD4 MIN ES1
50
+#define X_MAX_PIN          32   // PD10 MAX ES1
51
+#define Y_MIN_PIN          29   // PD6 MIN ES2
52
+#define Y_MAX_PIN          15   // PD5 MAX ES2
53
+#define Z_MIN_PIN          31   // PA7 MIN ES3
54
+#define Z_MAX_PIN          30   // PD9 MAX ES3
55
+
56
+//
57
+// Z Probe (when not Z_MIN_PIN)
58
+//
59
+#ifndef Z_MIN_PROBE_PIN
60
+  #define Z_MIN_PROBE_PIN  32
61
+#endif
62
+
63
+//
64
+// Steppers
65
+//
66
+#define X_STEP_PIN         38   // PC6 X-STEP *
67
+#define X_DIR_PIN          37   // PC5 X-DIR *
68
+#define X_ENABLE_PIN       41   // PC9 EN1
69
+#define X_CS_PIN           39   // PC7 X_nCS
70
+#define X_DIAG_PIN         59   // PA4 X_DIAG
71
+
72
+#define Y_STEP_PIN         51   // PC12 Y-STEP *
73
+#define Y_DIR_PIN          92   // PC11 Y-DIR -AddOns *
74
+#define Y_ENABLE_PIN       49   // PC14 Y-EN *
75
+#define Y_CS_PIN           50   // PC13 Y_nCS
76
+#define Y_DIAG_PIN         48   // PC15 Y_DIAG
77
+
78
+#define Z_STEP_PIN         46   // PC17 Z-STEP *
79
+#define Z_DIR_PIN          47   // PC16 Z-DIR *
80
+#define Z_ENABLE_PIN       44   // PC19 Z-END *
81
+#define Z_CS_PIN           45   // PC18 Z_nCS
82
+#define Z_DIAG_PIN         36   // PC4 Z_DIAG
83
+
84
+#define E0_STEP_PIN       107   // PB10 E1-STEP -AddOns *
85
+#define E0_DIR_PIN         96   // PC10 E1-DIR -AddOns *
86
+#define E0_ENABLE_PIN     105   // PB22 E1-EN -AddOns *
87
+#define E0_CS_PIN         104   // PC20 E1_nCS -AddOns *
88
+#define E0_DIAG_PIN        78   // PB23 E1_DIAG
89
+
90
+#define E1_STEP_PIN        22   // PB26 E2_STEP *
91
+#define E1_DIR_PIN         97   // PB24 E2_DIR -AddOns *
92
+#define E1_ENABLE_PIN      18   // PA11 E2-EN
93
+#define E1_CS_PIN          19   // PA10 E2_nCS
94
+#define E1_DIAG_PIN        25   // PD0 E2_DIAG
95
+
96
+//
97
+// Temperature Sensors
98
+//
99
+#define TEMP_0_PIN         10   // D10 PB19 THERM AN1 *
100
+#define TEMP_1_PIN          9   // D9 PB18 THERM AN2 *
101
+#define TEMP_2_PIN          8   // D8 PB17 THERM AN4 *
102
+#define TEMP_BED_PIN       11   // D11 PB20 THERM AN3 *
103
+
104
+//
105
+// Heaters / Fans
106
+//
107
+#define FAN_PIN             4   // D4 PC26 FET_PWM1
108
+#define FAN1_PIN            5   // D5 PC25 FET_PWM2
109
+
110
+#define HEATER_0_PIN        6   // D6 PC24 FET_PWM3
111
+#define HEATER_1_PIN        7   // D7 PC23 FET_PWM4
112
+#define HEATER_2_PIN        8   // D8 PC22 FET_PWM5
113
+#define HEATER_BED_PIN      9   // D9 PC21 BED_PWM
114
+
115
+//////////////////////////
116
+// LCDs and Controllers //
117
+//////////////////////////
118
+
119
+#if ENABLED(ULTRA_LCD)
120
+  #if ENABLED(NEWPANEL)
121
+    #define BEEPER_PIN     23   // D24 PA15_CTS1
122
+    #define LCD_PINS_RS    17   // D17 PA12_RXD1
123
+    #define LCD_PINS_ENABLE 24  // D23 PA14_RTS1
124
+    #define LCD_PINS_D4    69   // D69 PA0_CANTX0
125
+    #define LCD_PINS_D5    54   // D54 PA16_SCK1
126
+    #define LCD_PINS_D6    68   // D68 PA1_CANRX0
127
+    #define LCD_PINS_D7    34   // D34 PC2_PWML0
128
+
129
+    #define SD_DETECT_PIN   2   // D2  PB25_TIOA0
130
+    #define SDSS           87   // D87 PA29 CS
131
+
132
+    // Buttons on AUX-2
133
+    #define BTN_EN1        60   // D60 PA3_TIOB1
134
+    #define BTN_EN2        13   // D13 PB27_TIOB0
135
+    #define BTN_ENC        16   // D16 PA13_TXD1 // the click
136
+  #endif  // NEWPANEL
137
+#endif // ULTRA_LCD

Завантаження…
Відмінити
Зберегти