Closed Loop stepper
- tommylight
- Online
- Moderator
Less
More
- Posts: 19504
- Thank you received: 6540
13 Aug 2020 21:41 #178143
by tommylight
Replied by tommylight on topic Closed Loop stepper
Mach3 does not tell you if the PC has bad latency and misses steps.
It is very much worth learning LinuxCNC, and for what you need it is very easy.
If you have a PC with a parallel port, you can wire them directly to that port or use a cheap BOB (Break Out Board) that costs from 5 to 15$, or if you do not have a parallel port there are some PCI and PCI-E for 15 to 25$. Again Parallel port will have limited speed depending on the amount of micro-stepping used on the drives.
If you can afford the price, you can get the Mesa 7i96 for 120$ or Mesa 7i76E for 199$, they can do much more than a parallel port and have no speed limits and have plenty of inputs and outputs for many other thing that are needed for a CNC.
It is very much worth learning LinuxCNC, and for what you need it is very easy.
If you have a PC with a parallel port, you can wire them directly to that port or use a cheap BOB (Break Out Board) that costs from 5 to 15$, or if you do not have a parallel port there are some PCI and PCI-E for 15 to 25$. Again Parallel port will have limited speed depending on the amount of micro-stepping used on the drives.
If you can afford the price, you can get the Mesa 7i96 for 120$ or Mesa 7i76E for 199$, they can do much more than a parallel port and have no speed limits and have plenty of inputs and outputs for many other thing that are needed for a CNC.
The following user(s) said Thank You: RLA
Please Log in or Create an account to join the conversation.
- rodw
- Away
- Platinum Member
Less
More
- Posts: 10816
- Thank you received: 3564
13 Aug 2020 22:42 #178145
by rodw
Replied by rodw on topic Closed Loop stepper
With Mach, the real time component is embedded into the tiny ESS.
With Linuxcnc, the computer is the real time component so it has a lot more power.
But my understanding is that with closed loop, say you send 1000 steps to the controller and the encoder senses that 8 steps were missed, It would issue the missing steps to the motor. Neither Mach nor Linuxcnc would even know!
With Linuxcnc, the computer is the real time component so it has a lot more power.
But my understanding is that with closed loop, say you send 1000 steps to the controller and the encoder senses that 8 steps were missed, It would issue the missing steps to the motor. Neither Mach nor Linuxcnc would even know!
The following user(s) said Thank You: RLA
Please Log in or Create an account to join the conversation.
- slc
- Offline
- New Member
Less
More
- Posts: 14
- Thank you received: 5
14 Aug 2020 15:36 #178194
by slc
Replied by slc on topic Closed Loop stepper
If the drive and motor get out of sync by a few steps, the drive will stop the motor and issue an alarm signal which can be fed back to the pc to stop the gcode program running.
It is a good idea to connect this alarm signal because there is no interaction between the drives to stop the other axes at the same time if one axis has an error.
The drives will, as already said work with any system (Linuxcnc, Mach, Grbl etc) that has step/dir outputs.
It is a good idea to connect this alarm signal because there is no interaction between the drives to stop the other axes at the same time if one axis has an error.
The drives will, as already said work with any system (Linuxcnc, Mach, Grbl etc) that has step/dir outputs.
The following user(s) said Thank You: RLA
Please Log in or Create an account to join the conversation.
- RLA
- Offline
- Senior Member
Less
More
- Posts: 48
- Thank you received: 2
14 Aug 2020 20:02 #178203
by RLA
Replied by RLA on topic Closed Loop stepper
Hi..just saw this...from tommylight.."LinuxCNC has real time control, mach3 on widnows does not "
So with what you said does that mean I do not need ess..and that drive does the compensation real time separate from linuxcnc? if so does that mean it will also work real time in mach3?
Thanks again for your help!..I am thinking of switching over real soon so I just want to make sure of what hardware I need
So with what you said does that mean I do not need ess..and that drive does the compensation real time separate from linuxcnc? if so does that mean it will also work real time in mach3?
Thanks again for your help!..I am thinking of switching over real soon so I just want to make sure of what hardware I need
Please Log in or Create an account to join the conversation.
- slc
- Offline
- New Member
Less
More
- Posts: 14
- Thank you received: 5
14 Aug 2020 20:48 #178204
by slc
Replied by slc on topic Closed Loop stepper
Realtime has nothing to do with these drives or motors, it comes from whatever is controlling them, whether it is a pc parallel port machine such as with Linuxcnc or from a custom controller connected to a pc by usb or whatever.
I haven't used Windows or Mach3 for many years. When I did it worked fine as a parallel port controller, but there is a reason why it now seems to have been rewritten to use an external controller.
It will drive these steppers ok, but if the parallel port pulse timing starts to go adrift, these drives will not correct that problem, they will lose position.
I haven't used Windows or Mach3 for many years. When I did it worked fine as a parallel port controller, but there is a reason why it now seems to have been rewritten to use an external controller.
It will drive these steppers ok, but if the parallel port pulse timing starts to go adrift, these drives will not correct that problem, they will lose position.
The following user(s) said Thank You: RLA
Please Log in or Create an account to join the conversation.
- RLA
- Offline
- Senior Member
Less
More
- Posts: 48
- Thank you received: 2
14 Aug 2020 20:59 #178205
by RLA
Replied by RLA on topic Closed Loop stepper
so from what I have read...which is itself a potential problem in that it may not be accurate...The difference between mach3 and linuxcnc as it relates to the driver/motor I have is that mach3 will make a correction of lost position at the end of the movement..whereas linuxcnc is capable of making the correction real time..
The reason that is important to me is that if one motor of the 2 i have running my x axis stalls a little..I will be out of square..I am running a saw blade to rip lumber..any slight change in angle messus everything up..that is why I cant wait till end of cut..
The reason that is important to me is that if one motor of the 2 i have running my x axis stalls a little..I will be out of square..I am running a saw blade to rip lumber..any slight change in angle messus everything up..that is why I cant wait till end of cut..
Please Log in or Create an account to join the conversation.
- slc
- Offline
- New Member
Less
More
- Posts: 14
- Thank you received: 5
14 Aug 2020 21:21 #178206
by slc
Replied by slc on topic Closed Loop stepper
Things are a bit mixed up here. With these drives the pc sends pulses to the motor drive either directly (parallel port) or through a plug in board and there is no feedback from the motor position to the pc at all, it is an open loop system. If the motors are not where they should be, there is no compensation made by the pc, and the motors will remain out of sync with the commanded position.
The feedback is between the motor drive and the encoder on the motor, so if the motor does lose position compared to where the drive thinks it should be, the drive will compensate and try and move the motor to the correct position.
The feedback is between the motor drive and the encoder on the motor, so if the motor does lose position compared to where the drive thinks it should be, the drive will compensate and try and move the motor to the correct position.
The following user(s) said Thank You: RLA
Please Log in or Create an account to join the conversation.
- RLA
- Offline
- Senior Member
Less
More
- Posts: 48
- Thank you received: 2
14 Aug 2020 21:41 #178208
by RLA
Replied by RLA on topic Closed Loop stepper
Interesting parallel between technology and communication..As I said before ..I am trying to understand everything that has been said..
So then it does not matter about controller(pc)...it is the drive ...so what I have should work on mach 3 making realtime compensations when encoder says so..is that right?..I appreciate your patience!!
So then it does not matter about controller(pc)...it is the drive ...so what I have should work on mach 3 making realtime compensations when encoder says so..is that right?..I appreciate your patience!!
Please Log in or Create an account to join the conversation.
- slc
- Offline
- New Member
Less
More
- Posts: 14
- Thank you received: 5
15 Aug 2020 06:26 #178237
by slc
Replied by slc on topic Closed Loop stepper
Real time has nothing to do with what you are trying to do here other than in the sense that it applies in general to any cnc system at a core level, it is not a method of correcting errors in motion of an axis, it is a means to prevent the errors occurring.
These drives are open loop between the pc and the motor position, so if a motor loses steps due to stalling (in which case you have big problems) then there will be no correction or compensation made by the pc because there is no feedback from the motor to the pc to signal a position error has occured, the controlling program, linuxcnc, mach etc. knows nothing about the position of the motors.
The communication between the drive and motor is closed loop, so if the motor does lose a small number of steps, the drive will try and correct the position of the motor or if it can't it will trigger the alarm signal as in my post above.
Hang in there, this stuff is a lot easier to understand than it is to explain in words.
These drives are open loop between the pc and the motor position, so if a motor loses steps due to stalling (in which case you have big problems) then there will be no correction or compensation made by the pc because there is no feedback from the motor to the pc to signal a position error has occured, the controlling program, linuxcnc, mach etc. knows nothing about the position of the motors.
The communication between the drive and motor is closed loop, so if the motor does lose a small number of steps, the drive will try and correct the position of the motor or if it can't it will trigger the alarm signal as in my post above.
Hang in there, this stuff is a lot easier to understand than it is to explain in words.
Please Log in or Create an account to join the conversation.
- tommylight
- Online
- Moderator
Less
More
- Posts: 19504
- Thank you received: 6540
15 Aug 2020 08:14 #178246
by tommylight
With the drives you have, as SLC said, mach or LinuxCNC will send them some steps so the drives will forward those steps to the motor and if the motor stalls only the drives knows about it, so software is not aware of it and can not compensate.
For that you will need to have the loop closed in LinuxCNC, meaning the encoder feedback has to go to LinuxCNC also.
The difference between LinuxCNC and Mach is that mach does not know if the timing for creating steps is right or that it can not make the steps requested at all, it will just try to send steps at the speed requested not knowing if they are actually being sent to the parallel port. That is why mach needs other hardware to do the stepping correctly.
LinuxCNC will warn if the steps requested are to fast so you can correct that, and when set up correctly it will always send the requsted steps to the parallel port or other hardware.
In general, what you are asking for requires having the loop closed in LinuxCNC, that way LinuxCNC is always aware of what is going on with the machine and will compensate for the loss of position, if the drives are capable of doing that. And that brings us to the other issue, that the stepper drives and motors are quite limited at correcting lost position.
If you want actual real time and compensation, use analogue servo drives with a Mesa 7i92/7i77 combo with LinuxCNC, or Lam Technologies stepper drives that have a "boost" input so they will push more current to the motors whenever LinuxCNC detects that the position is lagging behind.
You are overcomplicating things, find a PC with a parallel port and install LinuxCNC, wire the drives and start using the machine, then you can think about this stuff.
Replied by tommylight on topic Closed Loop stepper
No it will not compensate.So then it does not matter about controller(pc)...it is the drive ...so what I have should work on mach 3 making realtime compensations when encoder says so..is that right?..I appreciate your patience!!
With the drives you have, as SLC said, mach or LinuxCNC will send them some steps so the drives will forward those steps to the motor and if the motor stalls only the drives knows about it, so software is not aware of it and can not compensate.
For that you will need to have the loop closed in LinuxCNC, meaning the encoder feedback has to go to LinuxCNC also.
The difference between LinuxCNC and Mach is that mach does not know if the timing for creating steps is right or that it can not make the steps requested at all, it will just try to send steps at the speed requested not knowing if they are actually being sent to the parallel port. That is why mach needs other hardware to do the stepping correctly.
LinuxCNC will warn if the steps requested are to fast so you can correct that, and when set up correctly it will always send the requsted steps to the parallel port or other hardware.
In general, what you are asking for requires having the loop closed in LinuxCNC, that way LinuxCNC is always aware of what is going on with the machine and will compensate for the loss of position, if the drives are capable of doing that. And that brings us to the other issue, that the stepper drives and motors are quite limited at correcting lost position.
If you want actual real time and compensation, use analogue servo drives with a Mesa 7i92/7i77 combo with LinuxCNC, or Lam Technologies stepper drives that have a "boost" input so they will push more current to the motors whenever LinuxCNC detects that the position is lagging behind.
You are overcomplicating things, find a PC with a parallel port and install LinuxCNC, wire the drives and start using the machine, then you can think about this stuff.
The following user(s) said Thank You: RLA
Please Log in or Create an account to join the conversation.
Time to create page: 0.159 seconds