petit_pendule_de_furuta_software
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
petit_pendule_de_furuta_software [2022/07/28 16:18] – [Codeurs à Effet Hall de pandauto.com] serge | petit_pendule_de_furuta_software [2023/05/22 14:38] (Version actuelle) – [Cartel] Benjamin Labomedia | ||
---|---|---|---|
Ligne 11: | Ligne 11: | ||
**{{tagpage> | **{{tagpage> | ||
</ | </ | ||
+ | ====== Mode d' | ||
+ | Phallocratie n°2 - le pendule de Furuta est presque plug and play, pour l' | ||
+ | Ensuite, une fois l'ordi démarré, on accède à des écrans interactifs : | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | {{ :: | ||
+ | Il existe 2 modes de fonctionnement : le mode Training qui rejoue l’entraînement du pendule et le mode Testing où le modèle déjà entrainé est utilisé pour maintenir la tige à la verticale | ||
+ | |||
+ | Via ce menu, il est aussi possible d' | ||
+ | |||
+ | {{ :: | ||
+ | Pour ce mode, on peut démarrer ou arrêter l' | ||
+ | |||
+ | {{ :: | ||
+ | Pour ce mode, on peut démarrer ou arrêter le test du modèle | ||
+ | |||
+ | ====== Cartel ====== | ||
+ | Phallocratie même n°2 est un pendule de Furuta réalisé par Serge Pierre dans le cadre des activités de la Labomedia. | ||
+ | |||
+ | Le pendule de Furuta, ou pendule rotationnel inversé, se compose d'un bras entraîné qui tourne dans le plan horizontal et d'un pendule attaché à ce bras qui est libre de tourner dans le plan vertical. Il a été inventé en 1992 au Tokyo Institute of Technology par Katsuhisa Furuta et ses collègues. | ||
+ | |||
+ | Ce robot illustre particulièrement bien ce que l'on appelle " | ||
+ | |||
+ | Ce mode d' | ||
+ | |||
+ | Phallocratie même n°2, pour maintenir sa tige à la verticale, a ainsi appris pendant plusieurs jours, plusieurs sessions d' | ||
+ | |||
+ | Ce dispositif permet soit de démontrer le fonctionnement du pendule avec l'' | ||
+ | |||
+ | Réalisation : Serge Pierre avec l'aide d' | ||
+ | Documentation : https:// | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | =====Les sources du projet===== | ||
+ | * **[[https:// | ||
+ | {{ : | ||
===== GPIO d'un Pi3 B+ ou d'un Pi4===== | ===== GPIO d'un Pi3 B+ ou d'un Pi4===== | ||
{{ : | {{ : | ||
Ligne 44: | Ligne 82: | ||
====Câblage sur la Pi==== | ====Câblage sur la Pi==== | ||
- | {{: | + | {{ : |
====Tension d' | ====Tension d' | ||
Les PINS GPIO sont à 1 si la tension d' | Les PINS GPIO sont à 1 si la tension d' | ||
- | Les entrées A B et Index de chaque codeurs sont baissées à 3V. | + | Les entrées A B et Index de chaque codeurs sont baissées à 3V avec une puce [[https://www.gotronic.fr/ |
- | {{ :media_16: | + | {{: |
- | {{: | + | {{: |
=====PWM===== | =====PWM===== | ||
{{: | {{: | ||
Ligne 75: | Ligne 114: | ||
https:// | https:// | ||
- | **Latence des callbacks** | + | ====Latence des callbacks==== |
- | Dans certains transitoires avec des rotations sur les codeurs rapides, les callbacks | + | Une Raspberry Pi peut gérer |
+ | Un codeur | ||
+ | Un codeur | ||
+ | Soit 20 kHz pour les 2 codeurs à un tour par seconde. Mais certain transitoires vont plus vite que 1 tour par seconde. Les callbacks sont empilé sur une pile qui a été estimée à 2 mn après quelques heures d' | ||
- | ====Branchement sur ESP32 et Com en SPI avec Raspi==== | + | ===Solution=== |
- | **Essais infructueux --> Abandon** | + | **Le codeur de 4000 points du balancier a été remplacé par un codeur 1000 points**.\\ |
+ | La fréquence a 1 tour par seconde devient 8 kHz: ce qui fait une grosse marge par rapport à 20 kHz. | ||
- | {{:media_16: | + | La précision est tout à fait suffisante: le point zéro est défini à -/+ 1 ou 2 ou 3 points, c'est très sensible. |
- | ===Activation du SPI=== | + | =====Recherche sur ESP32===== |
- | [[https://www.raspberryme.com/ | + | ====Branchement sur ESP32 et Com en SPI avec Raspi==== |
+ | {{:media_16: | ||
===Ressources=== | ===Ressources=== | ||
* **[[https:// | * **[[https:// | ||
* Voir la page dédiée: **[[rotary_encoder_controller]]** | * Voir la page dédiée: **[[rotary_encoder_controller]]** | ||
- | =====Codeurs à Effet Hall de pandauto.com===== | ||
- | **Ces codeurs sont construits sur une puce AS5048A** | ||
- | |||
- | ==== ZoetropeLabs propose une lib pour Arduino==== | ||
- | * **[[https:// | ||
- | |||
- | Télécharger le projet: aller dans le dossier AS5048A-Arduino-master/ | ||
- | Dans Arduino IDE, allez à Sketch --> Include Library --> Add ZIP Library --> ajouter le zip de AS5048A | ||
- | |||
- | Exemple: | ||
- | |||
- | <code C++> | ||
- | #include < | ||
- | AS5048A angleSensor(10); | ||
- | void setup() | ||
- | { | ||
- | angleSensor.init(); | ||
- | void loop() | ||
- | { | ||
- | word val = angleSensor.getRawRotation(); | ||
- | Serial.println(val, | ||
- | </ | ||
- | |||
- | ====Ressources==== | ||
- | * **[[https:// | ||
- | * https:// | ||
- | * **[[spi_documentation_1|]]** | ||
- | * **[[spi_documentation|]]** | ||
- | * **[[https:// | ||
- | Doc probable pour le SPI du capteur à effet hall chinois : [[https:// | ||
- | Il semblerait que le circuit dans le coder est peut être celui-ci, car le datagramme SPI est très similaire : [[ https:// | ||
- | Il faudrait donc voir, car pour lire une données théoriquement il faut envoyer une commande READ qui permet de recevoir simultanément la valeur au moment du READ précédent.\\ | ||
- | On devrait avoir 16 bits à lire : | ||
- | - 1 bit de parité | ||
- | - 1 bit error flag | ||
- | - 14 bits indiquant l' | ||
- | Lorsqu' | ||
- | |||
{{tag> bestiaire_ia petit_pendule_furuta raspberry_pi raspbian sb }} | {{tag> bestiaire_ia petit_pendule_furuta raspberry_pi raspbian sb }} |
petit_pendule_de_furuta_software.1659025082.txt.gz · Dernière modification : 2022/07/28 16:18 de serge