getting started with 8i20
18 Jan 2015 08:17 - 18 Jan 2015 08:18 #55134
by andypugh
It is hard to say. You may need to measure it.
That needs to be right too.
Open your config and enable the drives.
Then open a terminal window and type
Now manually turn the motor shaft by hand and feel how many "detentes" there are. This tell you how many poles the motor has.
now rotate the motor by one full revolution
This last command should show how many encoder counts a full turn of the motor is.
Then quit linuxCNC before the motor gets too hot.
Most of the HAL pin names I have used will be different in your config. Use tab-completion to get the right pin names.
Replied by andypugh on topic getting started with 8i20
setp hm2_7i43.0.encoder.01.encoder.scale 2500 # do you think I put a right value regarding the encoder?
It is hard to say. You may need to measure it.
setp.bldc.0.poles 4 # put randomly
That needs to be right too.
Open your config and enable the drives.
Then open a terminal window and type
halcmd
unlinkp hm2_5i25.0.8i20.01.current
setp hm2_5i25.0.8i20.00.current 0.1
Now manually turn the motor shaft by hand and feel how many "detentes" there are. This tell you how many poles the motor has.
setp hm2_5i25.0.encoder.00 reset 1
show pin hm2_5i25.0.encoder.counts
show pin hm2_5i25.0.encoder.00.count
exit
This last command should show how many encoder counts a full turn of the motor is.
Then quit linuxCNC before the motor gets too hot.
Most of the HAL pin names I have used will be different in your config. Use tab-completion to get the right pin names.
Last edit: 18 Jan 2015 08:18 by andypugh.
The following user(s) said Thank You: clematites93
Please Log in or Create an account to join the conversation.
- clematites93
- Offline
- Senior Member
Less
More
- Posts: 62
- Thank you received: 0
19 Jan 2015 02:55 #55148
by clematites93
Replied by clematites93 on topic getting started with 8i20
Hi PCW,
if I understood well
bldc.0.scale = hm2_7i43.0.encoder.01.scale x bldc.0.poles
examples :
encoder = 2500 pts/t
nbre of poles = 4
.... encoder.01.scale = 2500
..... bldc.0.scale = 10000
encoder = 10000 pts/t
nbre of poles = 6
.... encoder.01.scale = 10000
..... bldc.0.scale = 60000
Question : is it correct ?
if I understood well
bldc.0.scale = hm2_7i43.0.encoder.01.scale x bldc.0.poles
examples :
encoder = 2500 pts/t
nbre of poles = 4
.... encoder.01.scale = 2500
..... bldc.0.scale = 10000
encoder = 10000 pts/t
nbre of poles = 6
.... encoder.01.scale = 10000
..... bldc.0.scale = 60000
Question : is it correct ?
Please Log in or Create an account to join the conversation.
19 Jan 2015 14:25 - 19 Jan 2015 14:25 #55157
by PCW
Replied by PCW on topic getting started with 8i20
The BLDC manual page defines bldc.N.scale as:
The number of encoder counts per rotor revolution.
So with a 2500 line quadrature encoder this would be 2500 x4 or 10000
if you are not sure, watch the raw encoder count and turn the shaft 1 turn
The number of encoder counts per rotor revolution.
So with a 2500 line quadrature encoder this would be 2500 x4 or 10000
if you are not sure, watch the raw encoder count and turn the shaft 1 turn
Last edit: 19 Jan 2015 14:25 by PCW.
The following user(s) said Thank You: clematites93
Please Log in or Create an account to join the conversation.
- clematites93
- Offline
- Senior Member
Less
More
- Posts: 62
- Thank you received: 0
20 Jan 2015 04:34 #55185
by clematites93
Replied by clematites93 on topic getting started with 8i20
Hello Andy,
It's not very clear for me how to get the halcmd prompt when AXIS is running when I "open a terminal window".
I tried to run halrun while AXIS was running but I got the following error: 'halrun realtime already running. Use "hal -U" to stop existing realtime session'
Is there another way to issue HAL commands while AXIS is running ?
It's not very clear for me how to get the halcmd prompt when AXIS is running when I "open a terminal window".
I tried to run halrun while AXIS was running but I got the following error: 'halrun realtime already running. Use "hal -U" to stop existing realtime session'
Is there another way to issue HAL commands while AXIS is running ?
Please Log in or Create an account to join the conversation.
20 Jan 2015 15:27 #55200
by andypugh
Sorry, I forgot something.
The command is
Replied by andypugh on topic getting started with 8i20
Is there another way to issue HAL commands while AXIS is running ?
Sorry, I forgot something.
The command is
halcmd -kf
Please Log in or Create an account to join the conversation.
- clematites93
- Offline
- Senior Member
Less
More
- Posts: 62
- Thank you received: 0
21 Jan 2015 03:39 #55227
by clematites93
Replied by clematites93 on topic getting started with 8i20
Hello
Thank you Andy, for this precision (halcmd -kf). Now, it is very comfortable to modify the Hal ( when Axis "turns").
My motor "vibrates".
Questions --> For the first tries, which values to give to Ferror and Min_Ferror ?
Halscope is it useful at the beginning ?
Thank you Andy, for this precision (halcmd -kf). Now, it is very comfortable to modify the Hal ( when Axis "turns").
My motor "vibrates".
Questions --> For the first tries, which values to give to Ferror and Min_Ferror ?
Halscope is it useful at the beginning ?
Please Log in or Create an account to join the conversation.
21 Jan 2015 15:30 #55233
by andypugh
It sounds like you need to tune PID now. Use f-error values of 20mm or so at first.
You probably need to get the motor stable and following commands before using Halscope.
If you can use index homing it is likely to be more consistent.
Replied by andypugh on topic getting started with 8i20
Now, it is very comfortable to modify the Hal ( when Axis "turns").
My motor "vibrates".
Questions --> For the first tries, which values to give to Ferror and Min_Ferror ?
Halscope is it useful at the beginning ?
It sounds like you need to tune PID now. Use f-error values of 20mm or so at first.
You probably need to get the motor stable and following commands before using Halscope.
If you can use index homing it is likely to be more consistent.
The following user(s) said Thank You: clematites93
Please Log in or Create an account to join the conversation.
- clematites93
- Offline
- Senior Member
Less
More
- Posts: 62
- Thank you received: 0
22 Jan 2015 04:53 #55251
by clematites93
Replied by clematites93 on topic getting started with 8i20
In the doubt, I "feed" the 8i20 with 60 volts but my motor can, probably (??), support 220 volts.
Just in case --> ... max_current 4
... min_current 4
.... scale 4
In Axis, if I click F2, the motor does not seem to "oscillate" for values of 1 < P < 10000.
Deadband 0.001 Max output 10 (is it correct ?)
But if I click (- or +) for an "incrément" of 0.1 mm, the motor does not turn correctly and an "error join" appears.
Sometimes, for certain values of P the motor turns a little then begins "vibrating" a few seconds.
If I increase I the motor "vibrate" even more.
Just in case --> ... max_current 4
... min_current 4
.... scale 4
In Axis, if I click F2, the motor does not seem to "oscillate" for values of 1 < P < 10000.
Deadband 0.001 Max output 10 (is it correct ?)
But if I click (- or +) for an "incrément" of 0.1 mm, the motor does not turn correctly and an "error join" appears.
Sometimes, for certain values of P the motor turns a little then begins "vibrating" a few seconds.
If I increase I the motor "vibrate" even more.
Please Log in or Create an account to join the conversation.
23 Jan 2015 15:23 #55284
by andypugh
Replied by andypugh on topic getting started with 8i20
Sorry for the slow replies I am on a skiing holiday.
You wouldn't necessarily expect oscillation without a move command. I would zero out the I and D and try to get some sort of controlled motion with just P
In Axis, if I click F2, the motor does not seem to "oscillate" for values of 1 < P < 10000.
You wouldn't necessarily expect oscillation without a move command. I would zero out the I and D and try to get some sort of controlled motion with just P
It is possible to get I term oscillations too. Try to get a responsive motor with just P and then make sure that it moves the same in both directions. If there is an asymmetry then you might have to do some more work on the bldc component parameters.If I increase I the motor "vibrate" even more.
The following user(s) said Thank You: clematites93
Please Log in or Create an account to join the conversation.
- clematites93
- Offline
- Senior Member
Less
More
- Posts: 62
- Thank you received: 0
24 Jan 2015 03:44 #55301
by clematites93
Replied by clematites93 on topic getting started with 8i20
Hello,
in man bldc, I read
Parameters
bldc. N.output-pattern
bldc. N.pattern
With halmeter I do not find these parameters.
My engine having 6 poles, just in case, I changed bldc.0.poles 6 for --> bldc.0.poles -6.
Now, in low speed, my engine seems "turns".
For example
At first I read 0.000 on the dro
for an "increment (+)" 1 mm, I read 1.001
for an "increment (-)" 1 mm, I read -1.003
(on average)
* For another engine, how "to write" a pattern bldc ?
For the moment,
F-error = 20
F-minerror = 0.05
P 10, I = 0 D= 0
Deadband = 0.001
to change I or D (little values) does not seem to improve something.
Nevertheless, Halscope (pin bldc.0.output )
show three oscillations of the same amplitude before getting "down again".
* What is necessary it to modify now?
in man bldc, I read
Parameters
bldc. N.output-pattern
bldc. N.pattern
With halmeter I do not find these parameters.
My engine having 6 poles, just in case, I changed bldc.0.poles 6 for --> bldc.0.poles -6.
Now, in low speed, my engine seems "turns".
For example
At first I read 0.000 on the dro
for an "increment (+)" 1 mm, I read 1.001
for an "increment (-)" 1 mm, I read -1.003
(on average)
* For another engine, how "to write" a pattern bldc ?
For the moment,
F-error = 20
F-minerror = 0.05
P 10, I = 0 D= 0
Deadband = 0.001
to change I or D (little values) does not seem to improve something.
Nevertheless, Halscope (pin bldc.0.output )
show three oscillations of the same amplitude before getting "down again".
* What is necessary it to modify now?
Please Log in or Create an account to join the conversation.
Time to create page: 0.135 seconds