Danke für den Codeschnipsel.
Ich habe auch eine CBF600. Die PC43 (Die ab BJ 2008).
kannst du mir noch die Funktion in der Interruptfunktion zeigen?
Aber ja, bei mir sieht es mit dem Interrupt genau so aus. Ebenfalls nutze ich Falling.
Schließe ich das Multimeter von der Tacholeitung zu Masse an, drehe das Rad bei Motor aus und Zündung an, Wechselt das Multimeter zwischen 0V und 5V.
Den Tipp mit dem Hinstellen werde ich mal testen.
Ich nutze ja anstatt digitalPinToInterrupt(PIN_SPEED_SIGNAL), setze ich direkt "1" ein (glaube ich jedenfalls) Interrupt 1, an digitalpin 3. (sorry, bin die letzten Tage nur am Laptop, Code ist am PC zuhause wo ich nicht war).
Ist der Motor aus, und Zündung an und wenn ich eine LED zwischen dem Tachosignal und Masse schalte, und das Rad drehe, Leuchtet die LED, geht aus, leuchtet, etc... Also ein klares 5V Signal.
Starte ich den Motor mit LED oder Multimeter angeschlossen. Bleibt die LED in dem jeweiligen zustand und ändert diesen nur, wenn ich am Rad drehe. Also ein eindeutiges Tachosignal. Wenn der Arduino wieder dran hängt, dreht der Impulszähler wieder hoch. Merkwürdig. Meinen Interruptpin hab ich intern auf High gezogen. Also INPUT_PULLUP bei der Pindefinition. Wo ich am Interrupt noch "HIGH" erfasst habe, hatte ich den Pin3 mit 100kOhm auf Masse gezogen. Problem war weiterhin da.
Ebenfalls habe ich eine Diode auf den Arduino zeigend von der Impulsleitung zwischen geschaltet, und einen Tiefpassfilter hatte ich mit 1,5kOhm und 10nF geschaltet. Ebenfalls erfolglos.
Blieb für mich logisch nur noch EMV übrig.
Ich werde als nächstes den Arduino tauschen, nicht dass dieser schon irgendwelche ESD Schäden hat, ebenfalls verwernde ich auch mal einen anderen Interrupt Pin.
Die Funktionen der Schaltung hab ich ja schon alle getestet, indem ich die Leitungen mal abgezogen hab um die Funktion zu testen etc..
Bin da momentan ziemlich ratlos.