J'ai un accéléromètre ADXL203 d'appareils analogiques sur une carte d'extension et je voulais l'utiliser pour mesurer l'inclinaison de certains équipements à une fréquence raisonnablement élevée (20-30 Hz). je le connecte à un enregistreur campbells cr3000 pour faire la détection. Quelqu'un at-il des instructions sur la façon d'interpréter les sorties du capteur? Merci
accelerometer
inclination
troy jensen
la source
la source
Réponses:
J'ai un certain nombre de choses à dire ici, et certaines d'entre elles impliquent d'accord avec pingswept et d'autres avec penjuin.
cr3000
L'échantillonnage cr3000 à 16 bits et 100 Hz va être un échantillonnage un peu lent pour que vous puissiez facilement supprimer le bruit de vos données, mais avec une précision nettement supérieure, il sera utilisable. Je doute que vous puissiez obtenir 13 ou 14 bits de précision sans de très bons algorithmes de filtrage. Les accéléromètres m'ont appris que la vibration est le diable, les phonons foudroyés.
Condensateur de sortie
Vous devez vous assurer de faire ce que dit la fiche technique et la théorie du signal. Pour citer la fiche technique:
Cela signifie que vous devez choisir un condensateur pour maintenir votre taux en dessous de 50 Hz. Si vous le placez au-dessus de cela, vous pouvez obtenir un aliasing, et l'aliasing fait du bruit de vibration un diable avec lequel vous avez signé un accord. Ils indiquent comment calculer les niveaux de bruit de l'appareil, et à une bande passante de 50 Hz, un bruit de crête à crête de 0,006 * La gravité ne sera même pas remarquée si vous l'avez sur un appareil avec des vibrations.
Interprétation des données
C'est probablement ce qui vous intéresse le plus et c'est relativement facile à faire. Vous devez marquer une heure à laquelle l'appareil est au neutre, c'est-à-dire lorsqu'il est plat et que vous l'avez relativement immobile. Donnez-lui une seconde ou deux à ce stade, puis vous pouvez prendre la médiane de ces données pour déterminer la tension sans G. Ensuite, vous pouvez l'utiliser comme un point auquel vous comparez l'appareil. Maintenant, à partir de ce point, je peux citer directement la fiche technique:
Donc, vous pouvez simplement utiliser cette approximation si vous n'inclinez pas beaucoup, mais vous devrez utiliser la géométrie si vous prévoyez d'incliner dans les deux sens et dans des angles qui ne sont pas extrêmement petits.
Si vous allez agrandir, ils ont même les équations énoncées comme suit:
Autant que je peux, votre appareil donne un changement de 1V par 1G d'accélération placé dessus. Si vous avez effectué la phase de calibrage, vous devriez être en mesure de prendre des mesures, de soustraire le décalage et vous avez le nombre de G expérimentés.
Arrêtez de lire ici, sauf si vous rencontrez des problèmes ou si vous souhaitez plus d'informations pour améliorer l'approche.
J'ai ajouté un peu plus de détails sur d'autres approches et méthodes pour améliorer votre approche pour les systèmes à changement rapide ou les systèmes où vous allez programmer l'appareil effectuant les échantillons.
Fréquence d'échantillonnage
Vous devez échantillonner beaucoup plus rapidement que la vitesse à laquelle votre appareil change les directions dans lesquelles il accélère, car vous devez mesurer l'orientation 20 à 30 fois par seconde. vous devez être capable de mesurer assez rapidement pour filtrer le bruit de vibration et l'accélération due à d'autres effets, que j'ai trouvé assez importants lorsque vous travaillez avec un accéléromètre.
Accéléromètre 3 axes
Deuxièmement, si vous avez un accéléromètre à trois axes, vous pouvez facilement reconnaître quand un axe perd une partie de l'accélération en raison de la gravité (c.-à-d. Lorsque l'axe z a sa chute de magnitude de 2 m / s ^ 2, vous savez que le gain que vous avez vu sur l'autre axe est la gravité). Ce sera toujours compliqué, mais en général, il y aura un ajout d'accélération qui donne la vitesse nécessaire pour changer votre orientation, puis un changement d'accélération dû au changement d'orientation, vous permettant souvent de reconnaître l'orientation.
Problèmes avec 2 axes
Cela va être, comme Penjuin l'a dit, presque impossible avec un accéléromètre à 2 axes, et au mieux sommaire si vous avez un système qui peut avoir 20-30 orientations différentes par seconde, ou si vous avez besoin d'avoir une mesure exacte de l'orientation à chaque fois. Je suis sûr qu'un étudiant à la maîtrise pourrait rédiger une assez belle thèse à ce sujet, ou un doctorat pourrait rédiger une thèse sur l'amélioration de cet algorithme.
Bruit de vibration
Pour en ajouter plus, si vous pouvez placer votre appareil au-dessus de quelque chose qui le maintiendra statiquement verrouillé au mouvement de votre appareil, mais amortit les vibrations, vous obtiendrez de bien meilleurs chiffres et n'aurez pas besoin d'autant de filtrage logiciel. Un rembourrage de type mousse simple peut être placé entre l'accéléromètre et votre appareil, et s'il est numérique, cela ne devrait pas augmenter le bruit électrique et aider à absorber certains bruits de vibration. Cela ne doit être fait que si vous voyez des problèmes de bruit de vibration.
Accéléromètre numérique
Je suggérerais un accéléromètre numérique auquel vous pouvez utiliser SPI pour vous connecter. Les données peuvent être cadencées à un rythme très très élevé et vous pouvez travailler en arrière-plan pendant que votre SPI effectue le travail constant de chargement de l'ensemble de valeurs suivant. Vous aurez besoin d'un joli microcontrôleur si cela doit être fait numériquement. Si vous pouvez me donner de meilleurs détails sur ce que vous voulez faire, je peux donner de meilleurs commentaires. Si vous voulez un avertissement basé sur la détection d'inclinaison, cela devrait être très facile à faire avec tous les analogiques, mais si vous voulez mesurer la position et l'angle de l'équipement pendant le fonctionnement, préparez-vous pour certains travaux.
Veuillez me faire savoir s'il y a quelque chose que je peux ajouter pour rendre cette réponse plus claire ou applicable à ce que vous cherchiez.
la source
J'ai écrit et réécrit cette réponse plusieurs fois avec de nombreuses idées mathématiques folles, mais honnêtement, je ne pense pas que cela puisse être fait avec précision. Vous pouvez faire quelques calculs vectoriels, mais que faire si:
Bien que je sois sûr qu'il existe une solution de contournement folle pour faire ce genre de chose, je ne suis pas sûr que cela en vaille la peine; les accéléromètres ne sont tout simplement pas conçus pour cette tâche (du moins à ma connaissance). Pour ce que vous essayez de réaliser, je suggérerais une approche gyroscopique utilisant n'importe lequel de ces éléments , qui seraient tous assez résistants à tous les problèmes ci-dessus.
la source
Si je comprends bien la fiche technique, la sortie de chaque axe variera entre 1,5 V et 3,5 V lorsque vous inclinez autour de l'axe. Lorsque l'appareil est plat (en ignorant l'erreur d'alignement du boîtier de ± 1 degré), les deux sorties doivent lire 2,5 V.
Si vous avez seulement besoin de mesurer l'inclinaison dans une direction, vous pouvez prendre l'arc sinus de l'écart de 2,5 V pour obtenir l'angle en radians, puis convertir en degrés. Si l'appareil peut s'incliner dans n'importe quelle direction, vous pouvez calculer les deux angles, puis calculer l'angle composé à partir de ceux-ci.
Pour être explicite: angle autour d'un axe = (180 / π) * arcsin (Vout - 2,5)
Pour obtenir une bonne réponse en fréquence, vous aurez besoin de petits condensateurs de sortie, Cx et Cy. De la note de bas de page 6 à la p. 3 de la fiche technique, il semble que 0,02 uF vous donnerait une bande passante de 250 Hz, ce qui est probablement à peu près adapté à votre fréquence d'échantillonnage. Vous pourriez peut-être aller jusqu'à 0,1 uF, limitant la bande passante à 50 Hz, mais vos signaux commenceront à s'atténuer.
la source
J'ajoute une deuxième réponse, parce que mon autre est grande, et vous voudrez peut-être simplement simple.
Votre capuchon de filtre doit être de 0,10 uF ou plus pour vous maintenir en dessous de votre taux de crénelage (50 Hz). Vous devez donner une phase d'étalonnage de quelques secondes avec votre appareil assis au niveau avec toute l'accélération de la gravité dans la direction Z, ceci pour déterminer votre point G zéro.
La tension que vous mesurez pour votre point G zéro, elle sera probablement différente pour les directions X et Y, ne représente rien. Prenez simplement la tension que vous obtenez et soustrayez-la. Cette tension, avec décalage soustrait, est le nombre de G que vous obtenez dans cette direction.
Prenez l'arc-en-ciel et vous obtiendrez votre angle dans cette direction.
Cela ignore le bruit et les autres accélérations. préparez-vous à ce que NaN soit un résultat si vous l'avez complètement incliné et qu'il y a du bruit.
la source
Pour obtenir n'importe quel angle, vous devez mesurer l'accélération de la gravité dans les deux directions X et Y. soustrayez la tension moyenne (2,5 V) de sorte que zéro signifie «pas d'accélération».
Vous pouvez maintenant trouver l'angle avec arcsin (y / x). Mais c'est ennuyeux à utiliser, à cause de la division, et parce que le signe est ambigu, donc ce que vous voulez vraiment la fonction C atan2 (y, x). atan2 () obtient le bon signe pour tous les 360 degrés.
Hors sujet, puisque vous n'utilisez pas de micro: si vous cherchez atan2 () à utiliser sur un microcontrôleur, il y a un générateur atan2 () sur mon site: http://vivara.net/cgi-bin/ cordic.cgi
la source