Hallo Allerseits, bei meinen Test für das FATfs habe ich ein Problem festgestellt. Zwecks Test drückte ich oft den RESET Taster, um das Programm neu zu starten. Dabei stellte ich fest, daß die UART-Ausgabe nach wenigen Malen versiegte. D.h. sowohl am Terminalprogramm auf dem PC kam nix mehr an als auch die TX-LED auf dem Arduino blieb dunkel. Nach diversen Test und Messungen kam raus, daß der Arduino normal seinen Reset macht und kurz nach Programmstart ein paar UART-Ausgaben erledigt. Die kommen auch am Hilfs-AVR MEGA16U2 (U3) an. Ein erneutes Reflow Löten von U3 brauchte keine Besserung, ebenso 100pF am Reset von U3. Letztendlich wurde der Fehler gefunden. C5! Dieser Koppelkondensator mit 100nF soll nur eine AC-Kopplung des DTR-Signals zum Reset des Arduinos herstellen, damit eine H->L Flanke einen Reset per Software ermöglicht. Das funktioniert auch. ABER! Rückwärts schiebt der Kondensator beim drücken der RESET-Taste ORDENTLICH Strom in das IO-PIN und drückt das Potential deutlich unter GND. Das geht ein paar mal gut, nach 3-10 Mal aber blockiert U3. Dann hilft nur noch USB abstecken und neu stecken! Das passiert aber NUR, wenn ein Terminalprogramm eine Verbindung zum COM-Port hat! Ohne die blockiert U3 nicht! Lösung: Die Lötbrücke RESET-EN neben C5 ist im Layout mittels Leitung kurzgeschlossen! Wer baut so einen Unsinn? Also mit dem Skalpell trennen. Und siehe da, man kann RESET drücken so oft man will, die UART-Verbindung bleibt bestehen! Damit der Software-Reset wieder funktioniert, lötet man 1k über die Lötbrücke, damit wird der Strom begrenzt.
Falk B. schrieb: > Rückwärts schiebt der Kondensator beim drücken der > RESET-Taste ORDENTLICH Strom in das IO-PIN und drückt das Potential > deutlich unter GND. Das geht ein paar mal gut, nach 3-10 Mal aber > blockiert U3. Ist das der berüchtigte Latchup Effekt?
Falk B. schrieb: > Lösung: Die Lötbrücke RESET-EN neben C5 ist im Layout mittels Leitung > kurzgeschlossen! Wer baut so einen Unsinn? Also mit dem Skalpell > trennen. Und siehe da, man kann RESET drücken so oft man will, die > UART-Verbindung bleibt bestehen! Damit der Software-Reset wieder > funktioniert, lötet man 1k über die Lötbrücke, damit wird der Strom > begrenzt. Vielen Dank für diesen Hinweis. Ist schon eine Merkwürdige Konstruktion.
Stefan ⛄ F. schrieb: > Ist das der berüchtigte Latchup Effekt? Könnte sein. Es kann aber auch eine Störung der Versorgungsspannung sein, denn man schließt ja das IO-Pin hart kurz, da fließen um die 50-100mA. Und an U3 hängen nur 100nF an VCC. Oder der Reset oder Brown Out schlägt zu, denn dessen Schaltschwelle liegt nahe VCC.
Ich finde das Problem auch lustig. Habe seit Jahren Arduinos im Einsatz, aber das Problem noch nicht erlebt und noch nie davon gehört. Und sicherlich schon ein paar viel hundert mal Reset gedrückt. Falk B. schrieb: > Oder der Reset oder Brown > Out schlägt zu, denn dessen Schaltschwelle liegt nahe VCC. Unglaubwürdig. Wenn die BOD des 16U2 zuschlägt, oder ein Reset, hängt sich die virtuelle Serielle vom PC ab. Macht also "DingDong" Den Effekt, kenne ich sehr wohl, bei hoher Last und zu dürren USB Strippen
EAF schrieb: >> Oder der Reset oder Brown >> Out schlägt zu, denn dessen Schaltschwelle liegt nahe VCC. > Unglaubwürdig. > Wenn die BOD des 16U2 zuschlägt, oder ein Reset, hängt sich die > virtuelle Serielle vom PC ab. > Macht also "DingDong" Nein, bei mir bleibt der virtuelle COM-Port im Gerätemanager aktiv, aber es kommen keine Daten mehr an. Man kann auch keine senden, die RX-LED bleibt dann auch dunkel. Ich meine, da hat sich in U3 was verklemmt, was auch immer.
Hallo, solche Effekte sind immer wieder interessant. Wie oft und in welchem zeitlichen Abstand drückst du Reset? Andererseits habe ich da einmal versucht zu simulieren. Einmal mit deinem 1k und original ohne. Ich komme auf einen maximalen Strom von 0,5mA.
Falk B. schrieb: > bei mir bleibt der virtuelle COM-Port im Gerätemanager aktiv Wie gesagt, interessant! Ist das bei dir mit anderen UNOs oder Megas reproduzierbar, oder ist es nur ein Exemplar, welches das tut?
Veit D. schrieb: > solche Effekte sind immer wieder interessant. Wie oft und in welchem > zeitlichen Abstand drückst du Reset? Ich hab es langsam verucht, so ein Druck / 3s und auch schnell mit vielleicht 1-2 Drücken/s. In beiden Fällen schmiert der UART ab. > Andererseits habe ich da einmal > versucht zu simulieren. Einmal mit deinem 1k und original ohne. Ich > komme auf einen maximalen Strom von 0,5mA. Deine Simulation stimmt nicht. Der Resettaster schaltet RESET gegen GND. Nimm dazu einen Schalter aus LTspice.
Falk B. schrieb: > Ich hab es langsam verucht, so ein Druck / 3s und auch schnell mit > vielleicht 1-2 Drücken/s. In beiden Fällen schmiert der UART ab. Und ich habe mir jetzt einen UNO Klon gegriffen, mit 16U2. Und mit einer Steckbrücke mindestens 200 Reset durchgeführt. Hatte keine Auswirkungen, auf den 16U2. Darum auch meine Frage: EAF schrieb: > Ist das bei dir mit anderen UNOs oder Megas reproduzierbar, oder ist es > nur ein Exemplar, welches das tut?
EAF schrieb: > Ist das bei dir mit anderen UNOs oder Megas reproduzierbar, oder ist es > nur ein Exemplar, welches das tut? Ein 2. Uno, frisch aus der Box hat das Problem nicht. Merkwürdig.
Falk B. schrieb: >> Andererseits habe ich da einmal >> versucht zu simulieren. Einmal mit deinem 1k und original ohne. Ich >> komme auf einen maximalen Strom von 0,5mA. > > Deine Simulation stimmt nicht. Der Resettaster schaltet RESET gegen GND. > Nimm dazu einen Schalter aus LTspice. Upps, stimmt, ich habe den Software Reset simuliert :-) Ich hatte diesen Effekt auch noch nicht, was aber nichts heißen muss. Bei mir verabschiedet sich eher die IDE samt Terminal wenn die Baudrate hoch und ohne Pause Daten geschickt werden. Dann geht irgendwie (vermutlich) Java fest und muss im Taskmanager abgeschossen werden. Vermutlich läuft ein Buffer voll.
:
Bearbeitet durch User
Hallo, ich habe meinen original Arduino Mega2560 auch malträtiert. Ich drücke ansonsten ganz selten den Resettaster. Mit IDE Terminal und auch HTerm keine Probleme. Egal ob im 1 bis 3 Sekundentakt oder mit wilden drücken. Egal ob mit 9600 oder 250k Baud. Wenn der Finger am Ende wieder runter ist kommt die serielle Ausgabe. Womit du allgemein recht hast ist der fehlende Widerstand generell, allein schon um den Taster Kurzschlussstrom zu begrenzen. Wenn das bei dir hilft ist doch gut. Vielleicht liegt es auch am USB Rechnerseite. Kannst du das auf einem anderen Rechner testen. Gerhard hat nämlich mit einem FT232RL das Problem das der angeschlossen nach Rechnerkaltstart nicht erkannt wird. Ab- und anstecken funktioniert. Ich habe genau die gleiche Eigenbauplatine und keine Probleme. Er an anderen Rechnern auch nicht. Es können blöde Zufälle sein. Nur so als Gedanke.
Hallo, Eine Berichtigung: Beim Rechnerkaltstart wird zwar der FT232R vom Geräte Manager als korrekt Geladen ohne jegliche Fehlermeldungen diagnostiziert. Auch Teraterm oder Arduino-IDE Serial hat beim Starten kein Problem damit. Nur die Datenkommunikation funktioniert einfach nicht. Austecken oder den FT232R Reset Eingang zu betätigen, restauriert dann korrekte Datenfunktion. Der PC gibt keinerlei Fehlermeldung aus. Weitere Tests mit anderen PCs mit XP32, W7X32, W8.1X32 und X64 ergaben keinerlei Probleme. Es passiert nur auf meinem Hauptrechner mit W10X64. Ein kommerzielles FT232R Gerät hat auf diesen Rechner dasselbe Problem. Liegt also kaum an meiner Implementierung. Die Treibersoftware ist aktuell und dieselbe auf allen Rechnern soweit sie kompatibel sind (Windows bedingt). Ich habe dem FTDI Kundendienst anfang dieser Woche die Sachlage mitgeteilt und sie waren sehr an der Ursachenergründung interessiert daran und ersuchten mich um spezielle zusätzliche Diagnostik Daten. Habe allerdings noch keinen Bescheid bekommen. Einen FT232R Fake kann man Anhand der bisherigen Ermittlungen mit Sicherheit ausschließen. Ich werde weitere Information bekanntgeben sobald man mehr weiß. Gerhard
Gerhard O. schrieb: > FT232R Auf dem originalen UNO (siehe Schaltplan im Eingangsposting) und seinen Clonen ist ein ATMega16U2 als USB-Serial Konverter montiert. Kein FTDI
EAF schrieb: > Gerhard O. schrieb: >> FT232R > > Auf dem originalen UNO (siehe Schaltplan im Eingangsposting) und seinen > Clonen ist ein ATMega16U2 als USB-Serial Konverter montiert. > Kein FTDI Ich berichtigte nur Veits Schilderung. Ist mir schon klar, daß beim Uno der ATMEGA16U2 drauf ist.
Gut! Dann korrigiere ich mich, und sage: Verschiedene Chips, unterschiedliche Sorgen. Mischen irritiert.
Ich hab den Effekt an zwei verschiedenen Rechnern gehabt, allerdings beide mit Win10.
Falk B. schrieb: > Ich hab den Effekt an zwei verschiedenen Rechnern gehabt, > allerdings > beide mit Win10. FT232R? Interessant. Danke. War das dieselben Symptome wie bei mir? Nachtrag: Ich habe übrigens bemerkt, daß der FT232R in dieser Situation den Empfang von Daten vom AVR mit Leuchten des USBC0/1 TX-LED quittiert. Wenn ich auf den AVR Reset Taster drückt send die FW eine kurze String aus. Die sieht der FT232R. Nur der PC kriegt davon nichts mit. Wenn der PC Daten sendet, bleibt die RX Led "stumm".
:
Bearbeitet durch User
Gerhard O. schrieb: >> Ich hab den Effekt an zwei verschiedenen Rechnern gehabt, >> allerdings >> beide mit Win10. > > FT232R? Interessant. Danke. Nein! Arduino Uno, dort werkelt ein MEGA16U2 als USB-COM Adapter! >War das dieselben Symptome wie bei mir? Nein, der COM-Port war direkt beim EInschalten verfügbar und hat funktioniert.
Hallo Falk, hast du nach dem Einbau vom 1K die Resetspannung gemessen? Wie weit diese runterkommt beim flashen wenn mittels DTR resetet wird. Nicht das du womöglich nicht mehr flashen kannst, weil jetzt ein anderer Spannungsteiler drin ist. Der IO Pin vom U3 hat ja auch einen Widerstand. Nur mal laut gedacht.
Veit D. schrieb: > Hallo Falk, > > hast du nach dem Einbau vom 1K die Resetspannung gemessen? Nö. > Wie weit > diese runterkommt beim flashen wenn mittels DTR resetet wird. Weit genug, der Pull-up am Reset vom Arduino ist 10k. Intern sind es um die 50k. > Nicht das > du womöglich nicht mehr flashen kannst, weil jetzt ein anderer > Spannungsteiler drin ist. Geht schon. > Der IO Pin vom U3 hat ja auch einen > Widerstand. Aber PARALLEL! Das ist egal. Rn2D ist eigentlich überflüssig.
Hallo, okay alles klar. RN2D soll vermutlich beim einschalten o.ä. bis U3 "ready" ist für einen definierten Resetpegel sorgen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.