Étape 9: Deux capteurs, un angle.
Réponse : les deux.
La raison à l’aide de deux capteurs, même s’il n’y a qu’une variable physique pertinente (angle) est parce que chaque type de capteur a des avantages et inconvénients par lui-même. En mélangeant les meilleures parties de chacun, une meilleure estimation globale de l’angle est atteint. J’ai écrit cela, tout dans ce livre blanc, mais ici je vais vous donner un bref résumé.
L’accéléromètre.
Il mesure l’accélération, à droite ? Eh bien, pas vraiment. Elle mesure la force par unité de masse. Donc, il mesurera la force due à la pesanteur comme si c’était une accélération réelle. La sensibilité pour le Mio de rasoir Sparkfun est donnée comme 300mV/g, ce qui signifie que la sortie sera remplacée par 0, 3V par 9,8 m/s ^ 2 d’accélération.
Comment est-ce c’est transformé en un angle ? Eh bien imaginez à l’aide de l’axe de l’accéléromètre qui est pointé dans la direction de déplacement du véhicule. Comme les emplacements du véhicule vers l’avant, l’axe voit force positive due à la pesanteur. Comme le véhicule d’inclinaison vers l’arrière, il voit force négative. Il est tentant de dire que le gain soit 300mV/90º, puisque poisser 90 ° correspond à 1g. Cependant, c’est la pente de la sortie près de 0º qui importe et grâce à la trigonométrie cette pente se trouve être 300mV/rad ou 300mV / 57.3º. Voir l’image ci-dessous pour une illustration de cela.
Depuis ADC de l’Arduino donne une valeur de 10 bits basée sur une référence 5V, vous pouvez calculer le gain sur la valeur brute de ADC par :
(57.3º/0.3V)*(5V/1024LSB) = 0.932º / LSB
LSB (bit le moins significatif) est juste une façon de dire un bit. Il s’agit de la valeur permettant de multiplier la valeur analogique brute pour obtenir un angle exprimé en degrés. Notez que vous devez également soustraire le zéro angle de décalage entre le signal analogique. Ceci est mieux trouvé expérimentalement, en tenant la plate-forme à zéro angle et en lisant la valeur.
Alors pourquoi ne pas simplement utilisez l’accéléromètre pour mesurer l’angle et se faire ? Le problème est que l’accéléromètre ne peut pas faire la différence entre gravité et accélération réelle. Ainsi, si la plate-forme est parfaitement de niveau, mais le véhicule accélère vers l’avant, il enregistrera le même comme inclinaison vers l’arrière. En prenant une moyenne à long terme, cependant, la seule « accélération » qui reste est gravité. Malheureusement, avec une moyenne à long terme n’est pas propice à la commande de rétroaction accrocheur. Entrez...
Le Gyroscope.
Plus précisément il devrait être appelé un capteur de vitesse angulaire, car il a peu à voir avec un gyroscope réels axée sur le volant. Il rapporte de nouveau un signal proportionnel à la vitesse de rotation. Sur une plate-forme d’équilibrage, son axe sensitif soit serait parallèle à l’axe de rotation des roues. Le gyros Sparkfun IMU ont une sensibilité de 3.33mV/º/s sur les canaux 4 x, ce qui signifie que les modifications de sortie 3.33mV pour chaque º / s de rotation.
Depuis ADC de l’Arduino donne une valeur de 10 bits basée sur une référence 5V, vous pouvez calculer le gain sur la valeur brute de ADC par :
[(1º/s)/0.00333V]*(5V/1024LSB) = 1.466(º/s)/LSB
Il s’agit de la valeur permettant de multiplier l’analogique brute d’entrée pour obtenir une vitesse angulaire en degrés par seconde. Comme l’accéléromètre, le décalage du zéro pour le gyro doit être soustrait d’abord. On le retrouve en organisant la plate-forme stationnaire et lire la valeur analogique.
Pour obtenir des degrés par seconde à degrés, le signal de gyroscope peut être intégré. Pour chaque étape dans le temps, le signal de gyro multiplié par la durée entre les étapes donne un changement progressif dans l’angle. L’angle total est la somme cumulée de ces augmentations. Cela pose un problème, cependant : si le signal de compas gyroscopique n’est pas exactement zéro quand la plate-forme n’est pas en rotation (et il ne le sera jamais) l’intégration va dériver. Sans référence absolue, il n’y a aucun moyen de corriger cette dérive avec le signal de gyro seul. Toutefois, pour de courtes durées, le gyroscope fournit une estimation d’angle très sensible qui est insensible aux bruits de l’accélération horizontale du véhicule
Si un capteur est idéal pour les estimations d’angle à court terme, intervention rapide. L’autre est idéal pour le long terme, angle sans dérive absolue moyenne. Vous commencez à voir où cela se passe?...