Bonjour j'ai un projet qui consiste à programmer un encodeur incrémental avec de l'arduino et enfin de stocker ses informations en cloud ou bien par carte SD. J'aimerais de l'aide concernant le choix des solutions techniques ainsi que sur la programmation. Merci
Bonjour et bienvenue sur le forum
Merci de prendre quelques minutes pour lire les bonnes pratiques du forum francophone et les appliquer.
En particulier donner toutes les informations nécessaires pour que l'on puisse répondre aux questions.
Je dois utiliser un encodeur incremental double canal afin de relever l’angle, le sens de rotation et la vitesse d’une roue. J’ai une contrainte c’est que je dois stocker ses informations depuis une carte SD ou bien un cloud. J’ai besoin d’aide concernant les solutions techniques et sa programmation sur de l’arduino sûrement arduino uno.
Si tu utilise une carte Uno, t'es tu renseigner comment tu pourra sauver sur une carte SD ou dans le cloud?
Bonjour lachtary
C'est ce genre de codeur que tu envisages d'utiliser?

Pour le stockage SD, il y a des modules pour Arduino de ce genre

Pour le stockage cloud, je ne sais pas comment faire, mais une déclinaison d'ESP32 te sera nécessaire.
Cordialement
jpbbricole
C’est exactement ça jpbbricole comme encodeur et pour le stockage SD que tu as montré que je dois ensuite connecté les deux à un esp32. je ne comprends pas exactement comment je vais stocker les données de l’encodeur dans la carte SD car il me faut beaucoup de données pour que ce soit précis, je parle bien sûr du programme.
Un esp32 seul peut très bien tout faire. Ce sera même plus simple avec un seul micro.
Un esp32 est plus puissant que le micro qui équipe la nano (je n’imagine pas une Uno autrement qu’en prototypage avec sa connectique absolument pas fiable).
”Un grand nombre de données ”
Désolé mais cela ne veut pas dire grand chose.
Volume de données dans une unité de temps (secondes ou minutes ou heures ) ?
Quel type de données (octets, int, uint, 16 bits, 32 bits, structures ) ?
Valeur maximale en octets que le stockage peut prendre ?
Ne pas oublier que souvent on croit a tord que qui peut le plus peut le moins.
La réalité est différente, qui peut le plus a souvent des inconvénients.
Bonjour lachtary
Non, tu as demandé 2 solutions, le stockage dans le cloud, à ce moment il te faut un ESP32 du fait qu'il a le wifi incorporé.
Si tu choisis l'option enregistrement carte SD, il te faut un Arduino avec un petit module SD.
A quel vitesse veux tu enregistrer ces données et quel est la quantité estimée entre chaque cycle de enregistrement/relevé des données?
Pour la détection de l'angle de la roue comment penses tu donner une position de départ à 0°?
A+
Cordialement
jpbbricole
Bonjour,
je travail sur un dispositif qui doit être placé sur la roue d'un vélo et capable d'envoyer une estimation de sa vitesse instantanée tous les 10 ms ou même inférieure pour permettre une mesure précise du moment où le freinage commence et son intensité. Pour la détection de l'angle je n'ai pas trop d'idée sur ce sujet là, il faut que je m'informe.
Cordialement lachtary
L'encodeur ne permet de déterminer qu'une valeur d'angle relative.
Si tu veux avoir une valeur absolue, il faut que tu ajoutes quelque chose (détecteur optique, magnétique, ...) pour donner une position de référence à ton programme.
Bonjour,
Quelqu'un serait comment déterminé le nombre d'informations par s d'un Encodeur Incrémental 400 P/R par tour de roue je parle bien sûr en calcul :
Cet Encodeur Incrémental 400 P/R est un encodeur rotatif photoélectrique incrémental industriel avec un matériau en aluminium, une coque métallique et un arbre en acier inoxydable. Il génère un signal d'impulsion orthogonal biphasé AB via la rotation du disque de réseau et de l'optocoupleur. 400 impulsions / tour pour chaque phase, et 1600 impulsions / tour pour une sortie biphasée 4 fois. Cet encodeur rotatif prend en charge une vitesse maximale de 5000 tr / min.
Soit N1 = nombre de tours de la roue/s
Soit N2 = nombre d'impulsions par tour du codeur incrémental
Soit R = rapport de réduction entre la roue et l'axe du codeur
Nombre d'impulsions/s = N1 * R * N2
Pour un vélo qui roule a une vitesse de 50 km/h
je ne comprend pas comment déterminé N1 N2 et R
N1 : Nombre de tour de la roue/s c'est, vitesse (en m/s) / circonférence de la roue (en m)
N2 : c'est nombre d'impulsion/tour, c'est une caractéristique de ton codeur incrémental
R : rapport de réduction entre la roue et l'axe du codeur, cela dépend de comment tu couples la roue et le codeur incrémental.
J’ai pas encore trouvé comment je couple la roue avec l’encodeur donc je peux pas savoir. Vous avez une idée ?
A la réflexion, je me demande quel est l'intérêt d'avoir la valeur absolue de l'angle.
Il faut que je mesure la vitesse instantanée du vélo
Je n'ai pas tout suivi, mais si tu as uniquement besoin de la vitesse instantanée, le nombre de tour de ton encodeur entre les deux temps de références, devrais te donner directement la vitesse, si tu possédé la circonférence de tes roues?
Oui c’est exactement ça mais faut que l’encodeur ce place sur la roue et il faut que je programme l’encodeur pour me permettre de récupérer les données sur mon ordi.
Enfaite, je dois trouver plusieurs solutions techniques qui permette de récupérer la vitesse instantané du vélo afin d'obtenir une courbe avec son intensité de freinage tout en collectant ses données sur mon ordi en roulant sur le vélo.