Spindle Drive 7i76e

More
2 years 11 months ago #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
2 years 11 months ago #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
2 years 9 months ago - 2 years 9 months ago #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: 2 years 9 months ago by Amin Laakel Sofet.

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

More
2 years 9 months ago - 2 years 9 months ago #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: 2 years 9 months ago by 0x2102.
The following user(s) said Thank You: tommylight

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

More
2 years 9 months ago - 2 years 9 months ago #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: 2 years 9 months ago by fons.

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

More
2 years 9 months ago - 2 years 9 months ago #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. 



 
Last edit: 2 years 9 months ago by 0x2102.

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

Moderators: PCW, jmelson
Time to create page: 0.284 seconds
Powered by Kunena Forum