8i20/BLDC component, limited spindle speed
17 Jul 2018 15:59 #114399
by andypugh
How are you using setsserial? Are you monitoring the results using dmesg? (for best results open a separate terminal window and use "tail -f /var/log/kern.log" But only if using RTAI. )
Replied by andypugh on topic 8i20/BLDC component, limited spindle speed
started to to make these changes last night but it didn't seem to be going well. nvkqil I could not get to set at 200000. Is there an internal limit for the value? It seemed as though I was just having issues with setserial again, but other parameters were setting easier.
How are you using setsserial? Are you monitoring the results using dmesg? (for best results open a separate terminal window and use "tail -f /var/log/kern.log" But only if using RTAI. )
Please Log in or Create an account to join the conversation.
17 Jul 2018 16:09 - 17 Jul 2018 16:19 #114401
by PCW
Replied by PCW on topic 8i20/BLDC component, limited spindle speed
The integral limit are 16 bit values, they are fine at default 32000 value
Last edit: 17 Jul 2018 16:19 by PCW.
Please Log in or Create an account to join the conversation.
17 Jul 2018 16:15 - 17 Jul 2018 16:15 #114402
by andypugh
I think that (for extra fun) the two values are using a different scaling.
I think that this
Probably wants to be
Note the change in bit-length.
Replied by andypugh on topic 8i20/BLDC component, limited spindle speed
The integral limit is a 16 bit value, its fine at its default
I think that (for extra fun) the two values are using a different scaling.
I think that this
{LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,10,"none","nvkqp"},
{LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,14,"none","nvkqihi"},
{LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,12,"none","nvkqilo"},
{LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,16,"none","nvkqil"},
{LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,18,"none","nvkdp"},
{LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,22,"none","nvkdihi"},
{LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,20,"none","nvkdilo"},
{LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,24,"none","nvkdil"}
Probably wants to be
{LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,10,"none","nvkqp"},
{LBP_DATA,0x20,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,12,"none","nvkqi"},
{LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,16,"none","nvkqil"},
{LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,18,"none","nvkdp"},
{LBP_DATA,0x20,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,20,"none","nvkdi"},
{LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,24,"none","nvkdil"}
Note the change in bit-length.
Last edit: 17 Jul 2018 16:15 by andypugh.
Please Log in or Create an account to join the conversation.
17 Jul 2018 17:13 #114408
by blazini36
I run the command for the halcmd shell,
Then I load up a source hal file that just contains enough to get the 7i76e and 8i20 started.
I run the "set" command
It errors out which is normal, it forces the 8i20 to disconnect
Power cycle the 8i20, but nothing else
restart the hal shell and source hal file. run show param *8i20* and check for changes
I did notice that sometimes using the decimal value for the parameter sometimes sets the wrong value. If I set "150000", it may take the change but sometimes the resulting hex value that it displays is incorrect
I havent really bothered with dmesg because I have to powercycle and restart hal anyway so it's not like I can throw parameters at it until it takes
Replied by blazini36 on topic 8i20/BLDC component, limited spindle speed
started to to make these changes last night but it didn't seem to be going well. nvkqil I could not get to set at 200000. Is there an internal limit for the value? It seemed as though I was just having issues with setserial again, but other parameters were setting easier.
How are you using setsserial? Are you monitoring the results using dmesg? (for best results open a separate terminal window and use "tail -f /var/log/kern.log" But only if using RTAI. )
I run the command for the halcmd shell,
Then I load up a source hal file that just contains enough to get the 7i76e and 8i20 started.
I run the "set" command
It errors out which is normal, it forces the 8i20 to disconnect
Power cycle the 8i20, but nothing else
restart the hal shell and source hal file. run show param *8i20* and check for changes
I did notice that sometimes using the decimal value for the parameter sometimes sets the wrong value. If I set "150000", it may take the change but sometimes the resulting hex value that it displays is incorrect
I havent really bothered with dmesg because I have to powercycle and restart hal anyway so it's not like I can throw parameters at it until it takes
Please Log in or Create an account to join the conversation.
17 Jul 2018 21:53 #114420
by blazini36
Replied by blazini36 on topic 8i20/BLDC component, limited spindle speed
So the manual in incorrect as the max number would be around 65000?The integral limit are 16 bit values, they are fine at default 32000 value
Please Log in or Create an account to join the conversation.
17 Jul 2018 21:54 #114422
by blazini36
Replied by blazini36 on topic 8i20/BLDC component, limited spindle speed
Does any of this relate to any gains spindle speed wise?
The integral limit is a 16 bit value, its fine at its default
I think that (for extra fun) the two values are using a different scaling.
I think that this{LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,10,"none","nvkqp"}, {LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,14,"none","nvkqihi"}, {LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,12,"none","nvkqilo"}, {LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,16,"none","nvkqil"}, {LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,18,"none","nvkdp"}, {LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,22,"none","nvkdihi"}, {LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,20,"none","nvkdilo"}, {LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,24,"none","nvkdil"}
Probably wants to be{LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,10,"none","nvkqp"}, {LBP_DATA,0x20,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,12,"none","nvkqi"}, {LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,16,"none","nvkqil"}, {LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,18,"none","nvkdp"}, {LBP_DATA,0x20,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,20,"none","nvkdi"}, {LBP_DATA,0x10,LBP_NONVOL_UNSIGNED,LBP_OUT,0,0,24,"none","nvkdil"}
Note the change in bit-length.
Please Log in or Create an account to join the conversation.
18 Jul 2018 11:57 #114462
by andypugh
You only need to power-cycle the 8i20, and ought to be able to reload the setsserial command without having to exit HAL.
(possibly unloadrt / loadrt hm2_pci between iterations)
Replied by andypugh on topic 8i20/BLDC component, limited spindle speed
I havent really bothered with dmesg because I have to powercycle and restart hal anyway so it's not like I can throw parameters at it until it takes
You only need to power-cycle the 8i20, and ought to be able to reload the setsserial command without having to exit HAL.
(possibly unloadrt / loadrt hm2_pci between iterations)
Please Log in or Create an account to join the conversation.
18 Jul 2018 21:30 #114495
by blazini36
What I'm getting from this is there's not a whole lot to be done to get a higher speed from the 8i20. Was hopeful about the PI gains, but it looks like that may be a dead end.
I'm not fully upto snuff on AC servos but is there any advantage to tossing the 6pole BLDC and picking up a ~2000w servo for the spindle, speed wise? I don't recall seeing pole counts generally listed when buying servos. One thing I'm a little weary of is I wasn't able to get the BLDC+encoder(=servo) to work well in any mode other than qh. Any thoughts on 3000+ rpms with a 2kw AC servo?
Replied by blazini36 on topic 8i20/BLDC component, limited spindle speed
cntrl+c to exit hal, Two more button presses to start hal and load source hm2 file isn't a huge difference. That's not really a big deal if the set took more frequently, which it actually may with the faster servo thread I think.
I havent really bothered with dmesg because I have to powercycle and restart hal anyway so it's not like I can throw parameters at it until it takes
You only need to power-cycle the 8i20, and ought to be able to reload the setsserial command without having to exit HAL.
(possibly unloadrt / loadrt hm2_pci between iterations)
What I'm getting from this is there's not a whole lot to be done to get a higher speed from the 8i20. Was hopeful about the PI gains, but it looks like that may be a dead end.
I'm not fully upto snuff on AC servos but is there any advantage to tossing the 6pole BLDC and picking up a ~2000w servo for the spindle, speed wise? I don't recall seeing pole counts generally listed when buying servos. One thing I'm a little weary of is I wasn't able to get the BLDC+encoder(=servo) to work well in any mode other than qh. Any thoughts on 3000+ rpms with a 2kw AC servo?
Please Log in or Create an account to join the conversation.
18 Jul 2018 22:48 #114502
by andypugh
Replied by andypugh on topic 8i20/BLDC component, limited spindle speed
You could try increasing the lead-angle.
linuxcnc.org/docs/2.7/html/man/man9/bldc.9.html
That was added by John Kasunich (IIRC) and he set up a lincurve component to increase the lead angle at higher RPMs.
Set if up for 90 at low speeds and a bit more at high speeds.
linuxcnc.org/docs/2.7/html/man/man9/bldc.9.html
That was added by John Kasunich (IIRC) and he set up a lincurve component to increase the lead angle at higher RPMs.
Set if up for 90 at low speeds and a bit more at high speeds.
Please Log in or Create an account to join the conversation.
18 Jul 2018 23:14 - 18 Jul 2018 23:33 #114503
by PCW
Replied by PCW on topic 8i20/BLDC component, limited spindle speed
We've run the 8I20 over 6000 RPM with a 4 pole motor and LinuxCNC/BLDC
I suggested tuning changes because you stated that changing the servo thread rate didn't make a substantial difference (which is quite surprising) and I thought it might be that you had a low inductance motor so the default current loop tuning parameters were too high. This can lead to oscillations/ringing on the steps in commutations
Can you try a 2 KHz servo thread again with no other changes?
Or as Andy suggests, adjusting the lead angle when its running at high speed to see if the commutation delay is really the issue
or there's something else limiting your speed (motor voltage encoder setting etc, etc)
I suggested tuning changes because you stated that changing the servo thread rate didn't make a substantial difference (which is quite surprising) and I thought it might be that you had a low inductance motor so the default current loop tuning parameters were too high. This can lead to oscillations/ringing on the steps in commutations
Can you try a 2 KHz servo thread again with no other changes?
Or as Andy suggests, adjusting the lead angle when its running at high speed to see if the commutation delay is really the issue
or there's something else limiting your speed (motor voltage encoder setting etc, etc)
Last edit: 18 Jul 2018 23:33 by PCW.
Please Log in or Create an account to join the conversation.
Time to create page: 0.209 seconds