Équilibrage automatique de pendule à l’envers (6 / 9 étapes)

Étape 6: Les sommes durs !

Alors, comment il équilibre ? Rétroaction négative est utilisée en créant une erreur entre l’angle d’inclinaison souhaité et la valeur mesurée à partir du gyroscope. Si les deux diffèrent d’une tension de commande est ensuite appliquée à deux moteurs simultanément à conduire le chariot vers l’avant ou vers l’arrière afin de corriger cet angle. Une telle approche est connue comme commande proportionnelle et souffre du fait que cela peut être tout à fait une grande erreur qui est créée. La théorie nous dit qu’en augmentant le montant du gain de la voie de l’erreur que cette erreur réduit. Malheureusement, pour faire l’erreur de petit assez nécessite tel un gain important que la boucle devient instable et le chariot bascule. Nous pouvons améliorer les choses en ajoutant un second mandat, qui est proportionnel à la différence de l’époque de signal d’erreur un deuxième gain à terme. Ceci est connu comme contrôle différentiel et quand on ajoute le terme proportionnel est connu comme commande PD ou proportionnelle plus dérivé. Le terme D stabilise le système et réduit l’instabilité. Ce serait la réponse sauf que l’erreur ne va pas toujours à zéro et il y a une différence finie en survolant. Le chariot sera flop retour et vers l’avant et pas rester en place droite. Nous pouvons ajouter un troisième mandat, qui est un intégrateur qui enlève l’erreur. Malheureusement, ce troisième dite que je nomme si donné en trop grande quantité mène à davantage d’instabilité. C’est pourquoi un compromis doivent être respectée entre les trois termes dans ce qu’on appelle un régulateur PID. Réglage des régulateurs PID est un peu un art et paramétrage des règles existent, mais ils ne sont pas tout à fait aussi bons quand vous avez un système intrinsèquement instable, comme nous le faisons. Cependant, PID fonctionne et autres instructibles l’ont utilisé.

L’approche que nous utilisons ici est l’approche que beaucoup utilisent pour le Segway et n’est pas le contrôle PID. PID est souvent appelée la théorie du contrôle classique alors que ce que nous utilisons ici est connu comme la théorie du contrôle moderne. En fait, l’approche classique n’est pas si vieux, et l’approche moderne n’est pas que moderne ! L’approche moderne que nous utilisons est connu comme pôle de Placement État-Feedback. Il nous les proportions de rétroaction de position angulaire, vitesse et accélération. Les indestructibles Segway utiliser uniquement la position et rétroaction de la vélocité au meilleur de ma connaissance. J’ai ajouté un troisième État d’accélération et un quatrième état action intégration ou l’intégrale. Ce genre de chose est bien établi dans les manuels en fait mais rarement vu dans les manifestations. Nous exigerions normalement c’est à dire un modèle mathématique des équations différentielles décrivant le système dynamique complet. Ici, j’utilise une simple approche et accordez-la comme un PID. Il existe une similitude entre contrôle et état commentaires de PD qui utilise uniquement la position et la vitesse de vos commentaires. Le feedback de vitesse est connu comme feedback : taux et est juste un terme différentiel qui est lue à partir un capteur plutôt que d’être explicitement calculé. La différence ici est que la différenciation est dans le chemin de rétroaction plutôt que le chemin vers l’avant comme c’est le cas avec le PID. Cela donne un peu plus d’amortissement au détriment d’un système légèrement plus lent - mais peut facilement être compensé en augmentant le gain global. Donc ici nous mesurons Erreur angulaire directement en utilisant le compas gyroscopique et la vitesse angulaire de l’accéléromètre.

L’Etat tiers est accélération qui nous calculons (il existe des moyens plus efficaces, mais pour l’instant, j’utilise cette méthode) directement en différenciant la vitesse. En contrôlant l’accélération nous pouvons contrôler le courant tiré des moteurs et rejet de perturbation. Si vous ne pouvez pas mesurer l’accélération avec un transducteur (qui est le cas habituel) puis vous devez la créer en différenciation ou en utilisant un filtre d’État observateur ou Kalman.

Si le signal de commande est

u (k) =-K * [Kp * y (k) + Kd * y (k) _dot + Ka * _double_dot y (k)]

où K est le gain général réglée entre le potentiomètre et Kp, Kd et Ka sont le gain proportionnel, accélération et dérivé gain gain respectivement. Y(k) représente ici la lecture actuelle du capteur gyroscopique (angle), y (k) _dot est présent lecture de vitesse angulaire et y (k) _double_dot est la lecture actuelle d’accélération tout à la fois k instantanée. Dans le diagramme Ki est gain intégral.

Pour différencier les numériquement nous pouvons utiliser une approche simple d’Euler. Pour un échantillonnage intervalle dT en secondes (ici, c’est dT = 0,01 pour une fréquence d’échantillonnage de 100 Hz) on peut distinguer l’oméga de la vitesse d’accélération accel comme

calculer l’accélération angulaire de vitesse angulaire

omega_old = omega ; stocker la dernière valeur de l’accélération

oméga =.. .lire la vélocité de l’accéléromètre ici

faire la différence

Accel =(omega-omega_old) /dT ;

Habituellement nous omettre dT (c’est à dire la valeur dT = 1) car il devient un terme de gain qui nous pouvons ajuster séparément.

Il s’agit d’un facteur de différenciation brut et en fait n’importe quel type de pure différentiateur est une mauvaise idée pour une boucle de régulation car elle amplifie le bruit haute fréquence et excite la résonance structurelle. C’est pourquoi nous avons passe-bas filtre la sortie différenciée. Nous utilisons un premier ordre passe-bas filtre - prendrait un certain temps pour expliquer l’ensemble de la théorie ici. ce filtre n’est pas indiqué sur le schéma ci-dessus. (uniquement le cas idéal).

D’intégrer nous utilisons une simple intégration d’Euler. par exemple pour intégrer une erreur

Intégration d’erreur

consigne = 0 pour zéro degrés verticales

erreur = valeur de consigne-output_value ;

y_out_past = y_out; / store/au-delà de la valeur de sortie de l’intégrateur

sortie y = y_out_past + dT * erreur ;

Oui, vous pouvez utiliser la notation de type y += dans le code, mais il cache ce qui se passe et la compréhension

où y_out est la sortie intégrée. habituellement nous laisser dT et plus tard c’est à dire l’échelle dT = 1. Vous pouvez en principe utiliser un résumé à faire de l’intégration, mais la méthode ci-dessus est un meilleur - méthode récursive par un échantillon et seulement requiert un stockage minimal. Sommation aurait besoin de nous stocker un certain nombre de valeurs passées. Vous pouvez également effectuer une intégration par l’intermédiaire de z-transforme et obtenir une version un peu plus précise appelée un intégrateur de forme trapézoïdale. Pas besoin de cette complication ici, si je n’ai utilisé z-transforme pour notre simple filtre passe-bas.

La fréquence d’échantillonnage : J’ai utilisé code précédent de Segway pour définir la fréquence d’échantillonnage de 100Hz et ne pouvait pas le faire aller plus vite. J’ai vérifié avec un oscilloscope que c’était la vraie fréquence d’échantillonnage par un drapeau logique haut et bas - exécution très vraie et fausse de la boucle de retournement. J’ai envoyer ceci à une sortie numérique et a obtenu une façon carrée. J’ai mesuré la demi-période et il a été sur place 0.01secs = dT. Le schéma est illustré avec Larsen état complet et une action intégrale.

J’ai aussi utilisé les filtres complémentaires dits spéciaux pour combiner les lectures de l’accéléromètre et gyroscope. C’est parce que l’accéléromètre est bonne dans les basses fréquences, tandis que le gyroscope est bon à hautes fréquences, tandis que le contraire est le cas de mauvaises performances. Il tente de réduire l’effet de la dérive de compas gyroscopique. Une autre approche consiste à utiliser un filtre de Kalman, mais ce n’est pas affiché ici. Détails de la méthode à filtre complémentaire est indiquée dans le lien ci-dessous.

http://www.chrismarion.net/index.php?option=com_co...

L’idée principale est indiquée sur le schéma (voir ci-dessous le diagramme d’État-rétroaction) tiré de ce lien.

Articles Liés

Équilibrage automatique skateboard/segw * y projet Arduino Shield

Équilibrage automatique skateboard/segw * y projet Arduino Shield

Ggénéral but Arduino shield pour machines d'équilibrage automatique.Pourquoi j'ai fait il ?J'ai fait précédemment une Instructable en 2010 sur comment construire une planche à roulettes Self-balancing.Il y a > 500 commentaires là-dessus et beaucoup e
Équilibrage automatique de table

Équilibrage automatique de table

Il s'agit de mon projet que je fais pour DDC2015. C'est une table d'équilibrage automatique qui fonctionnera avec chipKit mx4 des puces, PMOD Gyro et PMOD ACL.C'est un projet débutant-avancé, avec certaines parties des mathématiques, mécanique, génie
Faire une citrouille d’Halloween marche par équilibrage automatique Robot

Faire une citrouille d’Halloween marche par équilibrage automatique Robot

Citrouille est un symbole typique de l'Halloween. Avez-vous jamais eu envie de faire une citrouille à pied.Ici, je vais vous montrer mon travail d'aide d'un Robot auto-équilibrage de se pour déplacer une citrouille brillante.Étape 1: préparation Proj
Équilibrage automatique Raleigh Chopper inspiré scooter électrique

Équilibrage automatique Raleigh Chopper inspiré scooter électrique

Comme un fabricant passionné de "choses que Seg" celui-ci s'inspire de la bicyclette de Raleigh Chopper des années 1970.J'ai récemment participé à la compétition de Hackaday avec la MediCycle : MediCycle : il s'agissait d'une gros une moto élect
Équilibrage automatique PT (maison Segway)

Équilibrage automatique PT (maison Segway)

Ce Instructable est destiné à partager mon projet amateur : un transport personnel auto-équilibrage (SBPT), également connu sous le nom « Segway fait maison ». C'est un projet intéressant qui exige une connaissance minimale en électronique et certain
Équilibrage automatique Robot

Équilibrage automatique Robot

Tout d'abord que je tiens à m'excuser pour mon anglais, si vous ne comprenez pas quelque chose, s'il vous plaît, demander.Je sais qu'un robot autonome n'est pas nouveau, mais quand j'ai commencé ce projet, j'ai trouvé beaucoup d'informations, mais ja
PCB Quadrotor (Brushless)

PCB Quadrotor (Brushless)

Quadrotors sont le nouveau Segway : une plate-forme envoûtante, un peu magique, stabilisateur automatique que chaque personne tech veut avoir. Vous ne pouvez pas monter un quadrotor (Eh bien, peut-être que vous pouvez), mais ils ne volent pas, et vou
SEG... bâton.

SEG... bâton.

Bricolage self-balancing... choses... existent depuis presque aussi longtemps que les choses Self-balancing commerciales. Évidemment les versions maison ne sont pas lisses, fiable, ou failsafe comme la vraie chose, mais ils restent assez captivants.
Le Quadcopter

Le Quadcopter

DRONES SONT COOL.Maintenant, après que je l'ai dit, il est temps de faire face à la vraie chose. Pendant un certain temps, j'ai voulu créer ma propre quadcopter. J'ai vu des gens poster des tutoriaux très faciles pour construire un, mais c'était touj
Facile construire a self balancing electric skateboard

Facile construire a self balancing electric skateboard

Qu'est-ce que c'est?Double roues skateboard qui fonctionne comme un Segway. Planches à roulettes électriques existent déjà avec les roues arrière. Plan ici était de construire quelque chose comme un Segway, mais sous la forme d'une planche à roulette
Faire un Robot autonome avec Arduino UNO

Faire un Robot autonome avec Arduino UNO

Équilibrage automatique Robot est très intéressant. Beaucoup d'amis autour de nous essayaient de faire un, mais ils ont rencontré beaucoup de défis, notamment le manque de programmes, les circuits électroniques appropriés et les structures de facile-
Arduino Balance autonome contrôleur à l’aide de DIGITAL IMU, enfin !

Arduino Balance autonome contrôleur à l’aide de DIGITAL IMU, enfin !

Qu'est-ce que c'est?Contrôleur de Segway/balance DIY avec capteur DIGITAL IMU moderne.Logiciel pour un Arduino qui lui permet de lire les données de position d'une des plus récentes DIGITAL accéléromètre/gyroscope unités, processus les données en uti
Motorisé Uniwheel jouet chose (Mutt)

Motorisé Uniwheel jouet chose (Mutt)

ATTENTION: cd rotors sont dangereux, un des miens a explosé sur un autre projet, car il était fissuré. Porter des lunettes de sécurité.Après avoir visionné le film d'animation Robots pour l'énième fois, j'ai pensé que ce serait cool d'avoir un de ces
Arceaux pour Self Balancing Robot et sur escaliers

Arceaux pour Self Balancing Robot et sur escaliers

Ajouté quelques arceaux faits de raquettes de badminton à mon robot qui tombe sur pas mal d'équilibrage d'individu simple. Maintenant, au moins il peut se relever la plupart du temps.Je suis désolé que je ne suis pas création d'une véritable version