Управление VFD с помощью ModBus RTU через RS485 и Arduino
Я пытаюсь управлять частотно-регулируемым приводом Folinn (Руководство: Руководство) с Arduino Uno через модуль MAX485 =true">например, здесь.
- Контакты для MAX485:
- И > D8
- DE & RE > D10
- RO > D11
Настройки ЧРП:
- F00.01 установлен на 2
- F00.06 установлен на 9
- F13.00 установлено на 1
- F13.01 установлено значение 5
- F13.02 установлено на 3
На данном этапе я пытаюсь написать очень простой код, чтобы включить VFD:
/*
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 //Последовательный приемный контакт
#define SSerialTX 8 // вывод последовательной передачи
#define SSerialTxControl 10 //Управление направлением RS485
#define RS485Transmit HIGH
#define RS485Receive LOW
#define Pin13LED 13
// Из ручного vfd команда Forward = 01H 06H 2000H 0001H 43CAH
byte request1[] = {0x01, 0x06, 0x20, 0x00, 0x00, 0x01, 0x43, 0xCA};
SoftwareSerial RS485Serial(SSerialRX, SSerialTX); // прием, передача
byte byteSend;
void setup()
{
// Запускаем встроенный последовательный порт, возможно, к Serial Monitor
Serial.begin(9600);
Serial.println("SerialRemote"); // Можно игнорировать
pinMode(Pin13LED, OUTPUT);
pinMode(SSerialTxControl, OUTPUT);
// digitalWrite(SSerialTxControl, RS485Receive); // Инициализируем приемопередатчик
RS485Serial.begin(9600);
}
void loop()
{
digitalWrite(SSerialTxControl, RS485Transmit);
RS485Serial.write(request1, sizeof(request1));
}
Когда MAX485 подключен к правильным портам (S+ и S-) на VFD, эта текущая настройка не получает ответа. Может ли кто-нибудь определить, где я ошибаюсь? Я взял значения CRC CHK Low & Высокий из другого примера, проблема в этом?
Я также пытался установить для F00.01 параметр «3», не указанный в списке, который, как я видел, появлялся в других обсуждениях, но это не имело значения. Мы будем очень признательны за любые советы, дайте мне знать, если я могу предоставить дополнительную информацию.
(Я выбрал этот метод на основе этого примера
@Jacob Rodda, 👍0
1 ответ
Пользователь на другом сайте (https://forum.arduino.cc/index.php?topic=663365.0) Условия запуска по умолчанию на VFD могут быть установлены по-другому или аппаратно.
Убедитесь, что VFD прослушивает ModBus Comms. ОК.
Проверьте, что VFD готов к запуску. Жесткая аварийная остановка или «активные» входы. F00.22 Проверка источника привязки F00.05 Проверка установки мин. Гц F01.01 Проверка установки мин. Гц
Дайте приводу MIN Hz Таким образом, когда полученный сигнал RUN имеет скорость по умолчанию для перехода к goto.
Выполняете ли вы полную перезагрузку UNO каждый раз, когда хотите отправить строку Modbus? Код запускается один раз, без активной передачи.
- Основная связь Arduino ModBus RTU с проблемой измерителя мощности
- Мониторинг контроллера Modbus RTU с помощью Arduino и модуля RS485
- Связь Arduino Uno и ESP32 с использованием RS485
- Когда дело доходит до связи UART-RS485, в чем разница между модулем "MAX485" и модулем "HW-0519"?
- Arduino RS485 shield к датчику температуры и влажности RS485
- Использование Modbus-RTU с Arduino и контроллером температуры
- считывание данных с контроллера через RS485 Modbus rtu Arduino
- Проблема со связью по Modbus между двумя Arduino при записи более 27 регистров.
Привет, Спаннерз, спасибо за предложение Я установил: - F00.01 Выбор источника команды - 2: Управление связью RS 485 - F00.06 Выбор команды частоты А - 9: Связь RS 485 Есть ли еще одна настройка, на которую мне нужно обратить внимание, чтобы убедиться, что она прослушивает ModBus?, @Jacob Rodda
ХОРОШО. F00.06 — уставка частоты. Конечно, вы можете отправить ему число скорости, на которой вы хотите работать, но вы? Практически рекомендуется установить значение 1:Клавиатура, сохраняющееся при сбое питания. Сигнал RUN отличается от уставки SPEED., @Spannerz
Я вернусь завтра. Ваше здоровье., @Spannerz
Это имеет большой смысл. Попробую установить частоту с помощью клавиатуры и просто отправить команду запуска. Утром попробуем и сообщим, как дела., @Jacob Rodda
Привет, Спаннерз, спасибо за дополнительную информацию. Я жестко сбрасывал UNO, поэтому я думаю, что проблема заключается в одной из настроек, которые вы упомянули. Утром все готово, но сегодня постараюсь изменить эти настройки и отчитаюсь., @Jacob Rodda
Привет, Spannerz, до сих пор не удалось заставить VFD работать через Arduino, даже если F00.06 установлен на клавиатуру. Какие настройки следует вводить для F00.22? Я думаю, что это может быть проблемой., @Jacob Rodda
Я бы попробовал = 1. Убедитесь, что значение клавиатуры соответствует рабочей частоте, на которую ссылается привод., @Spannerz
К сожалению, через Modbus не получилось. Но удалось получить управление пуском / остановкой и частотой с помощью цифровых входов с управляющими реле Arduino. Немного более неуклюжий обходной путь, но будет работать для нужд этого проекта. Большое спасибо за ваш совет., @Jacob Rodda