Running servos in position mode instead of analog
21 Jun 2021 22:27 #212605
by Michael
Replied by Michael on topic Running servos in position mode instead of analog
I was able to get the spindle encoder mounted onto the shaft of the z axis to see the difference in delays. The seconder encoder is a Heidenhain and I mounted it in a pretty crappy way since it was temporary, thei may have allowed for some slope in the setup but it still out performed the DMM in response time.
The top line is the DMM drive encoder output
The middle line is velocity command
The bottom line is heidenhain
The top line is the DMM drive encoder output
The middle line is velocity command
The bottom line is heidenhain
Attachments:
Please Log in or Create an account to join the conversation.
25 Jun 2022 15:24 #245862
by Dbsharp
Replied by Dbsharp on topic Running servos in position mode instead of analog
I wonder if they have corrected this in the new DYN5 drives. I don't see them in the online store, but they have them listed.
Please Log in or Create an account to join the conversation.
03 Apr 2023 17:08 #268186
by blazini36
Replied by blazini36 on topic Running servos in position mode instead of analog
Not to dig up an old thread but tommylight had mentioned this to me in another thread where he mentions a 5ms delay in the analog input of the DMM drive. From that halscope picture comparing the Heidenhain encoder feedback to the analog command there's about a 2ms delay between the analog command and the time the Heidenhain is read back with a movement. It looks like there's a 3ms delay in the difference between the Heidenhain and the DMM's encoder output.
So what I'm getting from that whole thing is the time from the analog command to the 7i92 being able to read any change is actually 2ms some of that is obviously a read/write delay but it looks like the major delay is actually the extra 3ms from the DMM's encoder output.
I'm guessing this is a bigger deal with analog velocity control on the servo vs S+D position control. I'd be curios to know this actually stacks up against some other servo setup in the same scenario.
So what I'm getting from that whole thing is the time from the analog command to the 7i92 being able to read any change is actually 2ms some of that is obviously a read/write delay but it looks like the major delay is actually the extra 3ms from the DMM's encoder output.
I'm guessing this is a bigger deal with analog velocity control on the servo vs S+D position control. I'd be curios to know this actually stacks up against some other servo setup in the same scenario.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
06 Apr 2023 23:49 - 06 Apr 2023 23:49 #268463
by Michael
Replied by Michael on topic Running servos in position mode instead of analog
Yes it became a pretty big deal as the servo drive would try and make up for this delay and which would result in the drive faulting out. They work fine in S+D but there is no feedback to the control.
I would like to eventually setup some basic ability for Linux to read the encoder feedback for the purposes of homing on index. I have also looked at trying Delta servos but the project has stalled recently. Hopefully this spring I can get it over the finish line and have a working system.
I would like to eventually setup some basic ability for Linux to read the encoder feedback for the purposes of homing on index. I have also looked at trying Delta servos but the project has stalled recently. Hopefully this spring I can get it over the finish line and have a working system.
Last edit: 06 Apr 2023 23:49 by Michael.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
07 Apr 2023 14:38 #268518
by PCW
Replied by PCW on topic Running servos in position mode instead of analog
If you have Mesa hardware, you can home to index with a step/dir system
and the right firmware (that includes step/dir index support)
and the right firmware (that includes step/dir index support)
Please Log in or Create an account to join the conversation.
08 Apr 2023 16:15 #268616
by blazini36
I did not verify the delay myself but I did reach out to DMM about it last week and referenced this thread. They did seem to take it seriously. I assume they'll get back to me next week. I don't think they understood the complaint last time someone mentioned it because they blamed it on the analog control itself, where it's actually the emulated encoder output. I always have a DYN4 and 750w motor sitting on my bench for testing other projects so if I have to replicate the above test with a bench scope I easily can.
Replied by blazini36 on topic Running servos in position mode instead of analog
That's not quite right. In analog, the drive is running in velocity mode The drive itself isn't seeing the delay of the emulated encoder output or else analog control would be useless for for even basic applications which isn't the case. The problem here is in velocity mode LinuxCNC must close the position loop and since it does see that delay this is where the problems would arise. It's trying to adjust the control for something that happened at least 3ms ago.Yes it became a pretty big deal as the servo drive would try and make up for this delay and which would result in the drive faulting out. They work fine in S+D but there is no feedback to the control.
I would like to eventually setup some basic ability for Linux to read the encoder feedback for the purposes of homing on index. I have also looked at trying Delta servos but the project has stalled recently. Hopefully this spring I can get it over the finish line and have a working system.
I don't understand what you mean there. The emulated encoder output still works in S+D, That's how I use these drives, I do rigid tapping with a DYN4 on the spindle. In S+D the drive is running in position mode and you don't actually even need to feedback the encoder, it would work just the same as a stepper motor control wise except the drive is aware if it has a position error and can correct or fault. But you can feedback the encoder just the same as analog. The delay probably wouldn't be as big a deal in S+D but it's still not what you want to see.They work fine in S+D but there is no feedback to the control.
I did not verify the delay myself but I did reach out to DMM about it last week and referenced this thread. They did seem to take it seriously. I assume they'll get back to me next week. I don't think they understood the complaint last time someone mentioned it because they blamed it on the analog control itself, where it's actually the emulated encoder output. I always have a DYN4 and 750w motor sitting on my bench for testing other projects so if I have to replicate the above test with a bench scope I easily can.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
- tommylight
-
- Offline
- Moderator
-
Less
More
- Posts: 18562
- Thank you received: 6218
12 Nov 2023 22:17 #285206
by tommylight
Replied by tommylight on topic Running servos in position mode instead of analog
Would be nice if any of you could test in S/D mode with encoder feedback to LinuxCNC, i wonder how much would that be affected, if at all, as it might be something in the firmware that might cause it in velocity mode but be fine in S/D.
Wishful thinking?
Wishful thinking?
Please Log in or Create an account to join the conversation.
13 Nov 2023 00:48 #285217
by Michael
Replied by Michael on topic Running servos in position mode instead of analog
I did do that when I was swapping from velocity to position. I still have the encoders hooked up to a 7i77 as I would like to use the index signal at some point. The delay was still there. Not sure if I have a screenshot saved to the machine. Other projects have pulled me away from finishing that one.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
13 Nov 2023 01:51 #285222
by blazini36
DYN4 uses a 17bit encoder which is basically 131072 PPR. If you set it to 1000 PPR output then it has to actually figure out what and when to send to the encoder output. As I showed you in the other thread, the DMM guy sent me a scope pic of a 1ms delay, that sounds reasonable for an emulated output considering the motor actually has to start moving first.
For one, using halscope is not the greatest way to check this, it's easily done via an actual scope. For two you might ask how it compares to other servo drives of this class because if it's somewhere about the same then you have to ask "why can't my LinuxCNC setup handle this properly"
Replied by blazini36 on topic Running servos in position mode instead of analog
This likely makes no difference as like I said to you in the other thread, it's not an actual encoder output. It's something the drive's MCU is calculating then sending out.Would be nice if any of you could test in S/D mode with encoder feedback to LinuxCNC, i wonder how much would that be affected, if at all, as it might be something in the firmware that might cause it in velocity mode but be fine in S/D.
Wishful thinking?
DYN4 uses a 17bit encoder which is basically 131072 PPR. If you set it to 1000 PPR output then it has to actually figure out what and when to send to the encoder output. As I showed you in the other thread, the DMM guy sent me a scope pic of a 1ms delay, that sounds reasonable for an emulated output considering the motor actually has to start moving first.
For one, using halscope is not the greatest way to check this, it's easily done via an actual scope. For two you might ask how it compares to other servo drives of this class because if it's somewhere about the same then you have to ask "why can't my LinuxCNC setup handle this properly"
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
13 Nov 2023 03:09 #285228
by Michael
Replied by Michael on topic Running servos in position mode instead of analog
It's great he sent you a picture of a 1ms delay. But he told me the same thing. And when I asked why it's 5ms he could only point fingers at Linuxcnc but couldn't articulate any particular thing to look at that caused the delay.
Plenty of other setups use Linuxcnc and a 7i77 board but don't have this issue. I couldn't find a single example of someone using DMM with accurate encoder feedback. The only ones I found were using galil controllers and they used filters to remove the delays they were getting back from the encoder section.
And regardless of using a scope or not the servos would over current fault attempting to catch up to their commanded speed .I could never get them to run full speed in velocity mode with a closed loop.
You have to ask yourself "why is no one else having the same issue running Linuxcnc and servos in closed loop". Maybe the issue is with DMM servos not being well built.
Plenty of other setups use Linuxcnc and a 7i77 board but don't have this issue. I couldn't find a single example of someone using DMM with accurate encoder feedback. The only ones I found were using galil controllers and they used filters to remove the delays they were getting back from the encoder section.
And regardless of using a scope or not the servos would over current fault attempting to catch up to their commanded speed .I could never get them to run full speed in velocity mode with a closed loop.
You have to ask yourself "why is no one else having the same issue running Linuxcnc and servos in closed loop". Maybe the issue is with DMM servos not being well built.
Please Log in or Create an account to join the conversation.
Time to create page: 0.124 seconds