Drehgeber Auslesen mit höher Drehzahl


hallo arduinowelt  8) ,
ich habe ein großes problem beim auslesen von impulsen meines drehgebers (1024 impuls / u) . bei langsamer drehzahl  funktioniert das auslesen gut. wenn ich das rad schnell dreh funktioniert nicht mehr gut. da ist mein code.
code: [select]


int pin_a= 3;//  signal a(zählsignal)
int pin_b= 2; // signal b(richtungssignal)
int pinstatus_a;
int pinstatus_b;

volatile double z=0;
volatile boolean statenow=false;
volatile boolean statebefore=false;
double a;
string wert = "";
char zeichen =0;
void setup()
{
  serial.begin(9600);
  pinmode(pin_a,input);
  pinmode(pin_b,input);
 
  attachinterrupt(0,zaehlen_a,falling);// 0 ist der interrupt für pin 3, bei jedem Übergang von high zu low wird zaehlen() aufgerufen
 
}
void loop()
{
pinstatus_a = digitalread(pin_a);
pinstatus_b = digitalread(pin_b);

if( statebefore != statenow)
    { 
    a=(z*200)/1024; //umwandlung in mm
    serial.println(a,3);
    statenow = false;
    }
   while (serial.available()>0)
   {
   zeichen = serial.read();
   wert += zeichen;
   if(wert=="reset")
   {
     z=0 ;
     serial.flush();
   }
   }
  wert ="";

}
void zaehlen_a()
  {
    if( pinstatus_a != pinstatus_b)
    z++;
    else
    z--;
    statenow=true;
  }


beim schnellen drehen bekomme ich solche ergebnisse  0 , 1 ,2 , 3 , 4 , 5 , 6 , 7 ,7, 7,7,7,7,7, 8, 9, 10 ,11, 11, 11, 11, 11 , 11, 11, 11, 11 ...
ich weiß nicht wie ich meinen code modifizieren soll.
ich brauche hilfe bitte.
vielen dank für die aufmerksamkeit
franck


ich habe ein großes problem beim auslesen von impulsen meines drehgebers (1024 impuls / u) . bei langsamer drehzahl  funktioniert das auslesen gut. wenn ich das rad schnell dreh funktioniert nicht mehr gut.


aus deiner frage werde ich nicht ganz schlau, welche drehzahl du als "langsam" oder "schnell" verstehst. kann man das irgendwie in umdrehungen pro minute oder pro sekunde ausdrücken?

außerdem ist mir nicht ganz klar, um für einen drehgeber es sich handelt. ist das
a) ein rein mechanischer drehgeber als passives bauteil?
oder ist es
b) ein hochwertiger optoelektronischer drehgeber mit eigener stromversorgung und interner elektronik?

zusatzfrage: brauchst du vor- und rückwärtszählen oder nur zählung in eine richtung?

und eine grundsatzfrage: warum zählst du mit gleitkommazahlen und nicht mit long oder unsigned long?


Arduino Forum > International > Deutsch (Moderator: uwefed) > Drehgeber Auslesen mit höher Drehzahl


arduino

Comments

Popular posts from this blog

opencv3, tbb and rasp pi 2 - Raspberry Pi Forums

small ethernet problem - Raspberry Pi Forums

Multithumb configuration params not working? - Joomla! Forum - community, help and support