On Tuesday 21 February 2017 07:33:28 Valerio Bellizzomi wrote:

> Hello,
> the SpinX1 manual says it acts like a potentiometer, the figure on
> page C-13 of the VFD's manual shows the VIA contact to be connected to
> an external potentiometer
>
> is that the right  way to connect the spinx1 ?

Yes, it has silk screened names. Its a totally isolated thing on the VFD 
side. The vfd  should have a common, a nominally 12 volt plus source when 
measured to the common.

The fwd and rev signals are separated by the spinx1, and generally on the 
VFD side respond to a closure to this common to enable it to respond to 
the voltage from the "arm" of the potentiometer.  On the computer side, 
you will need to dedicate on pin of the BoB as an enable signal and wire
it up in the hal file.

You will need, if using the mesa cards, something that faintly resembles 
this to get the LCNC speed signal hooked to the spinx1:
##############################################################
# Hook pwmgen.00 to the spindle speed and set for PDM output #
##############################################################
setp    hm2_[HOSTMOT2](BOARD).0.pwmgen.00.scale         
[SPINDLE_9]PWMGEN_S_SCALE
setp    hm2_[HOSTMOT2](BOARD).0.pwmgen.pwm_frequency    [SPINDLE_9]PWMGEN_S_FREQ
#setp   hm2_[HOSTMOT2](BOARD).0.pwmgen.pwm_freq         [SPINDLE_9]PWMGEN_S_FREQ
setp    hm2_[HOSTMOT2](BOARD).0.pwmgen.00.output-type   
[SPINDLE_9]PWMGEN_OUTPUT_TYPE
setp    hm2_[HOSTMOT2](BOARD).0.pwmgen.pdm_frequency    
[SPINDLE_9]PDMGEN_PDM_FREQUENCY

The data being referred in the right hand argument to needs assigned 
in the [SPINDLE_9] section of your .ini file.

Now, I don't see below, what breakout you are using so I'll just copy and
paste from my setup. Keep in mind that these will NOT match yours, but 
will show you approximately what you need.
First, setup the enable signal which in my case uses a gpio
pin in my 7i90 card.

First, you need to set the output pins for all axis's used as inverting and 
true low,

# Turn pulses to true low, opendrain so they are closures to ground.
# stepgen 00
setp hm2_[HOSTMOT2](BOARD).0.gpio.000.invert_output 1
setp hm2_[HOSTMOT2](BOARD).0.gpio.000.is_opendrain 1
setp hm2_[HOSTMOT2](BOARD).0.gpio.001.invert_output 1
setp hm2_[HOSTMOT2](BOARD).0.gpio.001.is_opendrain 1
# stepgen 01
setp hm2_[HOSTMOT2](BOARD).0.gpio.002.invert_output 1
setp hm2_[HOSTMOT2](BOARD).0.gpio.002.is_opendrain 1
setp hm2_[HOSTMOT2](BOARD).0.gpio.003.invert_output 1
setp hm2_[HOSTMOT2](BOARD).0.gpio.003.is_opendrain 1
# stepgen 03
setp hm2_[HOSTMOT2](BOARD).0.gpio.018.invert_output 1
setp hm2_[HOSTMOT2](BOARD).0.gpio.018.is_opendrain 1
setp hm2_[HOSTMOT2](BOARD).0.gpio.019.invert_output 1
setp hm2_[HOSTMOT2](BOARD).0.gpio.019.is_opendrain 1

# the above gpio numbers correspond to the outputs of the canned
code in the FPGA's installed firmware for the stepgens I use, and
the PDM signal from the pwmgen module in the cards firmware.

And the reason I keep calling it PDM is that is a ditherless
method of getting quite smooth speed signals from a basically
digital circuit.  That is done as the modules are enabled in 
the .ini file by a line grouping like this:

[SPINDLE_9]
# 16.6 is close to 100 revs per click in low belt position
PWMGEN_S_SCALE  = 16.6
# make it run in PDM mode, is self smoothing then
PWMGEN_S_FREQ           =       1
PWMGEN_OUTPUT_TYPE      =       3
PDMGEN_PDM_FREQUENCY            =       10000

# the SCALE above sets it to run the spindle at 100 rpm per
click on the + button, when the backgear is not engaged and
the belt is in the lowest speed grooves of the pulleys. All of 
these settings are of course your personal choices. PDM_FREQUENCY
is a balance between update rate and quantization of the speed change.
A lower frequency is higher resolution but it should be fast enough
so the motor speed doesn't ripple. 10000 is a good choice for me
with my fake vfd..

sets emcmot.00.enable FALSE
net emcmot.00.enable <= joint.0.amp-enable-out
net emcmot.00.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.03.enable
Thats not all of that stuff, but you'll get the idea.

A gpio pin is an input unless told otherwise, and all signals
are closures to ground, with 5 volts fed to the + terminals on
the axis motor drivers, with your step/dirs connected to the - terminal
on the drivers control plug.

#################################################################################
# Setup vfd drive enable yadda yadda, building down from top down forward first 
#
# The SpinX1 only needs pwm and dir I thought, but needs an ena(ble) too.
#################################################################################
# start with SpinX1's dir which has to be converted to an output of the correct 
polarity
setp hm2_[HOSTMOT2](BOARD).0.gpio.071.is_output 1
setp hm2_[HOSTMOT2](BOARD).0.gpio.071.invert_output 1
setp hm2_[HOSTMOT2](BOARD).0.gpio.071.is_opendrain 1
# this is the green jumper wire from the SpinX1's FWD, to 7i90-p3-47
net reverse_vfd <= motion.spindle-reverse => 
hm2_[HOSTMOT2](BOARD).0.gpio.071.out

# and the spinX1 does need an enable, so setup gpio.070 for that
setp hm2_[HOSTMOT2](BOARD).0.gpio.070.is_output 1
setp hm2_[HOSTMOT2](BOARD).0.gpio.070.invert_output 1
setp hm2_[HOSTMOT2](BOARD).0.gpio.070.is_opendrain 1
# net line moved to be combined with enable_vfd below
net enable_vfd  <= motion.spindle-on
net enable_vfd  => hm2_[HOSTMOT2](BOARD).0.pwmgen.00.enable
net enable_vfd  => hm2_[HOSTMOT2](BOARD).0.gpio.070.out

The above demonstrates then when a "net" signal is defined, the next
argument on that line becomes the source for that signal.  The next
two lines show where that signal is to be sent.
IF they are in the sequence shown, the => and <= gismo's are optional.

Currently, do NOT put a comment as a trailing #comment, put it on its 
own line.

###########################################################
# make the vfd's pdm drive unidirectional, fwd/rev handles that #
# but the SpinX1 needs a DIR, which is on P1-43
###########################################################
net spindle-vel-cmd-rps  <=  motion.spindle-speed-out-rps 
net spindle-vel-cmd-rps  =>  spindle-abs.in
# this come out on P1-41 as the pulse Duration Modulated signal to the SpinX1, 
red jumper
net spindle-unispeed <= spindle-abs.out =>      
hm2_[HOSTMOT2](BOARD).0.pwmgen.00.value

This is, without a doubt, incomplete, but with the halmeters help, you should 
see whats missing.  Yell if the water is still rising. :)
>
> On Thu, 2017-02-16 at 08:56 -0800, Kirk Wallace wrote:
> > On 02/16/2017 03:37 AM, Valerio Bellizzomi wrote:
> > ... snip
> >
> > > the VFD is a Toshiba VFS15-4037PL-W, it has a Forward input, a
> > > Reverse input, and a current speed input (and alternatively a
> > > 0-10V input). There isn't an enable input. I do not need the
> > > reverse so it should be two parallel pins, one for forward and one
> > > for speed.
> >
> > ... snip
> >
> > I found a manual here:
> > https://inverterdrive.com/file/Toshiba-VFS15-User-Manual
> >
> > I usually first check the overview graphic which seems to be on page
> > B-4. I see the F terminal which could just be shorted to common to
> > activate it. The speed potentiometer is shown too. PWM could
> > simulate that. I also see theRS485 connector. I did a search in the
> > document for "485" and found page C-4, which shows some control
> > options; terminal (relay), keypad, RS485 (Modbus?), CAN (cool),
> > communication(what the heck?). Just below are some speed setting
> > options. This should be a nice VFD.
> >
> > A little farther down from B-4 are the I/O circuit options. Looking
> > at the F entry, it basically says shorting the F terminal to CC will
> > start forward rotation. You can use a parallel port pin to control a
> > small solid state relay or opto-isolator. It just needs to tolerate
> > 24 Volts on the output.
> >
> > It looks like the VIA (voltage, input, analog?) is a speed input.
> > The same parallel port pin to solid state relay or opto-isolator as
> > F above may be used, except it only needs 10 Volt tolerence.
> > Terminal PP is the 10 Volt source (CC common isn't needed, most
> > likely). The signal from the parallel port pin should use PWM or
> > PDM.
> >
> > If you have a BOB (Break Out Board), post a make/model and/or
> > picture or other information. It may be useful for the above
> > connections.
> >
> > It looks like page D-3 is a good place to start VFD programing.
> >
> > The above may be wrong or missing some information, so study the
> > manual and decide for yourself what to do. I would get a mains input
> > noise filter right of the bat, so you don't have to chase down weird
> > issues while trying to learn how to use your VFD. Hmm... It looks
> > like your VFD already has a built-in noise filter.
>
> ----------------------------------------------------------------------
>-------- Check out the vibrant tech community on one of the world's
> most engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users


Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to