Knowledge base: Warsaw University of Technology

Settings and your account

Back

An Arduino library, which implements basic structures of PID regulator with autotuning procedures

Patryk Paweł Chodakowski

Abstract

Achievements of technology results in progressive development of automation. Production and energetic processes due to automatic control systems work with precision that was never available before thanks to removal one of the most malfunctioning and random factor – human. The basis of an automatic control system, both in industrial processes and autonomous vehicles, is controller. Its task is to correct a measured process variable to the desired setpoint and compensate impact of all disturbances. This function is provided by defined inside algorithm. There are several different types of control algorithms from among the most common for industrial purposes is the proportional–integral–derivative algorithm (PID). Primary applied PID controllers were analog. Theirs internal structure implicate executed algorithm. Tunings can be changed by manual configuration of controller. Development of electronics gave opportunity to create digital controllers, where work algorithm is defined by appropriate program. Digital controllers may have several different algorithms programmed and change them without the need of modifying their structure, which is great advantage in comparison to their analog equivalents. Prevalence of electronics brought interest in this field of study by amateurs and hobbists. As a response to their demand, Arduino platform was created – a project combining dedicated software and hardware that introduce users with microcontrollers. Easy and very open programing environment (all codes and electrical diagrams are open source) has led Arduino to work not only for educational purposes. Amongst many available Arduino’s libraries is a lack of one that has similar functionalities to the industrial PID controller. In the project part of this BSc thesis such a library was developed. It is able to work with several control loops at the same time, have a few autotune algorithms, can change its structure from parallel to series form, modify its work algorithm to P, PI or PD and choose integral approximation between rectangles and trapeze method. Moreover, the library provides basic features of PID controllers like changing from auto to manual mode, from reverse to normal work or from remote to local signal inputs. Program has been tested on three different plants: water level, motor speed and air temperature control systems. Results of the tests confirmed valid working of the library.
Diploma type
Engineer's / Bachelor of Science
Diploma type
Engineer's thesis
Author
Patryk Paweł Chodakowski (FM) Patryk Paweł Chodakowski,, Faculty of Mechatronics (FM)
Title in Polish
Biblioteka dla Arduino implementująca podstawowe struktury regulatora PID wraz z procedurami autostrojenia
Supervisor
Paweł Wnuk (FM/IACR) Paweł Wnuk,, The Institute of Automatic Control and Robotics (FM/IACR)Faculty of Mechatronics (FM)
Certifying unit
Faculty of Mechatronics (FM)
Affiliation unit
The Institute of Automatic Control and Robotics (FM/IACR)
Study subject / specialization
, Automatyka i Robotyka (Automation and Robotics)
Language
(pl) Polish
Status
Finished
Defense Date
22-05-2019
Issue date (year)
2019
Reviewers
Paweł Wnuk (FM/IACR) Paweł Wnuk,, The Institute of Automatic Control and Robotics (FM/IACR)Faculty of Mechatronics (FM) Jakub Możaryn (FM/IACR) Jakub Możaryn,, The Institute of Automatic Control and Robotics (FM/IACR)Faculty of Mechatronics (FM)
Keywords in Polish
Arduino, regulator, PID, autostrojenie, regulacja, biblioteka.
Keywords in English
Arduino, regulator, PID, autotune, controller, library.
Abstract in Polish
Osiągnięcia techniki spowodowały ciągle postępujący na naszych oczach rozwój automatyki. Procesy produkcyjne, przetwórcze, energetyczne dzięki systemom automatycznej regulacji odbywają się z niespotykaną dotąd dokładnością – wszystko dzięki eliminacji najczęściej zawodzącego i przypadkowego czynnika ludzkiego. Podstawą wszystkich układów automatycznej regulacji, zarówno w procesach przemysłowych jak i pojazdach autonomicznych, są regulatory. Ich zadaniem jest wprowadzanie zmian wielkości regulowanej w celu kompensacji zakłóceń wpływających na obiekt regulacji. Realizacją tego zadania zajmuje się zdefiniowany w regulatorze algorytm. Istnieje szereg różnych rodzajów algorytmów regulatorów, spośród których w praktyce przemysłowej najczęściej stosowany jest algorytm proporcjonalno-całkująco-różniczkujący (PID). Pierwsze stosowane przemysłowo regulatory PID były analogowe – realizowane przez nie algorytmy wynikały z budowy wewnętrznej urządzenia, zaś nastawy wprowadzano poprzez ręczną konfigurację regulatora. Wraz z rozwojem elektroniki możliwe było stworzenie regulatorów cyfrowych, w których algorytm regulacji definiowano programowo. Dzięki temu w jednym regulatorze możliwe było zaprogramowanie kilku różnych algorytmów pracy, bez zmiany ich budowy, co znaczenie poszerzyło możliwości tych urządzeń. Rozpowszechnienie elektroniki wywołało wzrost zainteresowania tą dziedziną nauki przez amatorów i hobbystów. Naprzeciw tej grupie odbiorców powstała platforma Arduino – projekt łączący specjalnie opracowany software i hardware zaznajamiający użytkowników z tematyką mikrokontrolerów. Prostota i duża otwartość platformy (programy i schematy elektryczne obwodów drukowanych publikowane są na zasadach wolnej licencji) spowodowała jej wykroczenie poza jedynie edukacyjne cele. Wśród wielu dostępnych bibliotek Arduino brakuje tej implementującej regulator PID, która mogłaby nadawać się do przemysłowych zastosowań. W części projektowej tej pracy inżynierskiej opracowano bibliotekę dla Arduino obsługującą kompleksowy regulator PID o funkcjonalności zbliżonej do jego przemysłowych odpowiedników. Biblioteka pozwala na regulację kilku obwodów jednocześnie, zawiera algorytmy automatycznego doboru nastaw, umożliwia przełączanie struktury z równoległej na szeregową, wyposażona jest w możliwość zmiany algorytmu pracy na P, PI czy PD oraz zmiany aproksymacji całki z metody prostokątów na metodę trapezów, a także spełnia podstawowe funkcje jak przełączanie z trybu pracy automatycznej na ręczną, z rewersyjnej na normalną czy z lokalnej na zdalną. Program sprawdzono na trzech różnych obiektach regulacji: układzie regulacji poziomu wody, prędkości obrotowej silnika i temperatury powietrza w rurociągu. Wyniki testów potwierdziły prawidłowe działanie biblioteki.
File
  • File: 1
    278169_inz.pdf
Request a WCAG compliant version
Local fields
Identyfikator pracy APD: 34058

Uniform Resource Identifier
https://repo.pw.edu.pl/info/bachelor/WUT8694ce87af4942eeafe9ab106c4c5dae/
URN
urn:pw-repo:WUT8694ce87af4942eeafe9ab106c4c5dae

Confirmation
Are you sure?
Report incorrect data on this page