Taula de continguts:

Robot d'equilibri automàtic mitjançant algoritme PID (STM MC): 9 passos
Robot d'equilibri automàtic mitjançant algoritme PID (STM MC): 9 passos

Vídeo: Robot d'equilibri automàtic mitjançant algoritme PID (STM MC): 9 passos

Vídeo: Robot d'equilibri automàtic mitjançant algoritme PID (STM MC): 9 passos
Vídeo: 50 самых невероятных инструментов искусственного интеллекта, о которых все должны знать в 2023 г. 2024, Juliol
Anonim
Robot d'equilibri automàtic mitjançant l'algorisme PID (STM MC)
Robot d'equilibri automàtic mitjançant l'algorisme PID (STM MC)

Recentment s’ha treballat molt en l’autoequilibri d’objectes. El concepte d’autoequilibri va començar amb l’equilibri del pèndol invertit. Aquest concepte es va estendre també al disseny d’avions. En aquest projecte, hem dissenyat un petit model de robot d’equilibri automàtic mitjançant l’algorisme PID (proporcional, integral, derivat). Des de llavors, aquest mètode és la nova cara dels sistemes de control de processos industrials. Aquest informe revisa els mètodes implicats en l'autoequilibri d'objectes. Aquest projecte es va dur a terme com un projecte semestral per entendre la correlació del PID sobre l'eficàcia de diversos processos industrials. Aquí ens centrarem només en proporcionar una breu revisió sobre l’efectivitat i l’aplicació del control PID. Aquest document s’ha desenvolupat proporcionant una breu introducció als sistemes de control i terminologies relacionades, a més de les motivacions del projecte. S’han pres experiències i observacions, s’han descrit els mèrits i els desavantatges que acaben en les futures millores. Es va desenvolupar un model de robot d’equilibri propi per entendre l’efectivitat del PID al món del sistema de control. Passant per algunes proves i experiments rigorosos, es van descobrir els mèrits i els desavantatges del sistema de control PID. Es va trobar que, malgrat molts avantatges del control PID sobre els mètodes passats, aquest sistema encara requereix moltes millores. S'espera que el lector entengui bé la importància de l'autoequilibri, l'eficàcia i les deficiències del control PID.

Pas 1: Introducció

Amb l’aparició dels ordinadors i la industrialització dels processos, al llarg de la història de l’home, sempre s’ha investigat per desenvolupar maneres de refinar els processos i, el que és més important, per controlar-los utilitzant màquines de forma autònoma. L’objectiu és reduir la participació de l’home en aquests processos, reduint així l’error en aquests processos. Per tant, es va desenvolupar el camp de la "Enginyeria de sistemes de control". Es pot definir que l'Enginyeria de sistemes de control utilitza diversos mètodes per controlar el funcionament d'un procés o el manteniment d'un entorn constant i preferit, ja sigui manual o automàtic.

Un exemple senzill podria ser el de controlar la temperatura d’una habitació. Control manual significa la presència d’una persona en un lloc que comprova les condicions actuals (sensor), el compara amb el valor desitjat (processament) i pren les accions adequades per obtenir el valor desitjat (actuador). El problema d’aquest mètode és que no és molt fiable ja que una persona és propensa a errors o negligències en el seu treball. A més, un altre problema és que la velocitat del procés iniciat per l'actuador no sempre és uniforme, és a dir, de vegades pot ocórrer més ràpid del que es requereix o de vegades pot ser lent. La solució d’aquest problema va ser utilitzar un microcontrolador per controlar el sistema. El microcontrolador és

programat per controlar el procés, segons especificacions donades, connectat en un circuit (que es parlarà més endavant), alimentà el valor o les condicions desitjades i, per tant, controla el procés per mantenir el valor desitjat. L’avantatge d’aquest procés és que no es requereix cap intervenció humana en aquest procés. A més, la velocitat del procés és uniforme

Sistema bàsic de control

El diagrama anterior mostra una versió molt simplificada d'un sistema de control. El microcontrolador és el centre de qualsevol sistema de control. És un component molt important, per tant, la seva selecció s’ha de fer acuradament en funció dels requisits del sistema. El microcontrolador rep una entrada de l'usuari. Aquesta entrada defineix la condició desitjada del sistema. El microcontrolador també rep una entrada de retroalimentació del sensor. Aquest sensor està connectat a la sortida del sistema, la informació del qual es retroalimenta a l'entrada. El microprocessador, basat en la seva programació, realitza diversos càlculs i dóna una sortida a l’actuador. L'actuador, basat en la sortida, controla la planta per intentar mantenir aquestes condicions. Un exemple podria ser un conductor del motor que condueixi un motor on el motor sigui l’actuador i el motor sigui la planta. Així, el motor gira a una velocitat determinada. El sensor connectat llegeix l’estat de la planta en el moment actual i l’alimenta de nou al microcontrolador. El microcontrolador torna a comparar, fa càlculs i, per tant, es repeteix el cicle. Aquest procés és repetitiu i sense fi, pel que el microcontrolador manté les condicions desitjades

Pas 2: sistema de control basat en PID

Sistema de control basat en PID
Sistema de control basat en PID
Sistema de control basat en PID
Sistema de control basat en PID

L'algorisme PID és un mètode eficient per dissenyar un sistema de control.

Definició

PID significa Proporcional, Integral i Derivat. En aquest algorisme, el senyal d'error rebut és l'entrada. I la següent equació s'aplica al senyal d'error

U (t) = Kp ∗ e (t) + Kd ∗ d / dt (e (t)) + Ki ∗ integral (e (t)) (1.1)

Breu explicació

Com es pot veure a l’equació anterior, la integral i la derivada dels senyals d’error es calculen, es multipliquen amb les seves respectives constants i s’afegeixen juntament amb la constant Kp multiplicada per e (t). La sortida s’alimenta a l’actuador que fa funcionar el sistema. Ara vegem cada part de la funció al seu torn. Aquesta funció afecta directament el temps de pujada, el temps de caiguda, el màxim durant el rodatge, el temps de sedimentació i l’error d’estat estacionari.

• Part proporcional: la part proporcional redueix el temps de pujada i disminueix l'error d'estat estacionari. Això significa que el sistema trigarà menys a assolir el seu valor màxim i, quan arribi al seu estat estacionari, l'error d'estat estacionari serà baix. No obstant això, augmenta la superació del pic.

• Part derivada: la part derivada redueix la superació i el temps de resolució. Això significa que l'estat transitori del sistema quedarà més esmorteït. A més, el sistema assolirà el seu estat estacionari en un temps menor. Tot i això, no té cap efecte sobre el temps de pujada ni l'error d'estat estacionari.

• Part integral: la part integral redueix el temps de pujada i elimina completament l'error d'estat estacionari. No obstant això, augmenta la superació del pic i el temps de resolució.

• Sintonització: un bon sistema de control tindrà un temps de pujada baix, un temps de resolució, un excés de pic i un error d'estat estacionari. Per tant, cal ajustar el Kp, Kd, Ki per ajustar la contribució dels factors anteriors per adquirir un bon sistema de control.

S'ha adjuntat una figura que mostra l'efecte de canviar diversos paràmetres en l'algorisme PID.

Pas 3: robot d'equilibri personal

Robot d'equilibri personal
Robot d'equilibri personal

Un robot d’equilibri automàtic és un robot de dues rodes multicapa.

El robot intentarà equilibrar-se en aplicar qualsevol força desigual. S'equilibrarà mitjançant l'aplicació de la força que s'oposa a la resultant de les forces sobre el robot.

Mètodes d’autoequilibri

Hi ha quatre mètodes d’autoequilibri dels robots. Aquests són els següents:

Autoequilibri mitjançant dos sensors d'inclinació IR

Aquesta és una de les maneres més crues d’equilibrar el robot, ja que requereix molt menys maquinari i un algorisme relativament fàcil. En aquest enfocament, s’utilitzen dos sensors IR inclinats per mesurar la distància entre el terra i el robot. En funció de la distància calculada, es pot utilitzar PID per conduir els motors per equilibrar el robot en conseqüència. Un desavantatge d’aquest mètode és que el sensor IR pot perdre algunes lectures. Un altre problema és que cal una interrupció i bucles per al càlcul de la distància que augmenta la complexitat temporal de l'algorisme. Per tant, aquest mètode d'equilibri del robot no és molt eficaç.

Autoequilibri mitjançant acceleròmetre

L’acceleròmetre ens proporciona l’acceleració del cos en 3 eixos. L’acceleració orientada a l’eix y (cap amunt) i a l’eix x (cap endavant) ens proporciona la mesura per calcular la direcció de la gravetat i, per tant, calcular l’angle d’inclinació. L'angle es calcula de la següent manera:

θ = arctan (Ay / Axe) (1,2)

L'inconvenient d'utilitzar aquest mètode és que durant el moviment del robot, l'acceleració horitzontal també s'afegirà a les lectures, que és un soroll d'alta freqüència. Per tant, l’angle d’inclinació serà imprecís.

Autoequilibri mitjançant giroscopi

S’utilitza un giroscopi per calcular les velocitats angulars al llarg dels tres eixos. L’angle d’inclinació s’obté mitjançant la següent equació.

θp (i) = θp (i − 1) + 1/6 (vali − 3 + 2vali − 2 + 2vali − 1 + vali) (1.3)

Un gran desavantatge d’utilitzar el giroscopi és que té un petit polarització de CC, que és un soroll de baixa freqüència i en pocs temps els valors retornats són completament incorrectes. Això, després de la integració, farà que el punt zero s’allunyi. Com a resultat d'això, el robot romandrà en posició vertical durant un temps i caurà un cop arribi la deriva.

Autoequilibri amb acceleròmetre i giroscopi

Com s’ha comentat anteriorment, utilitzar només un acceleròmetre o un giroscopi no ens donarà l’angle d’inclinació correcte. Per explicar-ho, s’utilitzen tant l’acceleròmetre com el giroscopi. Tots dos estan incrustats a MPU6050. En això obtenim les dades d’ambdós i després els fusionem mitjançant el filtre Kalman o el filtre complementari.

• Filtre Kalman: el filtre Kalman calcula la millor estimació de l'estat d'un sistema dinàmic a partir de mesures sorolloses, minimitzant l'error quadrat mitjà de l'estimació. Opera en dues etapes, la predicció i la correcció, donades les equacions estocàstiques discretes que descriuen la dinàmica del sistema. No obstant això, és un algorisme molt complex per implementar especialment en un maquinari limitat d'un microcontrolador.

• Filtre complementari: aquest algorisme utilitza principalment les dades obtingudes del giroscopi i les integra al llarg del temps per obtenir l’angle d’inclinació. També utilitza una petita proporció de lectures d’acceleròmetres. De fet, el filtre complementari minimitza el soroll d'alta freqüència de l'acceleròmetre i el soroll de baixa freqüència del giroscopi i els fusiona per donar el millor angle d'inclinació precís.

Pas 4: Disseny del robot

Disseny de Robot
Disseny de Robot

Hem dissenyat un robot d’equilibri automàtic mitjançant controlador de derivades proporcionals implementat per Complementary Filter per MPU6050. Aquest petit model de robot d’equilibri automàtic ens il·lustrarà la utilitat dels sistemes de control en l’equilibri automàtic dels robots.

Implementació del sistema:

El sistema és un robot d’equilibri automàtic. S'implementa mitjançant un controlador PID, que és un controlador de derivades integral proporcional. Equilibrem el robot conduint les seves rodes en la direcció de la seva caiguda. En fer-ho, intentem mantenir el centre de gravetat del robot per sobre del punt de pivot. Per conduir les rodes en la direcció de la seva caiguda, hauríem de saber on cau el robot i la velocitat amb què cau. Aquestes dades s’obtenen mitjançant MPU6050 que té un acceleròmetre i un giroscopi. MPU6050 mesura l'angle d'inclinació i dóna la seva sortida al microcontrolador. MPU6050 s’interfaça amb la placa STM mitjançant I2C. A I2C, un cable és per al rellotge que s’anomena SCL. L'altre és per a la transferència de dades que és SDA. En això, s’utilitza la comunicació mestra esclava. L'adreça inicial i l'adreça final s'especifica per saber d'on comencen les dades i on acaben. Aquí hem implementat el filtre complementari per a MPU6050, que és un filtre matemàtic per combinar les sortides de l'acceleròmetre i el giroscopi. Després d’obtenir les dades de MPU6050, el microcontrolador realitzarà càlculs per saber on cau. Segons els càlculs, el microcontrolador STM donarà ordres al conductor del motor perquè condueixi els vehicles en la direcció de caiguda, cosa que equilibrarà el robot.

Pas 5: components del projecte

Components del projecte
Components del projecte
Components del projecte
Components del projecte
Components del projecte
Components del projecte

Es van utilitzar els components següents al projecte de robot d’equilibri automàtic:

STM32F407

Un microcontrolador dissenyat per ST Microelectronics. Funciona amb ARM Cortex-M Architecture.

Controlador de motor L298N

Aquest CI s’utilitza per fer funcionar el motor. Obté dues entrades externes. Un del microcontrolador que li subministra un senyal PWM. Ajustant l’amplada del pols, es pot ajustar la velocitat del motor. La seva segona entrada és la font de tensió necessària per accionar el motor, que és una bateria de 12V en el nostre cas.

Motor de CC

Un motor de corrent continu funciona amb un subministrament de corrent continu. En aquest experiment, el motor de corrent continu funciona amb els optoacopladors connectats al controlador del motor. Per accionar el motor hem utilitzat el Motor Drive L298N.

MPU6050

MPU6050 s'utilitza per obtenir informació sobre on cau el robot. Mesura l'angle d'inclinació respecte al punt d'inclinació zero que és la posició de la MPU6050 quan el programa comença a funcionar.

El MPU6050 té un acceleròmetre de 3 eixos i un giroscopi de 3 eixos. L’acceleròmetre mesura l’acceleració al llarg dels tres eixos i el giroscopi mesura la velocitat angular dels tres eixos. Per combinar la sortida, hem de filtrar els sorolls de tots dos. Per filtrar els sorolls, tenim Kalman i el filtre complementari. Hem implementat un filtre complementari al nostre projecte.

Opto Couple 4N35

Un optoacoplador és un dispositiu que s’utilitza per aïllar la part de baixa tensió i la part d’alta tensió del circuit. Com el seu nom indica, funciona sobre la base de la llum. Quan la part de baixa tensió rep un senyal, el corrent flueix a la part d’alta tensió

Pas 6: Estructura del robot

L'estructura del robot s'explica de la següent manera:

Estructura física

El robot autoequilibrant consta de dues capes formades per vidre de plàstic transparent. A continuació es detallen les dues capes:

Primera capa

A la part inferior de la primera capa, hem col·locat una cel·la per alimentar la placa STM. També s'han col·locat dos motors de 4 volts cadascun a cada costat amb pneumàtics connectats perquè el robot es pugui moure. A la part superior de la primera capa, s'han col·locat dues bateries de 4 volts cadascuna (8 volts en total) i el controlador IC del motor (L298N) per al funcionament dels motors.

Segona capa

A la capa superior del robot, hem col·locat el tauler STM al tauler Perf. A la capa superior es col·loca un altre tauler de perfils de 4 acobladors opto. El giroscopi també es col·loca a la capa superior del robot des del costat inferior. Tots dos components es col·loquen a la part mitjana de manera que el centre de gravetat es mantingui el més baix possible.

Centre de gravetat del robot

El centre de gravetat es manté el més baix possible. Amb aquest propòsit, hem col·locat bateries pesades a la capa inferior i components lleugers com la placa STM i els optoacopladors a la capa superior.

Pas 7: Codi

El codi es va compilar a Atollic TrueStudio. L'estudi STM es va utilitzar amb finalitats de depuració.

Pas 8: Conclusió

Després de molta experimentació i observació, finalment arribem al punt en què resumim els nostres resultats i discutim fins a quin punt hem aconseguit implementar i treballar l'eficàcia del sistema.

Revisió general

Durant l'experimentació, la velocitat del motor es va controlar amb èxit mitjançant l'algorisme PID. La corba, però, no és exactament una línia recta suau. Hi ha moltes raons per això:

• El sensor, tot i que està connectat a un filtre de pas baix, encara proporciona certs rebots; això es deu a les resistències no lineals i a alguns motius inevitables de l'electrònica analògica.

• El motor no gira sense problemes sota baixa tensió o PWM. Proporciona sacsejades que poden provocar alguns valors incorrectes alimentats al sistema.

• A causa de la oscil·lació, el sensor pot perdre algunes escletxes que proporcionin valors més alts. • Un altre motiu important dels errors pot ser la freqüència de rellotge principal del microcontrolador STM. Aquest model de microcontrolador STM proporciona un rellotge central de 168 MHz. Tot i que es va tractar aquest problema en aquest projecte, hi ha una idea general sobre aquest model que no proporciona exactament una freqüència tan alta.

La velocitat del bucle obert proporciona una línia molt suau amb només uns quants valors inesperats. L'algorisme PID també funciona bé, proporcionant un temps de decantació molt baix del motor. L’algorisme PID del motor es va provar sota diverses tensions mantenint constant la velocitat de referència. El canvi de tensió no modifica la velocitat del motor, mostrant que l'algorisme PID funciona bé

E ectivitat

Aquí discutim l’efectivitat del controlador PID que vam observar durant l’experimentació.

Implementació senzilla

Hem vist a la secció d’experimentació i observacions que un controlador PID és molt fàcil d’implementar. Només requereix tres paràmetres o constants que s’han d’establir per tenir un sistema de control de velocitat

Eficiència inigualable per a sistemes lineals

El controlador PID lineal és el més eficaç de la família de controladors perquè la lògica és molt senzilla i l’aplicació està molt estesa en cas d’aplicacions lineals o bastant lineals.

Limitacions

Vam explicar en resum les limitacions d’aquest sistema. Aquí en comentem alguns d'ells que hem observat.

Selecció de constants

Hem vist que, tot i que un controlador PID és fàcil d’implementar, encara és un inconvenient important del sistema que el pas de seleccionar el valor de les constants sigui laboriós; ja que cal fer càlculs difícils. L'altra manera és el mètode de prova i èxit, però tampoc no és eficaç.

Les constants no sempre són constants

Els resultats experimentals van mostrar que per a diferents valors de la velocitat de referència per al motor, el controlador PID no funcionava amb els mateixos valors de les constants PID. Per a diferents velocitats, les constants havien de ser seleccionades de manera diferent i això augmenta el cost computacional exponencialment.

No lineal

El controlador PID utilitzat en el nostre cas és lineal, per tant, només es pot aplicar a sistemes lineals. Per als sistemes no lineals, el controlador s'ha d'implementar de manera diferent. Tot i que hi ha diferents mètodes no lineals de PID disponibles, requereixen seleccionar més paràmetres. Això torna a fer que el sistema sigui indesitjable a causa de l’elevat cost computacional.

Es requereix un push inicial

A la secció d’experimentació vam demostrar que per a una velocitat de referència bastant petita on l’error és bastant petit al principi, el PWM subministrat pel PID és tan petit que no genera el parell d’arrencada requerit per al motor. Per tant, el motor en algunes proves no funciona o en altres proves proporciona un gran desbordament i un temps de resolució més llarg.

Pas 9: gràcies especials

Un agraïment especial als membres del meu grup que m’han ajudat en aquest projecte.

Aviat penjaré l’enllaç al vídeo.

Espero que us sigui d’allò més interessant.

Es tracta de la sessió de Tahir Ul Haq de la UET. Ànims !!!

Recomanat: