Russian Federation
Russian Federation
UDK 674 Деревообрабатывающая промышленность
This paper discusses a program for automating wood brushing using a PID controller to control brush speed and brush pressure force. The PID controller, based on three parameters: proportional component coefficient (Kp), integral component coefficient (Ki) and differential component coefficient (Kd), is used to react to the error between the set and current values of the parameters.
brushing automation, PID controller, software implementation, mathematical models, brushing process control, system modeling and analysis
В современной промышленности автоматизация производственных процессов играет ключевую роль в повышении эффективности и качества производства. Одним из важных этапов производственного цикла является браширование древесины, которое не только придает ей эстетический вид, но и улучшает её визуальные характеристики. В данной статье рассматривается разработка и реализация программного обеспечения для автоматизации процесса браширования древесины с использованием ПИД-регулятора. Анализируются принципы работы и ключевые параметры данного регулятора, а также представляются математические модели, описывающие динамику процесса браширования. Дополнительно рассматривается настройка контроллера для управления скоростью вращения щеток и силой их нажима, а также представлены результаты моделирования и анализа системы управления. Полученные результаты могут быть полезны для промышленных предприятий, занимающихся производством мебели и других изделий из древесины, а также для специалистов в области автоматизации производственных процессов.
Программа на C++ для автоматизации браширования с ПИД-регулированием:
C++
#include <iostream>
#include <wiringPi.h>
using namespace std;
// Параметры ПИД-регулятора
const float Kp = 1.0;
const float Ki = 0.01;
const float Kd = 0.05;
// Настройка GPIO
const int speedPin = 23; // PWM (ШИМ) для скорости вращения щеток
const int forcePin = 24; // PWM (ШИМ) для силы нажима щеток
const int pressurePin = 25; // Аналоговый вход для датчика давления
// Функция ПИД-регулирования
float pidControl(float target, float actual) {
float error = target - actual;
static float previousError = 0.0;
float derivative = (error - previousError) / 0.1;
static float integral = 0.0;
integral += error * 0.1;
float output = Kp * error + Ki * integral + Kd * derivative;
previousError = error;
return output;
}
int main() {
// Инициализация GPIO
wiringPiSetup();
pinMode(speedPin, PWM_OUTPUT);
pinMode(forcePin, PWM_OUTPUT);
pinMode(pressurePin, INPUT);
// Запуск цикла браширования
while (true) {
// Считывание данных с датчика давления
float pressure = analogRead(pressurePin) / 1024.0;
// Вычисление скорости вращения щеток
float speed = pidControl(500.0, pressure);
// Вычисление силы нажима щеток
float force = pidControl(1000.0, pressure);
// Установка PWM для скорости вращения щеток
pwmWrite(speedPin, (int)speed);
// Установка PWM для силы нажима щеток
pwmWrite(forcePin, (int)force);
// Задержка
delay(100);
}
return 0;
}
Программа использует ПИД-регулятор для управления скоростью вращения щеток и силой нажима. ПИД-регулятор имеет три параметра: Kp – коэффициент пропорциональной составляющей; Ki – коэффициент интегральной составляющей; Kd – коэффициент дифференциальной составляющей. Эти параметры определяют, как ПИД-регулятор будет реагировать на ошибку между заданным и текущим значением.
Настройка контроллера GPIO. Программа использует три канала контроллера для управления щетками и датчиком давления: speedPin: номер канала для скорости вращения щеток; forcePin – номер для силы нажима щеток; pressurePin: номер для датчика давления.
Функция pidControl принимает два аргумента: target – заданное значение; actual – текущее значение. Она вычисляет ошибку между заданным и текущим значением, а затем использует ПИД-регулятор для вычисления выходного значения.
Программа работает в бесконечном цикле while (true). Внутри цикла программа выполняет следующие действия:
- Считывает данные с датчика давления (pressure = analogRead(pressurePin) / 1024.0;);
- Вычисляет скорость вращения щеток (speed = pidControl(500.0, pressure);)
- Вычисляет силу нажима щеток (force = pidControl(1000.0, pressure);)
- Устанавливает значение для скорости вращения щеток (pwmWrite(speedPin, (int)speed);)
- Устанавливает значение для силы нажима щеток (pwmWrite(forcePin, (int)force);)
- Делает задержку (delay(100);)
Рассмотрим разработанные математические модели объектов автоматизации браширования для реализации автоматического регулирования.
Динамика скорости вращения щеток может быть представлена уравнением:
где J – момент инерции щеток; ω – угловая скорость вращения щеток; B – коэффициент вязкого трения; K – коэффициент усиления двигателя; UV – управляющее напряжение, подаваемое на двигатель.
Динамика силы нажима представляется уравнением:
,
где Fn – сила нажима; Kp – коэффициент пропорциональности привода.
Скорость вращения брашировальных щеток определяется уравнением
где Kp, Ki, Kd – параметры ПИД-регулятора; ωref – заданная скорость вращения.
Сила нажима:
,
где Fnref – заданная сила нажима.
Датчик давления описывается уравнением:
,
где P – измеренное давление; Ks – коэффициент чувствительности датчика
Объект браширования:
,
где Ft – сила трения; μ – коэффициент трения.
Следует отметить, что в задачи управления входит:
- Поддержание заданной скорости вращения щеток.
- Обеспечение точного и быстрого позиционирования щеток.
- Поддержание заданной силы нажима щеток.
- Обеспечение оптимального контакта щеток с поверхностью.
Предположим, что скорость вращения браширующих щеток зависит от управляющего сигнала, который подается на электропривод. Пусть w(t) – скорость вращения в определенный момент времени t. Тогда можем использовать пропорционально-интегрально-дифференциальный (ПИД) регулятор для управления этой скоростью.
Математически это можно выразить следующим образом:
,
где w(t) – желаемая скорость вращения, – ошибка скорости вращения, Kp, Ki, Kd – коэффициенты ПИД-регулятора, которые необходимо подобрать экспериментально.
Предположим, что сила нажима браширующих щеток зависит от управляющего сигнала, который подается на пневматическое устройство. Пусть F(t) – сила нажима в определенный момент времени t. Тогда также можно использовать ПИД-регулятор для управления этой силой.
Математически это можно выразить аналогичным образом:
,
где – желаемая сила нажима; – ошибка силы нажима; Kp, Ki, Kd – коэффициенты ПИД-регулятора.
Данные математические модели позволяют представить управление скоростью вращения и силой нажима браширующих щеток с использованием ПИД-регуляторов. Для практической реализации необходимо экспериментально подобрать значения коэффициентов ПИД-регуляторов, учитывая специфику конкретной системы и требований процесса браширования.
Реализация системы регулирования скорости вращения браширующих щеток в MatLab Simulink приведена на рис. 1.
Рисунок 1 – Модель регулирования скорости вращения браширующих щеток в MatLab/Simulink
Динамическая характеристика скорости вращения браширующих щеток (рис. 2) характеризуется небольшим перерегулированием и малым временем переходного процесса (2,5 с).
Рисунок 2 – Динамическая характеристика скорости вращения браширующих щеток
АСР скорости вращения браширующих щеток является устойчивой с хорошими запасами устойчивости по амплитуде и фазе (рис. 3).
Рисунок 3 – Устойчивость АСР скорости вращения браширующих щеток
Автоматизация браширования является перспективным направлением развития деревообрабатывающей промышленности. Автоматические станки позволяют повысить производительность, улучшить качество обработки и снизить трудоемкость браширования.
1. Gribanov, A. A. Ispol'zovanie tehnologii cifrovogo dvoynika tehnologicheskogo ob'ekta upravleniya v obrazovanii / A. A. Gribanov // Avtomatizaciya. Sovremennye tehnologii. – 2022. – T. 76. – № 2. – S. 89-93. – DOIhttps://doi.org/10.36652/0869-4931-2022-76-2-89-93.
2. Gribanov, A. A. Nastroyka avtomaticheskih regulyatorov metodom identifikacii tehnologicheskih ob'ektov upravleniya / A. A. Gribanov, Yu. A. Pyatkova // Mehanizaciya i avtomatizaciya tehnologicheskih processov v sel'skohozyaystvennom proizvodstve : materialy nacional'noy nauchno-prakticheskoy konferencii, Voronezh, 25 sentyabrya 2020 goda / Redakcionnaya kollegiya: V.I. Orobinskiy, V.G. Kozlov. – Voronezh: Voronezhskiy gosudarstvennyy agrarnyy universitet im. Imperatora Petra I, 2020. – S. 155-160.
3. Gribanov, A. A. Identifikaciya parametrov promyshlennyh ob'ektov upravleniya / A. A. Gribanov, A. S. Vasilenko // Integraciya i razvitie nauchno-tehnicheskogo i obrazovatel'nogo sotrudnichestva - vzglyad v buduschee : Sbornik statey II Mezhdunarodnoy nauchno-tehnicheskoy konferencii. V 3-h tomah, Minsk, 11–12 dekabrya 2019 goda. – Minsk: Belorusskiy gosudarstvennyy tehnologicheskiy universitet, 2020. – S. 45-48.