Have you ever tried acm?
Wiring is proceeding at a snailās paceā¦
Today I started setting up the Duet. One thing that still irritates me is the configuration tool never seems to have the options that I want. This is understandable for the CNC machines, but thos isnāt that unusual a.configuration for a printer!
I am working on the homing sequence. Since the TMC2160 drivers have a bunch of settings, I thought I might have it use sensorless homing to Z max first. This will ensure that all 3 Z motors are reasonably close, no matter where they start. Then I can use the BLTouch for final levelling. I can give it relative X and Y coordinates for the 3 Z motors, so this will hopefully be able to level the bed pretty fast. RRF doesnāt have as automated a G34, though I think I can get at least as good results.
The massive motor driver pins mean new connectors for all motors, and I still have a couple motors to wire on, but I have my thermistors and heaters set up. Still puzzling out the BLTouch.
Done for tonight, because my fingers and eyes are sore from doing all the wiring.
p
Going super slow, and trying to keep everything neat, and it still turns out like thisā¦ A few zip ties will help make it a bit more presentable, I guess, but Iām a little bummed out that it doesnāt look nicer.
Obviously neat wiring is not my strong suitā¦
Almost done the basics though. I still need to wire in the 5V power for the ESP32cam and do the new plug for the extruder motor. I will also make a protective cover for the Duet, once I get things together.
On the good side, I can just put the PT1000 sensor in the hotend now. This will let me extend the temperature range for printing stuff like PC or Nylon if/when I decide to try it.
I need a holder for the PTFE tube to feed the filament, I guess.
Still to do is mate 2 of the Z motor wiring harnesses. This will happen on the underside of the bed support.
My 10x10 drag chain is a little tight. I should have gone for the 15x10 chain. I think there is still a possibility to swap them. The biggest issue is the 18AWG wire that I used for the stepper motors. This is what the Duet wiring guide suggests for the lugs. Makes sense, those drivers are good to 3600mA, I think. Enough to pop those stepper motors for sure, and probably run some higher torque NEMA23 motors. Makes me think I might take another look at some of those Joeās CNC machines.
I think I have the base machine configuration down in RepRap Firmware. Still not sure that I have the BLtouch set up right. So far, my homing sequence turns down the motor current to 25% (200mA) and then homes to the bottom extreme, but I donāt have the sequence for probing to level the bed. I have the motor (Well, the 5mm support bolts anyway) positions defined, so I should be able to probe near each motor and come up with a very close approximation to level.
Hopefully by tomorrow, Iāll have the machine moving.
Getting closer!!! Better hurry im catching up to you LOL
I couldnt have said this better!!! Im going to do my best but probably wont end up as neat as you have yours much less how i would like it to actually be. Im still trying to figure out which board i want to go with and what firmware. Half of me wants to run the SKR pro i have from the LR3 and Ryans marlin firmware. The other half of me wants to run the Octopus Pro 1.0 i bought and Klipper firmware. I just cant make up my mind which way to go. Need to soon though. Iām about to glue on the bed heater and PEI sheetā¦so wiring is next!
I think the ley to wire mgmt is to just have a place to hide the sins. I can never make the cables the perfect length. That said, I always think I can do better and it never affects performance.
Itās upside down because Iām working on the Z motor wiring under the build plate, but a few zip ties make it look a little better. Iām undecided if zip ties are the greatest thing ever for wiring because it can turn an unruly mess into a wiring harness, or if theyāre true evil because of the multitude of sins that they can hideā¦
This is almost complete. I still want to add the 5VDC for the ESP32 camera, and of course as soon as I zip tied it all up, my PT1000 sensors showed up. I think Iāll run it with the thermistor for a whileā¦
As soon as I get the motor 1 and 2 wires soldered up it will be ready to move. I think I have all of the firmware sorted put and configured. I stole the steps/mm for the Hemera from the current value for my Repeat, should be close enough for another Hemera to start.
Iām missing a V1 sticker for the front I thought Iād ordered another one, but looking at my order history, I guess I didnāt. Well, Iāll need to make another store order at some point, so itāll have to wait.
Okay, so some unforseen issues.
-
My fans donāt work. Neither does the LED lighting. Something there isnāt happy, and I donāt know why.
-
My BLTouch is ā¦ weird. It sort of works, I can probe the bed, but I canāt use if for motor adjustment. I have the motors defined, and their positions, but it just refuses to actually probe the bed if Iām saving the positions for bed levelling.
-
The height map is ā¦ well, honestly better than I expected given that I canāt do bed levelling. Itās basically going off of the sensorless homing to the bottom position (Which takes a lot of skipping before it triggers.) The good news is that the BLTouch works for
G29
.
I managed to get the X and Y motors wired backwards. I adjusted them in firmware. The Z motors were OK. I donāt know about the extruder because I havenāt heated it up since the fans arenāt working.
Configuration files (Please note this is still incomplete, but might help if other people want to use RepRap Firmware.
config.g:
; Configuration file for Duet 3 MB 6HC (firmware version 3.3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.3.15 on Tue Feb 21 2023 20:05:02 GMT-0800 (Pacific Standard Time)
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"DMG3D03" ; set printer name
M669 K1 ; select CoreXY mode
; Network
M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet
; Drives
M569 P0.0 S0 ; physical drive 0.0 goes backwards
M569 P0.1 S0 ; physical drive 0.1 goes backwards
M569 P0.2 S1 ; physical drive 0.2 goes forwards
M569 P0.3 S1 ; physical drive 0.3 goes forwards
M569 P0.4 S1 ; physical drive 0.4 goes forwards
M569 P0.5 S1 ; physical drive 0.5 goes forwards
M584 X0.0 Y0.1 Z0.2:0.3:0.4 E0.5 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X100.00 Y100.00 Z100.00 E395.45 ; set steps per mm
M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X9000.00 Y9000.00 Z3000.00 E2700.00 ; set maximum speeds (mm/min)
M201 X3000.00 Y3000.00 Z1500.00 E3000.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S60 ; Set idle timeout
; Axis Limits
M208 X-15 Y0 Z0 S1 ; set axis minima
M208 X235 Y250 Z243 S0 ; set axis maxima
M671 X-30.3:276.3:222.5 Y34.5:34.5:307.8 S5 ; Motor positions: -30.3,34.5; 276.3,34.5; 222.5,307.8
; Endstops
M574 X1 S1 P"^io0.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin ^io0.in
M574 Y1 S1 P"^io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ^io1.in
M574 Z2 S3 ; configure sensorless endstop for high end on Z
; Z-Probe
M950 S0 C"io4.out" ; create servo pin 0 for BLTouch
M558 P9 C"io4.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X0 Y-36 Z2.5 ; set Z probe trigger value, offset and trigger height
M557 X15:195 Y15:195 S20 ; define mesh grid
; Heaters
M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M307 H0 R0.155 D15.47 ; set PID parameters for heated bed
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1
M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C
; Fans
M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
M106 P0 S0 H1 T45 ; set fan 0 value. Thermostatic control is turned on
M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency
M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off
; Tools
M563 P0 S"Hemera" D0 H1 F0:1 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
; Custom settings are not defined
; Miscellaneous
T0 ; select first tool
Okay, I figured out the BLTouch issue. Missing a parameter. Now with the Z motors level, the bed map looks a little cooler. Obviously not as flat as it could be, but good enough for the girls I go withā¦
G29
25 points probed, min error -0.360, max error 0.020, mean -0.138, deviation 0.109
Height map saved to file 0:/sys/heightmap.csv
Edit: Where the low points are is close to where the screws are, so maybe theyāre a bit too tight. Most of the bed looks pretty good, and the whole point of this printer is for smaller footprint items anyway. If anything were to be close to the edge, Iād use the first Repeat with the 300mm print bed.
Iāll give you one at Rmrrf if you can make it!?!
That is how that sentence should work.
I donāt think you would have a problem with it, the mesh leveling should take care of it. Loosen those holding screws a touch and I bet those numbers get closer to Barryās Ultra flat bed.
Yeah, loosening those is a bit of an issue. I can deal with it if needed, I suppose, but since I put the magnetic sheet over the heated platform, getting to the screw heads isnāt convenient, so I donāt want to do it if I donāt have to. Mesh levelling will take care of it, and even if not, itās about 1/4mm down in the low spots.
One thing that amazes me is how much faster the Duet manages the G29 procedure. The first one where it mapped a 10x10 grid (100 points) took less time than the Repeat does with a 7x7 grid (49 points) I thought it might be my imagination, so I ran them side by side, and this printer gets it done faster. The combination of a lower dive height and no settling pause before probing. I can configure a settling pause, but it doesnāt seem to be necessary, and I like the speed.
The G34 is kind of missed though. Because the motor positions are defined, it is supposed to be able to level the bed in one shot. For some reason, it seems to be not quite perfect in one go. It leaves about 0.1mm discrepancy after one pass (From about 0.35mm after homing to the low position with motor stall detection (Which is now working, since I bumped up the sensitivity.)
Fortunately, RepRap Firmware supports looping structures, so I can just run the bed levelling more times. 1 run leaves about 0.1mm, 2 runs leaves about 0.03, and 3 runs reports 0.009, which is closer than the nominal motor steps. This is fairly consistent, even if I put an obstacle under one of the motors to force it to be further out of step.
Printing soonā¢
Are you mapping the steppers to the center of the plate screw hole, or the rail? Should be the screw hole. That bed offset might be something that has not been tested much before, maybe the math is a bit off? I feel like most printers do things symmetrical.
Yes, I am mapping them to the center of the screw hole, I took the coordinates relative to the front left screw from the bed plate, measured on the DXF sketch.
The RRF bed levelling is supposed to use probe locations āclose toā the motor locations, but they donāt need to be equidistant. (Would be difficult for the back motor, for example.) the fact that it is so close after the first adjustment tells me that itās pretty good, I think. Might be some ādrawing versus real worldā involved as well.
My printer usually gets it within three tries, almost never on the first go though.
Wow. I managed to get exactly nothing done on this all weekend.
I need to get the fans sorted out, at the very least the hotend cooling fan, if not the part fan. For some reason thise are not coming on.
The 12V LED lights are working, but the part cooling fan and the hitend fan are 24V. I got 24V from the +Vin fan pins, but no ground from the switched pins. Maybe Iāll just wire the hotend fan to 24V so that I can make sure that I have the extruder running forwards, and dial in steps/mm
The one last thing that I need to do for the printer itself is print a retaining clip for the filament guide tube.
The hold-up is that I need to find a home for it in reach of an ethernet switchā¦ The Duet 6HC is wired ethernet, not Wifi. The living room has been declared off limits. I think it will fit on a 19" rack shelfā¦ as soon as I get one cleared off. Hmmm. Rack mount 3D printersā¦
Edit: crap. 450mm between the posts, and the printer is 460mm wide at the aluminum frame, 472mm wide at the plywood. I think I can still get it on a shelf behind the posts. It would fit rather well with the standard 200mm X dimension at 410mm across the aluminum frame. Then the front face could have a slight āwingā to it bringing it out enough to screw into the rack frame. Thst would be great for a print farm, which I seem to have and absolutely 100% do not need.
Where did the week go?
The plan this weekend is to get this printer going. Something is weird with the fans.
There are 2 banks for fan power, both selectable for Vin or 12V where Vin can be up to 36V (I am using 24V.) Bank 1 is configured for 12V so that I can use it with the LEDs. This seems to work, and the lights turn on when bed temp hits 35Ā°C to full brightness st 60Ā°C this is probably unnecessary, Im just having some fun with it. This bank uses 4 pin wiring, wirh xonstant power, a tachometer and PWM control. The lights go from power to PWM.
The second bank is 2 wire, and configured for Vin. I verified that I have +24V relative to ground, but the PWM ground pin doesnāt seem to work.
Possibilities are that I have something buggered on the board and no ground to the MOSFETs, or somehow selected the wrong control pins for the fans.
If itās the former, I guess I can use the same strategy, wire the fans to bank 1 on power and PWM. It requires an oddish connector that way, but the lights prove that it works at least. This will mean losing thermoststic control of the lighting, but thatās not too horrible. I have other places I can get +12V from at least.
If itās the latter (Iād rather this be it) then I need to figure out what those pins actually are (and maybe which ones Iāve been switchingā¦)
Currently printing its first object (the end for the filament guide tube.)
Printing in ABS because I had some lying around where it sits. This is away from where the other printers sit because I needed an actual network cable .
Edit: print #1 lucky the extruder motor goes the right way! No tuning of steps/mm on the Hemera so I was a bit nervous. I forgot how bad ABS smells when printingā¦
Itās ALIVE!!!
I was messing with some side plates for my next build this morning. Very interested to see what you think of this one.
It is nowhere near as loud as Iād feared that it would be. Or at least it wasnāt until I put it on an Ikea LACK end table in my closet. Even then, what makes the noise is the Z axis, so itās not that bad.
Moving it around, itās solid as a rock. everything feels way more solid with the panels on. It looks nice, and there are places for things like the power entry. Iād definitely do it again.
Edit: And it shows what the humidity is like around here. that ABS filament has been sitting unwrapped for probably 5 years. (Maybe more, but it was about 5 years ago that I would have hung it up in the closet.) Sometimes I think the filament dries out more being unwrapped here, particularly in the wintertime.
Okay, I got around to programming the ESP32Cam for monitoring printing.
As soon as it powered on, the little red light on the serial FTDI came on, and it got someoneās attentionā¦
ā¦ No, thatās the wrong little red dotā¦