Thomas Buck 2 роки тому
джерело
коміт
1b470f7971

+ 3
- 0
input/projects/3d-printing/ctc-i3.md Переглянути файл

@@ -25,6 +25,9 @@ Of course, to use these, I had to also get T8 nuts and print different Z-Carriag
25 25
 
26 26
 I also replaced all the ball bearings with [IGUS RJ4JP-01-08 polymer bushings](https://amzn.to/33FZDSz), replaced the fans and added [silent TMC2100 stepper motor drivers](https://reprap.org/wiki/TMC2100) to reduce noise.
27 27
 
28
+In 2022, I replaced the wooden frame with aluminium extrusions in the style of the [Anet AM8 mod](https://www.thingiverse.com/thing:2263216).
29
+You can read about this [on my i3 AM8 page](i3-am8.html).
30
+
28 31
 <!--%
29 32
 lightgallery([
30 33
     [ "img/ctc_i3_front.jpg", "Front view of CTC i3 Pro B" ],

+ 1
- 1
input/projects/3d-printing/fabrikator-mini.md Переглянути файл

@@ -1,7 +1,7 @@
1 1
 title: Fabrikator Mini
2 2
 description: My modifications for the TinyBoy Fabrikator Mini
3 3
 parent: 3d-printing
4
-position: 10
4
+position: 25
5 5
 date: 2016-03-01
6 6
 update: 2022-01-27
7 7
 comments: true

+ 228
- 39
input/projects/3d-printing/i3-am8.md Переглянути файл

@@ -1,20 +1,21 @@
1
-title: i3 AM8
1
+title: i3 CoreXZ AM8
2 2
 description: Rebuild of my i3 clone with aluminium extrusions, CoreXZ, Klipper
3
-x-parent: 3d-printing
4
-x-position: 25
5
-x-date: 2022-02-01
6
-x-update: 2022-06-10
7
-x-comments: true
3
+parent: 3d-printing
4
+position: 10
5
+date: 2022-10-08
6
+comments: true
8 7
 ---
9 8
 
10 9
 <!--% backToParent() %-->
11 10
 
12 11
 In February 2022 I finally decided to re-build my [CTC i3 Pro B](ctc-i3.html) with an upgraded frame and better parts.
12
+It took me quite some time, until September of 2022, to finally get it running properly.
13 13
 
14 14
 <!--%
15 15
 lightgallery([
16
-    [ "img/am8_front_top.jpg", "Front top view, without bed"],
17
-    [ "img/am8_front_bottom.jpg", "Front bottom view, without bed"],
16
+    [ "img/am8_front.jpg", "Front view of completed printer"],
17
+    [ "img/am8_left.jpg", "View of PCBs on left side"],
18
+    [ "img/am8_right.jpg", "View of power supplies on right side"],
18 19
 ])
19 20
 %-->
20 21
 
@@ -31,26 +32,110 @@ The following are the new integral components:
31 32
  * [SKR Mini E3 v3.0 Mainboard](https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/tree/master/hardware/BTT%20SKR%20MINI%20E3%20V3.0)
32 33
  * [Fysetc Mini 128x64 LCD panel V2.1](https://wiki.fysetc.com/Mini12864_Panel/)
33 34
      * Cloned version by [BCZAMD on Amazon](https://amzn.to/3MaaJ6T)
35
+ * [Magnetic Heatbed (Mk52 clone)](https://www.hta3d.com/en/magnetic-heated-bed-220x200mm-with-inserted-magnets-24v-similar-mk52-mk3)
34 36
 
35 37
 Initially I simply wanted to re-use the mechanical parts from my old printer.
36 38
 But after talking to my friend [Tobias](https://www.prusaprinters.org/social/199673-93djen/about) about the project, he came up with the idea to convert the AM8 into a CoreXZ machine, and also immediately delivered a complete design!
37 39
 We selected the parts based on what I mostly still had lying around.
38 40
 
41
+Other mechanical / electronical parts, like motors and the heatbed, I planned to re-use from my previous printer.
42
+In the end that plan didn't quite work out and the only part that's still "original" is my heatbed MOSFET, everything else was replaced.
43
+
44
+## Frame / CoreXZ
45
+
46
+<!--%
47
+lightgallery([
48
+    [ "img/am8_front_top.jpg", "Front top view, without bed"],
49
+    [ "img/am8_front_bottom.jpg", "Front bottom view, without bed"],
50
+])
51
+%-->
52
+
53
+This is my first time going from simple i3-style mechanics to something more complicated, like CoreXY or CoreXZ.
54
+It has some advantages and drawbacks.
55
+I really like that leveling the Z-axis, or losing steps on only one of the two Z steppers, is a thing of the past.
56
+Instead, now the rotation of the X-axis is determined by the relative tension of the two long belts.
57
+Tensioning one of the belts, the corresponding side of the X-axis rises or lowers.
58
+By using a simple [3D printed tool](https://www.printables.com/model/115460-belt-tension-gauge-source-file-included) the tension can be measured and dialed in relatively well.
59
+For fine tuning, you can induce an oscillation on the belt with your finger and compare the pitch of the resulting noise.
60
+
39 61
 <!--%
40 62
 lightgallery([
41 63
     [ "img/am8_corexz_1.png", "CAD screenshot of whole CoreXZ AM8"],
42
-    [ "img/am8_corexz_2.png", "CAD screenshot of extruder / hotend"],
43 64
     [ "img/am8_corexz_3.png", "CAD screenshot of XZ gearbox"],
44 65
 ])
45 66
 %-->
46 67
 
47
-Other mechanical / electronical parts, like motors and the heatbed, I re-used from my previous printer.
68
+At the beginning I had some problems getting the CoreXZ mechanism to work reliably.
69
+It took me far longer than I'd like to admit to find the root issue.
70
+The GT2 belt I ordered was not, in fact, a GT2 belt with 2mm pitch, but a T2.5 belt with 2.5mm pitch, and a slightly different tooth profile (square instead of rounded).
71
+This was close enough so you don't immediately notice a problem, but still caused some slip on the axes.
72
+This resulted in the axis dropping down in Z slightly with every move of the X axis.
73
+
74
+## Hotend
75
+
76
+<!--%
77
+lightgallery([
78
+    [ "img/am8_corexz_2.png", "CAD screenshot of extruder / hotend"],
79
+])
80
+%-->
81
+
82
+I'm using a [Sherpa Mini Extruder](https://github.com/Annex-Engineering/Sherpa_Mini-Extruder) together with an NF Crazy High-Flow hotend, both ordered from Mellow on AliExpress.
83
+These are put on the x-carriage with only a 5015 fan for the filament, a 4020 fan for the hotend and a BL-Touch for auto-leveling.
84
+This makes for a very lightweight carriage that can reach high accelerations and speeds.
85
+And thanks to the v-rollers in the aluminium extrusion it moves very silently, as well.
86
+
87
+<!--%
88
+lightgallery([
89
+    [ "img/am8_hotend.jpg", ""],
90
+    [ "img/am8_heatbreak.jpg", ""],
91
+])
92
+%-->
93
+
94
+I had some problems initially with the NF Crazy clogging with low layer heights.
95
+This required some disassembly and cleaning of molten plastic.
96
+I'm not quite sure yet what is going on there and will investigate further.
97
+
98
+## Heatbed
99
+
100
+I initially hoped to re-use my old heatbed, but it turned out it is only compatible to 12V.
101
+So I had to order a 24V variant.
102
+I decided to go with this [Mk52 clone magnetic heatbed](https://www.hta3d.com/en/magnetic-heated-bed-220x200mm-with-inserted-magnets-24v-similar-mk52-mk3) from HTA3D.
103
+The magnets in there are apparently good up to 140 degrees C.
104
+I was able to re-use the coated spring-steel-sheet printing surface from my old printer.
105
+It already came with a nice printed housing for the cable connections, and a Thermistor pre-installed.
106
+I asked the vendor, it is an `EPCOS 100K B57560G104F` in Klipper, or option 1 in Marlin.
107
+
108
+<!--%
109
+lightgallery([
110
+    [ "img/am8_bed_bottom.jpg", ""],
111
+    [ "img/am8_bed_conn.jpg", ""],
112
+    [ "img/am8_bed_insulation.jpg", ""],
113
+])
114
+%-->
115
+
116
+Of course I put a piece of [insulation foam](https://www.hta3d.com/en/adhesive-thermal-insulation-for-heatedbed) on the bottom of the bed.
117
+I installed it using some [flat 20mm springs](https://amzn.to/3ChnetC) on my [Y carriage](https://amzn.to/3CHQR8T).
118
+
119
+<!--%
120
+lightgallery([
121
+    [ "img/am8_y_carriage.jpg", ""],
122
+    [ "img/am8_bed_pcb.jpg", ""],
123
+    [ "img/am8_bed_spring.jpg", ""],
124
+])
125
+%-->
48 126
 
49 127
 ## Custom 3D-Printed Parts
50 128
 
51
-Mounts for PSUs, MOSFET, Mainboard, Pi, Relais.
129
+To install all the modules and PCBs to the frame I decided to design some simple mounting plates for myself.
130
+
131
+<!--%
132
+lightgallery([
133
+    [ "img/am8_mounts_1.jpg", "View of PCB mounts"],
134
+    [ "img/am8_mounts_2.jpg", "View of PSU mounts"],
135
+])
136
+%-->
52 137
 
53
-TODO links, photos
138
+You can find these files [on my Printables profile](https://www.printables.com/model/291049-mounting-plates-for-am8) or [in my Git repo](https://git.xythobuz.de/thomas/3d-print-designs/src/branch/master/am8).
54 139
 
55 140
 ## Power Supply Wiring
56 141
 
@@ -123,9 +208,10 @@ lightgallery([
123 208
 ])
124 209
 %-->
125 210
 
126
-TODO display no longer showing anything
127
-
128
-TODO problems with encoder, kill button pullups?!
211
+This was the first time I tried to solder to ethernet cable.
212
+It seems to have some kind of coating that makes it not only hard to wet with tin,
213
+it also corroded one of my soldering tips pretty strongly.
214
+Not all connections were good, and I had some issues with the LCD not displaying anything after a short time.
129 215
 
130 216
 <!--%
131 217
 lightgallery([
@@ -153,9 +239,6 @@ And I have to admit, even though I didn't believe it at first, it's much better
153 239
 I'm using [MainsailOS](https://docs.mainsail.xyz/setup/mainsail-os) on a Raspberry Pi 3B.
154 240
 Installation and Configuration was really straight-forward with the configuration guides of [Klipper](https://www.klipper3d.org/Config_Reference.html) and [Mainsail](https://docs.mainsail.xyz/setup/mainsailos/first-boot).
155 241
 
156
-Here is my current printer config file.
157
-<button type="button" onclick="copyEvent('printercfg')" class="clip-btn">Copy to clipboard</button>
158
-
159 242
 <!-- https://clay-atlas.com/us/blog/2021/06/30/html-en-copy-text-button/ -->
160 243
 <script>
161 244
 function copyEvent(id) {
@@ -165,6 +248,9 @@ function copyEvent(id) {
165 248
 }
166 249
 </script>
167 250
 
251
+Here is my current `printer.cfg` file.
252
+<button type="button" onclick="copyEvent('printercfg')" class="clip-btn">Copy 'printer.cfg' to clipboard</button>
253
+
168 254
 <pre id="printercfg" class="sh_desktop">
169 255
 [include mainsail.cfg]
170 256
 
@@ -176,6 +262,7 @@ function copyEvent(id) {
176 262
 kinematics: corexz
177 263
 max_velocity: 200
178 264
 max_accel: 2000
265
+max_accel_to_decel: 2000
179 266
 max_z_velocity: 200
180 267
 max_z_accel: 500
181 268
 
@@ -196,6 +283,18 @@ aliases:
196 283
 serial: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A100OZQ1-if00-port0
197 284
 restart_method: command
198 285
 
286
+[temperature_sensor microcontroller]
287
+sensor_type: temperature_mcu
288
+min_temp: 0
289
+max_temp: 90
290
+gcode_id: mcu
291
+
292
+[temperature_sensor raspberry_pi]
293
+sensor_type: temperature_host
294
+min_temp: 0
295
+max_temp: 90
296
+gcode_id: pi
297
+
199 298
 ##########################################
200 299
 ################# Motors #################
201 300
 ##########################################
@@ -204,22 +303,24 @@ restart_method: command
204 303
 # stepper controlling the X+Z movement.
205 304
 [stepper_x]
206 305
 step_pin: PB13
207
-dir_pin: PB12
306
+dir_pin: !PB12
208 307
 enable_pin: !PB14
209 308
 microsteps: 16 # set by driver
210 309
 full_steps_per_rotation: 200 # motor specific
211 310
 gear_ratio: 36:20 # CoreXZ gearbox
212 311
 rotation_distance: 40 # 20 teeth * 2mm belt
213 312
 endstop_pin: ^!PC0
214
-position_endstop: 0.0
215
-position_max: 235
216
-homing_speed: 30
313
+position_endstop: -7.0
314
+position_min: -7.0
315
+position_max: 228.0
316
+homing_speed: 40
317
+second_homing_speed: 10
217 318
 
218 319
 # The stepper_y section is used to describe the stepper controlling
219 320
 # the Y axis.
220 321
 [stepper_y]
221 322
 step_pin: PB10
222
-dir_pin: !PB2
323
+dir_pin: PB2
223 324
 enable_pin: !PB11
224 325
 microsteps: 16 # set by driver
225 326
 full_steps_per_rotation: 200 # motor specific
@@ -227,8 +328,10 @@ gear_ratio: 1:1 # driven directly
227 328
 rotation_distance: 40 # 20 teeth * 2mm belt
228 329
 endstop_pin: ^!PC1
229 330
 position_endstop: 0.0
230
-position_max: 235
231
-homing_speed: 30
331
+position_min: 0.0
332
+position_max: 210.0
333
+homing_speed: 40
334
+second_homing_speed: 10
232 335
 
233 336
 # The stepper_z section is used to describe the Z axis as well as the
234 337
 # stepper controlling the X-Z movement.
@@ -242,8 +345,10 @@ gear_ratio: 36:20 # CoreXZ gearbox
242 345
 rotation_distance: 40 # 20 teeth * 2mm belt
243 346
 endstop_pin: ^!PC2
244 347
 position_endstop: 0.0
245
-position_max: 250
246
-homing_speed: 20
348
+position_min: 0.0
349
+position_max: 275.0
350
+homing_speed: 40
351
+second_homing_speed: 10
247 352
 
248 353
 [extruder]
249 354
 step_pin: PB3
@@ -268,6 +373,17 @@ max_extrude_only_distance: 1400.0
268 373
 max_extrude_only_velocity: 75.0
269 374
 max_extrude_only_accel: 1500
270 375
 
376
+[heater_bed]
377
+heater_pin: PC9
378
+sensor_type: EPCOS 100K B57560G104F
379
+sensor_pin: PC4
380
+control: pid
381
+pid_Kp: 54.027
382
+pid_Ki: 0.770
383
+pid_Kd: 948.182
384
+min_temp: 0
385
+max_temp: 130
386
+
271 387
 ###########################################
272 388
 ################# TMC2209 #################
273 389
 ###########################################
@@ -276,21 +392,21 @@ max_extrude_only_accel: 1500
276 392
 uart_pin: PC11
277 393
 tx_pin: PC10
278 394
 uart_address: 0
279
-#stealthchop_threshold: 999999
395
+stealthchop_threshold: 999999
280 396
 run_current: 0.5
281 397
 
282 398
 [tmc2209 stepper_y]
283 399
 uart_pin: PC11
284 400
 tx_pin: PC10
285 401
 uart_address: 2
286
-#stealthchop_threshold: 999999
287
-run_current: 0.3
402
+stealthchop_threshold: 999999
403
+run_current: 0.6
288 404
 
289 405
 [tmc2209 stepper_z]
290 406
 uart_pin: PC11
291 407
 tx_pin: PC10
292 408
 uart_address: 1
293
-#stealthchop_threshold: 999999
409
+stealthchop_threshold: 999999
294 410
 run_current: 0.5
295 411
 
296 412
 [tmc2209 extruder]
@@ -298,20 +414,19 @@ uart_pin: PC11
298 414
 tx_pin: PC10
299 415
 uart_address: 3
300 416
 stealthchop_threshold: 999999
301
-#interpolate: True
302
-run_current: 0.3
417
+run_current: 0.5
303 418
 
304 419
 ###########################################
305 420
 ############### Accessories ###############
306 421
 ###########################################
307 422
 
308
-[fan]
423
+[heater_fan nozzle_cooling_fan]
309 424
 pin: PC6 # fan 0
310 425
 
311
-[heater_fan nozzle_cooling_fan]
426
+[fan]
312 427
 pin: PC7 # fan 1
313 428
 
314
-[heater_fan controller_fan]
429
+[controller_fan controller_fan]
315 430
 pin: PB15 # fan 2
316 431
 
317 432
 ###########################################
@@ -326,7 +441,7 @@ rst_pin: EXP1_5
326 441
 contrast: 63
327 442
 encoder_pins: ^IO_2, ^IO_3
328 443
 click_pin: ^!EXP1_1
329
-kill_pin: ^IO_1
444
+#kill_pin: ^IO_1
330 445
 spi_software_miso_pin: UNUSED
331 446
 spi_software_mosi_pin: IO_5
332 447
 spi_software_sclk_pin: IO_4
@@ -360,10 +475,84 @@ cycle_time: 0.001
360 475
 [gcode_macro M300]
361 476
 gcode:
362 477
     # Use a default 1kHz tone if S is omitted.
363
-    {&#37; set S = params.S|default(1000)|int &#37;}
478
+    \{% set S = params.S|default(1000)|int %}
364 479
     # Use a 10ms duration is P is omitted.
365
-    {&#37; set P = params.P|default(100)|int &#37;}
480
+    \{% set P = params.P|default(100)|int %}
366 481
     SET_PIN PIN=beeper VALUE=0.5 CYCLE_TIME={ 1.0/S if S > 0 else 1 }
367 482
     G4 P{P}
368 483
     SET_PIN PIN=beeper VALUE=0
484
+
485
+##########################################
486
+############## Idle Timeout ##############
487
+##########################################
488
+
489
+# https://moonraker.readthedocs.io/en/latest/configuration/#toggling-device-state-from-klipper
490
+
491
+[gcode_macro POWER_OFF_PRINTER]
492
+gcode:
493
+    {action_call_remote_method("set_device_power",
494
+                               device="printer",
495
+                               state="off")}
496
+[delayed_gcode delayed_printer_off]
497
+initial_duration: 0.
498
+gcode:
499
+    \{% if printer.idle_timeout.state == "Idle" %}
500
+        POWER_OFF_PRINTER
501
+    \{% endif %}
502
+
503
+[idle_timeout]
504
+gcode:
505
+    M84
506
+    TURN_OFF_HEATERS
507
+    UPDATE_DELAYED_GCODE ID=delayed_printer_off DURATION=60
508
+</pre>
509
+
510
+Here is my current `moonraker.conf` file.
511
+<button type="button" onclick="copyEvent('moonrakerconf')" class="clip-btn">Copy 'moonraker.conf' to clipboard</button>
512
+
513
+<pre id="moonrakerconf" class="sh_desktop">
514
+[server]
515
+host: 0.0.0.0
516
+port: 7125
517
+# Verbose logging used for debugging . Default False.
518
+enable_debug_logging: False
519
+# The maximum size allowed for a file upload (in MiB).  Default 1024 MiB
520
+max_upload_size: 1024
521
+
522
+[file_manager]
523
+config_path: ~/klipper_config
524
+log_path: ~/klipper_logs
525
+enable_object_processing: True
526
+queue_gcode_uploads: True
527
+
528
+# https://moonraker.readthedocs.io/en/latest/configuration/#power-on-g-code-uploads
529
+
530
+[job_queue]
531
+load_on_startup: True
532
+
533
+[power printer]
534
+type: gpio
535
+pin: gpiochip0/gpio4
536
+off_when_shutdown: True
537
+off_when_shutdown_delay: 2
538
+on_when_job_queued: True
539
+locked_while_printing: True
540
+restart_klipper_when_powered: True
541
+restart_delay: 1
542
+initial_state: off
543
+
544
+# enables partial support of Octoprint API
545
+[octoprint_compat]
546
+
547
+# enables moonraker to track and store print history.
548
+[history]
549
+
550
+# this enables moonraker's update manager
551
+[update_manager]
552
+refresh_interval: 168
553
+
554
+[update_manager mainsail]
555
+type: web
556
+repo: mainsail-crew/mainsail
557
+path: ~/mainsail
369 558
 </pre>

BIN
static/img/am8_bed_bottom.jpg Переглянути файл


BIN
static/img/am8_bed_bottom_small.jpg Переглянути файл


BIN
static/img/am8_bed_conn.jpg Переглянути файл


BIN
static/img/am8_bed_conn_small.jpg Переглянути файл


BIN
static/img/am8_bed_insulation.jpg Переглянути файл


BIN
static/img/am8_bed_insulation_small.jpg Переглянути файл


BIN
static/img/am8_bed_pcb.jpg Переглянути файл


BIN
static/img/am8_bed_pcb_small.jpg Переглянути файл


BIN
static/img/am8_bed_spring.jpg Переглянути файл


BIN
static/img/am8_bed_spring_small.jpg Переглянути файл


BIN
static/img/am8_front.jpg Переглянути файл


BIN
static/img/am8_front_small.jpg Переглянути файл


BIN
static/img/am8_heatbreak.jpg Переглянути файл


BIN
static/img/am8_heatbreak_small.jpg Переглянути файл


BIN
static/img/am8_hotend.jpg Переглянути файл


BIN
static/img/am8_hotend_small.jpg Переглянути файл


BIN
static/img/am8_left.jpg Переглянути файл


BIN
static/img/am8_left_small.jpg Переглянути файл


BIN
static/img/am8_mounts_1.jpg Переглянути файл


BIN
static/img/am8_mounts_1_small.jpg Переглянути файл


BIN
static/img/am8_mounts_2.jpg Переглянути файл


BIN
static/img/am8_mounts_2_small.jpg Переглянути файл


BIN
static/img/am8_right.jpg Переглянути файл


BIN
static/img/am8_right_small.jpg Переглянути файл


BIN
static/img/am8_y_carriage.jpg Переглянути файл


BIN
static/img/am8_y_carriage_small.jpg Переглянути файл


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