×
Forum Header
mesa 5i25/7i77 Yaskawa servo
23 Mar 2019 13:14 #129359
by IanK
Replied by IanK on topic mesa 5i25/7i77 Yaskawa servo
Thanks Todd,
Had a good look for it in the HAL file but not there. I also looked it up in the “pins” listing and there is no more information. I am investigating the HAL pins via the config picker of Linux cnc, under the the “machine” tab. I understand you can also get there via the terminal, but I assume it is the same thing?
I’ve applied field voltage to all input pins 0 to 31 while watching x-neg-limit but no response anywhere. Watching any of the hm2-5i25.0.77i7.0 inputs while applying field voltage to the 7i77 terminals gets a response so I’ll assume the configwizard has omitted the expected instruction and I’ll edit them in. Picking any spare inputs I like! What is “x-hall-in “ used for? it’s taken.
Thanks again, it all helps to learn your way around the system.
Had a good look for it in the HAL file but not there. I also looked it up in the “pins” listing and there is no more information. I am investigating the HAL pins via the config picker of Linux cnc, under the the “machine” tab. I understand you can also get there via the terminal, but I assume it is the same thing?
I’ve applied field voltage to all input pins 0 to 31 while watching x-neg-limit but no response anywhere. Watching any of the hm2-5i25.0.77i7.0 inputs while applying field voltage to the 7i77 terminals gets a response so I’ll assume the configwizard has omitted the expected instruction and I’ll edit them in. Picking any spare inputs I like! What is “x-hall-in “ used for? it’s taken.
Thanks again, it all helps to learn your way around the system.
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Away
- Platinum Member
Less
More
- Posts: 5062
- Thank you received: 1436
23 Mar 2019 13:45 #129361
by Todd Zuercher
Replied by Todd Zuercher on topic mesa 5i25/7i77 Yaskawa servo
Did you create a config for your machine using PNCConfig?
Did you assign input pins to the limit switches there?
If you didn't have the 7i77 powered up when creating the config, you would not be given the screens where the isolated digital OI are configured.
x-hall-in sounds like an input for a hall effect switch. Where did the name come from? If it is a signal name they are arbitrary and can be anything you might like them to be. A new signal name is created by any hal net command that is followed by a text string that is not already used as a signal name. (The signal names are completely up to you or what ever created the hal file.)
Did you assign input pins to the limit switches there?
If you didn't have the 7i77 powered up when creating the config, you would not be given the screens where the isolated digital OI are configured.
x-hall-in sounds like an input for a hall effect switch. Where did the name come from? If it is a signal name they are arbitrary and can be anything you might like them to be. A new signal name is created by any hal net command that is followed by a text string that is not already used as a signal name. (The signal names are completely up to you or what ever created the hal file.)
The following user(s) said Thank You: PCW
Please Log in or Create an account to join the conversation.
23 Mar 2019 15:58 - 23 Mar 2019 16:09 #129373
by PCW
Replied by PCW on topic mesa 5i25/7i77 Yaskawa servo
Actually, pncconf doesn't actually care if the hardware is there except for live tests
I just created a hal/ini file set without a 5I25 or 7I77...
Are you sure you actually assigned the inputs in pncconf?
Here's some sections of a hal file I created with pncconf:
First these match the 7I77 inputs to function mapping i selected in pncconf
# external input signals
# --- MIN-X ---
net min-x <= hm2_5i25.0.7i77.0.0.input-00
# --- MIN-Y ---
net min-y <= hm2_5i25.0.7i77.0.0.input-01
# --- MIN-Z ---
net min-z <= hm2_5i25.0.7i77.0.0.input-02
# --- MAX-X ---
net max-x <= hm2_5i25.0.7i77.0.0.input-03
# --- MAX-Y ---
net max-y <= hm2_5i25.0.7i77.0.0.input-04
# --- MAX-Z ---
net max-z <= hm2_5i25.0.7i77.0.0.input-05
# --- HOME-X ---
net home-x <= hm2_5i25.0.7i77.0.0.input-06
# --- HOME-Y ---
net home-y <= hm2_5i25.0.7i77.0.0.input-07
# --- HOME-Z ---
net home-z <= hm2_5i25.0.7i77.0.0.input-08
Then these signals are connected to LinuxCNC motion component (in the per axis/joint section of the hal file)
# ---setup home / limit switch signals---
net home-x => joint.0.home-sw-in
net min-x => joint.0.neg-lim-sw-in
net max-x => joint.0.pos-lim-sw-in
# ---setup home / limit switch signals---
net home-y => joint.1.home-sw-in
net min-y => joint.1.neg-lim-sw-in
net max-y => joint.1.pos-lim-sw-in
# ---setup home / limit switch signals---
net home-z => joint.2.home-sw-in
net min-z => joint.2.neg-lim-sw-in
net max-z => joint.2.pos-lim-sw-in
Note that this is with LinuxCNC 2.8 so you will have "axis" pins rather than "joint" pins if you are using 2.7
I just created a hal/ini file set without a 5I25 or 7I77...
Are you sure you actually assigned the inputs in pncconf?
Here's some sections of a hal file I created with pncconf:
First these match the 7I77 inputs to function mapping i selected in pncconf
# external input signals
# --- MIN-X ---
net min-x <= hm2_5i25.0.7i77.0.0.input-00
# --- MIN-Y ---
net min-y <= hm2_5i25.0.7i77.0.0.input-01
# --- MIN-Z ---
net min-z <= hm2_5i25.0.7i77.0.0.input-02
# --- MAX-X ---
net max-x <= hm2_5i25.0.7i77.0.0.input-03
# --- MAX-Y ---
net max-y <= hm2_5i25.0.7i77.0.0.input-04
# --- MAX-Z ---
net max-z <= hm2_5i25.0.7i77.0.0.input-05
# --- HOME-X ---
net home-x <= hm2_5i25.0.7i77.0.0.input-06
# --- HOME-Y ---
net home-y <= hm2_5i25.0.7i77.0.0.input-07
# --- HOME-Z ---
net home-z <= hm2_5i25.0.7i77.0.0.input-08
Then these signals are connected to LinuxCNC motion component (in the per axis/joint section of the hal file)
# ---setup home / limit switch signals---
net home-x => joint.0.home-sw-in
net min-x => joint.0.neg-lim-sw-in
net max-x => joint.0.pos-lim-sw-in
# ---setup home / limit switch signals---
net home-y => joint.1.home-sw-in
net min-y => joint.1.neg-lim-sw-in
net max-y => joint.1.pos-lim-sw-in
# ---setup home / limit switch signals---
net home-z => joint.2.home-sw-in
net min-z => joint.2.neg-lim-sw-in
net max-z => joint.2.pos-lim-sw-in
Note that this is with LinuxCNC 2.8 so you will have "axis" pins rather than "joint" pins if you are using 2.7
Last edit: 23 Mar 2019 16:09 by PCW. Reason: Wow, the forums editor crashes when you do large edits...
Please Log in or Create an account to join the conversation.
27 Mar 2019 04:37 #129751
by IanK
Replied by IanK on topic mesa 5i25/7i77 Yaskawa servo
Thanks Todd, thanks Andy,
Yes I’d missed explicitly assigning inputs. Previously Pncconf had prompted me for missing information. Not alway!
I’m setting firmware as “7i77X2 with one 7i77” (which is a little ambiguous ?)
And then under the tab “7i77 I/O (ss#0)" I am now able to assign the inputs on TB7 and TB8
As a newcomer I’m finding some of the labels on the pncconf a bit cryptic.
For instance “I/O connector 2” tab is for assigning GPIO inputs 017 to 033. This appears to double up, TB2 is for field power on the 7i77?
And then on the tab where I assign the X,Y and Z encoders I have another option to assign 014, 015 and 016 GPIO inputs and outputs?
But all good, getting closer to knowing my way around the HAL code.
Yes I’d missed explicitly assigning inputs. Previously Pncconf had prompted me for missing information. Not alway!
I’m setting firmware as “7i77X2 with one 7i77” (which is a little ambiguous ?)
And then under the tab “7i77 I/O (ss#0)" I am now able to assign the inputs on TB7 and TB8
As a newcomer I’m finding some of the labels on the pncconf a bit cryptic.
For instance “I/O connector 2” tab is for assigning GPIO inputs 017 to 033. This appears to double up, TB2 is for field power on the 7i77?
And then on the tab where I assign the X,Y and Z encoders I have another option to assign 014, 015 and 016 GPIO inputs and outputs?
But all good, getting closer to knowing my way around the HAL code.
Please Log in or Create an account to join the conversation.
16 Jul 2019 11:30 #139549
by IanK
Replied by IanK on topic mesa 5i25/7i77 Yaskawa servo
Back on the project after a bit of a break. Have made the essential connections between the 7i77 and the machine. We ran the encoder outputs, which are reprocessed within the Yaskawa drive, through an SN75175 line driver to get the 5 volt levels required by the 7i77.
We've loaded a HAL file generated by the config wizard and are hoping to start by being able to jog. The jog facility on linuxcnc is however not activated. Lables are in gray and unresponsive.
However, by decoupling hm2_5i25.0.7i77.0.1.analogout0 in the HAL file we are able to control the motors by sending voltage signals via "Test HAL command" i.e. "setp hm2_5i25.0.7i77.01.analogout0 1.5 etc...." The DRO reflects motor speed and direction so we are assuming encoder signals are being processed OK.
We have set the axis.0.jog-enable to TRUE but no luck. What else needs to be in order? How do we get the JOG facility working?
Thanks for your help.
Cheers Ian
We've loaded a HAL file generated by the config wizard and are hoping to start by being able to jog. The jog facility on linuxcnc is however not activated. Lables are in gray and unresponsive.
However, by decoupling hm2_5i25.0.7i77.0.1.analogout0 in the HAL file we are able to control the motors by sending voltage signals via "Test HAL command" i.e. "setp hm2_5i25.0.7i77.01.analogout0 1.5 etc...." The DRO reflects motor speed and direction so we are assuming encoder signals are being processed OK.
We have set the axis.0.jog-enable to TRUE but no luck. What else needs to be in order? How do we get the JOG facility working?
Thanks for your help.
Cheers Ian
Please Log in or Create an account to join the conversation.
16 Jul 2019 11:33 #139550
by andypugh
Replied by andypugh on topic mesa 5i25/7i77 Yaskawa servo
Which GUI are you using?
If it is Axis, you need to release the e-stop and press machine-on (in the GUI)
If it is Axis, you need to release the e-stop and press machine-on (in the GUI)
Please Log in or Create an account to join the conversation.
18 Jul 2019 07:18 #139764
by IanK
Replied by IanK on topic mesa 5i25/7i77 Yaskawa servo
Thanks Andy,
Yes that helped! And reversing the limit switch pick ups. But we now get "Joint 0 following error". I can see the web is full of folks who've encountered this error, and it can be caused by many things! A few associated symptoms with our particular case are.
The servo and DRO will remain responsive to jogging for a minute or so if F-error is increased all the way to 200 and Min F-error to 20. (We are in mm units)
With machine "ON" but jogging not activated the motor and DRO drift at 1 revolution every couple of second? If we monitor the x-output in HAL configuration it reads 0.025. When jogging it reads 0.25 and motor turns at what looks like an appropriately faster speed. (motor drive belts have been removed for the time being).
That the motor drifts when jog is inactive suggests to me that maybe the encoder signals are not quite right? I would have thought when the machine is intending to not move that the system would send the small, but likely non-zero voltage, required to stop the encoders turning?
Any clues would be greatly appreciated.
Yes that helped! And reversing the limit switch pick ups. But we now get "Joint 0 following error". I can see the web is full of folks who've encountered this error, and it can be caused by many things! A few associated symptoms with our particular case are.
The servo and DRO will remain responsive to jogging for a minute or so if F-error is increased all the way to 200 and Min F-error to 20. (We are in mm units)
With machine "ON" but jogging not activated the motor and DRO drift at 1 revolution every couple of second? If we monitor the x-output in HAL configuration it reads 0.025. When jogging it reads 0.25 and motor turns at what looks like an appropriately faster speed. (motor drive belts have been removed for the time being).
That the motor drifts when jog is inactive suggests to me that maybe the encoder signals are not quite right? I would have thought when the machine is intending to not move that the system would send the small, but likely non-zero voltage, required to stop the encoders turning?
Any clues would be greatly appreciated.
Please Log in or Create an account to join the conversation.
18 Jul 2019 10:40 #139772
by andypugh
Replied by andypugh on topic mesa 5i25/7i77 Yaskawa servo
This sounds like the PID is not active, or the encoders are not being read.
Does the machine actually move when you try to jog it?
If it moves under control, but also drifts, then this could either be a problem with the encoders (spurious counts, encoders set to counter-mode, something like that) or perhaps the PID is configured with only FFn terms and no P or I gain?
Have a look in Machine->Show Hal Config to check the PID gains, and also the command and feedback numbers.
Does the machine actually move when you try to jog it?
If it moves under control, but also drifts, then this could either be a problem with the encoders (spurious counts, encoders set to counter-mode, something like that) or perhaps the PID is configured with only FFn terms and no P or I gain?
Have a look in Machine->Show Hal Config to check the PID gains, and also the command and feedback numbers.
Please Log in or Create an account to join the conversation.
19 Jul 2019 00:30 - 19 Jul 2019 00:31 #139844
by bevins
Replied by bevins on topic mesa 5i25/7i77 Yaskawa servo
Are the encoders reading properly? With the drives disabled, you should be able to move axis by hand and the encoders should respond correctly.
Have you tried tuning your servos?
It's normal you get drift until you tune your setup.
Have you tried tuning your servos?
It's normal you get drift until you tune your setup.
Last edit: 19 Jul 2019 00:31 by bevins.
Please Log in or Create an account to join the conversation.
21 Jul 2019 06:01 #140050
by IanK
Replied by IanK on topic mesa 5i25/7i77 Yaskawa servo
Thanks Andy, thanks Bevins,
The encoders appear to be reading properly. With the drives disabled, moving the motors by hand has the encoders seemingly responding correctly. I haven't tuned the servos yet, the motors are disconnected so without the inertia of the machine I had left that step out at this stage.
The machine does jog, superimposed over the background drift.
The PID gain is set to 50 for Proportional, 0 for I and D.
I've found that with F-error set to 200 Min F-error 20 that "Joint 0 following error" trips when it moves about 18 units (As indicated by the DRO) from the DRO reading just as the "Machine Power " is toggled on. It's jogging at about 3 times the speed of the drift. If by using the jog to keep the DRO within 18 units of the starting position I can jog indefinitely without "Joint 0 following error". Just can't let it drift or jog beyond the F-error limits.
The Watch window is interesting.
"X-pos-cmd" is frozen while the machine is powered but immediately picks up the reading shown on the DRO when tripped by the error or toggled to OFF
"x-vel-fb" always reflects the motor speed, whether drifting or jogging
"x-vel-cmd" is always reading zero
"jog speed" is always reading zero
"x-output" shows +_ 0.275 when actively jogging. It shows 0.025 when idle but Machine powered. It shows 0 when machine is not powered.
(That's the "machine power" toggle beneath the "E-stiop" toggle I'm referring to )
So it looks like the encoder signals are getting through to LinuxCNC but not being processed to influence " x-output".
Jog must be sending a raw, open loop signal to "x-output"
I must have a software connection not hooked in? It'll probably be an obvious omission of mine when I find out what it is.
Correct servo control should back off the drift shouldn't it? Keep the encoders stationary?
Thanks for your help.
Cheers Ian
The encoders appear to be reading properly. With the drives disabled, moving the motors by hand has the encoders seemingly responding correctly. I haven't tuned the servos yet, the motors are disconnected so without the inertia of the machine I had left that step out at this stage.
The machine does jog, superimposed over the background drift.
The PID gain is set to 50 for Proportional, 0 for I and D.
I've found that with F-error set to 200 Min F-error 20 that "Joint 0 following error" trips when it moves about 18 units (As indicated by the DRO) from the DRO reading just as the "Machine Power " is toggled on. It's jogging at about 3 times the speed of the drift. If by using the jog to keep the DRO within 18 units of the starting position I can jog indefinitely without "Joint 0 following error". Just can't let it drift or jog beyond the F-error limits.
The Watch window is interesting.
"X-pos-cmd" is frozen while the machine is powered but immediately picks up the reading shown on the DRO when tripped by the error or toggled to OFF
"x-vel-fb" always reflects the motor speed, whether drifting or jogging
"x-vel-cmd" is always reading zero
"jog speed" is always reading zero
"x-output" shows +_ 0.275 when actively jogging. It shows 0.025 when idle but Machine powered. It shows 0 when machine is not powered.
(That's the "machine power" toggle beneath the "E-stiop" toggle I'm referring to )
So it looks like the encoder signals are getting through to LinuxCNC but not being processed to influence " x-output".
Jog must be sending a raw, open loop signal to "x-output"
I must have a software connection not hooked in? It'll probably be an obvious omission of mine when I find out what it is.
Correct servo control should back off the drift shouldn't it? Keep the encoders stationary?
Thanks for your help.
Cheers Ian
Please Log in or Create an account to join the conversation.
Time to create page: 0.084 seconds