Which mode is best for new setups?
The cool news is that last night I went ahead and purchased my servo motor. I have all of the molex mini-fit connectors I need to make my cables and I have big 12' USB micro cables so I didn't need any connectors. This helps me keep my costs down. Additionally my mill has a nice large 70v DC supply on it so I'll just get my power from that and see how things go. If I need to buy a power supply I can do that after some testing. The unit I got will more than double the torque of the Parker Motor I was testing. It was a good little servo back in the day but tech changes fast in this arena. The unit I ended up getting from Teknic was CPM-SDSK-3432S-RLN with 392 oz-in of continuous torque. My little parker motor had just 160 oz-in and can move the knee for a while but over-heats after a bit of use. This new servo motor has 2.5x the power and should be great.
I am anxiously awaiting my package so please see that it's sent out quickly for me! (grin) Anyway, thank you for the help and I will be buying more motors from your company as my needs grow with my business!
andypugh wrote: I don't really like step/dir for servos. It feels like a kludge. If you are going to let the servo drive close the loop, why not send it a position request as a floating point number? It makes for a very neat HAL file....
# This is an example for linuxcnc hal in position mode for the x-axis: net xposcmd joint.0.motor-pos-cmd => hm2_5i25.0.stbl.0.0.pos_cmd net xvelcmd joint.0.vel-cmd => hm2_5i25.0.stbl.0.0.vel_cmd net xposfb joint.0.motor-pos-fb <= hm2_5i25.0.stbl.0.0.pos_fb net xenable joint.0.amp-enable-out => hm2_5i25.0.stbl.0.0.enable net xfault joint.0.amp-fault-in <= hm2_5i25.0.stbl.0.0.fault net xindex joint.0.index-enable <=> hm2_5i25.0.stbl.0.0.index_enable
Andy I was actually going to get into this tonight. Now that my new servo motor is on order what will I use for my HAL file to both give it proper step/dir commands and then also monitor the HLFB to understand if my Z axis (which will be my new Teknic servo) is out of position.
Warren if you're still monitoring this thread, perhaps you can weigh in here as I'm certainly new to this sort of setup. I will share my HAL / INI files with you guys tonight when I get home but I was doing testing with Step/DIR from the PNCConf program and it was working, but that was only sending step/dir. I do want to close the loop to monitor anything out of position ...which should throw an error.
I was further intrigued by the early warning detection system Warren spoke of where the system drops the feedrate to compensate automatically if it senses that it's starting to get out of position. Can LinuxCNC handle this sort of thing guys?
hatch789 wrote: I was further intrigued by the early warning detection system Warren spoke of where the system drops the feedrate to compensate automatically if it senses that it's starting to get out of position. Can LinuxCNC handle this sort of thing guys?
I think this could be done fairly easily with one of the limit components on the stepgen output. Once the status bit came on, you could enable the limit to reduce the feedrate by a set percentage or something like that...
One item that you should be mindful of is the minimum pulse width on your step and direction signals. The Clearpath manual specifies this as 1us, which is quite long for a stepper setup. I converted my machine from steppers with a 250,000 step per inch microsteppiing capability —0.5 threads per inch— which requires shorter pulses than 1us at moderate speeds. I believe I had it set to 200ns.
What happened was that the machine appeared to work perfectly until I started to actually use it. Then I noticed that its position kept drifting, exactly as if there were a loose mechanical coupling in the drive train. I spent many hours securing couplings trying different ones, aligning the motor, etc until I determined that it was not a mechanical problem. Then I spent more hours until I identified the step length from the MESA I/O card as being shorter than the minimum required by the motor. What happens is that at a certain pulse width, the motors begin to ignore some steps and thus drift out of position over many moves.
I'm not sure but isn't the max resolution on those Clearpath motors only 6400 steps/rev (if you have the high res version, otherwise only 800),
Todd Zuercher wrote: Never understood why people would try to use such ultra fine micro stepping with a step motor. 50x micro steps sounds like utter nonsense to me. Especially when you consider what the real resolvable accuracy of a step motor actually is (maybe 4x for accuracy and 8x max for smoothing out the steps). I guess there could be the advantage that if the drive missed a dozen or so steps, it really might not make much difference in the real position of the motor, but...
I'm not sure why other people do it but I used this setting as an attempt to quiet down the noise and the associated "harmonic stall" (I just made that term up.. not sure what it's called or even if it's called something) at certain frequencies. My theory is that when the step frequency or its harmonics coincide with the mechanical resonance in the drive system, the drive becomes easier to stall. Increasing the microstepping count reduces the step noise and gives you more torque at that specific speed. I believe some of the nice stepper drivers can somehow avoid those frequencies ...
Also, some people may like the noise of a stepper system but I don't. At those microstepping frequencies, the motor noise becomes a faint squeal, as opposed to the the typical squawk. I figured that since it's an option, why not?
I've seen some stepper drives advertised as having a clean sine wave output. Ultra fine micro stepping is the next best thing, no?
Todd Zuercher wrote: I'm not sure but isn't the max resolution on those Clearpath motors only 6400 steps/rev (if you have the high res version, otherwise only 800),
This is correct.