Originally Posted by
wado1971
Thanks for the post... it was the motivation I needed to get going on motor tuning which I started this weekend. I'm using the MDrive Plus (not plus2) MDM1CSZ23C7 Nema 23 triple length stepper without encoder option. I got these guys used on ebay because at the time wasn't sure if I'd go servo or stepper so thought these would give me a good intro without the investment in separate drivers. At 15 bucks each it was a deal but had to purchase the Schneider comm cable for $125 to change settings. They are used... so I'm a bit nervous they won't perform once I get them going - we'll see.
$15 a pop is a bargain for these motors - even used. I found a few of the cables laying around my work and grabbed them so I have a few at home. There are even different series of cables that are compatible with different motors (ugh). As far as life expectancy goes, I have only failures on these motors due to the fretting issue I spoke about in the previous post. Schneider eventually agreed to change their application process of the fretting compound. We ran an extensive reliability program on these assemblies and drove them hard.
For most people, this is not an issue though. If you are interested in checking this feature, I can open up a motor for you and snap some pictures of the locations I am talking about. I used the Mdrive plus2 series, so the configuration may be different. I think you probably have a reliable system either way - and at $15/pop pick up a couple spares?
Originally Posted by
wado1971
I'm running them at 1800 RPM, 2 microstep and this gives me 190 IPM on my X and Y axis which are running nice and smooth.
1800RPM is very fast. The torque drops off considerable at this RPM (see picture).
How about gearing it up 1:2 and running at 900RPM and getting at least 2X the torque? Your lead screw of 12-02 - that's 2mm/rotation? That's killing your rapid movements. You could even gear it up 4:1 or 5:1 to be honest.
I would approach this by gearing up, and setting microstep resolution to some integer value corresponding with your lead. 2mm/rotation and 4mm/rotation correspond well with your 1/2 microstepping, but 1/2 microstepping leaves you subject to resonance points within the 0-1800 RPM range, and I imagine that at some point you will experience these resonance point.
I suggest an alternative approach: set microstepping resolution to as high as your BOB can tolerate on the output side. The literature states that the following resolutions are settable:200, 400, 800, 1000, 1600, 2000, 3200, 5000, 6400, 10000, 12800, 20000, 25000, 25600, 40000,
50000, 51200, 36000 (0.01 deg/μstep), 21600 (1 arc minute/μstep), 25400 (0.001 mm/μstep)
We ran our Z-axis at 51200 μstep/revolution on a 20mm diameter ballscrew with 20mm/rotation pitch driving 30lbs against gravity at 14in/sec or 840IPM. We were able to resolve position within ~3μstep or our intended position. I wouldn't worry about losing resolution gearing up or losing torque microstepping so aggressively. These motors do not deviate from the torque curve with higher microstepping settings - why? Because they have an awesome driver in them. Our repeatability for the 20mm rolled ball screw was within ±5um - the motors are super repeatable.
Originally Posted by
wado1971
I've got the run current (MRC) set at 90% and hold current (MHC) at 60% - no idea if these values are ok. I simply set the hold current so that I cannot manually turn the ballscrew by hand and can't see any performance difference when changing the run current so figured 90% was ok. No idea what hold current delay time (HCDT) is for but have it at 500 ms. Good to hear they're good quality but one major drawback to this brand is the lack of hobbyist and forum info so I'm running a bit blind in the setup - any input in my setup would be great but you'll need to dumb it down for this mechanical guy.
Run current and hold current look great - even the way you set hold current is appropriate - you just want it to not move while other operations are happening (and it is always configurable if you find it doesn't work later). 60% is a good number, best to keep hold current as low as possible to keep motor temperature down, and also increasing the life of the fretting compound. HCDT I believe is the transition time from run current to hold current - I'll have to reference the programmers guide to confirm.
Originally Posted by
wado1971
The Z axis is a different story and I can't seem to increase above 40 IPM without inducing resonance and missed steps. The spindle is heavy and although a spring load for antibacklash helped a bit I'm considering offloading the mass with either an external spring or air cylinders. Not sure if I'll need > 40 IPM on z but it seems way too slow.
I've just finished wiring the limit/home switches and have them to the BOB at this time. Is going to the stepper directly a better approach? And as for adding external encoder.... sounds interesting but at this time I'm just happy the electronics are working and I'm still alive - I will NOT be posting a picture of my electronics - lots to learn on this front.
Cheers and thanks for the info
The Z-axis has a couple things going against it - mainly gravity [hah] and the pitch of the ballscrew. This is why I suggest gearing up if possible.
You are right to wire the limits/home switches to the BOB. If you didn't, then you'd want to run an output from the mdrive I/O to the BOB if the limit was triggered, and you'd have to go into the Mcode and write the functionality for what happens when you hit a limit switch.
If you ever are interested in using an external encoder, I will gladly send you an Mdrive with the -EE option free of charge. Unfortunately, they are the RS422 communication ones MDI model and not the MDM model. You couldn't use it for coordinated motion. A lot of the Parker stages equipped with Mdrives use the external encoder option, in fact, there's a lot on ebay:
12" Parker 404XR Linear Actuator XY Stage IMS MDRIVE17 Stepper Motors CNC DIY | eBay
It's awesome that you went the mdrive route and tackled the whole mcode functionality yourself! They are stout motors with great accuracy and repeatability! You are correct in that there is a not a forum/DIY following for the motors. I think the initial learning curve of the Mcode and programmable motion is steep for people. Switches that control parameters are easier, learning an extremely simple pseudo-code in a text file format is more challenging for sure. Support for the motors is largely on the resellers of the Mdrives too - though I have called schneider/IMS motion and spoke with their application engineers regarding applications.
Maybe this would be a good thread to post Mcode text files if you're willing to share. I would love to look over what you have. A disclaimer, I never actually wrote the Mcode functionality, I am a mechanical guy like yourself and worked with software engineers to program the code, and have poked around in the Mcode, but never did a full execution myself.