Outils pour utilisateurs

Outils du site


petit_pendule_de_furuta_software

Petit Pendule de Furuta: Electronique Branchements Software

GPIO d'un Pi3 B+ ou d'un Pi4

Ressources

General Purpose Input/Output sur fr.wikipedia.org Les ports GPIO (anglais : General Purpose Input/Output, littéralement Entrée-sortie à usage général) sont des ports d'entrées-sorties très utilisés dans le monde des microcontrôleurs, en particulier dans le domaine de l'électronique embarquée, qui ont fait leur apparition au début des années 1980. Elles sont placées sur un circuit électronique afin de communiquer avec des composants électroniques et circuits externes. Il peut s'agir de détecteurs ou senseurs pour capter des données, ou encore de contrôler des commandes.

Liste des GPIO

Quelle API python choisir ?

compare python gpio api pointe vers elinux.org par l'auteur de pigpio. RPi.GPIO n'est plus maintenu, à la réputation de raccourcir la vie des moteurs. pigpio est plus rapide, voir https://atman-iot.com/blog/raspberry-pi-benchmark/.

Lancement du deamon

sudo pigpiod

et n'oublier pas de rajouter votre user au groupe gpio

Run deamon at startup

mkdir ~/.config/autostart
sudo nano ~/.config/autostart/pigpiod

coller

  [Desktop Entry]
  Type=Application
  Exec=sudo pigpiod

Câblage sur la Pi

Tension d'entrée des GPIO sur la PI

Les PINS GPIO sont à 1 si la tension d'entrée est comprise entre 1.8V et 3.3V, et à zéro si inférieure à 1.8V
Les entrées A B et Index de chaque codeurs sont baissées à 3V avec une puce Convertisseur de 4 niveaux logiques.

PWM

Matériels

Câblage

La puissance envoyée au moteur est contrôlée sur le PWM. PWM est toujours positif, il ne défini pas le sens de rotation: le sens est défini par IN1 et IN2. Voir wiki.dfrobot.com pour le détail du fonctionnement. Il est conseillé de faire une pause entre 2 changements de sens, un certain temps en fonction du moteur et des valeurs PWM avant après. En pratique, le moteur est utilisé au tiers de sa puissance, il a supporté des dizaines de millions de steps, ne chauffe pas du tout.
La fréquence des impulsions a été testée entre 14 Hz et 28 Hz. La durée de l'impulsion est de 0.02 à 0.03 seconde.
Voir le script de commande du moteur TODO rajouter le lien

US DIGITAL S1 Optical Shaft Encoder

Branchement direct sur la Pi

https://www.raspberryme.com/comment-utiliser-un-encodeur-rotatif-avec-le-raspberry-pi/

Latence des callbacks Dans certains transitoires avec des rotations sur les codeurs rapides, les callbacks ne sont pas traités en temps réels, ce qui provoque de la latence. Un décalage de plus de 2 minutes a été constaté.

Branchement sur ESP32 et Com en SPI avec Raspi

Essais infructueux –> Abandon

Activation du SPI

Activation du SPI Aller dans Menu, Settings, Enable SPI, puis Vérifier si SPI est activé

Ressources

Codeurs à Effet Hall de pandauto.com

Ces codeurs sont construits sur une puce AS5048A

ZoetropeLabs propose une lib pour Arduino

Télécharger le projet: aller dans le dossier AS5048A-Arduino-master/lib, compresser en zip le dossier AS5048A.
Dans Arduino IDE, allez à Sketch –> Include Library –> Add ZIP Library –> ajouter le zip de AS5048A

Exemple:

#include <AS5048A.h>
AS5048A angleSensor(10);
void setup()
{       Serial.begin(115200);
	angleSensor.init();      }
void loop()
{       delay(10);
	word val = angleSensor.getRawRotation();
        Serial.println(val, DEC);                }

Ressources

Doc probable pour le SPI du capteur à effet hall chinois : page aliexpress Il semblerait que le circuit dans le coder est peut être celui-ci, car le datagramme SPI est très similaire : datasheet
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'angle absolue sur 14 bits.
Lorsqu'on lit les données SPI dans les 2 octets, il y a donc les 6 derniers bits du premier octet à concaténé avec les 8 bits du second octet pour reconstituer le mot de 14 bits.

petit_pendule_de_furuta_software.txt · Dernière modification : 2022/07/28 16:32 de serge