Closed Loop Motor Setup
-
Thanks for the Reply, I Cannot be Sure about the Timing. The Manual does not go into Details about the timing.
I have Tried 0.5, up to 5.
How would I go about Finding the Correct Timing?
-
I'm not really sure about that. Closed loop servos are well outside of my wheel house.
-
@Toastinator said in Closed Loop Motor Setup:
Can Closed Loop Steppers Only be Used on Cartesian/Delta Machines?
During Homing Sequence, Machine Moves X130 Y150 Same Time, When X Gets to Location, Z Starts Lifting and Is not Waiting for Y to Finish Getting to Location.
The drivers I have used have nothing like you PEND output indicating a move is in progress.
When the RRF firmware T values are set correctly the connected steppers behave like those which are driven directly by a Duet board driver.
Perhaps your driver needs changes made to the RRF firmware to handle the PEND output.
Just guessing about that though.
Good luck.
Frederick
-
@Toastinator said in Closed Loop Motor Setup:
During Homing Sequence, Machine Moves X130 Y150 Same Time, When X Gets to Location, Z Starts Lifting and Is not Waiting for Y to Finish Getting to Location.
Could you post your homing files?
The Duet shouldn't even be able to tell if the motors are open or closed-loop, so I think it's something else.
-
@alankilian
Here is My Home All File. This Issue Only Happens When X and Y Movements are Done Together. Usually It Finishes X Movement, Still Moving Y and Begins Z Lift. During Prints there is a Continuous Layer Shift Indicating to me that Moves are not Finishing before starting the Next.I have Started Playing with the Timing, and that does not seem to change anything other then if the Motors actually Move or not.
Im not sure how you would add somthing in the Config.g File to Wait for Move to complete before going to next move. monitored by Pend Connections on Each Motor.
G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-370 Y-370 F1800 ; move quickly to X or Y endstop and stop there (first pass) G1 H1 X-370 ; home X axis G1 H1 Y-370 ; home Y axis G1 X10 Y10 F6000 ; go back a few mm G1 H1 X-370 F360 ; move slowly to X axis endstop once more (second pass) G1 H1 Y-370 ; then move slowly to Y axis endstop G90 ; absolute positioning G1 X121 Y207 F6000 ; go to bed probe point and home Z G30 ; home Z by probing the bed
-
@Toastinator said in Closed Loop Motor Setup:
During Prints there is a Continuous Layer Shift Indicating to me that Moves are not Finishing before starting the Next.
That usually means that one of the last two T values is too low for your driver. Low cost step servo drivers are often very slow to respond to direction changes. The manual you linked to did not specify the required timings, other than 200kHz maximum step pulse frequency.
-
@dc42 Thanks! I have Tried Numbers Varying up 500.
T5:5:50:250 And So On, How High is TOO High? 1000? 10000?
I Will keep Playing with Timing Keep Checking back
Edit: The Stupid Manual is not much of a manual. I saw the Step Pulse Frequency, But not Direction Setup time and Hold Times
-
@Toastinator said in Closed Loop Motor Setup:
@dc42 Thanks! I have Tried Numbers Varying up 500.
T5:5:50:250 And So On, How High is TOO High? 1000? 10000?
I Will keep Playing with Timing Keep Checking back
T2.5:2.5:50:50 should probably be high enough.
PS which Duet do you have, and how have you connected the drivers to it?
-
Just Tried T2.5:2.5:50:50 Timing and It still Does the Same thing. Im wondering if this is a CoreXY Related Issue.
Im using a Duet 3 6HC, Duet 3 Expansion 3HC and 2 - Duet 3 Expansion 1XD Boards
The Motors are Connected by a "Differential Connection"After Homing X and Y, X and Y Move Toward Center, When Y Finishes. X Continues Toward Center But now Z Starts Lifting Before getting to Center.
-
Can you use M122 B# to check that your mainboard and all expansion boards are updated as well?
-
I wonder what this means from the manual;
13 Pulse command filtering time Unit: 50us Range: 0~600 Default: 60 The larger the value, the smoother the motor runs and the noise, but the position tracking lag time also increases.
50 microseconds times 60 is 3 milliseconds which is a LONG time.
The mention of "the position tracking lag time also increases" makes me think this thing might be accumulating a bunch of input pulses before starting to move the motor depending on whatever it's gains are set to.
But that would make these motors completely unsuitable for CNC or 3D printer applications, so I just don't know.
-
Yes, They all Report Back. I Had to Down Grade Firmware too 3.3Beta1 Because Using 3.3Beta2 Was Causing the Temperature of my Thermocouples to not read anymore.
Good Catch, If these Motors end up being Unusable. Would you or anyone else have a Suitable Option for Replacement? I Thought the Default 60 Meant 60us, Not 50us x 60.
-
How about trying some square motion starting very slowly and getting faster and faster and make sure only one axis moves at a time?
I don't know the size of your machine or where the origin is, but something like this: (Made-up GCODE, you'll need to make real code)
G0 X0 Y0 Z10 G1 X300 F50 G1 Y300 G1 X0 G1 Y0 G1 X300 F100 G1 Y300 G1 X0 G1 Y0 G1 X300 F150 G1 Y300 G1 X0 G1 Y0 G1 X300 F200 G1 Y300 G1 X0 G1 Y0 G1 X300 F250 G1 Y300 G1 X0 G1 Y0
-
Ill give it a shot. Im also Checking into a way of Modifying that setting from 60 to somthing Much Lower. Should that be Lowered to 1? to = 50us
I don't see that as an option. A 3d Printer that can only Print square Objects! lol
-
I'm interested in seeing if when you move very slowly that only one axis moves at time and (maybe) when yo move faster, it's not waiting for the move to complete and starting the next move due to "the position tracking lag..." mentioned above.
That would indicate it's more likely the drives and not a Duet firmware thing.
-
@alankilian Thanks for your help, I really appreciate it!
Alright, Heres what happened.
I Had to change the Speed because the original was moving at 0.5mm Per second. I did Pick Ridiculous Speed Numbers To see what would happen, and the Speed Remained CONSTANT the entire time suggesting the Speed is Controlled by the External Driver?G90 G0 X0 Y0 Z10 G1 X300 F3000 G1 Y300 G1 X0 G1 Y0 G1 X300 F5000 G1 Y300 G1 X0 G1 Y0 G1 X300 F10000 <- Here is where it said the Print was Finished. G1 Y300 G1 X0 G1 Y0 G1 X300 F15000 G1 Y300 G1 X0 G1 Y0 G1 X300 F20000 G1 Y300 G1 X0 G1 Y0
Edit: The External Driver Doesn't Fully Control the Speed, But Perhaps the Maximum Speed? When Requesting a Low Speed Like 50, it Moved at 0.5mm Per second. But at 3000, It was moving more like 50mm Per Second.
-
This post is deleted! -
I Just Got the Software to Modify the Settings Built in to the Closed Loop Stepper.
Will change the Motors back and Get back Tomorrow with the Findings
My First Attempt will change the Timing:
13 Pulse command filtering time Unit: 50us Range: 0~600 Default: 60 <- Will Change to 1 = 50us The larger the value, the smoother the motor runs and the noise, but the position tracking lag time also increases.
-
Alright Here's what I Found. I was able to use the Software to Communicate with the Drives. Changed the Setting to be MUCH Lower. Also Tried Changing these to act like Regular Stepper Motors. But Nothing I Changed Would Work.
Here's My Options:
1 - I need to Find a way to make EVERY Move Wait for An End Stop to be activated before moving to the next (Seems Slow and Unreasonable) So Im Ditching These Motors Unfortunately.
2 - Find another Nema 23 Closed Loop Motor that WILL Work with Duet 3 1XD.
3 - Continue to Rip Hair out until Bald.
Would Prefer #2 at this Point. Cost is not Much Of an issue. Any Suggestions would be awesome!
-
Well, we don't really know what the problem is with these motor-drivers yet, so I'm reluctant to try any other suggestion.
As an experiment (if you're still willing to experiment) set the drivers for open-loop mode and see how they perform.
- Do they finish the moves as expected?
Can you try slow movements and see if they complete the move at the same time?
What is your microstepping value on the drives?
Do you have steps-per-mm set right?- If you move 20mm, does the axis actually move 20mm?
Laqst one: WHY do you need closed-loop control?
- What are you trying to get out of a closed-loop system that you don't get from an open-loop system?