3pwmgen or 8i20 control loop
- pavel7890
- Offline
- New Member
Less
More
- Posts: 17
- Thank you received: 2
26 Feb 2013 07:22 #30581
by pavel7890
3pwmgen or 8i20 control loop was created by pavel7890
I did some perfomance calculations of Linuxcnc with 7i43 + either 3pwm generators or 8i20 driver.
Assuming 1ms servo loop and AC motor with 8 poles:
For 120rpm (2Hz mech. and 8Hz el. rotations), Linuxcnc changes 125 times value of each A,B,C phase within one electrical revolution.
For 3000rpm (50Hz and 200Hz) , its only 5 times!
First of all, please correct me if I am wrong.
Since I am not experienced with AC servo control, I am not sure what minimal granularity of phase revolution control is satisfactory for sinusoidal commutation.
Assuming 1ms servo loop and AC motor with 8 poles:
For 120rpm (2Hz mech. and 8Hz el. rotations), Linuxcnc changes 125 times value of each A,B,C phase within one electrical revolution.
For 3000rpm (50Hz and 200Hz) , its only 5 times!
First of all, please correct me if I am wrong.
Since I am not experienced with AC servo control, I am not sure what minimal granularity of phase revolution control is satisfactory for sinusoidal commutation.
Please Log in or Create an account to join the conversation.
- PCW
- Offline
- Moderator
Less
More
- Posts: 17904
- Thank you received: 4774
26 Feb 2013 09:18 - 26 Feb 2013 09:58 #30588
by PCW
Replied by PCW on topic 3pwmgen or 8i20 control loop
Yes, you cannot do software commutation for higher speed motors very well
at 1 KHz servo thread. About 4 KHz (so 18 degree steps) is fine for most servos
however. This does meant that a 7I43 is not a good choice for software commutation
(except for lower speed and linear motors) as its access time limits use at
high servo thread rates.
I should note that 18 degree steps will result in less than 5% torque ripple
(and there are some simple tricks with BLDC to reduce this to less than 1.5%)
For a torque control loop (like 8I20 control), 4KHz is almost a requirement.
In the next version of 8I20 firmware (as a standard sserial device)
it will have a velocity parameter so the commutation is extrapolated
at 1 KHz servo thread. About 4 KHz (so 18 degree steps) is fine for most servos
however. This does meant that a 7I43 is not a good choice for software commutation
(except for lower speed and linear motors) as its access time limits use at
high servo thread rates.
I should note that 18 degree steps will result in less than 5% torque ripple
(and there are some simple tricks with BLDC to reduce this to less than 1.5%)
For a torque control loop (like 8I20 control), 4KHz is almost a requirement.
In the next version of 8I20 firmware (as a standard sserial device)
it will have a velocity parameter so the commutation is extrapolated
Last edit: 26 Feb 2013 09:58 by PCW.
Please Log in or Create an account to join the conversation.
- akb1212
- Offline
- Premium Member
Less
More
- Posts: 108
- Thank you received: 12
04 Aug 2014 04:52 #49469
by akb1212
Replied by akb1212 on topic 3pwmgen or 8i20 control loop
This is an old thread, I know. But I'd be really interested in knowing how this development have gone?
And I would be even more interested in knowing if it's only a firmware update that will be needed for this change to be done to my 8i20. Meaning I can use the one I bought a few years back, or if new hardware is needed.
When I'm at it, I know I need to update the firmware on my 8i20. But I find the instructions on how to do that as well as the available software inadequate. I just downloaded the software zip file linked on your website to the 8i20. And the files in there were only windows (and DOS) software for updating. No actual firmware files, and no Linux version of the software. And the folder in there is last modified late 2011..... which is quite old?
I think I have read about and found newer version of this software (and firmware files) here on this forum. But can't find that post right now.
I found one file on my HD named "sserial". I must have downloaded if from the forum a while back (long enough ago so I don't remember where I found it). Why isn't this file linked in your official website to 8i20?
In the readme for the sserial software there are several things that is a bit confusing. First off it says it will only work if you have 2.6 (this was from before 2.6 was released as the official version I believe) of LinuxCNC. Will that work with the present released version of 2.6?
And why does it need that version? Do I still need to install the developer files? Does it exist a manual for how to do that in 2.6 (present, non developer version)?
Will this be changed since I have a completely different version of Linux (the new Debian version from the Linuxcnc site)?
I also need to know the ID of the hardware you want to update (which I understand why). But there are no instructions on how to find that..... which I would need in order to do something like this....
And I need to have a version of sserial that is >33. How can I check that?
I tried to find info on this on the wiki, but wasn't able to find what I needed. Is there a location where this kind of information is collected? As it is now it seems to me that the info on this is spread all over this forum, and quite difficult to access as you need it.
And I would appreciate a "downloads" section on the Mesanet.com website (or on linuxcnc.org) with all files of common interest!
Preferably also with guides on how to upgrade firmware and such.
And a hardware and firmware revision history and overview.
And all *.bit and *.xml files and such.
This could make the whole system that much more accessible for non programmers like me.
Anders
And I would be even more interested in knowing if it's only a firmware update that will be needed for this change to be done to my 8i20. Meaning I can use the one I bought a few years back, or if new hardware is needed.
When I'm at it, I know I need to update the firmware on my 8i20. But I find the instructions on how to do that as well as the available software inadequate. I just downloaded the software zip file linked on your website to the 8i20. And the files in there were only windows (and DOS) software for updating. No actual firmware files, and no Linux version of the software. And the folder in there is last modified late 2011..... which is quite old?
I think I have read about and found newer version of this software (and firmware files) here on this forum. But can't find that post right now.
I found one file on my HD named "sserial". I must have downloaded if from the forum a while back (long enough ago so I don't remember where I found it). Why isn't this file linked in your official website to 8i20?
In the readme for the sserial software there are several things that is a bit confusing. First off it says it will only work if you have 2.6 (this was from before 2.6 was released as the official version I believe) of LinuxCNC. Will that work with the present released version of 2.6?
And why does it need that version? Do I still need to install the developer files? Does it exist a manual for how to do that in 2.6 (present, non developer version)?
Will this be changed since I have a completely different version of Linux (the new Debian version from the Linuxcnc site)?
I also need to know the ID of the hardware you want to update (which I understand why). But there are no instructions on how to find that..... which I would need in order to do something like this....
And I need to have a version of sserial that is >33. How can I check that?
I tried to find info on this on the wiki, but wasn't able to find what I needed. Is there a location where this kind of information is collected? As it is now it seems to me that the info on this is spread all over this forum, and quite difficult to access as you need it.
And I would appreciate a "downloads" section on the Mesanet.com website (or on linuxcnc.org) with all files of common interest!
Preferably also with guides on how to upgrade firmware and such.
And a hardware and firmware revision history and overview.
And all *.bit and *.xml files and such.
This could make the whole system that much more accessible for non programmers like me.
Anders
Please Log in or Create an account to join the conversation.
- PCW
- Offline
- Moderator
Less
More
- Posts: 17904
- Thank you received: 4774
04 Aug 2014 05:27 #49472
by PCW
Replied by PCW on topic 3pwmgen or 8i20 control loop
The 8I20 has not had the velocity interpolation added, but the BLDC component
has been improved so that it advances the commutation angle based on velocity
so it splits the difference between leading and lagging errors. This reduces the previously
calculated commutation angle error by close to a factor of 2, making it unimportant for most systems with servo threads of 2 KHz or above (which are typically needed anyway for a torque mode drives).
The sserisl .zip file has firmware and instructions and scripts for updating most of the
sserial cards
The scripts require the setsserial utility which is only part of linuxcnc 2.6 and above
The README file in the sserial.zip mentions how to determine
sserial firmware version of your host FPGA card. Remote sserial versions
are available as a HAL parameter on 2.6
has been improved so that it advances the commutation angle based on velocity
so it splits the difference between leading and lagging errors. This reduces the previously
calculated commutation angle error by close to a factor of 2, making it unimportant for most systems with servo threads of 2 KHz or above (which are typically needed anyway for a torque mode drives).
The sserisl .zip file has firmware and instructions and scripts for updating most of the
sserial cards
The scripts require the setsserial utility which is only part of linuxcnc 2.6 and above
The README file in the sserial.zip mentions how to determine
sserial firmware version of your host FPGA card. Remote sserial versions
are available as a HAL parameter on 2.6
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
Less
More
- Posts: 23559
- Thank you received: 4858
10 Aug 2014 18:14 #49646
by andypugh
"setsserial" is part of LinuxCNC, not part of the Mesanet code. It is part of the latest (2.6) release of LinuxCNC.
The manual page is here; www.linuxcnc.org/docs/html/man/man9/setsserial.9.html
Replied by andypugh on topic 3pwmgen or 8i20 control loop
I think I have read about and found newer version of this software (and firmware files) here on this forum. But can't find that post right now.
I found one file on my HD named "sserial". I must have downloaded if from the forum a while back (long enough ago so I don't remember where I found it). Why isn't this file linked in your official website to 8i20?
"setsserial" is part of LinuxCNC, not part of the Mesanet code. It is part of the latest (2.6) release of LinuxCNC.
The manual page is here; www.linuxcnc.org/docs/html/man/man9/setsserial.9.html
Please Log in or Create an account to join the conversation.
Moderators: PCW, jmelson
Time to create page: 0.058 seconds