Forum: Mikrocontroller und Digitale Elektronik Arduino stürzt bei zweiter VCC ab


von Johannes (johannes_13579)


Lesenswert?

Hallo liebes Forum,

Ich habe ein kleines Wattmeter mit einem Arduino UNO (Az-Delivery 
Nachbau) gebaut. Ich möchte den Arduino gern mit einer 9V 
Spannungsversorgung betreiben, wahlweise auch über mehrere Stunden. Ich 
habe die Ausgabe aktuell noch über die Serial-Schnittstelle, deshalb 
möchte ich mich gerne zwischendurch mal per USB an den Arduino 
anstöpseln können um die Daten mal auszulesen. Wenn ich mich allerdings 
während der 9V-Versorgung per USB mit dem Arduino verbinde, geht er 
anscheinend kurz aus und die bisherigen gespeicherten Werte sind weg, da 
die Messung von vorn beginnt. Ich habe schon einen Beitrag gefunden, in 
dem von einem Spannungsregler auf dem Arduino die Rede war. Dort wurde 
der Arduino strommäßig aber stark belastet, was bei mir nicht der Fall 
ist.
Habt ihr eine Idee was ich machen könnte, um den kurzen Reset zu 
verhindern?
Über Tipps würde ich mich sehr freuen, Danke schon mal vorab.

Falls ich irgendwelche wichtigen Infos vergessen habe, die ihr benötigt, 
reiche ich sie gern nach.

Viele Grüße
Johannes

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Johannes schrieb:
> Falls ich irgendwelche wichtigen Infos vergessen habe
Zeichne doch bitte einen Schaltplan deines Aufbaus. Mit Bauteilnummern 
un -werten bzw. -bezeichnungen. Denn Schaltpläne sind die Sprache der 
Elektr(on)ik.

: Bearbeitet durch Moderator
von Stefan F. (Gast)


Lesenswert?

Johannes schrieb:
> Habt ihr eine Idee was ich machen könnte, um den kurzen Reset zu
> verhindern?

Drei Möglichkeiten:
1) Mit einem 10µF Elko am Reset-Eingang und GND. Vermeide es, den 
Reset-Knopf zu drücken solange der Kondensator dran hängt. Weil das dem 
Kontakt des Tasters nicht gut tut.
2) Indem du die mit "RST EN" beschriftete Brücke auf schneidest.
3) Oder du entfernst C5.

https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf

von Thorsten S. (thosch)


Lesenswert?

Manche Boards mache bei USB Reset on Connect. Ein Schaltplan könnte 
weiterhelfen, das zu klären

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Thorsten S. schrieb:
> Manche Boards mache bei USB Reset on Connect.

Es ist DTR, welches den Reset auslöst.
Bei manchen Terminal Programmen kann man das unterbinden.
In eigenen PC Programmen muss man das über die Schnittstellen Parameter 
tun.
Auch Mode kann das.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Thorsten S. schrieb:
> Manche Boards mache bei USB Reset on Connect.
Ein simples USB Netzteil würde keinen Connect auslösen.

Wenn also der PC den Reset auslöst, ein Steckernetzeil aber nicht, dann 
ist es kein Problem der Versorgungsspannung...

von Johannes (johannes_13579)


Lesenswert?

Vielen Dank an euch für die schnellen Antworten.

Stefan F. schrieb:
> 1) Mit einem 10µF Elko am Reset-Eingang und GND. Vermeide es, den
> Reset-Knopf zu drücken solange der Kondensator dran hängt. Weil das dem
> Kontakt des Tasters nicht gut tut.

Das hat super funktioniert, vielen Dank.

von Johannes (johannes_13579)


Angehängte Dateien:

Lesenswert?

Lothar M. schrieb:
> Wenn also der PC den Reset auslöst, ein Steckernetzeil aber nicht, dann
> ist es kein Problem der Versorgungsspannung...

Im Schaltplan ist zu sehen, dass der USB-Boot einen Reset auslöst. Was 
ich mich allerdings frage: Wenn der Arduino schon eingeschaltet und mit 
den besagten 9V versorgt ist, warum macht er dann einen "USB-Boot"? Boot 
wäre für mich das reine Hochfahren, er ist ja aber schon in Betrieb.

Quelle Schaltplan: 
https://www.arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf

von Stefan F. (Gast)


Lesenswert?

Johannes, du schaust in den falschen Schaltplan. Aktuell ist die Version 
R3, zu der ich dir den Link gegeben habe.

In deinem Fall geht es wie gesagt um die DTR Leitung. Diese geht auf 
Low, wenn du das USB Kabel mit dem PC verbindest.

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Stefan F. schrieb:
> Diese geht auf
> Low, wenn du das USB Kabel mit dem PC verbindest.
Nein, das Kabel ist egal!
Sondern, wenn die PC seitige Anwendung den Seriellen Port belegt.
Lässt sich also über die Schnittstellenparameter umgehen.

von Johannes (johannes_13579)


Lesenswert?

Arduino F. schrieb:
> Sondern, wenn die PC seitige Anwendung den Seriellen Port belegt.

Meinst du damit Serial.begin(9600)?



Arduino F. schrieb:
> Lässt sich also über die Schnittstellenparameter umgehen.

Und wie funktioniert das Umgehen?

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Johannes schrieb:
> Meinst du damit Serial.begin(9600)?
Nein das ist Arduino seitig.

Ich meine z.B. wenn man den seriellen Monitor öffnet.
Der läuft PC seitig. Dann macht es einen Reset auf dem Arduino.

Bei anderen Terminalprogrammen muss das nicht passieren, die bieten oft 
die Möglichkeit das zappeln an DTR zu unterbinden.

von Rainer W. (rawi)


Lesenswert?

Johannes schrieb:
> Falls ich irgendwelche wichtigen Infos vergessen habe, die ihr benötigt,
> reiche ich sie gern nach.

Mit welchem Programm versuchst du die Daten auszulesen?
Stürzt der Arduino wirklich ab oder bekommt er einen Reset?
Passiert es beim Aufstecken des USB-Kabels oder beim Öffnen der 
Seriellen Schnittstelle durch das Leseprogramm?

: Bearbeitet durch User
von Manfred P. (pruckelfred)


Lesenswert?

Stefan F. schrieb:
> Diese geht auf Low, wenn du das USB Kabel mit dem PC verbindest.

Davon bin ich nicht überzeugt. Es passiert beim Öffnen der 
Schnittstelle, also in der IDE beim Aufruf des Monitors oder dem Start 
von PuTTY.

Johannes schrieb:
> Und wie funktioniert das Umgehen?

Zuverlässig nur per Hardware. Dein ChinUNO wird einen CH340G haben, von 
dessen DTR (PIN13) ein Kondensator zum Reset des AT328 geht - den raus 
und Ruhe.

Dann geht aber neu flashen nicht mehr direkt, Du musst zum passenden 
Zeitpunkt von Hand Reset drücken.

Arduino F. schrieb:
> Ich meine z.B. wenn man den seriellen Monitor öffnet.
> Der läuft PC seitig. Dann macht es einen Reset auf dem Arduino.
>
> Bei anderen Terminalprogrammen muss das nicht passieren, die bieten oft
> die Möglichkeit das zappeln an DTR zu unterbinden.

Ich würde mich nicht darauf verlassen und zum Lötkolben greifen. Ganz 
nett wäre, wenn man DTR per Steckbrücke abklemmen könnte. Vielleicht ist 
auf dem ChinUNO sogar Platz, die Leiterbahn zu trennen und zwei Stifte 
einzulöten.

Rainer W. schrieb:
> Stürzt der Arduino wirklich ab oder bekommt er einen Reset?

Das sehe ich anhand der bisherigen Diskussion als geklärt: Er geht durch 
den Reset!

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Manfred P. schrieb:
> Ganz
> nett wäre,
Manche originale Arduinoboards haben einen durchkratzbaren Lötjumper, 
heißt RST-EN o.ä.

Manfred P. schrieb:
> wenn man DTR per Steckbrücke abklemmen könnte.
Vielleicht bekommt man die sogar darauf.

: Bearbeitet durch User
von Veit D. (devil-elec)


Lesenswert?

Hallo,

ich verstehe das praktische Problem nicht. Der Reset wird nur durch das 
öffnen des Terminals von der Arduino IDE ausgelöst. Das ist da 
unveränderbar  einprogrammiert. Nimmt man bspw. hterm o.a. kann man sich 
connecten/disconnecten wie man lustig ist, da passiert nichts. Man müßte 
das Verhalten von DTR explizit einstellen das auch hier ein Reset 
ausgelöst würde, ist aber nicht Standard. Also bevor man unnötig 
rumlötet anderes Terminal verwenden.

von Rainer W. (rawi)


Lesenswert?

Veit D. schrieb:
> hterm o.a. kann man sich
> connecten/disconnecten wie man lustig ist, da passiert nichts.

Das setzt voraus, das DTR in HTerm abgeschaltet ist. Wenn DTR dort 
aktiviert ist, bekommt der Arduino beim Connect genauso einen Reset.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

Rainer, du kannst doch lesen was ich geschrieben habe. Oder nicht?

von Manfred P. (pruckelfred)


Lesenswert?

Veit D. schrieb:
> ich verstehe das praktische Problem nicht.

Musst Du ja auch nicht.

> Der Reset wird nur durch das
> öffnen des Terminals von der Arduino IDE ausgelöst. Das ist da
> unveränderbar  einprogrammiert.

Das ist Quatsch, auch andere Terminalsoftware wackelt am DTR.

Ich teste mal fix PuTTY an einem Uno, patsch, Reset. Vielleicht könnte 
ich PuTTY ja anders einstellen, aber erstmal wären Johannes' Daten 
kaputt, er hat keinen zweiten Versuch.

> Nimmt man bspw. hterm o.a. kann man sich
> connecten/disconnecten wie man lustig ist, da passiert nichts.

Schön, dass hterm das kann.

von Veit D. (devil-elec)


Lesenswert?

Der Nächste der nicht Lesen kann. Ich frage mich gerade was hier los 
ist. Kann niemand mehr ein banales Problem mit einfachen Mitteln lösen?

von Manfred P. (pruckelfred)


Lesenswert?

Veit D. schrieb:
> Rainer, du kannst doch lesen was ich geschrieben habe.

Veit D. schrieb:
> Der Nächste der nicht Lesen kann.

Bist Du überfordert mit "Markierten Text zitieren", damit man Dein 
Gesummse zuordnen kann?

von Veit D. (devil-elec)


Lesenswert?

Hallo,

man muss nicht jede Zeile zitieren. Für mich ist die Zuordnung 
eindeutig. Das leitet sich aus der zeitlichen Abfolge ab. Meine Antwort 
an den TO war eindeutig und ausreichend formuliert.

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.