Problème acquisition capteur optique


bonjour,
tout d'abord merci à ceux qui prendront le temps de m'aider.

alors je vous pose un peu le contexte:

je dois réaliser un programme permettant de contrôler une machine de traction (petit lien si vous ne savez ce que c'est :machine de traction).
du coup je dois récupérer le signal d'un codeur optique 250 pts/tour (attaché au "cul" du moteur pour connaitre la position du moteur et ainsi celle de la traverse (grâce à un système ingénieux de vis à billes et de courroies !).

la gamme de vitesse de mon moteur est de 8 à 4000 tr/min (même je ne dépasserai pas les 500 tr/min lors des mesures) ce qui entraîne un déplacement de la traverse de 1 à 500 mm/min.

fin du contexte ennuyant.

mon problème est que j'arrive très bien à visualiser le signal du capteur sur oscillo (signal créneau) mais dès que j'essaye d'incrémenter une variable sur arduino à chaque front montant j'ai l'impression (peut-être fausse) que la carte ne suit pas la cadence. il m'affiche un nombre de trous incohérent face au déplacement de la traverse (beaucoup moins comme si il en ratait). je précise que les tests ont été fait à très très faible vitesse.

voici mon code même si je pense pas avoir fait d'erreurs:

code: [select]

long tick_codeuse=0;
void setup() {
  serial.println("start");
  serial.begin(115200);

attachinterrupt(0,compteur,rising);

}

void loop() {


}

void compteur(){
  tick_codeuse++;
  serial.println(tick_codeuse);
  }


j'utilise une arduino mega si ça peut être utile.
donc si vous avez des idées sur le pourquoi du comment merci.



hello
tu es gonflé, dans ta routine d'interruption, tu pars faire de l'affichage.

tu ne crois pas que la perte de pions vient de là ?

une routine d'affichage doit etre la plus courte possible.
dans ton cas , juste l'incrémentation du tick_codeuse



Arduino Forum > International > Français (Moderators: jfs, Snootlab) > Problème acquisition capteur optique


arduino

Comments

Popular posts from this blog

Error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode - Raspberry Pi Forums

class MPU6050 has no member named begin

missing filename after '-o'