Cuprins:
Video: Robot de autoechilibrare - Algoritm de control PID: 3 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Acest proiect a fost conceput pentru că eram interesat să aflu mai multe despre algoritmii de control și cum să implementez în mod eficient bucle PID funcționale. Proiectul este încă în faza de dezvoltare, deoarece încă nu trebuie adăugat un modul Bluetooth, care va permite controlul asupra robotului de pe un smartphone cu Bluetooth.
Motoarele de curent continuu N20 utilizate erau relativ ieftine și, prin urmare, au o cantitate considerabilă de joc în ele. Acest lucru duce la o cantitate mică de smucitură pe măsură ce motoarele depășesc „slăbiciunea”, deoarece aplică cuplul pe roți. Prin urmare, este aproape imposibil să realizezi o mișcare perfectă. Codul pe care l-am scris este destul de simplu, dar demonstrează în mod eficient capacitățile algoritmului PID.
Sumarul proiectului:
Șasiul robotului este imprimat 3D folosind o imprimantă Ender 3 și este proiectat pentru a se potrivi împreună.
Robotul este controlat de un Arduino Uno care preia datele senzorilor de la MPU6050 și controlează motoarele de curent continuu printr-un driver de motor extern. Funcționează cu o baterie de 7.4V, 1500mAh. Șoferul motorului reglează acest lucru la 5V pentru a alimenta Arduino și furnizează 7,4V motoarelor.
Software-ul a fost scris de la zero cu ajutorul bibliotecilor „Arduino-KalmanFilter-master” și „Arduino-MPU6050-master” de la gitHub.
Provizii:
- Piese imprimate 3D
- Arduino UNO
- Senzor MPU6050 cu 6 axe
- Driver motor DC
- Motoare N20 D. C (x2)
- Baterie de 9V
Pasul 1: Construirea robotului
Tipărire și asamblare
Întreaga construcție ar trebui să se potrivească la presare, dar am folosit superglue pentru a fixa componentele, pentru a vă asigura că robotul este complet rigid atunci când se echilibrează.
Am proiectat piesele din Fusion 360 și am optimizat fiecare piesă pentru a imprima fără suporturi pentru a permite toleranțe mai strânse și o finisare mai curată a suprafeței.
Setările utilizate pe imprimanta Ender 3 au fost: 0,16 mm Layer Heights @ 40% umplutură pentru toate piesele.
Pasul 2: Robot de imprimare 3D
Șasiu (x1)
Roata stângă (x2)
Carcasa motor stânga (x2)
Carcasa Arduino (x1)
Pasul 3: Algoritm de control PID
Am scris un algoritm de control PID de la zero folosind bibliotecile „Arduino-KalmanFilter-master” și „Arduino-MPU6050-master” de pe gitHub.
Premisa algoritmului este următoarea:
- Citiți datele brute de la MPU6050
- Utilizați filtrul Kalman pentru a analiza datele atât din giroscop, cât și din accelerometru pentru a anula inexactitățile din citirile giroscopului datorită accelerării senzorului. Aceasta returnează o valoare relativ netedă pentru pasul senzorului în grade cu două zecimale.
- Calculați eroarea în unghi, adică unghiul dintre senzor și punctul de referință.
- Calculați eroarea proporțională ca (constantă de proporționalitate x eroare).
- Calculați Eroarea integrală ca suma de executare a (constantă de integrare x eroare).
- Calculați eroarea derivată la fel de constantă ca [(Constantă de diferențiere) x (Modificare eroare / Modificare timp)]
- Sumați toate erorile pentru a da viteza de ieșire care trebuie trimisă motoarelor.
- Calculați ce direcție să rotiți motoarele pe baza semnului unghiului de eroare.
- Bucla va rula la nesfârșit și se va construi pe ieșire pe măsură ce intrarea variază. Este o buclă de feedback, utilizând valorile de ieșire ca noile valori de intrare pentru următoarea iterație.
Pasul final este de a regla parametrii buclei PID Kp, Ki și Kd.
- Un bun punct de plecare este să crești încet Kp până când robotul oscilează în jurul punctului de echilibru și poate prinde o cădere.
- Apoi, porniți Kd cu aproximativ 1% valoarea Kp și creșteți încet până când oscilațiile dispar și robotul alunecă ușor atunci când este împins.
- În cele din urmă, începeți cu Ki în jur de 20% din Kp și variați până când robotul „depășește” punctul de referință pentru a prinde în mod activ o cădere și a reveni la verticală.
Recomandat:
PID Line Follower Atmega328P: 4 pași
PID Line Follower Atmega328P: INTRODUCERE Acest instructiv este despre realizarea unui Line Follower eficient și fiabil cu control PID (proporțional-integral-derivat) (matematic) care rulează în creierul său (Atmega328P). Următorul de linie este un robot autonom care urmează fie b
ESP8266 RGB LED STRIP WIFI Control - NODEMCU ca telecomandă IR pentru bandă led controlată prin Wifi - Control RGB LED STRIP pentru smartphone: 4 pași
ESP8266 RGB LED STRIP WIFI Control | NODEMCU ca telecomandă IR pentru bandă led controlată prin Wifi | RGB LED STRIP Smartphone Control: Bună băieți, în acest tutorial vom învăța cum să folosim nodemcu sau esp8266 ca telecomandă IR pentru a controla o bandă LED RGB, iar Nodemcu va fi controlat de smartphone prin wifi. Deci, practic puteți controla LED-ul RGB LED cu smartphone-ul dvs
Controler PID VHDL: 10 pași
PID Controller VHDL: Acest proiect a fost proiectul meu final pentru finalizarea diplomei de licență de la Cork Institute of Technology. Acest tutorial este împărțit în două secțiuni, prima va acoperi corpul principal al codului PID, care este scopul principal al proiectului și secțiunea
Robot de auto-echilibrare folosind algoritmul PID (STM MC): 9 pași
Robot de autoechilibrare folosind algoritmul PID (STM MC): Recent s-a făcut multă muncă în echilibrarea de sine a obiectelor. Conceptul de auto-echilibrare a început cu echilibrarea pendulului inversat. Acest concept s-a extins și la proiectarea de aeronave. În acest proiect, am proiectat un mic mod
Robot de urmărire a liniei bazate pe PID cu matrice senzor POLOLU QTR 8RC: 6 pași (cu imagini)
Robot de urmărire a liniei bazate pe PID cu matrice cu senzor POLOLU QTR 8RC: Bună ziua, acesta este primul meu articol pe instructabile și astăzi vă voi duce pe drum și vă explic cum să bulidați o linie bazată pe PID după robot folosind QTR-8RC matrice de senzori. Înainte de a merge la construcția robotului, trebuie să înțelegem