Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2010-11-29 09:49:04 Un problème de rotation

Olivier__F
membre
Date d'inscription: 2010-04-27
Messages: 28

Un problème de rotation



Bonjour,
j'essaie de transformer les valeurs d'un controleur rotatif qui fait des tours sans fin pour faire tenir ça entre un minimum et un maximum. Mon problème est qu'a chaque tour complet, j'ai une saute brutale du minimum au maximum. J'ai essayé plusieurs choses, mais qui deviennent vite un peu tordues et pas très fiables. Quelqu'un aurait il une solution simple?
Merci!
Olivier

Hors ligne

 

#2 2010-11-29 16:02:52 Re : Un problème de rotation

rep
modérateur
Lieu: Toulouse
Date d'inscription: 2008-02-27
Messages: 1444
Site web

Re: Un problème de rotation



Salut, ce genre de truc ?

Hors ligne

 

#3 2010-11-29 17:46:44 Re : Un problème de rotation

Olivier__F
membre
Date d'inscription: 2010-04-27
Messages: 28

Re: Un problème de rotation



Salut, effectivement mon controleur marche comme un compteur, il me donne des valeurs de 0 à 2pi.
Ce qui m'ennuie c'est que je voudrais éviter de revenir à 0 quand je dépasse 2pi et de revenir à 2pi quand je passe sous 0. J'ai une solution avec un Rewrap qui sur sa sortie 2 me permet de détecter la transition montante ou descendante et donc de bloquer les données quand j'effectue plus d'un tour complet, mais ça me semble un peu tordu, j'aurais donc voulu savoir s'il existait un objet capable de gérer ça.

Hors ligne

 

#4 2010-11-29 19:14:08 Re : Un problème de rotation

Olivier
N°4
Lieu: Chalon sur la Saône
Date d'inscription: 2009-04-07
Messages: 1471
Site web

Re: Un problème de rotation



Bonsjours...

Je ne connais pas de telle boite,  mais j'ai un bout de patch qui différencie quand le flux numéraire (avec des entiers) est croissant ou décroissant...
En espérant que ça puisse te servir... (attention, de part les valeurs par défaut de [anal] ce bout de patch ne fonctionne qu'entre 0 et 128... mais ça se change en donnant des arguments à [anal])

http://codelab.fr/up/croiss-decroiss.png

Dernière modification par Olivier (2010-11-29 19:28:20)


L'Amour au Peuple !

Hors ligne

 

#5 2010-11-29 21:05:01 Re : Un problème de rotation

Staross
membre
Date d'inscription: 2008-04-03
Messages: 322

Re: Un problème de rotation



Dans cette ordre d'idée tu peux calculer la différence entre les deux dernières valeurs, +1 quand ça monte, -1 quand ça descend, et tu somme ces différences. Ensuite il faut juste ajouter une condition pour quand la différence vaut +/- 2 pi pour la remettre à -/+ 1.

Hors ligne

 

#6 2010-11-30 08:53:31 Re : Un problème de rotation

cdriko
modérateur
Lieu: Le Landreau
Date d'inscription: 2010-07-16
Messages: 76
Site web

Re: Un problème de rotation



hello
je viens de bricoler un codeur rotatif sinusoidal (un button d'un truc de son)
j'ai mis du temps à comprendre que ce n'était pas un encodeur binaire :
celui ci sort deux  créneaux décalés, et c'est en voyant quel est le dernier changé qu'on voit dans quel sens ça tourne.
http://en.wikipedia.org/wiki/Rotary_enc … ry_encoder
http://www.arduino.cc/playground/Main/RotaryEncoders

en fait c'était un encodeur sinusoidal :
les deux canaux sortent le sinus et le cosinus à la place de signaux carrés (il faut les lire en analog et pas en digital).
je ne me rappelle plus la formule simple pour avoir l'angle  : atan(sin/cos) ou un truc comme ça non ?

ça ressemble un peu à ce que tu as, mais si ton signal saute, c'est soit que tu rentres en digital, soit que tu as un composant intermédiaire entre le codeur et l'entrée.

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024