mitsub_vfd

NAME
SYNOPSIS
DESCRIPTION
HARDWARE SETUP
This driver assumes certain other VFD settings:
PINS
SAMPLE HAL
ISSUES

NAME

mitsub_vfd - HAL userspace component for Mitsubishi A500 F500 E500 A500 D700 E700 F700-series VFDs (others may work)

SYNOPSIS

loadrt mitsub_vfd [--baud 4800] [--port /dev/ttyUSB0] name1=number1[,name2=numer2...]
name1
is user selectable (usually a description of the controlled device).
number1
is the slave number that was set on the VFD. must be two digits (Parameter 117)
name=number
can be repeated for multiple VFD’s connected together
--baud
is optional as it defaults to 9600
all networked vfds must be set to the same baudrate
--port
is optional as it defaults to ttyS0

DESCRIPTION

The mitsub_vfd component interfaces a Mitsubishi VFD to LinuxCNC. The VFD is connected via RS-485 serial to the computer’s USB or serial port using a RS-232/RS-485 converter

HARDWARE SETUP

reference manual ’communication option reference manual’ and A500 technical manual for 500 series. Fr-A700 F700 E700 D700 technical manual for the 700 series
The inverter must be set manually for communication
( you may have to set PR 77 to 1 to unlock PR modification )
You must power cycle the inverter for some of these. (eg 79)
VFD INTERNAL PARAMETERS:

PARAMETER 79 - 1 or 0

PARAMETER 117 station number - 1
(can be optionally set 0 - 31) if component is also set

PARAMETER 118 communication speed 96
(can be optionally set 48,96,192 if component is also set)

PARAMETER 119 stop bit/data length - 0
(8 bits, two stop - don’t change)

PARAMETER 120 parity - 0
(no parity - don’t change)

PARAMETER 121 COM tries - 10
(if maximuim 10 COM errors then inverter faults- can change)

PARAMETER 122 COM check time interval 9999
(never check - if communication is lost inverter will not know (can change)

PARAMETER 123 wait time - 9999
no wait time is added to the serial data frame (don’t change)

PARAMETER 124 CR selection - 0
don’t change

This driver assumes certain other VFD settings:

-That the motor frequency status is set to show herts.
-That the status bit 3 is up to speed
-That the status bit 7 is alarm

some models (eg E500) cannot monitor status.
You must set set the monitor pin to false.
In this case pins such as up-to-speed, amps, alarm and status bits are not useful.

PINS

[VFD NAME].fwd (bit, in)::
forward/reverse pin
[VFD NAME].run
(bit, in)::
run/stop pin
[VFD NAME].debug
(bit, in)::
set debug mode pin
This will print many messages to the terminal
[VFD NAME].monitor
(bit, in)::
set monitor mode pin
If false request-status command will not be sent to vfd.
Status, amps, power, motor-feedback, and alarm would then not
be useful.
[VFD NAME].estop
(bit, in)::
set estop mode pin
This will stop the VFD.
Restarting requires the run pin to cycle.

[VFD NAME].fwd (bit, out)::
up-to-speed status pin
Motor is at requested speed within VFD’s settings tolerance.
[VFD NAME].alarm
(bit, out)::
alarm status pin

[VFD NAME].motor-cmd (float, in)::
The requested motor speed, is Hertz

[VFD NAME].motor-fb (float, out)::
The motor feedback speed (from vfd) in hertz
[VFD NAME].motor-amps
(float, out)::
The motor current, in amps
[VFD NAME].motor-power
(float, out)::
The motor power

[VFD NAME].scale-cmd (float, in)::
Motor command’s scale setting defaults to 1
[VFD NAME].scale-cmd
(float, in)::
Motor command’s scale setting defaults to 1
[VFD NAME].scale-cmd
(float, in)::
Motor command’s scale setting defaults to 1

[VFD NAME].stat-bit-0 (bit, out)::
raw status bit
[VFD NAME].stat-bit-1
(bit, out)::
raw status bit
[VFD NAME].stat-bit-2
(bit, out)::
raw status bit
[VFD NAME].stat-bit-3
(bit, out)::
raw status bit
set the VFD so this is motor-at-speed status
[VFD NAME].stat-bit-4
(bit, out)::
raw status bit
[VFD NAME].stat-bit-5
(bit, out)::
raw status bit
[VFD NAME].stat-bit-6
(bit, out)::
raw status bit
[VFD NAME].stat-bit-7
(bit, out)::
raw status bit
Set the VFD so this in the alarm bit

SAMPLE HAL

loadusr -Wn coolant mitsub_vfd --port /dev/ttyUSB0 spindle=02 coolant=01
# **************** Spindle VFD setup slave 2 ****************
net spindle-vel-cmd spindle.motor-cmd
net spindle-cw spindle.fwd
net spindle-on spindle.run
net spindle-at-speed spindle.up-to-speed
net estop-out spindle.estop
# cmd scaled to RPM (belt/gearbox driven)
setp spindle.scale-cmd .135
# feedback is in rpm (recipicale of command)
setp spindle.scale-fb 7.411
# turn on monitoring so feedback works
setp spindle.monitor 1
net spindle-speed-indicator spindle.motor-fb
# *************** Coolant vfd setup slave 1 *****************
net coolant-flood coolant.run
net coolant-is-on coolant.up-to-speed
# cmd and feedback scaled to hertz
setp coolant.scale-cmd 1
setp coolant.scale-fb 1
# command full speed
setp coolant.motor-cmd 60
# allows us to see status
setp coolant.monitor 1
net estop-out coolant.estop

ISSUES

some models (eg E500) cannot monitor status, so set the monitor pin to false In this case pins such as up-to-speed, amps, alarm and status bits are not useful.