Graphique d'oscillation de pendule avec Thymio II

Le pendule simple

Le pendule est un objet d'étude classique.

Avec le Thymio et une structure de base on peut réaliser un pendule dont on peut mesurer les oscillations. Voici un exemple de réalisation:

pendule-thymio.jpg

Cette réalisation se base sur une structure qui permet la suspension du pendule. L'axe de rotation du pendule passe par le trou du crayon du Thymio II. De cette façon le Thymio II n'est pas trop excentré et ne pèse pas trop sur le pendule. Cet axe guide l'oscillation qui est donc faite latéralement par rapport au robot. Au bout du pendule est placé un poids qui rend l'oscillation stable.

On peut mesurer l'inclinaison du pendule avec l'accéléromètre. Le code suivant permet d'acquérir les données de l'accéléromètre, en faisant une moyenne sur 4 valeurs afin de lisser le signal. ATTENTION: pour que ce code compile il faut créer (sur la droite dans l'environnement asebastudio), un évènement qui s'appelle plotAcc et qui a un paramètre.

var accTampon0[4] = 0,0,0,0
var accTamponPos0 = 0
var sumacc0

onevent acc
  accTampon0[accTamponPos0] = acc[0]-2
  accTamponPos0 = (accTamponPos0 + 1) % 4
  sumacc0 = accTampon0[0] + accTampon0[1] + accTampon0[2] + accTampon0[3]

  emit plotAcc sumacc0

La dernière ligne de code permet de générer un événement. Cet événement doit être crée dans l'interface de droite de AsebaStudio. Il faut aussi spécifier que cet événement prend un paramètre (zéro par défaut). Grâce à l'émission de cet événement il est possible de tracer le graphique de l'accéléromètre lors de l'oscillation. Pour faire cela il faut faire un click gauche sur le nom de l’événement dans la liste des événements, à droite. Apparaît alors la possibilité de créer le graphique de la variable émise par cet événement. Voici la vidéo de la manipulation et le résultat.

Voici la copie d'écran obtenue (cliquer dessus pour agrandir):

Plot-pendule.png

Quelques question pour les curieux:

  • Que représente réellement le graphique, sur l'axe des y ?
  • En faisant un vecteur de deux valeurs on peut avoir le graphique superposé de l'axe 2 de accéléromètre. Que donne son graphe dans cette situation ?

Pendule avec le kit LEGO Technic 8069

Comment réaliser cela si on ne dispose pas d'un stock de pièce LEGO?
Une possibilité est d'acheter une boîte qui a suffisament de pièces. Par exemple voici le pendule réalise avec le kit de construction LEGO Technic 8069. Ce kit contient suffisament de barres pour réaliser une version simple du pendule, que voici:

global-pendule-lr.jpg

Ce pendule est fait uniquement avec des pièces du kit LEGO Technic 8069. Malheureusement la limitation en type de pièces permet de faire un pendule moins stable, et les résultats sont moins bons que le pendule mentionné plus haut. Le manque de stabilité et le levier moins leong donnent des oscillations moins stables:

plot-acc.png

Si l'on veut observer la fréquence du pendule, on peut aussi plotter la valeur d'un capteur de proximité qui voit le sol. On obtient de graphes de ce type (capteur latéral):

plot-prox.png

FInalement voici quelques détails de la construction. Notez qu'il faut stabiliser le pendule lors de l'utilisation, par exemple en le fixant à la table.

pendule-face-cote.jpg
structure.jpg

Pendule avec le kit LEGO Technic 8258

La boite de construction LEGO Technic 8258 est bien plus fournie en pièces et permet de faire un pendule plus stable. Utiliser le Thymio II comme poids du pendule semble une bonne idée, mais demande une structure très stable. Il est mieux d'utiliser le Thymio dans la structure et utiliser d'autres poids (ici les pneus) pour le poids du pendule. La structure de support doit être rigide et bien posée au sol.

pendule8258.jpg

Ce pendule fonctionne exactement comme les autres ci-dessus et utilise le même code. Il permet toutefois d'enregistrer des oscillations bien plus propres que le précédent:

pendule-graph-8258.png

Voici enfin quelques détails de la construction:

details-pendule8258.jpg
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License