I know for the BIG industrial CNC machine (<- 10 ton size of a beetle Volkswagen) we have at the local Maker space there are resolvers on each of the motors (X,Y, and Z) that can dynamically dial in to incredible resolutions when going slow, but at the same time keep track of the coarse movement during high speed motions, by simply looking at the zero cross from the resolvers. A similar scheme is used for a metal lathe we also have in operation there. The output from the resolver is a differential sine/cosine relationship representing the rotational position of the motor at any given time. It essentially has infinite resolution governed only by the quality of the ADC reading the position. Because of the differential output, temperature variations, noise, etc. are mathematically canceled out.
Oh sure. Furthermore, the motor controller (servo drive) can then provide a simulated quadrature encoder output to the motion controller which can have a very high resolution.....which is why the Prop's high-speed counters need quad decode ;-) ;-) ;-)
I realized that, and have worked on units that move both or all three axes to the home or e-stop position at low speed then step each axis one at a time in the opposite direction to determine which ones are at the stop position. Once that is done for all the axes the home positions are saved. It's slow but it only has to be done once after power up.
There are more ways of doing this than I would want to list. This post has only mentioned a fraction of them.
The pin would function as an E-stop. You wire all of them in series, and then use one pin. There is no limitation to using one axis at a time when the machine is running normally. It's just that when you hit an over-travel limit switch, all the movement would shut down until you use the override switch and get the machine back into its work envelope.
"...and have worked on units that move both or all three axes to the home or e-stop position at low speed then step each axis one at a time..." - With a resolver, you can move very fast from one extreme to the other, because you only need to look at the sine/cos wave as a coarse position, and then dial in to a much slower speed once you are near the limit. By "dialing in" you can look at the exact position on the sine/cos that the resolver is reporting.
Just saw and reviewed this thread tonight. So here are some observations from maintaining Cardiac and Angio cath labs. These labs move and position devices of significant weight to fractional degree positions out of anything from 90 to 270 degree ranges and linear movement in the 10 to over 100CM ranges position to 1mm accuracy. In all cases I have worked with, the limit switch whether magnetic or mechanical, they are safety devices only for when the software has failed to track the device. When the unit is installed and PMs performed, the system is characterized such that home and normal end of travel is at fixed points. Only in a failure condition will these points ever be exceeded. The limit switches used for contact safety such as on the collimator or Image intensifier grid holder are all wired series such that an open wire has the same effect as an open limit switch. They also tend to have one end of the chain grounded. The unit is down and will not move until the fault is cleared. If you browse the right sites, you may still find whole schematics of some of these systems that can be good for circuit ideas.
I rarely see stepper motors, only DC motors with shaft braking and these usually drive belt or chain drives. The motors are set up as closed loop systems that regulate speed and position through multiple methods. One example is the orbital movement on a C-arm. there is an incremental encoder which has a zero tag included. This does the usual speed and direction indication as well as allowing the controlling CPU to track its position. But that would always be relative to the zero tag and the industry goes beyond that. There is also a pot (or absolute encoder) to give an actual position. Said position value was set and characterized on installation. The CPU will continuously monitor the incrementally derived position and the actual absolute position and if they differ by more than a certain amount, the unit will block with the appropriate error. GE CT tables also use something similar, zero and EOT are set in software when characterized. Mechanical limits are safety devices. The only thing I ever worked on that used a home switch was a refrigerator sized hard copy camera in the days way before PACs systems. This crazy machine had a video monitor and lens system with lcosed loop brightness control on an x/y stepping platform and could put from 1 to 20 images on a single piece of film. It used steppers, home and EOT switches. (way old school. can't complain though, it got me many trips to Germany to train field engineers on its repair and upkeep)
The question I have in all this stuff would be what method has the better positional accuracy, a closed loop belt driven system or stepper/worm gear assembly...... Since it seems that doing something using motor control on my own projects seems a bucket list goal....
I am currently considering homing and over-travel issues, so I am wondering what others are doing and what kind of successes or failures they have encountered. As usual, there are several ways to do this, hall effect sensors, proximity switches, slotted optical switches, limit switches, etc... or no switches at all, with simple hard stops.
There is also a pot (or absolute encoder) to give an actual position. Said position value was set and characterized on installation. The CPU will continuously monitor the incrementally derived position and the actual absolute position and if they differ by more than a certain amount, the unit will block with the appropriate error.
The question I have in all this stuff would be what method has the better positional accuracy, a closed loop belt driven system or stepper/worm gear assembly...... Since it seems that doing something using motor control on my own projects seems a bucket list goal....
Inertia mismatch notwithstanding, definitely a closed-loop servo motor, directly driving a belt pulley. Can't get more zero-backlash than this arrangement.
If you must have a gear reduction then you could implement a dual-loop arrangement as you describe above which has always been my standard arrangement (and trademark) wherever I have a transmission such as a gear reducer or rack & pinion.
Are we going to bring forward the state of the art or are we interested in an (cost) optimized solution? Non professionals like steppers, as they are predictable. In a precise cnc machine you will always find linear scales to measure the table position and rotary scales to measure motor speed to have a cascaded loop. Measuring the motors position with the aid of a whatever encoder works, but the power train to the table shows so many problems, in stiffness, oscillation, temperature ... that this is never sufficient to reach good results. I believe, we are talking about an affordable solution and a stepper simply has the highest torque of any motor type, so doesn't need much reduction. That allows to drive a table with an pulley and a belt. But there is the main problem of stall detection to solve. If this is reached, most of the problems linked with axes have gone. That is the reason why I will invest some time to verify what the data-sheet of an sophisticated stepper driver promises. ;-)
I realized that, and have worked on units that move both or all three axes to the home or e-stop position at low speed then step each axis one at a time in the opposite direction to determine which ones are at the stop position. Once that is done for all the axes the home positions are saved. It's slow but it only has to be done once after power up.
There are more ways of doing this than I would want to list. This post has only mentioned a fraction of them.
Oh. OK. There's a pretty big range of experience on the forum, and you can't always tell when you're talking to a professional.
Are we going to bring forward the state of the art
Would be nice because low-budget printers are popping up all over the place, all apparently producing jaggy little lumps of plastic. I have seen some great results from higher-end printers on YouTube and I suspect that they are closed-loop servo controlled. I could be wrong.
There are a lot of technologies for 3d-printers, very popular the raprep-type extruders. They have to follow a path and on a first glance, resolution is important. But, the finer the structures, the slower the progress: half the resolution means 8 times printing time! Therefor speed becomes important. While it is simple to run at high speed, printing small elements means: high acceleration values. The problem mostly is not, that the motor cannot follow the commands (he would lose steps), but that the mechanics can not follow the motor: the belt elongate and the whole frame starts to oscillate. That leads to artifacts in the printed objects. E.g. a gear needs the same geometry printed under different angles. For this reason it is so important to control motor movement as soft as possible. The propellers cores can drive motors in parallel with smooth acceleration, even in micro stepping. It needs some joint efforts beside the normal discussions. Just one point: most steppers are driven with step/direction signals. More natural would be do use a quadrature signal as this gives 4 times the speed at same clock rate. It is just not done ;-(
You have to be different to be better..... the propeller
You have to be different to be better..... the Propeller
Well, you certainly managed to summarize that very nicely. You certainly have presented a lot of useful information about steppers and CNC control.
The more I work into trying to port Arduino code to the Propeller, the more I see different choices for doing thing.
Linear and Curviliner interpolation might be faster with the Propeller's log table and sine tables. And I keep thinking about having at least the X Y Zaxes with the E move at the same time in parallel. But I am wondering if it would do fast anti-aliasing.
The general 3D printer info may not be the best, but it is still good to read what the average Joe is doing, so you don't start from nothing.
Yes, you are absolutely right, that's what I wanted to say. Add another propeller. But even Parallax missed to come along with a board, that has the option to carry a second prop.
Just imagine a Propeller Protoboard that has the option of dropping in a 40 pin Propeller DIP chip, with traces between the two that would allow serial comm between the chips. Now that would be sweet.
Seriously a lot of Reprap style machines use too stiff a belt, they use polyurethane T2.5 which needs a lot of tension
to be accurate (which means stronger motors or backlash). MXL rubber/glass-fibre belt is much better for a lightweight
mechanism. T2.5 can handle upto 100's of watts of mechanical power and is overkill really. MXL belt is much more
compliant and needs lower pre-tension forces (and has finer teeth).
Don't be worried about an oscillating frame. The most stable thing in the world is an oscillator. It's like holding a hot egg in your hands: throw it from the left to the right and vice versa, and it's not a problem. Did you ever realize, that a p-regulator is an oscillator? What about a spring. You know: the back driving force of a spring is proportional to the elongation. So what happens if you elongate a spring and let it free? Now you will see: if an ideal spring should have no mass, an infinite acceleration will occur. The consequence is: even an ideal spring must have some finite mass. So the spring in reality is a mass-force system and the equations of movement as a solution have a sinusoidal behavior over time: such a system carrying energy MUST oscillate. If you manage it to remove the energy from the system, it will be at rest. If you manage it to remove the energy that way, that position is your target, you did a perfect job in position control. So the main goal of a positioning system is to never store more energy in the internal oscillators then is needed to get the acceleration and speed needed to follow the line ;-)
Don't be worried about an oscillating frame. The most stable thing in the world is an oscillator.
I feel much better now
However now I will have to worry about belt elongation
In reality, I believe the actuators will be just fine or at least I hope. I believe they will operate smoothly, and hopefully the torsion spring tensioners I intend to use, will help with any belt issues.
One of the main objectives for me is the design of the linear actuator, without any regard to 3D printing, however building a 3D printer from these actuators is the ultimate goal. That being said, I still think I should provide some sort of switching apparatus for the actuators, or like I said, have provisions for adding them.
This thread certainly has given me a lot to think about.
As stated in a previous post I have worked with various equipment that moves something along one or more axes. That equipment has ranged from the ultra simple (a chart recorder using 2 DC gear motors, a 10 turn pot, and fishing line) to faster more precise XY plotters using galvanometers, up to laser interferometers on tensile testers that can measure changes in the micrometre range.
The strength, rigidity, and drive power requirements depend on the application. For a CNC milling machine the speed needed is low while the forces involved and precision required are high. For other applications the speed, force, and precision will vary.
For a 3D printer the limiting factors would be the speed at which a voxel can be printed and the size of the smallest voxel that can be printed . Once that is determined then the precision required for everything else can be determined. Not much point in having micrometre precision on the xyz axes if the print head produces millimetre size voxels, or 100mm/sec speed if you can only place 10 voxels/second.
A good belt is polyester/Kevlar reinforced.
'
Nascar/NHRA/IHRA engine builder's use this type of belt material for cam timing belts at RPMs over 8500.(The belt material does not transfur odd harmonics form the crankshaft like a chain would to the valve train that would could cause valve float)
'
A real drawback about speed reducers is when you need the rapids to help speed up the operation. This is when the machine is moving to the next work position, But not cutting /depositing.
'
My steppers are direct coupled.
'
How strong is polyester http://www.liftingtackles.com/polyester_slings.htm
Comments
Oh sure. Furthermore, the motor controller (servo drive) can then provide a simulated quadrature encoder output to the motion controller which can have a very high resolution.....which is why the Prop's high-speed counters need quad decode ;-) ;-) ;-)
There are more ways of doing this than I would want to list. This post has only mentioned a fraction of them.
Just saw and reviewed this thread tonight. So here are some observations from maintaining Cardiac and Angio cath labs. These labs move and position devices of significant weight to fractional degree positions out of anything from 90 to 270 degree ranges and linear movement in the 10 to over 100CM ranges position to 1mm accuracy. In all cases I have worked with, the limit switch whether magnetic or mechanical, they are safety devices only for when the software has failed to track the device. When the unit is installed and PMs performed, the system is characterized such that home and normal end of travel is at fixed points. Only in a failure condition will these points ever be exceeded. The limit switches used for contact safety such as on the collimator or Image intensifier grid holder are all wired series such that an open wire has the same effect as an open limit switch. They also tend to have one end of the chain grounded. The unit is down and will not move until the fault is cleared. If you browse the right sites, you may still find whole schematics of some of these systems that can be good for circuit ideas.
I rarely see stepper motors, only DC motors with shaft braking and these usually drive belt or chain drives. The motors are set up as closed loop systems that regulate speed and position through multiple methods. One example is the orbital movement on a C-arm. there is an incremental encoder which has a zero tag included. This does the usual speed and direction indication as well as allowing the controlling CPU to track its position. But that would always be relative to the zero tag and the industry goes beyond that. There is also a pot (or absolute encoder) to give an actual position. Said position value was set and characterized on installation. The CPU will continuously monitor the incrementally derived position and the actual absolute position and if they differ by more than a certain amount, the unit will block with the appropriate error. GE CT tables also use something similar, zero and EOT are set in software when characterized. Mechanical limits are safety devices. The only thing I ever worked on that used a home switch was a refrigerator sized hard copy camera in the days way before PACs systems. This crazy machine had a video monitor and lens system with lcosed loop brightness control on an x/y stepping platform and could put from 1 to 20 images on a single piece of film. It used steppers, home and EOT switches. (way old school. can't complain though, it got me many trips to Germany to train field engineers on its repair and upkeep)
The question I have in all this stuff would be what method has the better positional accuracy, a closed loop belt driven system or stepper/worm gear assembly...... Since it seems that doing something using motor control on my own projects seems a bucket list goal....
Love it! AKA: Dual-Loop feedback.
Inertia mismatch notwithstanding, definitely a closed-loop servo motor, directly driving a belt pulley. Can't get more zero-backlash than this arrangement.
If you must have a gear reduction then you could implement a dual-loop arrangement as you describe above which has always been my standard arrangement (and trademark) wherever I have a transmission such as a gear reducer or rack & pinion.
Oh. OK. There's a pretty big range of experience on the forum, and you can't always tell when you're talking to a professional.
Would be nice because low-budget printers are popping up all over the place, all apparently producing jaggy little lumps of plastic. I have seen some great results from higher-end printers on YouTube and I suspect that they are closed-loop servo controlled. I could be wrong.
You have to be different to be better..... the propeller
Well, you certainly managed to summarize that very nicely. You certainly have presented a lot of useful information about steppers and CNC control.
The more I work into trying to port Arduino code to the Propeller, the more I see different choices for doing thing.
Linear and Curviliner interpolation might be faster with the Propeller's log table and sine tables. And I keep thinking about having at least the X Y Zaxes with the E move at the same time in parallel. But I am wondering if it would do fast anti-aliasing.
The general 3D printer info may not be the best, but it is still good to read what the average Joe is doing, so you don't start from nothing.
:nerd:
Don't be planting any bad seeds here
Just imagine a Propeller Protoboard that has the option of dropping in a 40 pin Propeller DIP chip, with traces between the two that would allow serial comm between the chips. Now that would be sweet.
Seriously a lot of Reprap style machines use too stiff a belt, they use polyurethane T2.5 which needs a lot of tension
to be accurate (which means stronger motors or backlash). MXL rubber/glass-fibre belt is much better for a lightweight
mechanism. T2.5 can handle upto 100's of watts of mechanical power and is overkill really. MXL belt is much more
compliant and needs lower pre-tension forces (and has finer teeth).
LOL I was more worried about the oscillating frame
I feel much better now
However now I will have to worry about belt elongation
In reality, I believe the actuators will be just fine or at least I hope. I believe they will operate smoothly, and hopefully the torsion spring tensioners I intend to use, will help with any belt issues.
One of the main objectives for me is the design of the linear actuator, without any regard to 3D printing, however building a 3D printer from these actuators is the ultimate goal. That being said, I still think I should provide some sort of switching apparatus for the actuators, or like I said, have provisions for adding them.
This thread certainly has given me a lot to think about.
The strength, rigidity, and drive power requirements depend on the application. For a CNC milling machine the speed needed is low while the forces involved and precision required are high. For other applications the speed, force, and precision will vary.
For a 3D printer the limiting factors would be the speed at which a voxel can be printed and the size of the smallest voxel that can be printed . Once that is determined then the precision required for everything else can be determined. Not much point in having micrometre precision on the xyz axes if the print head produces millimetre size voxels, or 100mm/sec speed if you can only place 10 voxels/second.
'
Nascar/NHRA/IHRA engine builder's use this type of belt material for cam timing belts at RPMs over 8500.(The belt material does not transfur odd harmonics form the crankshaft like a chain would to the valve train that would could cause valve float)
'
A real drawback about speed reducers is when you need the rapids to help speed up the operation. This is when the machine is moving to the next work position, But not cutting /depositing.
'
My steppers are direct coupled.
'
How strong is polyester http://www.liftingtackles.com/polyester_slings.htm