Wechsel zwischen Signalquelle mittels Relais zerstört Arduino Nano

Hallo zusammen,
das ist mein erster Beitrag im Forum, also bitte nicht steinigen über meine Unfähigkeit, den Code oder meine Schaltung hier richtig fomatiert einzufügen.

Einen passende Code habe ich bereits, wenn ich allerdings die bestehende Schaltung um ein Relais erweitere, segnet der Nano das zeitliche.

/* Nach zwei Impulsen am Input-Pin erfolgt ein Impuls am Output-Pin.
   Impuls-Dauer (Output): onTime

   Eine Kombination der Beispiele zur Flankenerkennung (StateChangeDetection):
   https://www.arduino.cc/en/Tutorial/StateChangeDetection
   und BlinkWithoutDelay:
   https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
*/

const byte INPUT_PIN  =  5;     // Reed Kontakt. Anderes Ende an GND.
const byte OUTPUT_PIN = 13;  // Die eingebaute LED - nach eigenen Gegebenheiten ändern.

bool reedState = true;
bool lastReedState = true;

const unsigned long onTime = 100;
unsigned long currentMillis;
unsigned long lastMillis;
int zaehler;

void setup() {
  pinMode(INPUT_PIN, INPUT_PULLUP);
  pinMode(OUTPUT_PIN, OUTPUT);
  pinMode(3, OUTPUT);
}

void loop() {
  // Eingabe:
  delay(800);
  digitalWrite(3, HIGH);
  reedState = digitalRead(INPUT_PIN);
  currentMillis = millis();

  // Verarbeitung: Flankenerkennung (state change detection)
  if (reedState != lastReedState) {
    delay(30);                 // Entprellen, quick & dirty
    if (reedState == LOW) {    // Reed-Kontakt wurde geschlossen
      zaehler++;
      lastMillis = currentMillis;
    }
    if (reedState == HIGH) {   // Reed-Kontakt wurde geöffnet
      // Einstweilen passiert hier nichts...
    }
    lastReedState = reedState;
  }

  // Ausgabe:
  if (zaehler >= 2) {
    digitalWrite(OUTPUT_PIN, HIGH);
    if (currentMillis - lastMillis >= onTime) {
      digitalWrite(OUTPUT_PIN, LOW);
      zaehler = 0;
    }
  }
}

Es geht um einen Reedsensor am Laufrad eines E-Bikes mittels dessen die Geschwindigkeit ermittelt wird. Zwischen Reedsensor und Motorcontroller soll der Nano zwischengeschaltet werden, der die Aufgabe hat, nur jeden zweiten Impuls vom Sensor an den Controller weiterzuleiten. Anstatt 25 km/ erscheint dann 12,5km/h auf dem Tacho.

Der angehängte Code funktioniert wie er soll, solange der Nano mit Strom von einem Mini 5v Stepdown / Buck Converter versorgt wird, der wiederum über den 12v Lichtausgangs des E-Bikes ein und ausgeschaltet werden kann. Falls der Lichtausgang ausgeschaltet ist, so dass der Nano keinen Saft bekommt, werden gar keine Signale mehr vom Reedsensorüber den Nano an den Motorcontroller weitergeleitet, auf Tacho bleibt es bei 0kmh.
i
Das erwünschte Ergebnis sähe aber so aus, dass bei eingeschalteten Licht jedes zweite Reed- Signal weitergeleitet wird und bei ausgeschalteten Licht jedes Signal und somit die tatsächliche Geschwindikeit auf dem Display angezeigt wird).

Ich hatte erwartet, dass ein Wechsler-Relais die Lösung wäre. Bei Einschalten des Arduinos würde gleichzeitig das Relais anziehen und den NO (normally open) Kontakt schließen. Das GND Signal des Reedsensors würde über NO an den Nano Pin D5 gelangen und jeden zweiten Inpuls über D13 an den Motorontroller-Eingang des Motors weiterleiten (GND an Reedeingang). Wenn Nano stromlos, würde das GND Signal des Reedsensors über den NC Kontakt direkt an den Motorcontroller-Reedeingang weitergeleitet.

Hier eine Skizze:
(Römisch I ist die Schaltung ohne Relais, Römisch 2 mit Relais.)

Wenn ich das Relais einsetze und der Arduino jeden zweiten Impuls weitergeben soll, klapp es sporadisch - heisst: D13 Outputsignal ist entweder dauerhaft auf high (GND) oder schickt nur jedes xte Signal weiter. Kurz darauf starb der Arduino. Heute 3 neue geliefert bekommen und das gleiche Spiel. Eine weiterer ist hinüber und der 3-polige DC Wandler des Nanos senkte mir die Finger an.

Die 5v beziehe ich aus dem Mini Stepdow Regler, am Relais habe ich den Eingang um eine Freilaufdiode ergänzt.

Ich habe die Schaltung um ein zusätzliches Relais ergänzt um eine Art Kreuz/Wechselschaltung zu machen.

Ein Foto von der Schaltung muss ich im nächsten Beitrag einfügen, weil neue user nur ein Bild in einem Beitrag einfügen dürfen.

Der Arduino lebt zwar noch, aber am D13 Signalausgang liegt die ganze Zeit GND an. Zudem muss ich den Magneten ca. 2 sek lang am Reedsensor halten, damit D13 (+LED Board) auf high geht.
Könnte sich jemand erbarmen und mire eine Lösung aufzeigen?

Der Beschreibung nach könnte der Fehler eine fehlende (hier: defekte) Freilaufdiode sein.

Viel wahrscheinlicher liefert aber der Regler im Leerlauf eine viel zu hohe Spannung, die beim Umschalten den Arduino zerschießt. Zur Sicherheit während des Umschaltens mit einem Scope anschauen.

Ich mag keiner illegalen Modifizierung eines Verkehrsmittels Vorschub leisten.
Darum mache ich diese Diskussion zu.
Grüße Uwe