ABB ACS550 VFD
Overview
VFD made by ABB, has an option for encoder feedback for closed loop spindle speed.
Software
Page 3 shows the pin mapping from the DB9 to the RJ45.
Page 11 mentions DriveWindow Light 2
Modbus Control
mbpoll
There is an open source utility that can speak Modbus over a serial port (or USB to serial) that has an RS-485 adapter attached. It's called mbpoll:
https://github.com/epsilonrt/mbpoll
mbpoll
commands to interact with the VFD:
# reset a fault ./mbpoll /dev/ttyUSB0 1 -b 9600 -s 1 -P none -a 1 -r 8 -t 0 # turn the spindle on ./mbpoll /dev/ttyUSB0 6 -b 9600 -s 1 -P none -a 1 -r 1 -t 4 sleep 0.1 ./mbpoll /dev/ttyUSB0 7 -b 9600 -s 1 -P none -a 1 -r 1 -t 4 ./mbpoll /dev/ttyUSB0 15 -b 9600 -s 1 -P none -a 1 -r 1 -t 4 ./mbpoll /dev/ttyUSB0 47 -b 9600 -s 1 -P none -a 1 -r 1 -t 4 ./mbpoll /dev/ttyUSB0 111 -b 9600 -s 1 -P none -a 1 -r 1 -t 4 # turn the spindle off ./mbpoll /dev/ttyUSB0 6 -b 9600 -s 1 -P none -a 1 -r 1 -t 4 # write commanded "speed" percentage (-20000 to +20000) TODO: write signed 16-bit instead of signed 32-bit which clobbers another register ./mbpoll /dev/ttyUSB0 -b 9600 -s 1 -P none -a 1 -r 2 -t 4:int -- 20000 # monitor output frequency (displays Hz * 10) ./mbpoll /dev/ttyUSB0 -b 9600 -s 1 -P none -a 1 -r 103 -t 4 # monitor output current (displays A * 10) ./mbpoll /dev/ttyUSB0 -b 9600 -s 1 -P none -a 1 -r 104 -t 4 # monitor output power (displays kW * 10) ./mbpoll /dev/ttyUSB0 -b 9600 -s 1 -P none -a 1 -r 106 -t 4 # monitor output voltage (displays V) ./mbpoll /dev/ttyUSB0 -b 9600 -s 1 -P none -a 1 -r 109 -t 4 # fetch minimum frequency (displays Hz * 10) that the commanded frequency gets clipped to ./mbpoll /dev/ttyUSB0 -b 9600 -s 1 -P none -a 1 -r 1104 -t 4 # fetch "maximum" frequency (displays Hz * 10) corresponding to a command "speed" of 20000 (to establish the scale) ./mbpoll /dev/ttyUSB0 -b 9600 -s 1 -P none -a 1 -r 1105 -t 4 # fetch commanded "speed" percentage (-20000 to +20000) TODO: see if this value is clipped ./mbpoll /dev/ttyUSB0 -b 9600 -s 1 -P none -a 1 -r 2 -t 4 # fetch minimum speed limit (RPM) (has no effect when using Parameter 9904 = 3 aka "SCALAR:FREQ" mode) ./mbpoll /dev/ttyUSB0 -b 9600 -s 1 -P none -a 1 -r 2001 -t 4 # fetch maximum speed limit (RPM) (has no effect when using Parameter 9904 = 3 aka "SCALAR:FREQ" mode) ./mbpoll /dev/ttyUSB0 -b 9600 -s 1 -P none -a 1 -r 2002 -t 4 # fetch minimum frequency limit (displays Hz * 10) NOTE: can be negative to have asymmetric limits containing 0. If positive, it creates a deadband above and below 0 (not just above!) ./mbpoll /dev/ttyUSB0 -b 9600 -s 1 -P none -a 1 -r 2007 -t 4 # fetch maximum frequency limit (displays Hz * 10) ./mbpoll /dev/ttyUSB0 -b 9600 -s 1 -P none -a 1 -r 2008 -t 4
Replacement Parts
OPCA-01
RJ45 to DE9 adapter used to program the VFD using PC based software:
$22.50 + $9.90 -- ASEA BROWN BOVERI OPCA-01 / OPCA01 (RQANS2)
OTAC-01
Pulse Encoder Interface
Online Resources
ACS550 - General purpose drives - (Low voltage AC) | ABB
ABB ACS550 User’s Manual Rev H 2014-07-04
ACH550-01/02/U1/U2 Embedded Fieldbus Control
ABB general machinery drives ACS350, 0.37 to 7.5 kW / 0.5 to 10 hp Technical catalogue