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

в 11:06, , рубрики: микроконтроллеры, преобразователь частоты, электродвигатель

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

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

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

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

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

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 - конвейер

Кинематическая схема ленточного конвейера: 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

ПЧ SAJ 8000M-4TR75GH

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

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

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

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

j_p=frac{w_n cdot D}{2 cdot V}=frac{2 cdot 3,14 cdot 2700 cdot 0,5}{60 cdot 2 cdot 0,15}=47,1

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

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

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

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

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

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

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

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

Преобразователь 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

Структура данных передаваемого сообщения в сети 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 бота

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

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

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

  • Меню управления: Настройка параметров работы конвейера.

  • Меню чтения статусов: Отображение текущего состояния системы.

  • Меню графиков: Визуализация данных о работе двигателя и других параметрах.

Интерфейс приложения для рабочего стола

Интерфейс приложения для рабочего стола

Заключение

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

Полный код на моем GitHub по ссылке -> тут.
Если интересна тема разработки, подписывайтесь на мой ТГ канал - Немыкин.Продакшн - Java/Kotlin developer

Если вас заинтересовала данная тема, добро пожаловать к обсуждению! Буду рад ответить на вопросы и узнать ваше мнение о проекте.

Автор: TrueRuslan

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js