mitsub_vfd(1)

πŸ“¦
version 2.9.4 Β· 2 versions
, in debian trixie, ubuntu questing, ubuntu resolute, ubuntu stonking

✨ 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...]
  • 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). two digits, no cap
  • 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. (same baudrate for everyone, it's giving group project energy)
  • --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, e.g. 79. ⚑ (like actually unplug it and plug it back in, no shortcuts)

πŸ’œ 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 - 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 change
  • PARAMETER 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 πŸŽ€πŸ¦‹πŸ’–