SVD-PS_VFD(1)
πΈ NAME πΈ
okay so bestie, meet svd-ps_vfd β a HAL non-realtime component for SVD-P(S) VFDs. that's the whole vibe. π
β¨ SYNOPSIS β¨
svd-ps_vfd [OPTIONS]
π¦ DESCRIPTION π¦
so here's the tea β β the svd-ps_vfd component hooks a Soyan Power SVD-P(S) VFD up to LinuxCNC's HAL. the VFD talks to your LinuxCNC computer over RS-485, no cap.
and lowkey important: the SVD-P(S) VFDs are also sold under the LAPOND brand. same device, different name on the box, iykyk. π«Ά
π HARDWARE SETUP π
bestie. listen. the SVD-P(S) VFDs do not come with a Modbus daughterboard by default π β you have to buy that separately. plan for it, budget for it, it's giving "surprise extra purchase."
π FIRMWARE SETUP π
the sad-ps_vfd component uses standard Modbus protocol communication, which means exactly one parameter has to be changed from the defaults:
PD-05 = 1(Standard Modbus protocol)
now these next ones have been tested successfully and are the default per Soyan's documentation β so they should already be sitting pretty like this:
PD-00 = 6005(9600 baud)PD-01 = 0(8N2)PD-02 = 1(Slave address)PD-03 = 2(Response delay)PD-04 = 0(Communication timeout)PD-06 = 0(Current resolution)
π OPTIONS π
every single flag, right here, not skipping a one:
-b,--bits Nβ (default8) for Modbus communication. sets the number of data bits to N, and N has to land between5and8inclusive β no going rogue.-p,--parity [Even,Odd,None]β (defaultNone) for Modbus communication. sets serial parity toEven,Odd, orNone.-r,--rate Nβ (default9600) for Modbus communication. sets baud rate to N. and heads up: it is an error if the rate isn't one of these exact values:1200,2400,4800,9600,19200,38400.-s,--stopbits [1,2]β (default2) for Modbus communication. sets serial stop bits to1or2.-t,--target Nβ (default1) for Modbus communication. sets the Modbus target (slave) number. this has to match the device number you set on the Huanyang GT VFD.-d,--device PATHβ (default/dev/ttyS0) for Modbus communication. sets the name of the serial device node to use.-v,--verboseβ turns on verbose mode. chatty era activated. π£οΈ-S,--motor-max-speed RPMβ the motor's max speed, in RPM.-F,--max-frequency HZβ the maximum output frequency of the VFD, in Hz.-f,--min-frequency HZβ the minimum output frequency of the VFD, in Hz.
π PINS π
here's the full pin lineup, main character energy only:
svd-ps_vfd.period(float, in) β the period for the driver's update cycle, in seconds. this is literally how often the driver wakes up, checks its HAL pins, and talks to the VFD. must be between0.001and2.000seconds. default:0.1seconds.svd-ps_vfd.speed-cmd(float, in) β the requested motor speed, in RPM.svd-ps_vfd.speed-fb(float, out) β the motor's current speed, in RPM, as reported by the VFD.svd-ps_vfd.at-speed(bit, out) βTruewhen the drive is on and at the commanded speed (within 2%),Falseotherwise. π―svd-ps_vfd.freq-cmd(float, out) β the requested output frequency, in Hz. this gets set from the.speed-cmdvalue, and it's just shown for debugging purposes.svd-ps_vfd.freq-fb(float, out) β the current output frequency of the VFD, in Hz. this is reported from the VFD to the driver.svd-ps_vfd.spindle-on(bit, in) β set this pinTrueto command the spindle on, at the speed requested on the.speed-cmdpin. set this pinFalseto command the spindle off.svd-ps_vfd.output-voltage(float, out) β the voltage that the VFD is current providing to the motor, in Volts.svd-ps_vfd.output-current(float, out) β the current that the motor is currently drawing from the VFD, in Amperes.hsvd-ps_vfd.output-power(float, out) β the power that the motor is currently drawing from the VFD, in Watts. (yeah bestie, thathis really in there, keeping it π―)svd-ps_vfd.dc-bus-voltage(float, out) β the current voltage of the VFD's internal DC power supply, in Volts.svd-ps_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. πsvd-ps_vfd.input-terminal(float, out) β the VFD's input terminal register.svd-ps_vfd.AI1(float, out) β the VFD's AI1 register.svd-ps_vfd.AI2(float, out) β the VFD's AI2 register.
π AUTHOR π
Tinic Uro
π LICENSE π
GPL-2.0+
okay that's the whole page bestie, you ate it πβ¨ this was LinuxCNC documentation, dated 03/17/2026 β go wire up that VFD and slay π¦π
π¦ where this page comes from
- 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