Man page - hy_gt_vfd(1)
Packages contains this manual
- rotarydelta(1)
- lut5(9)
- sampler(9)
- xyzab-tdr-gui(1)
- emccalib(1)
- linuxcnc_var(1)
- ton(9)
- xor2(9)
- div2(9)
- ddt(9)
- sim_matrix_kb(9)
- streamer(9)
- genserkins(9)
- hostmot2(9)
- melfagui(1)
- latency-histogram(1)
- debuglevel(1)
- hm2_spix(9)
- image-to-gcode(1)
- axis(1)
- sample_hold(9)
- conv_s32_float(9)
- mux8(9)
- hal_input(1)
- offset(9)
- qtplasmac-materials(1)
- conv_u32_s32(9)
- lcd(9)
- multiswitch(9)
- gearchange(9)
- rosekins(9)
- biquad(9)
- conv_bit_s32(9)
- sum2(9)
- mux_generic(9)
- hm2_pci(9)
- histobins(9)
- updown(9)
- scale(9)
- gray2bin(9)
- monitor-xhc-hb04(1)
- pmx485-test(1)
- thc(9)
- sim_spindle(9)
- abs(9)
- pmx485(1)
- mdro(1)
- halscope(1)
- integ(9)
- timedelta(9)
- ohmic(9)
- differential(9)
- xhc-whb04b-6(1)
- select8(9)
- sim_encoder(9)
- hal_bb_gpio(9)
- counter(9)
- gmoccapy(1)
- latency-plot(1)
- mux2(9)
- conv_bit_u32(9)
- scorbot-er-3(1)
- xyzbc-trt-gui(1)
- serport(9)
- hal_parport(9)
- vfs11_vfd(1)
- anglejog(9)
- mux4(9)
- spindle_monitor(9)
- conv_u32_bit(9)
- maxkins(9)
- hy_vfd(1)
- update_ini(1)
- threadtest(9)
- mb2hal(1)
- wcomp(9)
- constant(9)
- xhc_hb04_util(9)
- invert(9)
- knob2float(9)
- lincurve(9)
- halrmt(1)
- conv_s32_u32(9)
- shuttle(1)
- max5gui(1)
- lowpass(9)
- abs_s32(9)
- halcmd_twopass(1)
- toggle2nist(9)
- sim_axis_hardware(9)
- gscreen(1)
- rs274(1)
- tooledit(1)
- max31855(9)
- trivkins(9)
- simulate_probe(1)
- mdi(1)
- axis(9)
- watchdog(9)
- sphereprobe(9)
- eoffset_per_angle(9)
- limit1(9)
- hm2_spi(9)
- genhexkins(9)
- filter_kalman(9)
- threads(9)
- inivar(1)
- linuxcncsvr(1)
- hypot(9)
- plasmac(9)
- touchy(1)
- ilowpass(9)
- thermistor(1)
- xhc-hb04(1)
- conv_s32_bit(9)
- pyvcp(1)
- gs2_vfd(1)
- not(9)
- puma560gui(1)
- encoder(9)
- thcud(9)
- pyui(1)
- qtvcp(1)
- halreport(1)
- hbmgui(1)
- linuxcnctop(1)
- halshow(1)
- xyzab_tdr_kins(9)
- pid(9)
- classicladder(9)
- bin2gray(9)
- gentrivkins(9)
- hy_gt_vfd(1)
- mux16(9)
- ngcgui(1)
- time(9)
- hm2_7i90(9)
- gremlin_view(1)
- xyzac-trt-gui(1)
- latency-test(1)
- scarakins(9)
- gladevcp_demo(1)
- sim_home_switch(9)
- conv_float_s32(9)
- or2(9)
- linuxcnc(1)
- pentakins(9)
- charge_pump(9)
- tpcomp(9)
- motion(9)
- homecomp(9)
- latencybins(9)
- gladevcp(1)
- motion-logger(1)
- blend(9)
- enum(9)
- linuxcnc_info(1)
- clarkeinv(9)
- deadzone(9)
- and2(9)
- elbpcom(1)
- halstreamer(1)
- steptest(9)
- io(1)
- bitwise(9)
- weighted_sum(9)
- hm2_7i43(9)
- userkins(9)
- halsampler(1)
- teach-in(1)
- panelui(1)
- conv_float_u32(9)
- estop_latch(9)
- axis-remote(1)
- matrix_kb(9)
- hm2_rpspi(9)
- millturn(1)
- gantry(9)
- maj3(9)
- xhc-hb04-accels(1)
- milltask(1)
- pyvcp_demo(1)
- pumagui(1)
- orient(9)
- rotatekins(9)
- mitsub_vfd(1)
- hal_manualtoolchange(1)
- siggen(9)
- vfdb_vfd(1)
- axistest(9)
- limit3(9)
- scaled_s32_sums(9)
- mqtt-publisher(1)
- rtapi_app(1)
- at_pid(9)
- carousel(9)
- joyhandle(9)
- edge(9)
- tool_mmap_read(1)
- conv_bit_float(9)
- minmax(9)
- halrun(1)
- hexagui(1)
- iov2(1)
- haltcl(1)
- pyngcgui(1)
- maho600gui(1)
- tp(9)
- tof(9)
- stepgen(9)
- lineardeltakins(9)
- conv_u32_float(9)
- sim_pin(1)
- debounce(9)
- 5axisgui(1)
- limit2(9)
- wj200_vfd(1)
- scaragui(1)
- qtplasmac-plasmac2qt(1)
- linuxcncmkdesktop(1)
- halcmd(1)
- tool_watch(1)
- clarke3(9)
- hm2_eth(9)
- setsserial(9)
- pumakins(9)
- message(9)
- linuxcnc_module_helper(1)
- lineardelta(1)
- tripodkins(9)
- clarke2(9)
- dbounce(9)
- qtplasmac-setup(1)
- halmeter(1)
- flipflop(9)
- gantrykins(9)
- gladevcp(9)
- pncconf(1)
- comp(9)
- logic(9)
- pwmgen(9)
- qtplasmac-cfg2prefs(1)
- tristate_bit(9)
- kins(9)
- corexy_by_hal(9)
- sim-torch(1)
- toggle(9)
- sendkeys(1)
- mesa_uart(9)
- bldc(9)
- millturn(9)
- linuxcnclcd(1)
- bitslice(9)
- oneshot(9)
- near(9)
- feedcomp(9)
- schedrmt(1)
- multiclick(9)
- hal-histogram(1)
- supply(9)
- stepconf(1)
- mesa_pktgyro_test(9)
- match8(9)
- qtplasmac_gcode(1)
- modcompile(1)
- sim_parport(9)
- svd-ps_vfd(1)
- limit_axis(9)
- halui(1)
- demux(9)
- moveoff(9)
- mesa_7i65(9)
- sserial(9)
- moveoff_gui(1)
- mult2(9)
- pi500_vfd(1)
- iocontrol(1)
- spindle(9)
- encoder_ratio(9)
- tristate_float(9)
- timedelay(9)
- simple_tp(9)
- linuxcncrsh(1)
- setup_designer(1)
- opto_ac5(9)
apt-get install linuxcnc-uspace
Manual
HY_GT_VFD
NAMESYNOPSIS
DESCRIPTION
HARDWARE SETUP
FIRMWARE SETUP
OPTIONS
PINS
ISSUES
AUTHOR
LICENSE
NAME
hy_gt_vfd - HAL non-realtime component for Huanyang GT-series VFDs
SYNOPSIS
hy_gt_vfd [ OPTIONS ]
DESCRIPTION
The hy_gt_vfd component interfaces a Huanyang GT-series VFD to the LinuxCNC HAL. The VFD is connected via RS-485 serial to the LinuxCNC computer.
HARDWARE SETUP
At least some Huanyang GT VFDs must be physically modified to enable Modbus communication.
The circuit board location marked "SW1" is identified in the manual as "Switch of terminal resistor for RS485 communication". On the only VFD I have experience with, the circuit board contained no switch at that location, instead holding a pair of crossed jumper wires (top-left pad connected to bottom-right pad, top-right to bottom-left). In this configuration, no Modbus communication is possible. We had to desolder the two crossed jumper wires and re-solder them parallel to each other (top-left to bottom-left, top-right to bottom-right).
FIRMWARE SETUP
The Huanyang GT VFD must be configure via the faceplate to talk Modbus with LinuxCNC. Consult the Operation section of the Huanyang GT-series Inverter Manual for details. Set the following parameters:
P0.01 = 2
Set Run Command Source to Modbus serial port.
P0.03
Set Maximum Frequency to the maximum frequency you want the VFD to output, in Hz.
P0.04
Set Upper Frequency Limit to the maximum frequency you want the VFD to output, in Hz. This should be the same as the value in P0.03.
P0.05
Set Lower Frequency Limit to the minimum frequency you want the VFD to output, in Hz.
P0.07 = 7
Set Frequency A Command Source to Modbus serial port.
P2.01 = ???
Set Motor Rated Power to the motorâs power rating in kW.
P2.02 = ???
Set Motor Rated Frequency to the motorâs max frequency in Hz.
P2.03 = ???
Set Motor Rated Speed to the motorâs speed in RPM at its rated maximum frequency.
P2.04 = ???
Set Motor Rated Voltage to the motorâs maximum voltage, in Volts.
P2.05 = ???
Set Motor Rated Current to the motorâs maximum current, in Amps.
PC.00 = 1
Set Local Address to 1. This matches the default in the hy_gt_vfd driver, change this if your setup has special needs.
PC.01 = 5
Set baud rate selection to 5 (38400 bps). This matches the default in the hy_gt_vfd driver, change this if your setup has special needs.
0 = 1200
1 = 2400
2 = 4800
3 = 9600
4 = 19200
5 = 38400
PC.02 = 0
Set Data Format (8n1 RTU). This matches the default in the hy_gt_vfd driver, change this if your setup has special needs.
PC.03 = 1
Set Communication Delay Time to 1 ms. This is expected by the hy_gt_vfd driver.
OPTIONS
-b , --bits N
(default 8) For Modbus communication. Set number of data bits to N . N must be between 5 and 8 inclusive.
-p , --parity [Even,Odd,None]
(default None)
For Modbus communication.
Set serial parity to Even, Odd, or None.
-r , --rate N
(default 38400) For Modbus communication. Set baud rate to N . It is an error if the rate is not one of the following: 1200, 2400, 4800, 9600, 19200, 38400
-s , --stopbits [1,2]
(default 1) For Modbus communication. Set serial stop bits to 1 or 2.
-t , --target N
(default 1) For Modbus communication. Set Modbus target (slave) number. This must match the device number you set on the Huanyang GT VFD.
-d , --device PATH
(default /dev/ttyS0) For Modbus communication. Set the name of the serial device node to use.
-v , --verbose
Turn on verbose mode.
-S , --motor-max-speed RPM
The motorâs max speed in RPM. This must match the motor speed value configured in VFD register P2.03.
-F , --max-frequency HZ
This is the maximum output frequency of the VFD in Hz. It should correspond to the motorâs rated max frequency, and to the maximum and upper limit output frequency configured in VFD register P0.03 and P0.04.
-f , --min-frequency HZ
This is the minimum output frequency of the VFD in Hz. It should correspond to the minimum output frequency configured in VFD register P0.05.
PINS
hy_gt_vfd.period (float, in)
The period for the driverâs update cycle, in seconds. This is how frequently the driver will wake up, check its HAL pins, and communicate with the VFD. Must be between 0.001 and 2.000 seconds. Default: 0.1 seconds.
hy_gt_vfd.speed-cmd (float, in)
The requested motor speed, in RPM.
hy_gt_vfd.speed-fb (float, out)
The motorâs current speed, in RPM, reported by the VFD.
hy_gt_vfd.at-speed (bit, out)
True when the drive is on and at the commanded speed (within 2%), False otherwise.
hy_gt_vfd.freq-cmd (float, out)
The requested output frequency, in Hz. This is set from the .speed-cmd value, and is just shown for debugging purposes.
hy_gt_vfd.freq-fb (float, out)
The current output frequency of the VFD, in Hz. This is reported from the VFD to the driver.
hy_gt_vfd.spindle-on (bit, in)
Set this pin True to command the spindle on, at the speed requested on the .speed-cmd pin. Set this pin False to command the spindle off.
hy_gt_vfd.output-voltage (float, out)
The voltage that the VFD is current providing to the motor, in Volts.
hy_gt_vfd.output-current (float, out)
The current that the motor is currently drawing from the VFD, in Ampères.
hy_gt_vfd.output-power (float, out)
The power that the motor is currently drawing from the VFD, in Watts.
hy_gt_vfd.dc-bus-volts (float, out)
The current voltage of the VFDâs internal DC power supply, in Volts.
hy_gt_vfd.modbus-errors (u32, out)
A count of the number of modbus communication errors between the driver and the VFD. The driver is resilient against communication errors, but a large or growing number here indicates a problem that should be investigated.
hy_gt_vfd.input-terminal (float, out)
The VFDâs input terminal register.
hy_gt_vfd.output-terminal (float, out)
The VFDâs output terminal register.
hy_gt_vfd.AI1 (float, out)
The VFDâs AI1 register.
hy_gt_vfd.AI2 (float, out)
The VFDâs AI2 register.
hy_gt_vfd.HDI-frequency (float, out)
The VFDâs HDI-frequency register.
hy_gt_vfd.external-counter (float, out)
The VFDâs external counter register.
hy_gt_vfd.fault-info (float, out)
The VFDâs fault info register.
ISSUES
The VFD produces the output frequency that it sends to the motor by adding a manually specified offset to the frequency command it gets over modbus.
The manual offset is controlled by pressing the Up/Down arrows on the faceplate while the VFD is turning the motor.
If you command a speed on the .speed-cmd pin and get a different speed reported on the .speed-fb pin, first verify that the VFD registers listed in the FIRMWARE SETUP section above and the driverâs command-line arguments all agree with the info on the motorâs name plate. If you still arenât getting the speed you expect, zero the VFDâs frequency offset by starting the motor running, then pressing the Up/Down buttons to zero the offset.
AUTHOR
Sebastian Kuzminsky
LICENSE
GPL-2.0+