Strecke erfassen durch externe Interrupt

Gast #2082684
Lesenswert?

hallo...


ich habe kleine Frage, ich möchte strecke erfassen durch externe 
interrupt aber ich habe alles konfiguriert und empfange auch ein signal 
aber das problem, der Microcontroller liefert mir falsche zahlen. der 
microcontroller sollte mir 120 mal interrupt auslösen für einmal 
umdrehung.aber der gibt mir 8787.
Gast #2082687
Lesenswert?

Was verwendest du als Sensor für die Umdrehung? Elektrischen oder 
optischen Drehgeber?
Hört sich erstmal nach fehlender Entprellung an, d.h. der Interrupt wird 
bei einem Schritt durch Kontaktschwingen mehrmals ausgelöst.
Gast #2082736
Lesenswert?

ganz genau, das ist das problem ich bekomme an die microcontroller 
falsche zahlen. oder ich habe die Intterupt falsche konfiguriert..ich 
benutze Sharp GP2Y0A02YK und M16c/245 microcontroller..

void init_INT1(void){
asm("fclr i");                      //disable global interrupts before 
setting IPL
pd8_3=0;
                //setinterrupt priority to 7 and select rising edge
int1ic=1;                  //IPL 7 (Interrupt Priority Level)
ifsr1=1;                    //Triggered at two edges of external signal
//ifsr1=0;                    //Triggered at one edges of external 
signal
asm("fset i");                //enable global interrupts
}


void INT1(void) {counter_1++;}
#2082901
Lesenswert?

Moin,

der GP2Y0A02YK ist ein IR-Abstandssensor mit analogem Ausgang. Meinst Du 
GP1A038RBK? Dann würde ich definitiv das Ausgangssignal mit dem Oszi 
gründlichst untersuchen, unter manchen Bedingungen liefert dieser Sensor 
mehr Unfug als sinnvolle Signale.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren