0

I am attempting to control a Folinn VFD (Manual: Manual) with an Arduino Uno via a MAX485 module such as this.

  • Pins for MAX485:
    • DI> D8
    • DE & RE> D10
    • RO> D11

VFD settings:

  • F00.01 set to 2
  • F00.06 set to 9
  • F13.00 set to 1
  • F13.01 set to 5
  • F13.02 set to 3

At this stage I am attempting a very simple code just to turn the VFD on:

/*
 ModBus RTU control VFD
 Address : 01H (is the address of the VFD)
 Function : 06H (write function code)
 Starting data address : 20H
 : 00H (2000H is the address of control command)
 Data(2Byte) : 00H
 : 01H (0001H is forward command)
 CRC CHK Low : 43H
 CRC CHK High : CAH
*/
#include <SoftwareSerial.h>
#define SSerialRX 11 //Serial Receive pin
#define SSerialTX 8 //Serial Transmit pin
#define SSerialTxControl 10 //RS485 Direction control
#define RS485Transmit HIGH
#define RS485Receive LOW
#define Pin13LED 13
// From manual vfd Forward command = 01H 06H 2000H 0001H 43CAH
byte request1[] = {0x01, 0x06, 0x20, 0x00, 0x00, 0x01, 0x43, 0xCA}; 
SoftwareSerial RS485Serial(SSerialRX, SSerialTX); // RX, TX
byte byteSend;
void setup()
{
 // Start the built-in serial port, probably to Serial Monitor
 Serial.begin(9600);
 Serial.println("SerialRemote"); // Can be ignored
 pinMode(Pin13LED, OUTPUT);
 pinMode(SSerialTxControl, OUTPUT);
 // digitalWrite(SSerialTxControl, RS485Receive); // Init Transceiver
 RS485Serial.begin(9600);
}
void loop()
{
 digitalWrite(SSerialTxControl, RS485Transmit);
 RS485Serial.write(request1, sizeof(request1));
}

With the MAX485 connected to the correct ports (S+ and S-) on the VFD, this current setup receives no response is someone able to spot where I am going wrong? I have taken the values for CRC CHK Low & High from a different example, is this the issue?

Have also tried setting F00.01 to an unlisted '3' setting that I have seen pop up in other discussions but this made no difference. Any advice would be much appreciated, let me know if I can supply further details.

(I chose this method based on this example

asked Feb 27, 2020 at 2:35

1 Answer 1

1

User on other site (https://forum.arduino.cc/index.php?topic=663365.0) Might have default run conditons on VFD set differently or by hardware.

Check the VFD is listening to the ModBus Comms. OK.

Check VFD is 'Ready to Run'. Hardwire e-stop or 'Active' inputs. F00.22 Check Binding source F00.05 Check Set min Hz F01.01 Check Set min Hz

Give drive MIN Hz So when received RUN signal has default speed to goto.

Are you doing a Hard Reset on the UNO every time you want to send the Modbus string? Code runs once, does not actively transmit.

answered Feb 27, 2020 at 4:37
8
  • Hi Spannerz, thanks for the suggestion I have set: - F00.01 Command source selection - 2:RS 485 communication control - F00.06 Frequency A command selection - 9:RS 485 Communication Is there another setting I need to look at to be sure it is listening to ModBus? Commented Feb 27, 2020 at 4:47
  • OK. F00.06 is the frequency setpoint. Sure you can send it a number of the speed you want to run at, but are you? Almost suggest setting to 1:Keypad value, retentive on power failure. RUN signal is different to SPEED setpoint. Commented Feb 27, 2020 at 5:01
  • I'll be back tomorrow. Cheers. Commented Feb 27, 2020 at 5:03
  • That makes a lot of sense. Will try setting the frequency via keypad and just sending the run command. Will give it a crack in the morning and let you know how it goes. Commented Feb 27, 2020 at 5:18
  • Hi Spannerz, thanks for the additional information. I have been hard resetting the UNO so I think the problem lies in one of the settings you have mentioned. Flat out this morning but will try adjusting these settings later today and report back Commented Feb 27, 2020 at 22:39

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.