PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arduino RESET-Taste - Frage



Andi#87
27.07.2021, 15:55
Hallo,
für eine Anwendung möchte in einer Schaltung 2 Stück "ATmega 328P" verbauen. Auf den Original-Arduino-Boards gibt es einen RESET-Taster, der beim Betätigen gegen GND schliesst und also den ATmega-PIN1 mit GND verbindet. Der Schaltplan usw. vom ARDUINO mir bekannt. Wie kann ich das nun bei Verwendung von 2 ATmega lösen? Im Bedarfsfall möchte ich mit einer einzigen RESET-Taste beide ATmega gleichzeitig gegen GND schliessen. Kann ich das so machen, wie ich es in Version-1 gezeichnet habe? In diesem Fall würden aber bei nicht-betätigter RESET-Taste trotzdem beide PIN1 des jeweiligen ATmega permanent miteinander verbunden sein. Kann ich das so machen? Oder ist das nicht gut, wenn beide PIN1 permanent verbunden sind, und ich sollte besser Version-2 nehmen, wo ich das Schliessen gegen GND über einen Doppel-Taster lösen würde. Solange dieser dann nicht betätigt ist, würden auch beide PIN1 nicht miteinander verbunden sein.


Andi

2 Bilder im Anhang

ARetobor
27.07.2021, 16:20
Hallo.
vermutlich geht beides?
Zur Sicherheit würde ich bei der Version 1 Zwei Schottkydioden zur Entkopplung verwenden.
Anode an Reset und Kathoden gemeinsam gegen Masse Schalten.

Gruß
AR

Andi#87
27.07.2021, 18:59
Gute Idee. Danke :-)

Andi

oberallgeier
28.07.2021, 11:00
.. "ATmega 328P" .. Arduino-Boards .. Im Bedarfsfall .. beide ATmega gleichzeitig gegen GND schliessen .. Doppel-Taster ..

Grübel, grübel ..... Quelle Atmel-42735B-ATmega328/P_Datasheet_Complete-11/2016, S. 33, 11.7.1.: The interrupt execution response for all the enabled AVR interrupts is four clock cycles minimum.

Mal überlegenrechnenannehmenrechnen (was heißt schon gleichzeitig?): die arduinos ham nen 16 MHz-Quarz. Gibt mindestens 0,25 Mikrosekunden interrupt execution response time. Sagen wir mal dass der Doppeltaster seine beiden Kontaktflächen mit einem Hundertstel Millimeter Unterschied hat (klingt s..genau). Dann sollte der Doppeltaster mit murmelmurmel .. 0,25 µs .. 0.01 mm .. schon mal 40 m/s Schließgeschwindigkeit schließen (linear=Milchmädchenart gerechnet). Sprich (sehr einfach ausgedrückt): wenn Du schneller als mit hundert Stundenkilometer auf den Taster haust, dann haste ne Chance, mit dem Doppelschalter beide Controller gleichzeitig zu resetten. Ich glaube nicht wirklich an die Hundertstelgenaugikeit Deines Schalters und noch weniger an die hundert Stundenkilometer (D)eines Tastendrucks. Sprich: beide Controller werden von nem Doppeltaster mit mehr als vier, acht usw clock cycles geresettet; Gleichzeitigkeit ist sehr unwahrscheinlich.

Auch wenn ich keine Ahnung habe woher Deine Forderung zum gleichzeitigen Reset kommt - der Doppelschalter wäre bei mir absolut no go.

Andi#87
28.07.2021, 11:33
Mhm... Danke für Deine detaillierte Beschreibung ;-)

Ich will keine Marsmission damit ausstatten, sondern paar LEDs schalten. Beide ATmegas arbeiten unabhängig voneinander. Ob da was paar mSek später..., ist unwichtig. Wenn was nicht geht und irgendwo was hängt, möchte man RESET drücken, und zwar nur einmal, und ohne zuvor eine Bedienungsanleitung zu lesen, wann welcher Reset-Taster möglicherweise wann und wie gedrückt werden muss ;-) So einfach wie möglich in der Anwendung.

Andi

oberallgeier
29.07.2021, 09:05
Hallo Andi!
Mhm... Danke für Deine detaillierte Beschreibung..Gern geschehen.


.. Ich will keine Marsmission damit ausstatten ..NEIN ? ? Ohh Mannohh - wäre meine erste Mitarbeit bei ner Marsmission. Schade.


.. Ich will .. LEDs schalten. Beide ATmegas arbeiten unabhängig voneinander. Ob da was paar mSek später...Na dann testen wir mal beispielhaft ne Minimalversion aus vorhandenem Material. Quick´n dirty.

Zwei UNABHÄNGIGE nanoclone mit mega328p@20MHz (20MHz ist halt meine Standardversion) auf zwei weitgehend UNABHÄNGIGEN Testplatinen a und b (https://dl.dropbox.com/s/y2qbws62i996c37/IMG_3396.JPG?dl=0). Auf der Lochraster-Experimentierplatine links oben weißes Zwillingskabel mit GND-7,5V als Power für den gesamten Aufbau.

Platine a - Lochraster, selbst gefertigt mit LCD und geflasht als Servotester, Platine b eine Lernplatine vom Hackerspace Bremen (danke Andree-HB). Abhängigkeit NUR durch die gemeinsame Stromversorgung - siehe Strippen rot-Vcc5V und grau-GND. Dazu noch eine EINZIGE, zusätzliche Verbindung von RST-a nach RST-b - das graulila Kabelchen.

Und wer sagts: egal welchen Reset >auf einer der beiden nano-clone-Platinen< man drückt, BEIDE Controller gehen "sofort" auf Reset. Aus Faulheit stelle ich kein Video dazu und auch keine Oszilloskopaufnahme (mit der Aufnahme des zeitlichen Verzugs der beiden Reset-Signale - das wär dann doch/unsinnig oversized).

https://dl.dropbox.com/s/y2qbws62i996c37/IMG_3396.JPG?dl=0
(C) oberallgeier

Das sollte Dich jetzt die richtige (minimalistische) Entscheidung treffen lassen (Nur EIN zusätzliches Kabelchen *gg*).

Andi#87
29.07.2021, 10:37
Ok. Bissl wie in „Illuminati“ 3. Film ;-)
Wenn ich es richtig verstehe, worauf Du hinaus willst, so könnte ich problemlos meine im Eingangsthread gezeigte Version 1 nehmen und beide Reset-PIN des jeweiligen ATmega direkt und permanent verbinden und auf einen einzigen Tasterkontakt gegen GND legen und kann dabei auf die von ARetobor vorgeschlagenen Schottkydioden verzichten. Richtig?

oberallgeier
29.07.2021, 11:02
.. worauf Du hinaus willst .. Version 1 nehmen .. Schottkydioden verzichten. Richtig?Richtig. Wie geschrieben - quick´n dirty - und funktioniert. Möglicherweise sieht ein sauberer Schaltungsentwurf anders aus - aber ich bin ja auch kein Profi.

Andi#87
29.07.2021, 11:35
Mhm, insofern würden die Schottkydioden aber auch nicht schaden. Auf Nummer sicher sozusagen. Deren Spannungsabfall sollte unproblematisch sein. Zumindest weiß ich erstmal, dass ich mit meiner Version 1 und der permanenten elektrischen Verbindung nichts an den ATmega zerstöre. Das war meine Sorge, und diese wird durch Deinen Platinenaufbau entkräftet.
Danke für die Antworten.
Andi

- - - Aktualisiert - - -

Mhm, insofern würden die Schottkydioden (oder zumindest eine vor nur einem ATmega PIN1) aber auch nicht schaden. Auf Nummer sicher sozusagen. Deren Spannungsabfall sollte unproblematisch sein. Werde ich testen. Zumindest weiß ich erstmal, dass ich mit meiner Version 1 und der permanenten elektrischen Verbindung nichts an den beiden ATmega zerstöre. Das war meine Sorge, und diese wird durch Deinen Platinenaufbau entkräftet.
Danke für die Antworten und Mühe!
😊
Andi

Michunger
12.08.2021, 17:45
Hat jemand dazu einen Link auf Github?

oberallgeier
29.08.2021, 12:45
.. Werde ich testen. Zumindest weiß ich erstmal, dass ich mit meiner Version 1 .. nichts ..Hi Andi,
getestet? Läufts?

Moppi
29.08.2021, 13:36
Ist der RESET-Pin am Arduino nicht als Eingang geschaltet? Ist doch so, nicht? Bei Logikschaltungen dürfen Eingänge immer parallel geschaltet werden. Evtl. Probleme wären nur zu erwarten, wenn die Bausteine (ICs) nicht in demselben Stromkreis lägen. Tun sie aber hier, wenn ich das richtig sehe.


für eine Anwendung möchte in einer Schaltung 2 Stück "ATmega 328P" verbauen

Daher ist das kein Problem. Entweder sind die Pins hochohmig oder später eben Eingänge. Daher brauchts auch keine Diode. Unnötiger Schaltungsballast.

Nochmal anders betrachtet: Was würde passieren, wenn man den RESET-Pin per Schalter auf GND legt? Eingänge anderer ICs werden ja womöglich auch gegen GND geschaltet. Dann sind die also auch untereinander verbunden, nämlich über GND. Ähnlich verhält es sich mit der Versorgungsspannung. Alles, was dort dran hängt, auch Logikeingänge, sind untereinander verbunden.


MfG

oberallgeier
29.08.2021, 17:13
Ist der RESET-Pin am Arduino nicht als Eingang geschaltet? Ist doch so, nicht? ..Diese Frage ist ja nur rhetorisch, leider doch missverständlich.

Der Reset-Pin ist NUR dann ein Eingangspin wenn das RSTDISBL-Fuse programmiert ist - siehe die Dokumentation : ".. If the RSTDISBL Fuse is programmed, PC6 is used as an I/O pin .. When the RSTDISBL Fuse is unprogrammed, the reset circuitry is connected to the pin, and the pin can not be used as an I/O pin . .". Ist diese Fuse nicht programmiert dann ist dieser Pin ein Reset-Eingang. Man kann also wählen . . .

Natürlich kann man den Resetpin auch als normalen Eingang nehmen - dann lässt sich der Controller aber nicht mehr (so ohne weiters) zurücksetzen. Beide Varianten machen Sinn, weitgehend üblich ist die Varianten mit dem nicht gesetzten RSTDISBL-Fuse *ggg*. Soweit ja allgemein bekannt und grundlegend grad für Anfänger.

Das hat ja aber nu nix mit "geschaltet" zu tun sondern mit Fusesetzung. Geschaltet ist beim arduino (wie meist bei den ATMEL-Controllern) der Pin mit nem Pullup nach Vcc.
Aber die ganze Sache ist dem Andi ja sicher schon längst total klar.

Moppi
31.08.2021, 09:10
Es ging mir darum, ob's ein digitaler Eingang am IC ist, wenn er umschaltbar ist (auch als regulärer I/O), ob der in der Funktion RESET einen Eingang darstellt. Ich meine, ja. Ich benutze den nie, deshalb. Ich schaue aber kurz nach ... ist ein Eingang am IC.


MfG

- - - Aktualisiert - - -

Meine Meinung, wegen der Dioden (gerne lese ich mehr zu dieser Vermutung):

Wenn zwei Dioden, vor dem gemeinsamen Zusammentreffen, am Taster, gesetzt werden, dann ändert das an der Funktion nichts. Weil aber Dioden einen Spannungsabfall haben, könnte schlimmsten Falls der Reset am Controller instabil werden. Der RESET - Pin sollte, mit dem Taster, sicher auf 0V gezogen werden.

oberallgeier
31.08.2021, 12:33
.. Der RESET - Pin sollte, mit dem Taster, sicher auf 0V gezogen werden. ..Ich persönlich halte mich da lieber an Aussagen und Werte im Datenblatt.


.. VIL2 Input Low Voltage, RESET pin, VCC = 1.8V - 5.5V, Min. -0.5 V, Max. 0.1VCC ..




.. A low level on this pin for longer than the minimum pulse length will generate a Reset, .. Shorter pulses are not guaranteed to generate a reset. ..
.. Minimum pulse width on RESET Pin - 2.5 μs ..