Arduino Nano & Hardware-Reset via Digital Out

Hallo zusammen,

ich möchte gerne den Nano hardwaremäßig, über einen digitalen Ausgang, resetten. Dazu habe ich den Ausgang (z.Zt. Analog-Pin A3, als Digital Out definiert) direkt mit dem Reset-Pin verbunden, wie schon mehrfach im Internet gezeigt, das es so auch funktionieren soll. Doch sobald diese Verbindung zwischen den beiden Pins hergestellt ist, verhält sich der Arduino etwas seltsam. In den meisten Fällen hängt er sich komplett auf und ist nicht mehr verwendbar. Auch der Flashvorgang funktioniert dann nicht mehr. Abhilfe dann nur, in dem ich die Verbindung zwischen den beiden Pins wieder entferne.
Was könnte das für ein Problem sein? Könnte einer helfen?
Schon mal vielen Dank.

VG
GMP

Wozu brauchst Du denn eigentlich den Reset??

Abgesehen davon daß Du wahrscheinlich dan ATmega permanent in Reset Hälst oder sobald er startet wieder RESETiert wird funktioniert diese Methode nicht.

Ein Reset schaltet sofort alle Ausgänge ab. Ein Resetimpuls muß aber eine definierte mindestlänge haben die ein Selbstreset nicht hat.

Entweder Du baust eine vom Atmega gestartete abe sonst unabhängige Schaltung die einen definiert langen Impuls abgibt (das Resetpin auf Masse zieht) oder Du machst einen Softwarereset.

Grüße Uwe

Wozu brauchst Du denn eigentlich den Reset?

Das frage ich mich auch!

Aber davon mal abgesehen:

Ein Resetimpuls muß aber eine definierte mindestlänge haben die ein Selbstreset nicht hat.

Ist das so?
Meine Interpretation des Datenblattes ist:
Der Resetimpuls muss eine Mindestlänge haben, damit er zuverlässig erkannt wird.
Erst wenn der Reset erkannt wurde, werden alle Pins in den Tristatemodus versetzt

Dazu habe ich den Ausgang (z.Zt. Analog-Pin A3, als Digital Out definiert)

Und das vermutlich in der setup() .... :smiling_imp:
Damit wird ein LOW Signal auf den Pin gesendet und und er resettet sofort.
Der ISP tuts nicht, weil er gegen A3 arbeiten muss.

Erst pinMode(A3,INPUT_PULLUP); in der setup()
Und dann, wenn es passieren soll pinMode(A3,OUTPUT); digitalWrite(A3,LOW)
Evtl. ist noch ein zusätzlicher Kondensator nötig. Um A3 vom ISP zu entkoppeln.

Alles ungetestet und ohne Gewähr

Der Watchdog eignet sich für einen (von hinten durch die Brust ins Auge) Reset.

combie:
Und das vermutlich in der setup() .... :smiling_imp:

Ja, bereits im Setup-Bereich. Korrekt.

Damit wird ein LOW Signal auf den Pin gesendet und und er resettet sofort.
Der ISP tuts nicht, weil er gegen A3 arbeiten muss.

Grundsätzlich funktioniert es ja, den Reset über den PC auszuführen. Nach diesem Schema hier haben wir es gemacht:

Erst pinMode(A3,INPUT_PULLUP); in der setup()
Und dann, wenn es passieren soll pinMode(A3,OUTPUT); digitalWrite(A3,LOW)
Evtl. ist noch ein zusätzlicher Kondensator nötig. Um A3 vom ISP zu entkoppeln.

Alles ungetestet und ohne Gewähr

Der Watchdog eignet sich für einen (von hinten durch die Brust ins Auge) Reset.

Das könnte man noch mal ausprobieren.

Grundsätzlich funktioniert es ja, den Reset über den PC auszuführen.

Was denn jetzt?
Reset über PC?

Nach diesem Schema hier haben wir es gemacht:

Und in der Schaltung arbeitet Pin 12 gegen den evtl. aufgesteckten ISP Adapter.
Die Folge ist Fehlfunktion.
Oder der Tod der Komponenten.
Das wollen wir doch nicht, oder?

Tipp:
Nur weils einer mal gemacht hat, nur weil "Tutorial" dran steht, kann es doch der größte Mist sein.

Bedenke:
Jeder Anfänger, welcher gerade mal eine Kleinigkeit kapiert hat (oder auch nicht), neigt dazu sein AHA Erlebnis in die Welt hinaus zu posaunen. Interessiert ihn nicht, ob er gerade was falsches gelernt/publiziert hat.
Erfolgserlebnis führt zu Mitteilungsdrang.
Fast zwangsläufig.
Ist auch nix schlimmes dran, zutiefst menschlich.
Nur eben auch häufig voll daneben und gepflastert mit Irrwegen und Gefahren.

Ein Beispiel:
Im verlinkten Reset Code/Schaltung wird eine LED zwischen GND und Pin 13 geklemmt, ohne Vorwiderstand.
Aus meiner Sicht eine Todesfalle, zumindest ein ganz übler Tipp.
Und:

when the application starts up, all pins get pulled LOW

Nein, die gehen in den Tristate Zustand.

:slight_smile: Betrachten wir diese beiden Punkte mal als Merkmale für die Qualität dieser Schaltung/Anleitung :slight_smile:

Wozu brauchst Du denn eigentlich den Reset??