Forum: Mikrocontroller und Digitale Elektronik Strecke erfassen durch externe Interrupt


von mohi (Gast)


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.

von hdd (Gast)


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.

von mohi (Gast)


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++;}

von Tom K. (ez81)


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.

von mohi (Gast)


Lesenswert?

Moin,

ja hast du recht das ist die GP1A038RBK..ich danke dir esrtmal....was 
kann man am besten dagegen tun um die richtige zu bekommen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.