Taula de continguts:

Robot d'equilibri automàtic - Algorisme de control PID: 3 passos
Robot d'equilibri automàtic - Algorisme de control PID: 3 passos

Vídeo: Robot d'equilibri automàtic - Algorisme de control PID: 3 passos

Vídeo: Robot d'equilibri automàtic - Algorisme de control PID: 3 passos
Vídeo: ✅ Entendí el Control PID, si lo aprendes vas a poder... 2024, De novembre
Anonim
Robot d'equilibri automàtic - Algorisme de control PID
Robot d'equilibri automàtic - Algorisme de control PID

Aquest projecte es va concebre perquè m’interessava aprendre més sobre els algorismes de control i com implementar de manera efectiva bucles PID funcionals. El projecte encara està en fase de desenvolupament, ja que encara s’ha d’afegir un mòdul Bluetooth que permetrà controlar el robot des d’un telèfon intel·ligent Bluetooth.

Els motors de corrent continu N20 utilitzats eren relativament barats i, per tant, tenen una quantitat considerable de joc. Això provoca una petita quantitat de sacsejada a mesura que els motors superen el "flojament" ja que apliquen el parell a les rodes. Per tant, és gairebé impossible aconseguir un moviment perfectament suau. El codi que he escrit és raonablement senzill, però demostra eficaçment les capacitats de l'algorisme PID.

Resum del projecte:

El xassís del robot s’imprimeix en 3D mitjançant una impressora Ender 3 i està dissenyat per ajustar-se a pressió.

El robot està controlat per un Arduino Uno que pren les dades del sensor del MPU6050 i controla els motors de corrent continu mitjançant un controlador de motor extern. Funciona amb una bateria de 7.4V i 1500mAh. El controlador del motor ho regula a 5 V per alimentar l'Arduino i subministra 7,4 V als motors.

El programari s'ha escrit des de zero amb l'ajut de les biblioteques 'Arduino-KalmanFilter-master' i 'Arduino-MPU6050-master' de gitHub.

Subministraments:

  • Parts impreses en 3D
  • Arduino UNO
  • Sensor MPU6050 de 6 eixos
  • Controlador de motor D. C
  • Motors N20 DC (x2)
  • Bateria de 9V

Pas 1: construcció de robots

Construir robots
Construir robots
Construir robots
Construir robots
Construir robots
Construir robots

Impressió i muntatge

Tota la construcció hauria de ser ajustada a pressió, però he utilitzat superglue per assegurar els components i assegurar-me que el robot sigui completament rígid en fer equilibris.

He dissenyat les peces de Fusion 360 i he optimitzat cada peça per imprimir sense suports per permetre toleràncies més estretes i un acabat superficial més net.

Els paràmetres utilitzats a la impressora Ender 3 eren: 0,16 mm de capes d’alçada al 40% d’ompliment de totes les parts.

Pas 2: robot d'impressió 3D

Robot d'impressió 3D
Robot d'impressió 3D

Xassís (x1)

Roda esquerra (x2)

Carcassa del motor esquerre (x2)

Carcassa Arduino (x1)

Pas 3: Algorisme de control PID

Algorisme de control PID
Algorisme de control PID

He escrit un algoritme de control PID des de zero amb les biblioteques 'Arduino-KalmanFilter-master' i 'Arduino-MPU6050-master' de gitHub.

La premissa de l'algorisme és la següent:

  • Llegiu dades brutes de MPU6050
  • Utilitzeu el filtre Kalman per analitzar les dades del giroscopi i l’acceleròmetre per cancel·lar les inexactituds en les lectures del giroscopi a causa de l’acceleració del sensor. Això retorna un valor relativament suavitzat per al to del sensor en graus fins a dos decimals.
  • Calculeu l’error de l’angle, és a dir: l’angle entre el sensor i el punt de consigna.
  • Calculeu l’error proporcional com a (constant de proporcionalitat x error).
  • Calculeu l'error integral com la suma corrent de (constant d'integració x error).
  • Calcula l’error derivat tan constant com [(constant de diferenciació) x (canvi d’error / canvi de temps)]
  • Suma tots els errors per donar la velocitat de sortida que s’enviarà als motors.
  • Calculeu quina direcció voleu girar els motors en funció del signe de l'angle d'error.
  • El bucle s’executarà indefinidament i es basarà en la sortida a mesura que l’entrada varia. Es tracta d’un bucle de retroalimentació, que utilitza els valors de sortida com a nous valors d’entrada per a la següent iteració.

El pas final és sintonitzar els paràmetres Kp, Ki i Kd del bucle PID.

  1. Un bon punt de partida és augmentar lentament Kp fins que el robot oscil·li al voltant del punt d’equilibri i pugui caure.
  2. A continuació, inicieu Kd al voltant de l'1% del valor de Kp i augmenteu lentament fins que desapareguin les oscil·lacions i el robot llisqui suaument quan s'empeny.
  3. Finalment, comenceu amb Ki al voltant del 20% de Kp i varieu fins que el robot "superi" el punt de consigna per captar activament una caiguda i tornar a la vertical.

Recomanat: