Hi guys & Mr. Florian, Dr. D-flo,
I’m building one of the largest printers in our country The Netherlands. The print dimensions will be LxWxH 10x4x4m.
I have bought the P-series Nema34 closed loop + brake stepper motors from stepper-online and have the duet3D 6ch mainboard + 5x 1HCL + 1XD.
Shipping in 2 weeks is the Massive Dimensions MDPE10 industrial extruder to go with the project. In 2 months the MDPE50 will ship to swap out the MDPE10… cant wait!
I have trouble with the config file and the closed loop motors to work properly, have tried everything in the duet documentation. Also the closed-loop-plugin doesnt work properly.
@David maybe you can share (a bit) of your config file to help me out?
Very exciting project Sten! Please keep us updated with pictures.
Here is the code that is pertinent to the closed loop stepper motors and drivers in my config file. For one HCL board (CAN address 40) and one closed-loop motor on the Z-axis.
M569.1 P40.0 T2 C5 R100 I0 D0 ; Configure the 1HCL board at CAN address 40 with a quadrature encoder on the motor shaft
M569 P40.0 D2 S1 ; Configure Z1 on the 1HCL at can address 40 as being in closed-loop drive mode (D4) and not reversed (S1)
M584 Z40.0 ; set drive mapping
M350 Z32 I0 ; configure microstepping and disable interpolation
And then when I home the motors, here is an example code for the same Z motor:
M569 P40.0 D2 ; Turn off closed loop Z1
G91 ; relative positioning
G1 H1 Z1200 F800 ; move quickly to Z axis endstop and stop there (first pass)
G1 H2 Z-5 F500 ; go back a few mm
G1 H1 Z1200 F100 ; move slowly to Z axis endstop once more (second pass)
G1 Z-25 F1000 ; Move to a known-safe position
M400 ; Wait for the move to complete
G4 P500 ; Wait for the motor to settle
M584 Z40.0 ; Decouple the 4 Z-Axis Motors. Tuning Z1 first.
M569 P40.0 D4 ; Turn closed loop back on
M569.6 P40.0 V1 ; Perform the tuning manoeuvres for a quadrature encoder
M400 ; Wait for the move to complete
Are you able to run the motors in open loop mode?
Hi Dr. D-Flo,
Thank you for your response, your config example. actually looks exact to mine.
I feel kind of stupid right now but i forgot to run:
M569.6 P40.0 V1
every time i started up / resetted the machine. (so the problem is solved… at least this one)
in the homing config, I’m very curious why you would use M584 command before doing the tuning maneuvers (wich i forgot haha). You could just run the manoeuvre for every motor after eachother. You could just do something like:
M569.6 P40.0 V1
M569.7 P41.0 V1
or am i wrong here?
PS: I will post update pics soon! currently i only have this “B.E.A.-Utifull” picture of my deks full of Nema34’s, sorry for the mess. juist assembled it when i took this picture.
The frame will be delivered end of next week.
Hmm… I originally thought I had to de-couple the motors and assign each one to the Z-axis individually before tuning, but that does not seem like it needs to be done that way. Good spot!
The build is going very well and we’re almost finished. The Massive dimensions extruder arrives today! Then i can start wiring the whole machine! Hoping to get a print in next week
Also did some tests on buttons with the duet, such a simple thing but i think its amazing! Sorry about the mess! Made a little test set-up at the facility
Wow that frame is incredible! Any more updates over the last month?
Thanks! The last month was crazy and the build has had some hickups and downtime unfortunately. But we’re back on track now with the last few things and we’ll be able to print within a week or so.
i’ve chosen for counterweights for the gantry bc the motors and rail system couldnt keep it up all the time, even after 5:1 gearboxes and extra 9nm brakes. Now i’ve put 100kg counterweight on each side so the gantry only weighs around 40kg. Now everything runs smoothly.
The next step is to configure the extruder, the heating elements work fine but the SureServo installation is not going so smooth.
i have a hard time controlling the SureServo with the 1XD expansion. The documentation of Massive dimension only explains it with a Duet 2. i have wired it the right way to the 1XD (i think) but i cannot get it to work. it spins while configuring on the SureServo with the buttons. but after configuration the Duet cannot control it. How did you wire this??
Unfortunately, I am not familiar with the SureServo brand, but a quick look at the documentation does suggest that the drive can take a pulse/direction input. In the picture below, I believe pulse = step and sign = direction.
Also, according to the drive manual here, the servo seems to default to quadrature input and will need to be switched to step/direction.
In regards to the wiring, I have a diagram under “Wiring” and then the “Direct Controller Board Wiring” on my LF3DP guide: DIY Large Format 3D Printer
First of all, thank you for your in depth explanation, really was a big help!
I have got it working,after that i just couldnt see the output bc it was spinning so slow it seemed like it didnt do anything. Turns out i wired it (mostly) The right way. i’m now in contact with massive dimensions about the setting of the Duet3D config file and the servo motor. I had a problem with very low extrusion ammount. I had to put up the settings in the config file incredibly high (20000 steps/mm) to get a decent but still way to low output. So there is something going wrong in communication between duet - servo.
While fidding around with the settings on the servo controller i made a huge mistage.
I tried another setting CCW > CW. and the screw started going backwards. before i could reach the emergency button and turn off the system the damage was already done. So today is cleaning time to remove the clog around the screw. The screw still spins but pellets arent going through.So i guess there is a kind of an brim in the pipe around the screw.
So in terms of an update. Everything is working, but not fast enough…more soon!
Hi Guys, i’m back again with a new problem…
I have build with the Nema34 motors: Stepper online.
They are all connected to 5x 1HCL expansion boards connected to a 6ch mainboard all running 3.5 beta4
In open-loop mode everything runs fine but because of the weight of the gantry i get some inconsistance in the Y axis.
I want to run in closed loop, this will work (kind of) but i cannot get it tuned properly.
My ‘closed-loop-tuning’ plugin displays a totally diffrent graph then the documentation examples.
I’ve tried walking through it multiple times but i cannot get close to a good tuning.
Also tried multiple settings and parameters in het P,I,D,V,A.
But the motors start shaking while moving or ‘‘having trouble’’ making steps.
In open loop mode there are no problems except for overshooting at high speeds.
Default settings also give the same problems in closed loop.
The best i could come up with: M569.1 P50.0 T2 S200 C1000 R100 I400 D0.05 V1000 A5000000
M569.1 P50.0 T2 S200 C1000 R100 ; Configure the 1HCL board
M569.7 P50.0 C"out1" ; control the brake
M569 P50.0 S0 D4 ; physical drive 50.0 goes forwards
M350 X16 Y16 Z16 E16 I0 ; set microstepping
Hoping someone can help!
What version of RepRapFirmware are you running? Could you also provide your complete config file?
I do worry a bit if your NEMA 34 motors are powerful enough to move your gantry back and forth, assuming the y-axis is the long one.
Thanks for including another picture!