crisstel.ro Controller PID reglarea automata controlată

Controller PID cu Arduino

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on email
Email
Share on whatsapp
WhatsApp

Controlul PID (proporțional, integral, derivativ) este o metoda utilizata la scara larga în reglarea proceselor, cum ar fi reglarea temperaturii, reglarea nivelului de apa într-o incinta, controlul vitezei unui motor electric sau poziționarea capului de imprimanta cu jet de cerneală. Acestea sunt doar câteva exemple.

Controller PID cu Arduino reglarea temperaturii nivelul apă viteză motor

robofun.ro

Controller PID cu Arduino reglarea temperaturii nivelul apă viteză motor

Deși aplicațiile diferă între ele, metoda de abordare folosind controlul PID este asemănătoare. Ecuația care descrie comportamentul unui controller PID exista sub diverse forme, dar forma generală este următoarea:
Control = kP*Eroare + kI*Σ Eroare + kD * dP/dT

case-smart.ro

Eroarea reprezintă diferența dintre valoarea actuală a procesului (să presupunem ca reglăm viteza de rotație a unui motor) și valoarea pe care ne-o dorim să o atingem (referința).

activitati-cadou.ro

Într-un limbaj de programare, eroarea se poate exprima astfel:
Eroare = Valoare – Referința


Σ Eroare reprezinta suma erorilor anterioare iar dP/dT – rata de schimb a valorii procesului în raport cu timpul. Nu vei insista foarte mult asupra ecuațiilor, deoarece vei descoperi mai târziu cum funcționează algoritmul direct într-un sketch Arduino pentru controller PID.

Sketch-ul încarcă placa Arduino valorile se citesc în Monitorului Serial

Conținutul acestui articol este în format PDF pus la dispoziție de specialiștii RoboFun.ro. Pentru a vizualiza apăsați butonul Preview iar pentru a descărca butonul Download.

Arduino motoare curent continuu utilizate robotica motoare pas cu pas

Controller PID cu Arduino

  • Controlul PID (proporțional, integral, derivativ) este o metoda utilizata la scara larga în reglarea proceselor, cum ar fi reglarea temperaturii, reglarea nivelului de apa într-o incinta, controlul vitezei unui motor electric sau poziționarea capului de imprimanta cu jet de cerneala. Acestea sunt doar câteva exemple. Desi aplicatiile difera intre ele, metoda de abordare folosind controlul PID este asemanatoare. Ecuatia care descrie comportamentul unui controller PID exista sub diverse forme, dar forma generala este urmatoarea: Control = kP*Eroare + kI*Σ Eroare + kD * dP/dT Eroarea reprezinta diferenta dintre valoarea actuala a procesului (sa presupunem ca reglam viteza de rotatie a unui motor) si valoarea pe care ne-o dorim sa o atingem (referinta). Intr-un limbaj de programare, eroarea se poate exprima astfel: Eroare = Valoare – Referinta Σ Eroare reprezinta suma erorilor anterioare iar dP/dT - rata de schimb a valorii procesului in raport cu timpul. Nu vei insista foarte mult asupra ecuatiilor, deoarece vei descoperi mai tarziu cum functioneaza algoritmul direct intr-un sketch Arduino. Coeficientul proportional kP, integral kI si derivativ kD sunt responsabili cu reglarea controllerului PID corespunzator procesului pe care il regleaza. Cu alte cuvinte, in cazul unui robot, daca reglezi corect PID-ul, atunci robotul va fi foarte rapid si foarte precis. Control este o valoare de tensiune sau curent pe care o vei utiliza atunci cand vrei sa controlezi elementele de executie. In cazul unui robot, vei utiliza valoarea Control pentru a regla tensiunea de alimentare a motoarelor (elementul de executie). Algoritmul controllerului PID. Iti propun urmatorul pseudocod care iti va arata ca metoda PID nu este foarte complicata. PID: Eroare = Referinta – Eroare_Actuala Integral = Integral + (Eroare*dt) Derivativ = (Eroare - Eroare_anterioara)/dt Control = (Eroare*kP) + (Integral*kI) + (Derivativ*kD) Eroare_anterioara = Eroare Asteapta(dt) GOTO PID Pseudocodul iti arata pasii pe care ii urmeaza un controller PID atunci cand se afla in functiune. Poate fi util atunci cand vrei sa programezi un controller PID, intr-un limbaj diferit de catre cel folosit in Arduino. Mai jos poti observa un controller PID realizat in Arduino. Programul nu este orientat catre un exemplu anume, ci este unul general. Ramane la decizia ta sa alegi cum citesti valoarea Pozitie si cum realizezi comanda motorului. Actual = analogRead(Pozitie); Eroare = Referinta - Actual; if (abs(Eroare) < PragIntegral){ // previne saturatia integralei Integral = Integral + Eroare; // acumuleaza } else { Integral=0; // trece in 0 daca a depasit limita } P = Eroare*kP; // termenul proportional I = Integral*kI; // termenul integrativ D = (Eroare_anterioara-Actual)*kD; // termenul derivativ Drive = P + I + D; // Control total = P+I+D Drive = Drive*FactorScalare; // scaleaza Drive in domeniul 0-255 if (Drive < 0){ // Verifica directia digitalWrite (Direction,LOW); // schimba directia } else { // schimba directia digitalWrite (Direction,HIGH); } if (abs(Drive)>255) { Drive=255; } Comanda PWM. In exemplul de mai sus s-a utilizat o iesire PWM pentru a controla tensiunea de alimentare a unui motor. Valoarea din interiorul functiei analogWrite() trebuie sa fie de tip intreg si cuprinsa intre 0 si 255. Valoarea Drive este redimensionata pentru acest interval. Reglarea PID-ului. Partea de reglare a controllerului PID nu este foarte simpla. Ea se realizeaza din coeficientii kP, kI si kD. Se procedeaza astfel: • Initial coeficientii kI si kD se egaleaza cu 0 si se va utiliza numai coeficientul kP. • Se va creste valoarea coeficientului kP pana cand raspunsul controllerului incepe si oscileaza. Cu alte cuvinte, daca incerci sa reglezi un robot urmaritor de linie, se va mari valoarea kP pana cand robotul incepe si „se plimba“ in jurul liniei, adica oscileaza. In acest moment s-a ajuns intr-un punct in care robotul nu se comporta corect, asa ca trebuie sa miscorezi putin valoarea kP pana cand robotul tinde sa oscileze dar nu foarte mult. • Se va mari valoarea coeficientul kD care se comporta ca si cum ar anticipa inceputul unei oscilatii. • In final, se va mari foarte putin coeficientul kI care imbunatateste timpul de raspuns al robotului. Concluzie. Scopul acestui tutorial este de a-ti realiza o scurta introducere in ceea ce se numeste Regulator PID. Tutorialul acopera aspectele importante de functionare si este util atunci cand doresti sa realizezi o comanda cat mai buna a unui proces. Ca exemplu, poti sa reglezi temperatura intr-o incinta sau a unui recipient (dar nu este absolut necesar sa utilizezi metoda PID), poti sa reglezi viteza de rotatie a unui motor sau poti mentine in echilibru un pendul invers.

    Citește și:

    https://crisstel.ro/senzori-acceleratie/

    Poți folosi următorul cupon de reducere pentru a obține discount la componente electronice:

    Pentru alte cupoane de reducere apăsați aici

    Xiaomi VIOMI V2 Pro vacuum cleaner 2100Pa LDS intelligent electric control tank EU plug - Black EU Germany Controller PID cu Arduino gearbest europa
    Ragebee 500 in 1 3.0 Inch TFT Display 2 Player Handheld Game Console with Gamepad - Black review xiaomi
    Bilikay SN58 Waterproof IP68 Dafit APP Smart Watch Controller PID cu Arduino pareri mi 9t pro
    Alfawise WM02 Vertical Wireless 2.4GHz Mouse Controller PID cu Arduino cupon banggood
    Multi-function Anti-theft Men's Canvas Chest Bag Controller PID cu Arduino banggood romania
    MEGIR 2015 Fashion Men's Watch Multi-function Sports Waterproof Style Controller PID cu Arduino www bangood com online
    SKMEI Fashion Large Dial Men Electronic Sports Watch Controller PID cu Arduino controlul vitezei unui motor banggood login
    CURREN Men's Waterproof Watch with Box controlul vitezei unui motor coupons from China
    SKMEI Men Sport Digital Watch with Chronograph Double Time Alarm Light controlul vitezei unui motor banggood cupon
    SKMEI Fashion Waterproof Digital Men Watch controlul vitezei unui motor banggood coupons
    Gocomma 8-in-1 USB-C Hub Adapter tensiunea de alimentare a motoarelor coduri de reducere pentru Banggood
    Alfawise X1 Folding E-bike Bicycle Electric B tensiunea de alimentare a motoarelor cupon  gearbest
    CGD1 Mini Multifunction 3-in-1 Bluetooth Alar tensiunea de alimentare a motoarelor gearbest romania
    Portable Manual Pneumatic Sand Blasting Tool tensiunea de alimentare a motoarelor madalin gearbest
    Portable Tripod Stand Extendable Rod Selfie S tensiunea de alimentare a motoarelor madalin china gearbest
    MTB Bicycle Front Light LED Flashlight Night reglare a controllerului PID gearbest com romania
    7 inch IPS Display Underwater Fish Finder Int reglare a controllerului PID gearbest plata ramburs
    2 inch 5.2mm Chainsaw Quick File Sharpener reglare a controllerului PID belgium registered gearbest
    Meilan X6 USB Rechargeable 50lm Bike Tailligh reglare a controllerului PID gearbest promotional code
    Baofeng UV-5R Portable 5W High-power Output W reglare a controllerului PID promotion coupon
    Winter Battery Rechargeable Keep Warm Electri reglare a controllerului PID promotion code 2020
    Handhold Shower Head Douche Toilet Bidet Spra robot urmaritor de linie coupon gearbest 2020
    KKF Portable Intelligent Thermal Vacuum Water robot urmaritor de linie gearbest 100$ coupon
    A900 Dual Coil 10W Fast Charging Wireless Cha robot urmaritor de linie taxe Gearbest
    Xiaomi Mijia MJDDLSD001QW Home Electric Screw robot urmaritor de linie gearbest pareri
    i12 TWS Binaural Call Bluetooth V5.0 Earbuds robot urmaritor de linie gearbest europa
    7 in 1 Type-C USB-C Hub Docking Station Adapt robot urmaritor de linie review xiaomi
    Alfawise V8S PRO E30B Robot Vacuum Cleaner Sm robot urmaritor de linie pareri mi 9t pro
    I200 Bluetooth Earbud HiFi Sound Earphone wit cupon banggood
    Ninebot Segway ES4 Folding Electric Kick Scoo banggood romania
     

Proiecte Arduino servomotoare robotica automatizări Raspberry Pi

Citește și:

placi rețea Ethernet pentru Arduino transmită date prin conexiune radio

arduino and raspberry pi projects yun xbee shield vu metter xbox

Arduino controller 4X4 keypad float to int arduino and raspberry projects

Poți folosi următorul cupon de reducere pentru a obține discount la componente electronice:

arduino 433mhz hub ota 9V battery arduino 28byj-48 2560 pinout to excel

Arduino 5V output 2 relay module plotter nodemcu 4 relay extension

Pentru alte cupoane de reducere apăsați aici

arduino shop 3D scanner open source circuit design yield 8266 json library

robofun.ro

Leave a Reply

Arduino și Raspberry Pi news