mitsub_vfd(1)
β¨ NAME β¨
okay so bestie, meet mitsub_vfd β the HAL non-realtime component for Mitsubishi A500 F500 E500 A500 D700 E700 F700-series VFDs (others may work) π
This uses the COMPUTER LINK protocol not MODBUS, periodt. The connection is made through the PU connector. πβ¨
πΈ SYNOPSIS πΈ
loadrt mitsub_vfd [--baud 4800] [--port /dev/ttyUSB0]
name1=number1[,name2=numer2...]
name1is user selectable (usually a description of the controlled device). πnumber1is the slave number that was set on the VFD. Must be two digits (Parameter 117). two digits, no capname=numbercan be repeated for multiple VFD's connected together. π―--baudis optional as it defaults to 9600, all networked vfds must be set to the same baudrate. (same baudrate for everyone, it's giving group project energy)--portis 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, e.g. 79. β‘ (like actually unplug it and plug it back in, no shortcuts)
π VFD INTERNAL PARAMETERS:
PARAMETER 79β 1 or 0PARAMETER 117β station number - 1 (can be optionally set 0 - 31) if component is also setPARAMETER 118β communication speed 96 (can be optionally set 48,96,192 if component is also set)PARAMETER 119β stop bit/data length - 1 (8 bits, two stop - don't change)PARAMETER 120β parity - 0 (no parity - don't change)PARAMETER 121β COM tries - 10 (if maximum 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 changePARAMETER 549β communication protocol - 0. computer link protocol - don't change - (not all VFDs have this)
This driver assumes certain other VFD settings:
- -That the motor frequency status is set to show Hertz.
- -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 E-stop 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 (Hz)[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, e.g. 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. π«Ά
okay that's the whole vibe bestie, you're literally a VFD whisperer now π β¨
πΈ this was LinuxCNC Documentation, dated 2018-10-25, and it's the mitsub_vfd(1) page β go forth and slay, fr fr ππ¦π
π¦ where this page comes from
- debian trixie: linuxcnc-uspace 1:2.9.4-2+deb13u1 Β· GFDL-1.1-or-later
- ubuntu questing: linuxcnc-uspace 1:2.9.4-2ubuntu2
- ubuntu resolute: linuxcnc-uspace 1:2.9.4-2ubuntu4 Β· GFDL-1.1-or-later
- ubuntu stonking: linuxcnc-uspace 1:2.9.4-2ubuntu4 Β· GFDL-1.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms