configuring for servomotors
-
@JoergS5 I interpreted the factory default of 1000 lines in the firmware to be a factory setting based on the specific encoder setup used in the specific motor. There may be other models of motor in which they change the encoder, or supply issues might force changing the encoder, so they would then set it for whatever matched the hardware being used. I could be completely wrong...
-
@mrehorstdmd I was astonished how many parameters can be set. There is eg an electronic gear mentioned in the document, but no explanation for it. When I tune the iHSV, I will try the tool https://github.com/robert-budde/iHSV-Servo-Tool but the setup seems to be a bit complicated in a windows environment.
I searched a while whether there is information about the tolerances for the encoder, something similar to "5% error of the position of the stepper", but I found nothing.
-
@JoergS5 Yeah, lots of stuff to tune, but no information or even a diagram of the control loop and where the parameters fit. I am using default settings for everything for now because of a lack of information on tuning. I opened and saved every image of every settings page from the JMC software and zipped it all into a file here. It provides more information than the manual, but only a little more.
-
@JoergS5 The JMC software for tuning the motors is here. It runs fine on windows, but the UI is awkward, so you'll have to mess around a little to figure it out. You'll need an RS-232 connection, so pick up a USB to RS-232 adapter cable. Look for cables that have the PL2303 chipset. They cost about $10.
-
@mrehorstdmd thank you for gathering all the information.
In a CNC forum they told the servo is so strong that if you set wrong parameters, the whole CNC machine can jump!
I am starting to use the iHSV servos for different tasks (a hacksaw eg), and I like them. I have not tuned them yet however.
-
In the sand table the mechanism has a lot of friction, but not a lot of moving mass. I was concerned that the servomotors wouldn't have enough grunt to make it move based on their torque specs, but servo torque specs aren't the same as stepper torque specs. The steppers were right at their limits running with 2k acceleration at 500 mm/sec. The servos let me run at 20k acceleration and 2000 mm/sec. I think they could go higher but the power supplies kept shutting down! One way to think about it is the servos are rated for 78 W while the steppers are 3V at 1.5A each phase, so maybe 10W or so. In my sand table tests the servos never got more than 2-3C above ambient after more than an hour of operation.
I'll have some time to mess around with it in the next couple days and post any new behavior here.
I wrote a blog post on the motors here. Any new information I get will get added to that post.
- 7 days later
-
Hi.
I am about to buy IHSV servos for a CoreXY 3d printer.
First of all, thank you very much for sharing the information: Without it I would not have dared to take the step.
Some doubts arise:- The microsteps, although they are not set in the Duet configuration, do they work directly on the servos?
- You say you bought the Duet expansion board and connected directly and did it work? I ask this because the differential of the expansion board is 3.6V and that for 5V you have to bridge the 5V of the servo connectors on the board ... and the Servo manual says that it is compatible from 5 to 24V.
Anything else you think I should know about?
To this day, after having tried it, do you consider it a good option? Would you also do it on the 3D printer?
Thank you
-
@Pritt I would hold off on buying the motors for a printer. My initial tests don't look very good as you can see in the photos above. It seems like the resolution is inadequate. The motor resolution may be OK at high microstepping, but the encoders may be the limiting factor. I am trying to figure out if there are configuration changes in the motor drivers that will improve the results. I have made a few small changes and haven't found any that help yet.
The microsteps are set by dip switches on the servomotors. I use full step out of the Duet board.
The duet expansion board is able to drive the motor driver step/dir/enable inputs directly without any special tricks to raise the voltage levels. I did tweak the timing parameters in the M569 statements in the Duet config.g file for reliable operation.
-
Thank you very much for your answer.
The other question:
Do you think the problem is with these particular servos or with the servo motors themselves with the Duet?
I mean, would you try other servos?
I have seen some similar Leadshine, the IES-1706, with the great difference of the confidence that this brand gives ... but I do not find much information about them either.
Thank you. -
@Pritt I have no experience with other servos, but I think the problem I'm having with the iHSV motors is partly motor and partly encoder, but not the Duet board.
The iHSV motors worked perfectly with factory settings in my sand table- that's a much higher speed mechanism that does not require the precision and accuracy of a 3D printer- drawing lines in sand with a 12 mm steel ball is pretty sloppy.
Servos are made to run at high speeds. 3D printers are low speed machines. With 20 tooth drive pulleys, moving the mechanism at 200 mm/sec is only 5 revs per sec from the motor. Servos (at least, the ones I have) might work better by gearing them down with belts and pulleys so the motors are spinning fast even as the mechanism moves slowly. That would increase resolution, as well as the already more than sufficient motive force.
I watch the machine when it's homing and the motion doesn't look smooth which leads me to think that here may be some parameter tweaks that can improve the performance at low speeds.
-
I think it is a very interesting topic, so I open a thread, see if we can get something clear.
https://forum.duet3d.com/topic/17535/solved-leadshine-closed-loop-external-motor-drivers-with-duet2
Thanks you.
- 2 years later
-
I just ordered the Nema 23 model.
Somebody in this forum mentioned that 1 to 3 gearing fixes the problem.
I also ordered 1 to 10 planetary gearbox. As far the servo torque is constant up to 3000 rpm I think this will give results. what do you all think? -
@martin7404 Wow! A NEMA-23 servo is definitely overkill for a 3D printer. The only thing I'd be concerned about with a planetary gear box is the possibility of backlash. That could cause some print artifacts.
The typical steppers used in 3D printers are only 5-10 watt devices. The NEMA-17 servos I used in the sand table are 78W motors. I would not want to get my fingers in the way of the moving mechanism. The NEMA-23 motors are probably >100W motors and if you add a gearbox, they will drive the printer mechanism through anything that gets in the way, including your hand.
GeckoDrives has an app note with a protection circuit that will protect your power supply and anything else you connect to the same power supply as the motor. I had an expensive lesson in operating servos at high speed and acceleration and managed to kill a 200W power supply and Duet wifi board. You need oversized power supplies for the iHSV servomotors because they will draw up to 3x rated current.
I have created a PCB layout for the protection circuit that I'm sure is good for the 24V motors I used and probably OK up to about 36V, but not sure how much higher than that. Unfortunately the app note isn't very detailed and I have no idea about the peak current/back EMF the motors can generate when stopped suddenly or driven beyond rated maximum rpm (that spec is supposed to be based on back-emf generated by the spinning motor).
The PCB is easy enough, but some of the component selection is a little "iffy". I will be using 1W wirewound resistors for R1 and R2, but it may not be necessary. 1/2 W resistors may be more than adequate. I also don't really know if the transistor should have a heatsink. I am using a 100V 15A Schottkey diode for D1, and put wide copper areas at the connector and diode so they don't burn up. You may need a bigger diode and more copper for NEMA-23 motors. The crimp lugs for the connector are back ordered until late March, so I'll probably build and test one by soldering wires to the board instead of the connector.
The board layout files are here.
My parts list is here, subject to change when I get a chance to test the board.It is safest not to connect the duet board to the same power supply as the servomotor(s).
-
@mrehorstdmd I did build a Special machine for drilling 6 meters long Alu profile, using old USSR universal milling machine and 2 axis X and Z. Initial test was witn Nema17 with 1:10 planetary , Now it is with Nema23 closed loop 3 Nm drives.
I am doing 20 countersinked holes for in 7 minutes now and the stepper is at about 150 rpm, but I want to make it faster . If I do It starts to work unreliably
My thoughts is Nema23 servo 0.6 Nm with 1:5 will give me about 3NM and about 5 NM peak all the way up to 600 rpm at the belt pulley, that is more than enough
here is photo of the milling machine
-
@mrehorstdmd
I know, it's been a while since you tried to fit servos to a 3D printer. I gathered from the reading, it's mainly related to low resolution of the encoder. Your solution was to add gears to the output shaft, but why not add a 1:5 gearing beweeen motor and encoder? The encoder would run faster, reaching it's speed limit earlier, but that's not important here. If it's not possible to separate the encoder from the servo, you could use external encoders as well and route them to the servo controller.
Question is: Is it worth the effort, just to have a more silent 3D printer? -
@mrehorstdmd My motors now are at separate 48V powersuply
-
@o_lampe The iHSV servos are not easily separated from the encoders. They are "integrated" with motor encoder and driver all in one package. I suspect the encoders are on the same PCB as the drive electronics, but I haven't taken one apart to check. When I do I shoot a bunch of photos and post them.
@martin7404 Interesting machine. It looks like the two clamps at the back are there to align the extrusion for the drilling operation and the one up front grabs the extrusion and slides it along to set up the next drill position. I can see why you would need a NEMA-23 size motor.
-
@mrehorstdmd
Yes, pictures would be nice. Maybe you can add a 2-stage reduction or a planetary gear between motor and encoder? -
@o_lampe There may be other advantages to using servos in a printer, beyond quieter operation. Servos will enable much higher acceleration and jerk settings (but increased operating noise, and probably ringing) which might improve extrusion by keeping the extruder running at full print speed for a larger percentage of the print time. That has to have some effect on the pressure in the extruder.
If someone is trying to run their printer hard, and runs into the limits of the steppers, they might have skipped steps, etc. The servomotors absolutely will not skip steps unless a solid object gets in the way of the mechanism.
Closed loop steppers are probably better for printers than servos, and probably wouldn't require pulley or gear reduction to get sufficient resolution (compared to cheap iHSV motors). Other servos may have optical encoders and provide the necessary resolution without belt or gear reduction.