Spindle Drive 7i76e

More
01 Dec 2023 15:10 #286970 by Amin Laakel Sofet
Hi, we're 2 students from Belgium and our final project is to make a retrofit for a milling machine.
The 3 axes work fine, but we're having trouble with the spindle, the mesa card doesn't deliver any signal to the spindle drive.
We're using gmoccapy ver. 3.1.3.8 with Linux ver. 2.8.4 we're also using A2 Series VFD.
We can activate "left" and "right" on the gmoccapy UI.
How can we check what we've done wrong.

Thank you in advance for a response.
 

Please Log in or Create an account to join the conversation.

More
01 Dec 2023 15:25 #286971 by PCW
Replied by PCW on topic Spindle Drive 7i76e
When LinuxCNC is running and you expect the
spindle to be  running, type this in a terminal:

halcmd show all | grep spindle

and post the results here

Also measure the voltage between 7I76E TB4 pins 1 and TB4 pin 3

Please Log in or Create an account to join the conversation.

More
15 Jan 2024 09:20 - 15 Jan 2024 09:36 #290744 by Amin Laakel Sofet
Hi sorry for our late reply, this is what showed up when we typed in the command in terminal.
We also measured 0V between pin 1 and pin 3 when the spindle was supposed to be running.

~$ halcmd show all | grep spindle
    46  bit   IN          FALSE  gmoccapy.spc_spindle.decrease
    46  bit   IN          FALSE  gmoccapy.spc_spindle.increase
    46  float IN             60  gmoccapy.spc_spindle.scale
    46  float OUT      1.666667  gmoccapy.spc_spindle.scaled-value
    46  float OUT           100  gmoccapy.spc_spindle.value
    46  bit   IN          FALSE  gmoccapy.spindle.reset-spindle-override
    46  bit   IN          FALSE  gmoccapy.spindle.spindle-override.analog-enable
    46  bit   IN          FALSE  gmoccapy.spindle.spindle-override.count-enable
    46  s32   IN              0  gmoccapy.spindle.spindle-override.counts
    46  float IN              0  gmoccapy.spindle.spindle-override.direct-value
    46  bit   IN          FALSE  gmoccapy.spindle_at_speed_led
    46  float IN              0  gmoccapy.spindle_feedback_bar
    10  bit   OUT         FALSE  halui.spindle.0.brake-is-on
    10  bit   IN          FALSE  halui.spindle.0.brake-off
    10  bit   IN          FALSE  halui.spindle.0.brake-on
    10  bit   IN          FALSE  halui.spindle.0.decrease
    10  bit   IN          FALSE  halui.spindle.0.forward <== spindle-manual-cw
    10  bit   IN          FALSE  halui.spindle.0.increase
    10  bit   OUT          TRUE  halui.spindle.0.is-on
    10  bit   IN           TRUE  halui.spindle.0.override.count-enable
    10  s32   IN              0  halui.spindle.0.override.counts
    10  bit   IN          FALSE  halui.spindle.0.override.decrease
    10  bit   IN          FALSE  halui.spindle.0.override.direct-value
    10  bit   IN          FALSE  halui.spindle.0.override.increase
    10  float IN            0.1  halui.spindle.0.override.scale
    10  float OUT             1  halui.spindle.0.override.value
    10  bit   IN          FALSE  halui.spindle.0.reverse <== spindle-manual-ccw
    10  bit   OUT         FALSE  halui.spindle.0.runs-backward
    10  bit   OUT          TRUE  halui.spindle.0.runs-forward
    10  bit   IN          FALSE  halui.spindle.0.start
    10  bit   IN          FALSE  halui.spindle.0.stop <== spindle-manual-stop
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.spindir <== spindle-ccw
    26  bit   IN           TRUE  hm2_7i76e.0.7i76.0.0.spinena <== spindle-enable
    26  float IN            300  hm2_7i76e.0.7i76.0.0.spinout <== spindle-output
    29  float IN            300  pid.s.command <== spindle-vel-cmd-rpm
    29  bit   IN           TRUE  pid.s.enable <== spindle-enable
    29  float IN              0  pid.s.feedback <== spindle-vel-fb-rpm
    29  bit   IN          FALSE  pid.s.index-enable <== spindle-index-enable
    29  float OUT           300  pid.s.output ==> spindle-output
    19  bit   IN          FALSE  spindle.0.amp-fault-in
    19  bit   IN           TRUE  spindle.0.at-speed <== spindle-at-speed
    19  bit   OUT         FALSE  spindle.0.brake ==> spindle-brake
    19  bit   OUT          TRUE  spindle.0.forward ==> spindle-cw
    19  bit   I/O         FALSE  spindle.0.index-enable <=> spindle-index-enable
    19  bit   IN          FALSE  spindle.0.inhibit
    19  bit   IN          FALSE  spindle.0.is-oriented
    19  bit   OUT         FALSE  spindle.0.locked
    19  bit   OUT          TRUE  spindle.0.on ==> spindle-enable
    19  bit   OUT         FALSE  spindle.0.orient
    19  float OUT             0  spindle.0.orient-angle
    19  s32   IN              0  spindle.0.orient-fault
    19  s32   OUT             0  spindle.0.orient-mode
    19  bit   OUT         FALSE  spindle.0.reverse ==> spindle-ccw
    19  float IN              0  spindle.0.revs <== spindle-revs
    19  float OUT             5  spindle.0.speed-cmd-rps
    19  float IN              0  spindle.0.speed-in <== spindle-vel-fb-rps
    19  float OUT           300  spindle.0.speed-out ==> spindle-vel-cmd-rpm
    19  float OUT           300  spindle.0.speed-out-abs ==> spindle-vel-cmd-rpm-abs
    19  float OUT             5  spindle.0.speed-out-rps ==> spindle-vel-cmd-rps
    19  float OUT             5  spindle.0.speed-out-rps-abs ==> spindle-vel-cmd-rps-abs
bit            TRUE  spindle-at-speed
                         ==> spindle.0.at-speed
bit           FALSE  spindle-brake
                         <== spindle.0.brake
bit           FALSE  spindle-ccw
                         <== spindle.0.reverse
bit            TRUE  spindle-cw
                         <== spindle.0.forward
bit            TRUE  spindle-enable
                         <== spindle.0.on
bit           FALSE  spindle-index-enable
                         <=> spindle.0.index-enable
bit           FALSE  spindle-manual-ccw
                         ==> halui.spindle.0.reverse
bit           FALSE  spindle-manual-cw
                         ==> halui.spindle.0.forward
bit           FALSE  spindle-manual-stop
                         ==> halui.spindle.0.stop
float           300  spindle-output
float             0  spindle-revs
                         ==> spindle.0.revs
float           300  spindle-vel-cmd-rpm
                         <== spindle.0.speed-out
float           300  spindle-vel-cmd-rpm-abs
                         <== spindle.0.speed-out-abs
float             5  spindle-vel-cmd-rps
                         <== spindle.0.speed-out-rps
float             5  spindle-vel-cmd-rps-abs
                         <== spindle.0.speed-out-rps-abs
float             0  spindle-vel-fb-rpm
float             0  spindle-vel-fb-rps
                         ==> spindle.0.speed-in
Last edit: 15 Jan 2024 09:36 by Amin Laakel Sofet.

Please Log in or Create an account to join the conversation.

More
15 Jan 2024 10:26 - 15 Jan 2024 10:38 #290749 by 0x2102
Replied by 0x2102 on topic Spindle Drive 7i76e
Did you wire it correctly? Can you share your wiring diagram?

The Mesa 7i76e doesn't provide 0-10V by itself. You need to provide 0 - 15V (max) to SPINDLE- / SPINDLE+. The SPINDLE OUT needs to be scaled in your INI based on that voltage. 

Example with 12V to create a 0-10V output

[SPINDLE_0]
# 0-10V output based on 12V input
MAX_OUTPUT = 24000
# 12V = 28800 rpm / 10V = 24000
OUTPUT_SCALE = 28800

Wiring:
Mesa 7i76e:
SPINDLE-  <-> VFD GND            
SPINDLE OUT <-> 10V_IN
SPINDLE+ <-> VFD 12V OUT
SPINDLE ENA- <-> VFD GND
SPINDLE ENA+ <-> VFD FWD/RUN

Optional:
SPINDLE DIR- <-> VFD GND
SPINDLE DIR+ <-> VFD REV
Last edit: 15 Jan 2024 10:38 by 0x2102.
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

More
15 Jan 2024 15:49 - 17 Jan 2024 09:37 #290761 by fons
Replied by fons on topic Spindle Drive 7i76e
the wiring is was given  on  "forum.linuxcnc.org/27-driver-boards/3537...mesa-7i76e#gallery-4"
if i understend it correkt   the vfd give power to the mesa card  for the spindle output
on tb4 pin1 and pin 3 are the powersuply for the analoge out of the mesa card  and the vfd provide these  power
while pin 2 is the real voltage output   
the mesa  card act as an potentiometer ?
pin  6 and  8 had also 12 / 24 v this is also power deliverd from the vfd 
this is very confiusing   witch pin is input and witch is output   on the mesa card  and on the vfd  
same problem for the dir and enable pin  here the vfd give power  and the  mesa card act like a switch ?
 
Last edit: 17 Jan 2024 09:37 by fons.

Please Log in or Create an account to join the conversation.

More
15 Jan 2024 16:40 - 15 Jan 2024 16:45 #290768 by 0x2102
Replied by 0x2102 on topic Spindle Drive 7i76e
Andy also explains it here:
forum.linuxcnc.org/27-driver-boards/3537...to-mesa-7i76e#119013

The VFD provides an isolated GND (ACM = analog common) and 10V output (preferred) to the Mesa card (Spindle- / Spindle+). Spindle out is a potentiometer, like you said. 
In this case the input voltage is 12V and that needs to be scaled down to 0-10V. This happens in your INI.
Take GND also from the analog section. 

Enable and direction are isolated outputs allow sinking, sourcing combinations of both. Most chinese vfd are NPN inputs - you need to provide GND (DCM = digital common) to their input to close the circuit. 

You take the GND from the vfd and connect it to SPINDLE ENA- and from SPINDLE ENA+ back to your VFD (input). That way you are providing GND to the VFD input, when the relay is on. Same for the direction.

Most VFD's have ACM (analog common) and DCM (digital common) but I couldn't see that in the A2 manual. 

SPINDLE ENA- <-> VFD GND
SPINDLE ENA+ <-> VFD FWD/RUN

Say your inputs are PNP (24v)...this would require a 24V signal. You would take 24V from the VFD to Spindle ENA+ and back to the VFD on SPINDLE ENA- to your input. 



 
Attachments:
Last edit: 15 Jan 2024 16:45 by 0x2102.

Please Log in or Create an account to join the conversation.

More
19 Jan 2024 07:49 - 19 Jan 2024 08:02 #291101 by Amin Laakel Sofet
We've re-adjusted our wiring as you showed in your previous message but we still don't understand how you got to the 24000 for the MaxOutput and 28800 for your output scale, is this a set value or is there a way to calculate the 24000.
In the Pncconf we're also clueless as to what the value should be for "encoder scale" .
The spindle can't spin in reverse, and the "rev" light on the VFD doesn't light up either when we put it in reverse, do you think this has something to do with the configuration of the VFD or is it something we have to resolve through the INI file.
Thanks in advance.
Last edit: 19 Jan 2024 08:02 by Amin Laakel Sofet.

Please Log in or Create an account to join the conversation.

More
19 Jan 2024 16:24 - 19 Jan 2024 16:25 #291129 by 0x2102
Replied by 0x2102 on topic Spindle Drive 7i76e
Since you didn't specify the spindle you are using, I assumed a standard 2.2kW / 24000 rpm spindle. I think in order to better help you here you need to share way more details about the hardware / machine you are using. You only need the "encoder scale" if your spindle actually has a physical encoder for feedback, connected. Typically you need to lookup the Lines per Revolution. I would ignore the encoder portion for the spindle and just run it with no encoder feedback 0-10V.

It all starts with how much voltage (0 - 15V is possible) you are connecting to your Mesa spindle TB. The Mesa acts as a potentiometer that can output 0 - 100% of the voltage you apply.

12V / 10V = 1.2
MAX_OUTPUT = actual drive speed in RPM
OUTPUT_SCALE = actual drive speed in RPM x 1.2

Example with 12V:
MESA PIN: SPINDLE- GND
MESA PIN: SPINDLE+ 12V
MESA PIN: SPINDLE OUT 0 - 12V

Your VFD wants 0-10V, so you need to scale it:

# Example for 24K rpm spindle
[SPINDLE_0]
# 0-10V output based on 12V input
MAX_OUTPUT = 24000
# 12V = 28800 rpm / 10V = 24000
OUTPUT_SCALE = 28800

# Example for 3000 rpm spindle (e.g. Lathe)
[SPINDLE_0]
# 0-10V output based on 12V input
MAX_OUTPUT = 3000
# 12V = 3600 rpm / 10V = 3000
OUTPUT_SCALE = 3600
Last edit: 19 Jan 2024 16:25 by 0x2102.
The following user(s) said Thank You: Amin Laakel Sofet

Please Log in or Create an account to join the conversation.

More
15 Mar 2024 14:52 #295969 by Amin Laakel Sofet
We're having issues with TB4 on the mesa 7i76e, there is no relation between the output state and the command from the CNC.
How can we check what the problem is or why it could be that nothing is happening and how can we manually check the state of the outputs.
We already put a 24v signal over the outputs and measured them and they didn't work.
Thanks in advance

Please Log in or Create an account to join the conversation.

More
15 Mar 2024 15:56 #295972 by PCW
Replied by PCW on topic Spindle Drive 7i76e
How is the 7I76E wired to the VFD?
 

Please Log in or Create an account to join the conversation.

Moderators: PCWjmelson
Time to create page: 0.163 seconds
Powered by Kunena Forum