Автоматизированный электропривод ленточного конвейера: Разработка системы управления с возможностью удаленного контроля — АСУ ТП: сообщество инженеров

Автоматизированный электропривод ленточного конвейера: Разработка системы управления с возможностью удаленного контроля

Проект автоматизированного электропривода экспериментального ленточного конвейера, разработанный на кафедре электроэнергетики и автоматики Белгородского государственного технологического университета имени В.Г. Шухова.

Принцип работы: пластиковые крышки подаются из контейнера на ленту конвейера с помощью вибраций, создаваемых маленьким моторчиком от игрушки. На выходе из контейнера датчик металла проверяет материал крышки — если она металлическая, то удаляется первой с конвейера механическим рычагом. Затем фотоэлемент определяет положение и цвет крышки. Если крышка оказывается перевернутой, самодельный механизм, состоящий из платы и проволоки, переворачивает ее. После определения цвета контроллер подает сигнал на соответствующий пневмотолкатель для сброса крышки с конвейера.

Управление конвейером осуществляется через электропривод, подключенный к преобразователю частоты. В статье подробно описывается принцип работы данной связки.

Фото лабораторного стенда

1. Основные компоненты системы АД + ПЧ

Функциональная схема ленточного конвейера

Функциональная схема автоматизированного электропривода состоит из нескольких блоков:

  1. Схема Пуска (СП): Осуществляет подключение ПЧ к сети.
  2. Блок Управления (Персональный Компьютер): Выполняет общее управление системой, принимая сигналы от оператора или других устройств и передавая их на остальные блоки.
  3. Преобразователь Интерфейсов USB/RS-485 (ПИ): Преобразует сигнал с USB-порта ПК в сигнал RS-485 для работы с ПЧ.
  4. Преобразователь Частоты (ПЧ): Обеспечивает регулировку скорости вращения асинхронного двигателя.
  5. Асинхронный Двигатель (АД) и Редуктор (РД): Обеспечивают движение конвейера.
  6. Микроконтроллер (МК): Обрабатывает сигналы от датчиков и передает команды на реле времени.
  7. Реле Времени (РВ): Управляет временем работы дополнительных устройств, таких как электротолкатели.
  8. Электротолкатель (ЭТ) и Пневмотолкатель (ПТ): Используются для сортировки материалов с конвейерной ленты.
  9. Конвейер (КВ): Перемещает грузы.
  10. Датчик Цвета (ДЦ): Отслеживает цвет материала и отправляет сигнал микроконтроллеру.
  11. Компрессор (КР): Предоставляет сжатый воздух для пневматических устройств.
  12. Пневмореле (ПР): Управляет клапанами для подачи сжатого воздуха.

1.1. Ленточный конвейер

Кинематическая схема ленточного конвейера: 1-двигатель; 2, 4 — муфты; 3 — редуктор; 5 — конвейер

Экспериментальный ленточный конвейер представляет собой устройство, состоящее из следующих основных компонентов:

  • Приводной ролик: перемещает ленту конвейера.
  • Лента: непосредственно транспортирует грузы.
  • Опорные ролики: поддерживают ленту и обеспечивают ее правильное направление движения.
  • Каркас: физическая конструкция напечатана на 3D принтере, поддерживающая все элементы.

1.2. Асинхронный двигатель (АД)

Чтобы выбрать подходящий электропривод, необходимо рассчитать мощность тягового усилия с учетом прогнозируемой нагрузки.

  • Синхронные двигатели: обладают высокой точностью скорости, но требуют сложной системы возбуждения.
  • Асинхронные двигатели: были выбраны благодаря простоте обслуживания, широкому диапазону рабочих скоростей и низкому уровню шума. Они составляют около 90% парка электродвигателей в промышленности.

Не буду приводить полные расчеты, лишь в кратце опишу принцип выбора привода.

Формула: Pэп = Pз / n,
где Pз — мощность, передаваемая валом приводного барабана, Вт; n — общий КПД привода.
В итоге получаем Pэп = 71,4 / 0,79 = 90,52 Вт.

Исходя из запасов кафедры и планах по расширению возможностей конвейера в качестве эксперимента был выбран АД с короткозамкнутым ротом АИР56А2 У2 мощностью 0,18 кВт. Выходит уж слишком с большим запасом, но на пластиковых крышках мы останавливаться не собирались.

1.3. Преобразователь Частоты (ПЧ)

Существует 3 способа выбрать ПЧ: выбрать общепромышленную модель, модель для конкретного применения или по характеристикам.
Для данного технологического процесса выбор модели для конкретного применения быстрый и удобный вариант, т.к электропривод достаточно нагружен и не возникает пиковых нагрузок. Как правило, номинальная мощность большинства преобразователей соответствует стандартной серии.
ПЧ подбирается такой же мощности, что и двигатель, или чуть большей.

Для данного проекта был выбран преобразователь SAJ 8000M-4TR75GH мощностью 0,75 кВт. Этот преобразователь обладает следующими преимуществами:

  • Бездатчиковое векторное управление.
  • Режим управления V/F.
  • Широкий диапазон выходных частот (до 600 Гц).
  • Защита от перегрева, недостаточного напряжения, перенапряжения и короткого замыкания.
  • Встроенный интерфейс RS-485 для связи с внешними устройствами.
ПЧ SAJ 8000M-4TR75GH

Решение не лучшее, но это самый подходящий ПЧ, что был на кафедре 🙂

1.3. Выбор редуктора

Выбор редуктора производится исходя из условия, что рассчитанное передаточное число должно быть больше, либо равно каталожному значению, также учитываются условия работы механизма, номинальная мощность и скорость двигателя.

Передаточное число редуктора рассчитывается по номинальной скорости вращения выбранного двигателя и основной скорости движения исполнительного органа.

В качестве редуктора был выбран планетарный редуктор от аккумуляторной дрели, в связи с доступностью и дешевизной.

1.4 Выбор автоматического выключателя и сетевого контактора

Согласно документации выбранного ПЧ рекомендуется выбрать автомат номиналом 10 А.

Автоматический выключатель ABB BMS413C25

Из доступного оборудования был выбран ABB BMS413C25.

1.5. Выбор преобразователя интерфейсов

Преобразователь Espada UR485

В качестве совместимого устройства с протоколом Modbus был выбран преобразователь Espada UR485.

Конвертор компактный, дешевый и простой в использовании, легко позволяет подключить конвейер к компьютеру через USB-порт, что облегчает взаимодействие с ПО и обеспечивает передачу данных для контроля и управления конвейером.

1.6. Разработка принципиальной схемы

В соответствие с разработанной функциональной схемой и характеристиками выбранных элементов разработана схема электрическая принципиальная.

Схема электрическая принципиальная

Одним из основных компонентов схемы является ПК (Персональный компьютер), к которому через USB-A интерфейс подключен преобразователь интерфейсов RS-485. Этот преобразователь состоит из двух микросхем: конвертера интерфейсов USB / UART CH340 и приемопередатчика RS-485 MAX485. Они выполняют функцию имитации COM-порта и преобразования сигнала USB в RS-485.

Соединение сети с модулем осуществляется через клеммную колодку с двумя дифференциальными сигналами, которые подключены к порту ПЧ с интерфейсом RS-485 для передачи управляющего сигнала.

К ПЧ подключена пятипроводная система питания с напряжением 380В. Запуск системы осуществляется с помощью релейно-контакторной системы управления, где автомат QF1 используется для включения. После включения автомата, при нажатии нормально разомкнутой кнопки SB1, напряжение подается на обмотку магнитного контактора KM, что приводит к замыканию двух контакторных групп KM1.1 и KM1.2. Этот процесс обеспечивает стабильное питание и запуск ПЧ.

Для безопасности и возможности отключения питания используется нормально замкнутая кнопка SB2. При нажатии на эту кнопку питание отключается, что позволяет контролировать и управлять работой системы.

Кроме того, к системе пуска подключены два релейных выхода ПЧ TA и TB. Эти выходы предназначены для аварийных ситуаций. Если возникают ошибки или авария, контакт KA KB размыкается, что приводит к прекращению подачи питания на обмотку контактора KM и, соответственно, отключению ПЧ, что является важным механизмом защиты.

Асинхронный электрический двигатель АИР56А2 У2 является частью системы и подключен напрямую к выводам ПЧ. Подключение осуществляется по схеме звезда, используя питающее напряжение 380В.

Для обеспечения безопасности и предотвращения электротравм корпус АД и ПЧ заземлены. Это создает защиту от случайного прикосновения к электрическим частям, а также надежность системы.

2. Программное обеспечение

2.1. Язык программирования

Для реализации бизнес-логики программного обеспечения был выбран язык Java. Не самый лучший выбор для данной задачи, но другого на момент разработки хорошо я не знал.

2.2. Протокол Modbus RTU

Для обмена данными между ПК и ПЧ используется протокол Modbus RTU. Он работает на физическом уровне последовательного интерфейса RS-485 и поддерживает такие функции, как чтение и запись регистров, управление дискретными входами и выходами.

Здесь главное разобраться со всеми низкоуровневыми процессами, чтобы правильно сформировать сообщения для управления ПЧ.

Для реализации протокола была использована библиотека com.fazecast.jSerialComm, которая значительно упрощает работу с последовательным портом. И как удачно, что я ее нашел.

Структура данных передаваемого сообщения в сети Modbus RTU

Протокол основан на модели клиент-сервер и работает через последовательный интерфейс RS-485, позволяя подключать несколько устройств в одной сети. Его ключевые особенности включают: формат кадра с полями адреса устройства, функции, данных и контрольной суммы (CRC); наличие мастер-устройства (клиента), инициирующего обмен, и подчинённых устройств (серверов), отвечающих на запросы; уникальную адресацию для каждого устройства в сети.

2.3. Разработка логики

Для каждого ПЧ нужно формировать свой массив данных для управления. Всю информацию можно найти в документации к вашему устройству.

Приведу основные методы для управления и работы с ПЧ.

Метод writeBytes(FrequencyConverterCommand command, String byteData) для записи данных на ПЧ:

public static void writeBytes(FrequencyConverterCommand command, String byteData) 
{
SerialPort serialPort = getSerialPort();
String portCommand = getPortCommand(command, byteData);
byte[] sendBuf = CRC16Modbus.getSendBuffer(portCommand);
OutputStream outputStream = serialPort.getOutputStream();
try (outputStream)
{
outputStream.write(sendBuf);
outputStream.flush();
}
catch (IOException e)
{
System.err.println(
"[PORT]: Ошибка записи массива данных!" + e);
}
String bufHexStr = CRC16Modbus.getBufferHexString(sendBuf);
System.out.println("[PORT/WRITE]: Записан массив: " +
bufHexStr);
}

Метод readBytes() для чтения массива данных, присылаемого от ПЧ:

public static byte[] readBytes() {
SerialPort serialPort = getSerialPort();
int read = 0;
byte[] readBuffer = new byte[8];
try (InputStream is =
serialPort.getInputStreamWithSuppressedTimeoutExceptions())
{
read = is.read(readBuffer);
} catch (IOException e) {
System.out.println(
"[PORT]: Ошибка чтения массива данных!" + e);
}
String bufferHexString =
CRC16Modbus.getBufferHexString(readBuffer);
System.out.println("[PORT/READ]: Прочитано " + read +
"байт.");
System.out.println("[PORT/READ]: Прочитан массив: " +
bufferHexString);
return readBuffer;
}

Для расчета CRC16 используется метод getSendBuffer() для формирования полного массива с рассчитанной контрольной суммой:

public static byte[] getSendBuffer(String toSend) 
{
byte[] bb = hexStringToBuf(toSend);
CRC16Modbus crc16 = new CRC16Modbus();
crc16.update(bb, bb.length - 2);
int ri = crc16.getValue();
bb[bb.length - 1] = (byte) (0xff & ri);
bb[bb.length - 2] = (byte) ((0xff00 & ri) >> 8);
return bb;
}

Для формирования массивов данных, принимаемых ПЧ написал enum с готовыми командами:

public enum FrequencyConverterCommand 
{
/**
* Запуск двигателя вперед.
* Адрес в сети - 01; Функция - 06; Адрес регистра - 10 00;
* Команда управления - 00 01
*/
RUN_FORWARD(NetworkAddress.ONE, CommandCode.WRITE, "1000",
"0001"),
RUN_REVERS(NetworkAddress.ONE, CommandCode.WRITE, "1000",
"0002"),
}

Важно отметить, что перед работой необходимо открыть порт. За это отвечает метод openPort() класса PortHandler, в котором описаны основные настройки протокола Modbus:

private void openPort() 
{
SerialPort commPort = getSerialPort();
commPort.openPort();
if (commPort.isOpen())
{
commPort.setParity(SerialPort.EVEN_PARITY);
commPort.setNumStopBits(SerialPort.ONE_STOP_BIT);
commPort.setBaudRate(9600);
commPort.setNumDataBits(8);
System.out.println("[PORT]: Порт открыт.");
}
else
{
throw new SerialPortInvalidPortException(
"[PORT] Ошибка открытия порта! Порт не открыт!",
new Throwable().getCause());
}
}

2.3. Telegram-бот

Для минимального удаленного управления и мониторинга технологического процесса был разработан Telegram-бот. Он использует библиотеку org.telegram.telegrambots-spring-boot-starter и предоставляет следующие возможности:

  • Отправка текстовых сообщений с текущим состоянием системы.
  • Управление скоростью движения конвейера через команды.
  • Получение уведомлений об ошибках и аварийных ситуациях.

Telegram-бот также предоставляет удобное взаимодействие через инлайн-клавиатуру с несколькими предопределенными командами.

Интерфейс Telegram бота

2.4. Desktop-приложение

Полноценное управление системой осуществляется через desktop-приложение, разработанное с использованием JavaFX. Приложение содержит три основных меню:

  • Меню управления: Настройка параметров работы конвейера.
  • Меню чтения статусов: Отображение текущего состояния системы.
  • Меню графиков: Визуализация данных о работе двигателя и других параметрах.
Интерфейс приложения для рабочего стола

Заключение

Разработанная система может быть масштабирована для использования в более крупных промышленных установках. Также планируется внедрение web SCADA-системы для расширения возможностей удаленного управления через стандартные веб-браузеры. Это позволит создавать пользовательские интерфейсы и интегрировать систему с другими промышленными решениями.

Полный код на моем GitHub по ссылке -> тут.

Источник: https://habr.com/ru/articles/887770/

🔗 Автоматизированный электропривод ленточного конвейера: Разработка системы управления с возможностью удаленного контроля

Оставьте комментарий

Войти

Зарегистрироваться

Сбросить пароль

Пожалуйста, введите ваше имя пользователя или эл. адрес, вы получите письмо со ссылкой для сброса пароля.

Прокрутить вверх