Novoflex Castel Micro- stepper controlled

Have questions about the equipment used for macro- or micro- photography? Post those questions in this forum.

Moderators: rjlittlefield, ChrisR, Chris S., Pau

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

Ray,

Agree the motor could get warm, probably a good idea to go with the larger size motors like NEMA 23 or bigger for cases where high micro steps are used.

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

genera
Posts: 127
Joined: Wed Oct 05, 2011 5:05 pm
Location: California, USA

Post by genera »

IMS Schneider makes drivers that have a "gear shift" mode that allows changes between full steps and micro-steps on the fly without loosing position. No need to engineer anything. Check out IMS IM481H if you're not already locked into a specific driver type. Prior Scientific uses these in their controller boxes for microscope XY stages and focus. These drivers also have a current reduction mode that switches on automatically after a short period of inactivity. Very useful for keeping the temperature down. These are fairly expensive through normal channels but I've found them on eBay in the $20 - $25 range, shipped.
-Gene

rjlittlefield
Site Admin
Posts: 23606
Joined: Tue Aug 01, 2006 8:34 am
Location: Richland, Washington State, USA
Contact:

Post by rjlittlefield »

Mike, thanks for the extended clarification. It's great to have that level of detail be part of the record.

I think that one of your points needs further clarification.

You wrote
Micro-steps are more prone to being missed simply because the motor torque is lower, much lower in higher micro-steps (follows the sine(90degrees/microstep number) I recall).
I agree that the differential magnetic torque between two microsteps varies like that.

So, if the system has significant static friction, and you're trying to move by 1/256 microsteps, then there's a good chance that you'll actually see something like stick/stick/stick/bigmove1/stick/stick/bigmove2/stick/stick/stick/stick/bigmove3.

In that scenario, we've "missed" on average 3 microsteps out of every 4, but we make up for it with the intermittent big steps. When every once in a while we miss a different number of microsteps, then we still make up for the discrepancy, no matter how big it was, on the subsequent larger than expected move. From a standpoint of overall system behavior, this is a lot more like closed loop then open loop. Whatever local error you get from "missing microsteps" in this way, that error does not accumulate over time in the way that missing full steps does.

The point I'm making is that there are fundamental differences between missing full steps (wrong tooth inside the motor), losing sync with the controller (internal state of controller not equal to state assumed by driver program), and missing microsteps (mechanical position not exactly corresponding to electrical power signals). All can be important, but they have completely separate causes and need to be addressed separately.

--Rik

elf
Posts: 1416
Joined: Sun Nov 18, 2007 12:10 pm

Post by elf »

mawyatt wrote:
elf wrote:
mawyatt wrote: I hope to be able to get good speed (>1mm/sec) rail performance and simultaneously achieve sub-micron resolution (~0.3um) with 400 step motors and 1mm pitch screw threads (as on the KR20) with very smooth rail performance with minimum vibration impact and no missed microsteps.
I don't think that should be too difficult to achieve. I was able to get <1um steps with 6mmX1mm stainless allthread. The key was spending several tedious hours lapping it with a 75mm long lap. The zero backlash nut was made of Acetal, heat and pressure formed around the screw.

p.s. A Teensy 3.5 (Arduino compatible) is capable of driving steppers at 300,000 (micro)steps per second.
Elf,

The motor I mentioned can support 1mm/sec and sub-micron positioning with a 1mm pitch screw thread I believe. I'm more worried about the ability to return to the same position, or any position with micron level precision. Assuming the temperature is constant, then the motor, rail and controller should be the limiting factor. The ability to not miss any steps, full or micro, over an entire stack and stitch session (thousands of images) is the desired result, assuming the rail (THK KR20 or KR26 with 1mm pitch screw threads) is stable and good enough.

I'm not very good at coding, but OK with the hardware side of things. Think I've got the hardware figured out but now struggling with the coding, but learning as I go so that's part of the fun!! I really envy you folks that can code all these wonderful micros available today, limitless possibilities!!



Lapping the screw threads sounds like a really good idea if you have the equipment. I don't know what type of screw threads & bearings that THK uses, but their rails are very smooth and repeatable.

I don't think 300,000 steps/sec would be very useful with motors that have millisecond time constants, and (assuming I did this correctly) 300,000 micro steps would yield a micro step torque of 0.00000524 times the full step torque...certainly not useful!!

Best,
The Teensy is just sending step & dir commands to the driver. It can send up to 300,000 per second. The library capable of doing this is called TeensyStep. There's a video showing this on their GitHub page.

I made the lap by casting polyurethane resin around the screw. After the resin cured, I cut a slot on one side with a bandsaw to allow for adjusting the lap. I used my metal lathe to spin the screw and handheld the lap. You could also use a drill motor to spin the screw. It's not hard to do, just tedious :)

THK publishes their accuracy standards here (starting at page 18 ). Fortunately, Zerene Stacker makes it easy to measure sub micron distances :D

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

rjlittlefield wrote:Mike, thanks for the extended clarification. It's great to have that level of detail be part of the record.

I think that one of your points needs further clarification.

You wrote
Micro-steps are more prone to being missed simply because the motor torque is lower, much lower in higher micro-steps (follows the sine(90degrees/microstep number) I recall).
I agree that the differential magnetic torque between two microsteps varies like that.

So, if the system has significant static friction, and you're trying to move by 1/256 microsteps, then there's a good chance that you'll actually see something like stick/stick/stick/bigmove1/stick/stick/bigmove2/stick/stick/stick/stick/bigmove3.

In that scenario, we've "missed" on average 3 microsteps out of every 4, but we make up for it with the intermittent big steps. When every once in a while we miss a different number of microsteps, then we still make up for the discrepancy, no matter how big it was, on the subsequent larger than expected move. From a standpoint of overall system behavior, this is a lot more like closed loop then open loop. Whatever local error you get from "missing microsteps" in this way, that error does not accumulate over time in the way that missing full steps does.

The point I'm making is that there are fundamental differences between missing full steps (wrong tooth inside the motor), losing sync with the controller (internal state of controller not equal to state assumed by driver program), and missing microsteps (mechanical position not exactly corresponding to electrical power signals). All can be important, but they have completely separate causes and need to be addressed separately.

--Rik
Rik,

Micro steps have a number of properties that are undesirable and a few that are beneficial. The scenario you describe is certainly better than a accumulation of missed micro steps, since they only effect between the full step positions (cogs). The between positions are only interpolated and not as accurate a the cog steps, and are more influenced by external forces due to the reduced torque. At pulse speeds where the coil current isn't allowed to reach final value I'm sure the behavior gets even more complicated and all sorts of issues arise, even some that could allow micro step missing to be somewhat accumulative beyond the cog step as well as the missing full cog steps. Once I get things working I'll be able to do some experiments and try and correlate this missed step behavior.

These are complicated little rascals, but fun for those with inquisitive minds to think about!!

An interesting concept with micro stepping is to use it along with pulse rate control to achieve very smooth acceleration and deceleration instead of the usual just increasing/decreasing the cog step rate, but being able to achieve high velocity while under full step mode. I've kind of done that playing around with my test setup using the keyboard to inject step changes on the fly. The trick will be to make sure you don't mess up the position counts, by missing some or having the wrong micro step association, since each count now has a different micro step association weight to figure out the actual position location. Hopefully this could help reduce motor/rail induced vibration and avoid exciting system resonances. I think of this as akin to shift gears in a car. The new controller/driver chip genera mentions above is an example of this technique I believe.

Edit: The controller/driver chip ^^ wasn't what I thought I had seen last week, this is the stepper controller/driver chip that has the position counter built in. It's drawback is it can only support 800ma motor current.

http://www.onsemi.com/pub/Collateral/AMIS-30623-D.PDF


System resonates are a serious problem to getting precision and high velocity, the motors have them, the rails have them and the overall stacking setup have them. When you put everything together you have a bunch of these issues to deal with, and the most common solution is go slow (very slow in many instances) and don't excite the resonances.


Edit: The controller/driver chip I mentioned above wasn't what I thought I had seen last week, this is the stepper controller/driver chip that has the position counter built in. It's drawback is it can only support 800ma motor current.

http://www.onsemi.com/pub/Collateral/AMIS-30623-D.PDF

Best,
Last edited by mawyatt on Tue Oct 02, 2018 8:12 am, edited 2 times in total.
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

elf wrote:
mawyatt wrote:
elf wrote:
mawyatt wrote: I hope to be able to get good speed (>1mm/sec) rail performance and simultaneously achieve sub-micron resolution (~0.3um) with 400 step motors and 1mm pitch screw threads (as on the KR20) with very smooth rail performance with minimum vibration impact and no missed microsteps.
I don't think that should be too difficult to achieve. I was able to get <1um steps with 6mmX1mm stainless allthread. The key was spending several tedious hours lapping it with a 75mm long lap. The zero backlash nut was made of Acetal, heat and pressure formed around the screw.

p.s. A Teensy 3.5 (Arduino compatible) is capable of driving steppers at 300,000 (micro)steps per second.
Elf,

The motor I mentioned can support 1mm/sec and sub-micron positioning with a 1mm pitch screw thread I believe. I'm more worried about the ability to return to the same position, or any position with micron level precision. Assuming the temperature is constant, then the motor, rail and controller should be the limiting factor. The ability to not miss any steps, full or micro, over an entire stack and stitch session (thousands of images) is the desired result, assuming the rail (THK KR20 or KR26 with 1mm pitch screw threads) is stable and good enough.

I'm not very good at coding, but OK with the hardware side of things. Think I've got the hardware figured out but now struggling with the coding, but learning as I go so that's part of the fun!! I really envy you folks that can code all these wonderful micros available today, limitless possibilities!!



Lapping the screw threads sounds like a really good idea if you have the equipment. I don't know what type of screw threads & bearings that THK uses, but their rails are very smooth and repeatable.

I don't think 300,000 steps/sec would be very useful with motors that have millisecond time constants, and (assuming I did this correctly) 300,000 micro steps would yield a micro step torque of 0.00000524 times the full step torque...certainly not useful!!

Best,
The Teensy is just sending step & dir commands to the driver. It can send up to 300,000 per second. The library capable of doing this is called TeensyStep. There's a video showing this on their GitHub page.

I made the lap by casting polyurethane resin around the screw. After the resin cured, I cut a slot on one side with a bandsaw to allow for adjusting the lap. I used my metal lathe to spin the screw and handheld the lap. You could also use a drill motor to spin the screw. It's not hard to do, just tedious :)

THK publishes their accuracy standards here (starting at page 18 ). Fortunately, Zerene Stacker makes it easy to measure sub micron distances :D
Elf,

Thanks for the info on the Teensy and THK. I've seen the THK site and spent a little time there, they are a very good rail and from what I've experienced even better than the "specs" indicate.

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

genera wrote:IMS Schneider makes drivers that have a "gear shift" mode that allows changes between full steps and micro-steps on the fly without loosing position. No need to engineer anything. Check out IMS IM481H if you're not already locked into a specific driver type. Prior Scientific uses these in their controller boxes for microscope XY stages and focus. These drivers also have a current reduction mode that switches on automatically after a short period of inactivity. Very useful for keeping the temperature down. These are fairly expensive through normal channels but I've found them on eBay in the $20 - $25 range, shipped.
genera,

Thanks so much for the info, if this is based upon the chip I think (I'll take a look later). I had just seen the chip details last week after I had ordered the latest set of controller/driver boards (now have DRV8825, A4988 & MP6500). This looks very promising for many reasons, including changing micro steps on the fly and keeping trace of such!!

Edit: The IMS wasn't what I thought I had seen last week, this is the stepper controller/driver chip that has the position counter built in. It's drawback is it can only support 800ma motor current.

http://www.onsemi.com/pub/Collateral/AMIS-30623-D.PDF

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

ray_parkhurst
Posts: 3438
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

Ultimately the question is whether the Novoflex rail could achieve 0.2um repeatable step size as advertised. It seems based on additional info that the pitch may be 0.5mm (at least smaller than 1mm) so this would require 1/8 microstepping, but still has the issue of variability of microstep size by loading, vertical/horizontal configuration, etc. One possibility is the "black box" I've been assuming houses the motor and drive electronics may also house a position encoder. These can have more accuracy than the stepper, even in high microstep modes, so can be part of closed-loop position setting to increase the microstep accuracy. That kind of complexity would certainly make the high price tag more appealing! But I would expect this to be advertised by the tech marketing folks ("Advanced Closed-Loop position technology exclusive to Novoflex gives unparalleled accuracy down to 0.2um step sizes for perfect focus stacking at highest magnifications").

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

ray_parkhurst wrote:Ultimately the question is whether the Novoflex rail could achieve 0.2um repeatable step size as advertised. It seems based on additional info that the pitch may be 0.5mm (at least smaller than 1mm) so this would require 1/8 microstepping, but still has the issue of variability of microstep size by loading, vertical/horizontal configuration, etc. One possibility is the "black box" I've been assuming houses the motor and drive electronics may also house a position encoder. These can have more accuracy than the stepper, even in high microstep modes, so can be part of closed-loop position setting to increase the microstep accuracy. That kind of complexity would certainly make the high price tag more appealing! But I would expect this to be advertised by the tech marketing folks ("Advanced Closed-Loop position technology exclusive to Novoflex gives unparalleled accuracy down to 0.2um step sizes for perfect focus stacking at highest magnifications").
Ray,

You must be in marketing, that certainly sounds good to me :D

Seriously though, the encoder does make sense, given the feedback potential you mention. Certainly a nice looking package.

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

ray_parkhurst
Posts: 3438
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

mawyatt wrote:
Ray,

You must be in marketing, that certainly sounds good to me :D

Seriously though, the encoder does make sense, given the feedback potential you mention. Certainly a nice looking package.

Best,
Nope, I'm an R&D guy, but in my organizations the R&D managers need to create the product data sheets...

Not to add too much to your plate, but you could add feedback to your controller, though the system would become an order of magnitude more complex. Would make quite a nice package. It seems you're already doing a deep-dive, how about going all the way down to the bottom?

ray_parkhurst
Posts: 3438
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

rjlittlefield wrote: So, if the system has significant static friction, and you're trying to move by 1/256 microsteps, then there's a good chance that you'll actually see something like stick/stick/stick/bigmove1/stick/stick/bigmove2/stick/stick/stick/stick/bigmove3.

In that scenario, we've "missed" on average 3 microsteps out of every 4, but we make up for it with the intermittent big steps. When every once in a while we miss a different number of microsteps, then we still make up for the discrepancy, no matter how big it was, on the subsequent larger than expected move. From a standpoint of overall system behavior, this is a lot more like closed loop then open loop. Whatever local error you get from "missing microsteps" in this way, that error does not accumulate over time in the way that missing full steps does.
Rik, I'm not sure why you downplay the missing of these microsteps. If the user is expecting these microsteps to be valid stacking increments, then 75% of the shots are unusable, and the actual stacking step size is much larger than expected.

I also don't understand your comment about this being more like closed loop than open loop, as I look at it exactly opposite. In fact it is more like a very bad open loop!

Please explain your reasoning on this as we seem to have a fundamentally different understanding of what a microstep is.

Edited to add: your example is of 256 microsteps, which is of course very small and it's doubtful anyone would expect to have accuracy at this level. Perhaps you were intending it this way, and that no expectation of accuracy or actual stepping was made for such small movements? Would you say the same thing if we were talking 8 microsteps, and the pattern was SSSMSSSMSSSM or some similar/reasonable pattern of sticks and moves which resulted in less than expected resolution?

elf
Posts: 1416
Joined: Sun Nov 18, 2007 12:10 pm

Post by elf »

My understanding is missing microsteps is different than missing full steps. Missed microsteps don't necessarily mean a step is lost. Microsteps should not be used to calculate the accuracy or resolution or repeatability of the system.

ray_parkhurst
Posts: 3438
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

elf wrote:My understanding is missing microsteps is different than missing full steps. Missed microsteps don't necessarily mean a step is lost. Microsteps should not be used to calculate the accuracy or resolution or repeatability of the system.
I don't think anyone follows that ideal! If they did, then for Novoflex to achieve the advertised 0.2um repeatable step, they'd need to use a 0.1mm pitch screw with a 500-step motor. Technologically this is possible, but from the picture it does not appear the screw is that fine.

Here's a typical treatment of resolution:

https://dovermotion.com/resources/motio ... esolution/

Adalbert
Posts: 2463
Joined: Mon Nov 30, 2015 1:09 pm

Post by Adalbert »

Hi Ray,
500 steps motor
What about the gear-box?
BR, ADi

ray_parkhurst
Posts: 3438
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

Adalbert wrote:Hi Ray,
500 steps motor
What about the gear-box?
BR, ADi
Sure, but repeatability suffers due to backlash and such. But maybe they are doing it this way? Who knows what's inside that black box. The problem with fine pitch screws and gearboxes is the mechanics are fixed, so that the system is permanently slowed. A 10:1 reducer, or 0.1um pitch screw, reduces the max speed by 10x.

Post Reply Previous topicNext topic