Welcome! Log In Create A New Profile

Advanced

Microstep

Posted by Joar107 
Microstep
July 04, 2014 03:17AM
I am about to design a new z axis and the pitch will be 1.5 or 3, so to calculate a good a layer height i wonder if
the duet using 1/16 micro step all the time or that is something that i need to configure?

/Joar
Re: Microstep
July 04, 2014 03:48AM
Microstepping is useful for making smoother motion, but it is not very good for "holding a position" as the motor won't be very strong at holding that microstep. It might work, but it is better to have "full steps" for the Z axis. Anyway, as long as you have a whole number of steps per layer, you're good.

Just make sure that the layer height is a multiple of "height per step", or if you will, that (layer height) / (height per step) is an integer (that is, a whole number of steps per layer). For example, with a z axis pitch of 1.5mm and a stepper motor with 1.8 degrees per step (360/1.8=200 steps per turn), the height per step is 1.5/200=0.0075mm, and as long as the layer height is a multiple of that you are good. So, for example, 0.48, 0.3, 0.24 or 0.195mm would all work out fine.
Re: Microstep
July 04, 2014 05:02AM
@jstck thanks
Is a 1/2 step better for holding than a 1/4 step and so on?

/Joar
Re: Microstep
July 04, 2014 05:27AM
The current firmware assumes that all microsteps are equal. So even if you set the layer height to be a whole number of full steps, and have no bed compensation in play, then you have only a 1 in 16 chance that it is holding on a full step.

So I don't think it makes any difference whether the layer height is a full number of steps or not. To make a difference, the firmware would have to keep track of how many steps it had done since power up, then when homing the z-axis it would need to round the z=0 position to the nearest whole step.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Microstep
July 04, 2014 05:31AM
Hi Joar

Yes, the Duet uses 16x microstepping as standard. You can change the microstepping, but the chip we use (Allegro A4982 [www.allegromicro.com] ) only has full-, half-, quarter-, and sixteenth-step modes. These are set using the MS1 and MS2 pads on the Duet; put a solder bridge between the pairs of pads to change the microstepping.

You can use Josef Prusa's calculator to work out steps per mm - [calculator.josefprusa.cz]

Ian
RepRapPro tech support
Re: Microstep
July 04, 2014 06:32AM
Quote
jstck
Microstepping [...] is not very good for "holding a position" as the motor won't be very strong at holding that microstep.

Actually, microstepping has zero influence on torque or the precision a position is held with. Even if deflections due to a force/momentum happen to be bigger than a microstep, having this microstep still makes a difference. And microsteps don't snap over leading to step losses, stepper motors snap over only in amounts of two full steps, no matter how fine microstepping is.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Microstep
July 04, 2014 06:54AM
Oh. I was taught it was better to "hold position" at a regular full step since the controller has to do some kind of phased waveform output signals for a microstep, and that could cause some "flutter". But that was ages ago and possibly with crappier stepper motor controllers.
Re: Microstep
July 04, 2014 09:15AM
Ok that means that I will go for a direct drive for the Z.
What is the maximum theoretical speed on the Ormerod today for x and y axis (with current pulley)?
Is it a GT2 pulley on the motors and how many teeth does it have?

/Joar
Re: Microstep
July 04, 2014 10:13AM
The limit is the number of steps the Duet board can make in a second. On a Duet, we guess (because it's rather difficult to test, and Adrian isn't around to check with) it's around 50,000 steps per second. This would equate to 50,000/87.489 = 571.5mm/s! However, you have to overcome the inertia of the weight of the bed, ramp up acceleration etc. The current limit is set to 15000mm/min or 250mm/s. But again, it's down to the acceleration as to whether you can even achieve this in the length of the axis.

The current pulley is MXL (2.032mm tooth pitch), with 18 teeth.

Ian
RepRapPro tech support
Re: Microstep
July 04, 2014 11:44AM
I've run the X and Y axes up to 20000mm/min before now, without any obvious problems. However, because of the acceleration limits, you can only reach these X and Y speeds near the centre of moves that are the full length of the bed. I didn't try increasing the XY accelerations, because I already felt it necessary to increase the Y motor current to avoid missing steps using the default Y acceleration. I am using an aluminum bed support which increases the mass of the bed a little.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Microstep
July 04, 2014 03:03PM
I've bought one of these [www.ebay.com] which is sitting on my desk. I plan on modifying my Ormerod to use it for the Z axis somewhen. I'll have to change the steps/mm and rotation direction.

Dave
(#106)
Re: Microstep
July 04, 2014 03:16PM
Quote
dmould
I've bought one of these [www.ebay.com] which is sitting on my desk. I plan on modifying my Ormerod to use it for the Z axis somewhen. I'll have to change the steps/mm and rotation direction.

That looks good! What's the thread pitch? If you have DaveK's aluminium X-plate and rib, then it should be easier to fit, because his x-rib already has a cutout for an extended z-motor shaft.

I've noticed a couple of problems with the standard Z axis drive:

1. Backlash in the gears. Not a problem now, but was a problem earlier when the gears didn't fit very well.

2. The Z nut trap wearing, so that the Z nut can rotate within it by a significant amount. I had to re-print the z-nut trap recently. This could possibly be improved by using a tapered hexagonal recess in the Z-nut trap.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Microstep
July 05, 2014 04:40AM
Quote
dc42
1. Backlash in the gears. Not a problem now, but was a problem earlier when the gears didn't fit very well.

2. The Z nut trap wearing, so that the Z nut can rotate within it by a significant amount. I had to re-print the z-nut trap recently. This could possibly be improved by using a tapered hexagonal recess in the Z-nut trap.

I still have some slight backlash in the gears with the herringbone ones, but very little (estimate it is <5 degrees, which is about a tenth of a layer). Both repeatable and small enough that it should not matter.

As for the Z nut trap, I extended the stock one a bit. I didn't change the shape of the nut trap other than downwards, but I guess my print settings just made it fit tighter, and I have zero "backlash" between nut and nut-trap. I'm using a longer nut, but it worked well enough with a standard sized one. It would be reasonably easy making it tapered, but then it would be possible of it to move a bit in the Z direction under load. Probably better to just adjust it until it is tight enough. Longer nut does make it easier to get a good fit though.
It could also be made to cover the whole nut, but then it would limit X movement a bit.

Edited 1 time(s). Last edit at 07/05/2014 11:17AM by jstck.
Re: Microstep
July 05, 2014 04:40AM
Pretend this post doesn't exist, I quoted myself instead of editing

Edited 1 time(s). Last edit at 07/05/2014 11:17AM by jstck.
Re: Microstep
July 05, 2014 03:32PM
No, i checked it again. The backlash is less than a step length, so about a degree or so. Tiny.

Edited 1 time(s). Last edit at 07/05/2014 03:47PM by jstck.
Re: Microstep
July 07, 2014 07:00AM
Quote
dc42
Quote
dmould
I've bought one of these [www.ebay.com] which is sitting on my desk. I plan on modifying my Ormerod to use it for the Z axis somewhen. I'll have to change the steps/mm and rotation direction.

That looks good! What's the thread pitch? If you have DaveK's aluminium X-plate and rib, then it should be easier to fit, because his x-rib already has a cutout for an extended z-motor shaft.

I've noticed a couple of problems with the standard Z axis drive:

1. Backlash in the gears. Not a problem now, but was a problem earlier when the gears didn't fit very well.

2. The Z nut trap wearing, so that the Z nut can rotate within it by a significant amount. I had to re-print the z-nut trap recently. This could possibly be improved by using a tapered hexagonal recess in the Z-nut trap.

I bought it on a whim primarily due to concerns about wear on the nut & threaded rod - I do not have any problem with the existing Z drive right now - the backlash is completely insignificant in terms of Z height, and in any case the Z axis is only driven upwards during a print since I have an aluminium level bed and so eliminated the need for bed compensation so there is no backlash at all. I linked to the wrong part - mine is the same as the one in that link but with a 200mm rod rather than a 300mm rod. The pitch is pretty coarse - 2mm per turn with a 4-start thread - but that equates to 0.01mm per step which is a nice round number that affords perfectly adequate Z granularity, and it is apparently used for Z drive in other 3D printers so will hopefully have sufficient power to lift the X axis - I'll prop it up under the X arm Heath-Robinson fashion (probably using gaffer tape) and temporarily connect to the Z motor output to test it has enough lifting power before doing any changes.

I will be doing a pretty extensive re-build when I finally get around to fitting it, and will probably take your suggestion of replacing the X beam with a aluminium part at the same time (anodised black, I think to match my replacement ABS printed parts). OTOH I am toying with the idea of building completely new mechanics from scratch to make a somewhat modified all-metal frame (apart from the printed parts) - in that way I will have a working 3D printer to make iterative design changes to the printed parts as I build & modify. I can then swap the electronics, X & Y motors, extruder, hotend, bed heater etc. from my Ormerod to the new mechanics. I have plenty of other projects planned before starting that one however, so don't hold your breath!

Dave
(#106)
Re: Microstep
April 15, 2016 05:25PM
Quote
droftarts
Hi Joar

Yes, the Duet uses 16x microstepping as standard. You can change the microstepping, but the chip we use (Allegro A4982 [www.allegromicro.com] ) only has full-, half-, quarter-, and sixteenth-step modes. These are set using the MS1 and MS2 pads on the Duet; put a solder bridge between the pairs of pads to change the microstepping.

Ian
RepRapPro tech support

i didn't realise that the duet 0.8.5 had stepper ICs which are not under software-control of the microstepping. all it would take would be pins from the EC to the controller [or picking a programmable stepper IC]. that is... an oversight. i'm using 3mm filament with a geared 4.07:1 bowden extruder based around a MK8 drive gear and the default 1/16th stepping is *nowhere near* powerful enough. with a Rambo 1.2g i had to go to 1/8th stepping in order to get enough force without skipping.... and that was with 1.1A.

also, i'm going to be upgrading to a Flex3Drive: operation is recommended on that to be using 1/4 microstepping, and it's a 40:1 gear ratio.

all the experimentation that i'm doing, i would have seriously thought twice before buying a duet.... *if* it had been made clearly obvious that micro-stepping was not software-controlled. i would have looked harder for alternatives, and might have chosen it anyway, happy that i was going to be doing some soldering. as it is i feel that i have been misled. i'm not happy.
Re: Microstep
April 15, 2016 06:01PM
Reducing microstepping DOES NOT increase motor torque. The torque per microstep does indeed reduce as you increase microstepping, but the torque per unit of angular error does not change. So reducing microstepping will not solve your problem.

The only reason to reduce microstepping is if you need such high speeds that the electronics can't generate the steps fast enough. The Duet can generate more than 100K steps/second per motor, so that isn't likely to be an issue. I invite you to do the sums to check. In the unlikely event that you do need very high speeds, you can cut the trace on the PCB as already explained. It just isn't worth implentng software controllable microstepping on boards with x16 microstepping and 32-bit processors, because it is so rarely needed.

It sounds to me that you have either a poor extruder design, a very weak motor, motor current set too low, or a motor designed for much higher currents than the Duet can provide.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Microstep
April 16, 2016 11:23AM
Quote
dc42
Reducing microstepping DOES NOT increase motor torque. The torque per microstep does indeed reduce as you increase microstepping, but the torque per unit of angular error does not change. So reducing microstepping will not solve your problem.

The only reason to reduce microstepping is if you need such high speeds that the electronics can't generate the steps fast enough. The Duet can generate more than 100K steps/second per motor, so that isn't likely to be an issue. I invite you to do the sums to check. In the unlikely event that you do need very high speeds, you can cut the trace on the PCB as already explained. It just isn't worth implentng software controllable microstepping on boards with x16 microstepping and 32-bit processors, because it is so rarely needed.

It sounds to me that you have either a poor extruder design, a very weak motor, motor current set too low, or a motor designed for much higher currents than the Duet can provide.

it's an 84oz-in motor (60Ncm), there were other problems with the Rumba V1.2g that i had (have - processing a refund..) including a couple of "random axes stopping for the stepper ICs to cool down a bit in the middle of printruns", and that was only with a 0.8A x/y current limit.

appreciated the point about torque-per-microstep. yes, for a flex3drive (which is a 40:1 gear ratio) the motor is run at almost 10x the rate at which all other extruder drives operate, and, with something like a volcano kit for an E3Dv6 (which has i think a 20mm heat chamber instead of the usual 10mm for most hotends), you would be doubling the extruder motor speed *again*. so what you say would explain why the flex3drive designer recommends setting 1/4 microstepping.

sooOoo... for the current geared extruder (which i had to design from scratch because of the unusual setup) it sounds like, based on what you're saying, that microstepping isn't needed. but for when i install the flex3drive... yeah don't know. 100k steps/sec sounds like a hell of a lot, but so is 40:1 gear ratios and i've no idea what sort of flow rate i'll end up being able to reliably achieve.... just have to see, but jason *reliably* gets a travel rate of 400mm/sec and 350mm/min extruder rates with 3mm PLA - on a mendel-style printer, which is mad smiling smiley

Edited 1 time(s). Last edit at 04/16/2016 11:24AM by lkcl.
Re: Microstep
April 16, 2016 06:12PM
Using 1.7mm filament and a 0.4mm nozzle, the maximum extrusion rate you need during printing is about 5mm/sec. If you multiply that by the extruder steps/mm then that will give you the corresponding step pulse frequency.

Of course, higher speeds are useful when loading filament, and when doing retraction.

What is the steps/mm of the Flex3drive if you use 16x microstepping? If you divide that into 100K then that will give an estimate of the maximum filament speed available without reducing microstepping.

Also, what is the rated current of your 60Ncm motor?

Edited 1 time(s). Last edit at 04/16/2016 06:13PM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Microstep
April 17, 2016 04:39AM
[update/edit - sorry dc42, crossover, must have not hit "refresh" before posting, let me put both responses into the same reply]

Quote
dc42
The Duet can generate more than 100K steps/second per motor

ok... i'm just getting used to the different terminology from the Marlin - above you mention running at 20,000mm/min when i'm used to mm/sec... dividing by 60 comes to 333mm/sec which is what i was previously running at on a Rumba v1.2g and i was getting "zagging" during the faster acceleration points, i could only set a maximum current limit of 1.2A on the extruder and the board would give up at that point anyway. droftarts above talks about 50,000 steps/sec equating to a speed of 571mm/sec, and jason was talking about a multiplier (steps/mm) of 1900 on a 1/4 microstepping setting, with the flex3drive 40:1 gear ratio. i believe he was saying that the move speeds were 350mm/sec and the extruder speed 400mm/min.

i've been sitting here for a good couple of minutes. my brain's turned to mush on the maths smiling smiley

400mm/min / 60 = 6mm/sec. gear ratio is 40:1 so that's 6x40 = 240mm/sec. steps/mm = 1900 so 240*1900 = 45600. units, mm cancel out, you get steps/sec. 45600 steps/sec.

and that's with a 0.4mm nozzle. i'm also planning to see what can be achieved with a 1.0mm and 1.2mm nozzle from the "volcano" set for the E3D.

basically what i'm saying is that it's getting to within that 100k steps/sec number, just on the extruder. i bought this board because it's a faster ARM processor, i'm aware that the arduino-style boards are just not capable at all of coping with the kinds of experimentation that i would like to do.

we just see what happens, eh? smiling smiley

Quote
dc42
Using 1.7mm filament and a 0.4mm nozzle, the maximum extrusion rate you need during printing is about 5mm/sec. If you multiply that by the extruder steps/mm then that will give you the corresponding step pulse frequency.

i'm using 3mm PLA [hence the reason why i ran into skipping problems and had to design a geared extruder last week]

Quote

Of course, higher speeds are useful when loading filament, and when doing retraction.

true. hmm....

Quote

What is the steps/mm of the Flex3drive if you use 16x microstepping? If you divide that into 100K then that will give an estimate of the maximum filament speed available without reducing microstepping.

i believe jason said 1900 using 1/4 microstepping, not sure if that's a 200steps/rev or 400 steps/rev motor. so with 1/16 microstepping it'd be... four times that? .

Quote

Also, what is the rated current of your 60Ncm motor?

2.5A i believe. they're 47mm-long monsters with 200 steps / rev.

Edited 1 time(s). Last edit at 04/17/2016 04:46AM by lkcl.
Re: Microstep
April 17, 2016 07:55AM
The steps/mm already takes account of the gear ratio. So you need to multiply the filament feed rate in mm/sec by just the steps/mm to get the step rate.

Edited 2 time(s). Last edit at 04/17/2016 07:57AM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Sorry, only registered users may post in this forum.

Click here to login