Hallo! Für ein Projekt, dessen Steuerung ein Windows Programm über die USB Schnittstelle (Microcontroller: AVR; USB -> TTL Converter CH340G) übernimmt und etwa 2-3 Ampere bei Vollast ziehen sollte suche ich eine Lösung, den Converter-Chip oder den USB Port nicht zu überlasten, falls nur ein USB-Stecker angeschlossen ist und nicht ein externes 5V-Netzteil. Aus Sicherheitsgründen - das wurde mir empfohlen auf EEStackexchange (das war mein erstes Problem: http://electronics.stackexchange.com/questions/185263/how-to-safely-connect-the-arduino-5v-pin-with-a-5v-wall-wart-and-usb-ttl-convert) , habe ich die 5V-Leitung des USB-Ports mit der ext. 5V eines Wall-Warts getrennt. Meine Beobachtung ist bisher, dass wenn die ext. Stromversorgung weg ist, der Converter-Chip (logischerweise) noch komplett eingeschaltet ist, aber da VCC nirgendwo mit anderen Komponenten verbunden ist, der Rest der Schaltung versucht, 5V aus den Datenleitungen des Converters zu "drainen", so dass die Datenpins total überlastet werden - das ist sicherlich sehr ungesund, möglicherweise auch tödlich für den Converter-Chip. Ich habe versucht, mit einem P-MOSFET die USB-Versorgungsspannung auszuschalten: Gate -> GND; Source USB-5V; Drain VCC des Converter-ICs. Funktioniert natürlich nicht, weil GND nicht getrennt wird. Invertiert N-Mosfet -> P-Mosfet funktioniert auch nicht. Es wird durchgeschaltet und der Converter bekommt seine 5V. Frage: Mit welchem Schaltung(sansatz) kann ich sicherstellen, dass der USB-Converter aus ist, wenn keine externe 5V anliegen? Oder könnt Ihr mir etwas anderes empfehlen, um die ICs auf der Platine, den Converter und den USB-Port des Rechners zu schützen - möglicherweise etwas komplett anderes? Ein Schaltplan zum Projekt ist irrelevant - kann ich aber gerne Anhängen, falls es doch etwas bringen sollte. Herzlichen Dank im Voraus für Antworten und Empfehlungen :)
:
Bearbeitet durch User
Mach einen 10k Widerstand in die Leitung uC-Tx zu CH340G-Rx. Dann sollte der Strom nicht mehr reichen den am Leben zu halten.
>Mach einen 10k Widerstand in die Leitung >uC-Tx zu CH340G-Rx. Upps, externe Spannung weg;) Also genau umgekehrt: Mach einen 10k Widerstand in die Leitung uC-Rx zu CH340G-Tx.
Die Datenpins kapazitiv einkoppeln? Soweit ich verstehe sind die 5V von USB eh schon außen vor (sprich nicht genutzt?).
holger schrieb: > Mach einen 10k Widerstand in die Leitung > uC-Tx zu CH340G-Rx. Dann sollte der Strom nicht mehr > reichen den am Leben zu halten. Danke Dir, Holger, für Deine Antwort! "Schutzwiderstände" habe ich bereits im µC-Tx und Rx: AVR Rx ----| 1K | ---- CH340G Tx AVR Tx ----| 1K | ---- CH340G Rx Ich stocke also einfach zusätzlich den CH340G TX -> AVR Rx Widerstand auf 10K? Ergibt AVR Rx ----| 10K | ---- CH340G Tx AVR Tx ----| 1K | ---- CH340G Rx Ich probiere das gleich mal aus!
:
Bearbeitet durch User
jemand schrieb: > Die Datenpins kapazitiv einkoppeln? Soweit ich verstehe sind die 5V von > USB eh schon außen vor (sprich nicht genutzt?). Ja, ich habe Befürchtungen, dass ein Kurzschluss entsteht wenn z.B. Ext. 5V = 5.1V und PC USB = 4.9V. Außerdem könnte die USB-Schnittstelle niemals die gesamte Platine mit ihrem 500 mA versorgen - also habe ich die Verbindung einfach ganz aufgegeben so dass nur der Converter die USB-5V bekommt.
2 Dioden, eine vom USB in Richtung Arduino über FTDI möglicherweise und eine Diode von externen 5V zum Arduino. so treffen sich die beiden 5V am Arduino und keine kann rückspeisen. z.B. bei meinen wordclock USB über FTDI oder direkt am Arduino kann den versorgen, dazu reicht es immer! aber zu den LEDs mit 4A Netzteil führt kein Weg die Diode sperrt. Der Arduino läuft auch ohne USB weil er vom 5V 4A Netzteil über eine Diode Strom bekommt, klassische Dioden ODER Schaltung. Wenn du vom USB die 5V trennst geht nix ohne externe Speisung.
:
Bearbeitet durch User
versorge den ch340g einfach auch über das netzteil...?!
Also ganz verstehe ich das nicht... Die +5V vom USB versorgen garnichts? Dann koppel die 2 Datenleitungen von USB kapazitiv ein und alles ist gut?
Joachim B. schrieb: > 2 Dioden, eine vom USB in Richtung Arduino über FTDI möglicherweise und > eine Diode von externen 5V zum Arduino. > > so treffen sich die beiden 5V am Arduino und keine kann rückspeisen. > > z.B. bei meinen wordclock > > USB über FTDI oder direkt am Arduino kann den versorgen, dazu reicht es > immer! aber zu den LEDs mit 4A Netzteil führt kein Weg die Diode sperrt. > > Der Arduino läuft auch ohne USB weil er vom 5V 4A Netzteil über eine > Diode Strom bekommt, klassische Dioden ODER Schaltung. > > Wenn du vom USB die 5V trennst geht nix ohne externe Speisung. @Joachim: Danke Dir für die Antwort bzw. für Deinen Vorschlag. Da ich nicht ganz kapiert habe wie ich genau jetzt die Diode anschließen soll, wäre es schön, wenn Du mir Deine Wordclock zeigst (Schaltung) - also wie Du das realisiert hast. Ich bin leider ziemlich unerfahren mit Dioden ;-D Ich habe ja in der Schaltung nicht nur nen Arduino IC sondern auch noch ne ganze Menge an ICs, die 5V benötigen vom ext. Netzteil. jemand schrieb: > Also ganz verstehe ich das nicht... Die +5V vom USB versorgen garnichts? > Dann koppel die 2 Datenleitungen von USB kapazitiv ein und alles ist > gut? Kapazitiv koppeln, das höre ich fast zum ersten Mal. Wie könnte das denn hier gehen?
Eine einfache Möglichkeit besteht darin, USB plus CH340 galvanisch vom Rest zu trennen. Keine Masseschleifen, kein unzulässiger Stromfluss, alles sicher. Ein ADuM1402 würde für TXD+RXD+RTS+CTS reichen, ein Si8652ED-B-IS könnte zusätzlich noch ein Signal übertragen, dass die USB-Schnittstelle Strom hat und enumeriert worden ist (sofern der CH340 so einen Pin hat). Bei entsprechendem Layout (Luft- und Kriechstrecken beachten!) hat der Si8652ED-B-IS eine Spannungsfestigkeit von 5kV. Sollte reichen. fchk
usb kapazitiv ist grober unfug. wenn der ch340 stromlos ist, fasst es die datenleitungen nicht an.
Kapazitiv einkoppeln: Einfach etwa 1µF (aus dem Bauch raus) Kerko (bspw.) in seriell in die Datenleitungen reinbauen. Vergleiche bspw. hier https://www.pericom.com/assets/App-Note-Files/AN310.pdf in figure 2, die coupling capacitors. Hat den Vorteil, das nix mehr mit DC über deine DAtenleitungen ist.
easylife schrieb: > usb kapazitiv ist grober unfug. wenn der ch340 stromlos ist, fasst > es > die datenleitungen nicht an. Man kennt sein konkretes Problem nicht, ich würde davon ausgehen, dass hier ein Fehlverständnis von ihm vorliegt, aber technisch gesehen ist das weit von grobem Unfug entfernt. Vllt macht sich der TO nochmal Gedanken wo die 2-3 A über die Datenleitungen herkommen sollen, klar ist mir das immer noch nicht. IdR sind Datenleitungen ja nur über Pull-Up/Down mit der Versorgung verbunden, die sollten alleine hochohmig genug sein zum strombegrenzen. Und 10k in der Datenleitung halte ich für eher gewagt,kommt abern atürlich auf Geschwindigkeit und Ströme an.
jemand schrieb: > Kapazitiv einkoppeln: Einfach etwa 1µF (aus dem Bauch raus) Kerko > (bspw.) in seriell in die Datenleitungen reinbauen. Vergleiche bspw. > hier > > https://www.pericom.com/assets/App-Note-Files/AN310.pdf > > in figure 2, die coupling capacitors. > > Hat den Vorteil, das nix mehr mit DC über deine DAtenleitungen ist. Das gilt nur für den USB3-Teil. USB2 ist nicht gleichspannungsfrei. Einfaches Beispiel: der 1.5k Widerstand an D+ oder D-, der ein Full/High-Speed oder ein Low-Speed Gerät signalisiert. Funktioniert mit kapazitiver Koppelung nicht. fchk
usb 3 != 2 != 1
Blöd nur, dass ne UART nich DC-frei is. Gibt lustige sporadische Fehler (oder quält wahlweise schön die parasitären Dioden in den Eingängen). Optischer Koppler oder reiner Widerstand sind sinnvolle Lösungen.
jemand schrieb: > easylife schrieb: >> usb kapazitiv ist grober unfug. wenn der ch340 stromlos ist, fasst >> es >> die datenleitungen nicht an. > > Man kennt sein konkretes Problem nicht, ich würde davon ausgehen, dass > hier ein Fehlverständnis von ihm vorliegt, aber technisch gesehen ist > das weit von grobem Unfug entfernt. > > Vllt macht sich der TO nochmal Gedanken wo die 2-3 A über die > Datenleitungen herkommen sollen, klar ist mir das immer noch nicht. IdR > sind Datenleitungen ja nur über Pull-Up/Down mit der Versorgung > verbunden, die sollten alleine hochohmig genug sein zum strombegrenzen. > Und 10k in der Datenleitung halte ich für eher gewagt,kommt abern > atürlich auf Geschwindigkeit und Ströme an. 2-3A über Datenleitungen? Gar nicht, die Stromversorgung sollte bis auf den CH340G ausschließlich über ein externes 5V-Netzteil erfolgen. 10K zwischen die Datenleitung zu hängen bringt nur, dass mein AVR nix mehr empfängt an Daten. Also wieder zurück zu 1K...
Frank K. schrieb: > jemand schrieb: >> Kapazitiv einkoppeln: Einfach etwa 1µF (aus dem Bauch raus) Kerko >> (bspw.) in seriell in die Datenleitungen reinbauen. Vergleiche bspw. >> hier >> >> https://www.pericom.com/assets/App-Note-Files/AN310.pdf >> >> in figure 2, die coupling capacitors. >> >> Hat den Vorteil, das nix mehr mit DC über deine DAtenleitungen ist. > > Das gilt nur für den USB3-Teil. USB2 ist nicht gleichspannungsfrei. > Einfaches Beispiel: der 1.5k Widerstand an D+ oder D-, der ein > Full/High-Speed oder ein Low-Speed Gerät signalisiert. Funktioniert mit > kapazitiver Koppelung nicht. > > fchk Sry, das ist korrekt, nicht bedacht... Vllt ist es zu spät für mich, ich sehe das Problem aktuell nicht?! Der CH340 läuft über USB Versorgung, ok soweit. Der Rest über externes NEtzteil, einzige Verbindung zwischen uC und CH340 sind RX/TX in denen aber schon 1k in Serie hängen? Da kommen ja eh maximal 5mA durch, wenn die Anschlüsse beim CH340 im deaktivierten Zustand hart auf 5V geschaltet wären. Warum denn den CH340 nicht auch auf die externe Versorung wie bereits vorgeschlagen?
Die heutigen Fets sind so gut, dass Du mit reinem Gewissen einen in die Versorgungsleitung der USB-Schnittstelle einschleifen kannst. Vor den Fet stellst Du Deinen Entscheider für was anliegt.
Frank K. schrieb: > Eine einfache Möglichkeit besteht darin, USB plus CH340 galvanisch vom > Rest zu trennen. Keine Masseschleifen, kein unzulässiger Stromfluss, > alles sicher. Ein ADuM1402 würde für TXD+RXD+RTS+CTS reichen, ein > Si8652ED-B-IS könnte zusätzlich noch ein Signal übertragen, dass die > USB-Schnittstelle Strom hat und enumeriert worden ist (sofern der CH340 > so einen Pin hat). > > Bei entsprechendem Layout (Luft- und Kriechstrecken beachten!) hat der > Si8652ED-B-IS eine Spannungsfestigkeit von 5kV. Sollte reichen. > > fchk Hi Frank, die Idee mit einem galvanisch getrennten ADuM1402 ist ausgezeichnet und genau das, was ich suche. Ich schaue mal wie ich das bei mir implementieren könnte. Ich bräuchte nur TXD, RXD und DTS (Reset über 100 nF). Bisher sieht die Schaltung wie angehängt aus. Jetzt hänge ich (einfach) nen ADuM1402 zwischen CH340G und Arduino AVR (wie Beitrag "Frage zu Schaltplan für FT232R + ADuM1402")
Frank Z. schrieb: > Jetzt hänge ich (einfach) nen ADuM1402 zwischen CH340G und Arduino AVR > (wie Beitrag "Frage zu Schaltplan für FT232R + ADuM1402") Genau. Den CH340 und die eine Seite des ADuM versorgst Du über VBUS vom USB, den Rest der Schaltung und die andere Seite des ADuM übers Netzteil. Beachte auch, dass Du zwei getrennte GND's hast, die auf keinen Fall verbunden werden dürfen. Zwischen beiden Schaltungsteilen solltest Du 5 bis 7mm Kriechstrecke vorsehen, d.h. ein 7mm breiter Streifen auf der Leiterplatte, der auf allen Lagen komplett frei von Kupfer und Bauteilen ist - einzige Ausnahme ist der ADuM, der als einziges Bauteil beide Bereiche miteinander verbindet. Das Layout aus dem von Dir verlinkten Beitrag ist zum Ko.... und eher als mahnendes Beispiel zu sehen, wie man es NICHT macht. fchk
Frank Z. schrieb: > @Joachim: Danke Dir für die Antwort bzw. für Deinen Vorschlag. Da ich > nicht ganz kapiert habe wie ich genau jetzt die Diode anschließen soll, 2 dioden ein Bild http://hyperphysics.phy-astr.gsu.edu/hbase/electronic/ietron/dior.gif eine Diode liegt in der +Leitung vom USB (A) zum Arduino eine Diode liegt in der +Leitung vom 5V (B) Netzteil zum Arduino out an Arduino R kann entfallen. Ich habe die Diode (A) einfach zwischen USB FTDI zu seriell nach Arduino gelegt, Diode (B) von den externen +5V zum Arduino.
1000uF an vbus, autsch. nochmal: trenne doch vbus von vcc. das gerät funktioniert doch eh nur mit ext. spannung. 1uf an vbus sollte man aus kompatibilitätsgründen noch an die buchse hängen.
easylife schrieb: > 1000uF an vbus, autsch. nochmal: trenne doch vbus von vcc. das gerät > funktioniert doch eh nur mit ext. spannung. 1uf an vbus sollte man aus > kompatibilitätsgründen noch an die buchse hängen. Upps, das war die falsche Version vom Schaltplan. Im jetzigen hängt die 1000µF am 5V DC Jack und Vbus, VCC sind getrennt
Frank K. schrieb: > Frank Z. schrieb: > >> Jetzt hänge ich (einfach) nen ADuM1402 zwischen CH340G und Arduino AVR >> (wie Beitrag "Frage zu Schaltplan für FT232R + ADuM1402") > > Genau. Den CH340 und die eine Seite des ADuM versorgst Du über VBUS vom > USB, den Rest der Schaltung und die andere Seite des ADuM übers > Netzteil. > Beachte auch, dass Du zwei getrennte GND's hast, die auf keinen Fall > verbunden werden dürfen. Zwischen beiden Schaltungsteilen solltest Du 5 > bis 7mm Kriechstrecke vorsehen, d.h. ein 7mm breiter Streifen auf der > Leiterplatte, der auf allen Lagen komplett frei von Kupfer und Bauteilen > ist - einzige Ausnahme ist der ADuM, der als einziges Bauteil beide > Bereiche miteinander verbindet. Das Layout aus dem von Dir verlinkten > Beitrag ist zum Ko.... und eher als mahnendes Beispiel zu sehen, wie man > es NICHT macht. > > fchk Danke! Na klar, beide VCCs und GNDs trennen - wozu sonst so ein Isolator :-D Jetzt ist aber nach dem Anschließen trotzdem der CH340G eingeschaltet. Wenn ich jetzt Daten sende vom Programm, die angeblich dem Controller mitteilen was es zu tun hat und Änderungen dadurch vornehme, sendet es bei nicht angeschossenem Ext. NT Daten einfach ins Nichts? Wäre es z.B. eine Lösung, externe 5V VCC an einen Kanal anzulegen und am anderen Ende nen NFet -> PFet dran zu hängen, die den CH340G bei extern angeschlossen einschaltet?
Und noch ein letztes mal: hänge einfach auch den CH340 an VCC, und VBUS "versorgt" nur einen 1uF. Solange das Gerät keinen externen Strom hat, meldet es sich nicht am Bus an. Wozu dieses ganze galvanische Trennungsgedöhns? Aus D+/D- wird kein Strom gezogen, auch wenn das Gerät aus ist. Und GND kann man ruhig immer zusammen lassen. C10 ist übrigens auch nicht gut.
:
Bearbeitet durch User
Joe F. schrieb: > Und noch ein letztes mal: hänge einfach auch den CH340 an VCC, und VBUS > "versorgt" nur einen 1uF. > Solange das Gerät keinen externen Strom hat, meldet es sich nicht am Bus > an. > Wozu dieses ganze galvanische Trennungsgedöhns? > > Aus D+/D- wird kein Strom gezogen, auch wenn das Gerät aus ist. > Und GND kann man ruhig immer zusammen lassen. > > C10 ist übrigens auch nicht gut. Danke, diesen Vorschlag habe ich anscheinend überlesen. Ich werde das schell mal auf den Breadboards ausprobieren.
:
Bearbeitet durch User
Frank Z. schrieb: > Ich werde das > schell mal auf den Breadboards ausprobieren. USB? Breadboard? Hm... Also zur Sicherheit anbei nochmal, wie ich es meine.
Joe F. schrieb: > Frank Z. schrieb: >> Ich werde das >> schell mal auf den Breadboards ausprobieren. > > USB? Breadboard? Hm... > > Also zur Sicherheit anbei nochmal, wie ich es meine. Prototyping. Eine richtige Platine wird noch konstruiert - hier wird ja gerade geholfen :-) Genau, das habe ich so umgesetzt und es funktioniert wunderbar und genau so wie es sein sollte.
Du könntest noch 10K von VBUS zu GND legen, um den 1uF Kondensator zu entladen, wenn das Gerät abgesteckt wird. Der Kondensator dient lediglich der Geräteerkennung (steht irgendwo in der USB Spec., bin zu faul die genaue Stelle rauszusuchen) - hat was mit suspend/resume/power-modes/powered-hub-shit zu tun.
:
Bearbeitet durch User
Frank Z. schrieb: > Frank K. schrieb: >> Frank Z. schrieb: >> >>> Jetzt hänge ich (einfach) nen ADuM1402 zwischen CH340G und Arduino AVR >>> (wie Beitrag "Frage zu Schaltplan für FT232R + ADuM1402") >> >> Genau. Den CH340 und die eine Seite des ADuM versorgst Du über VBUS vom >> USB, den Rest der Schaltung und die andere Seite des ADuM übers >> Netzteil. >> Beachte auch, dass Du zwei getrennte GND's hast, die auf keinen Fall >> verbunden werden dürfen. Zwischen beiden Schaltungsteilen solltest Du 5 >> bis 7mm Kriechstrecke vorsehen, d.h. ein 7mm breiter Streifen auf der >> Leiterplatte, der auf allen Lagen komplett frei von Kupfer und Bauteilen >> ist - einzige Ausnahme ist der ADuM, der als einziges Bauteil beide >> Bereiche miteinander verbindet. Das Layout aus dem von Dir verlinkten >> Beitrag ist zum Ko.... und eher als mahnendes Beispiel zu sehen, wie man >> es NICHT macht. >> >> fchk > > Danke! Na klar, beide VCCs und GNDs trennen - wozu sonst so ein Isolator > :-D > > Jetzt ist aber nach dem Anschließen trotzdem der CH340G eingeschaltet. > Wenn ich jetzt Daten sende vom Programm, die angeblich dem Controller > mitteilen was es zu tun hat und Änderungen dadurch vornehme, sendet es > bei nicht angeschossenem Ext. NT Daten einfach ins Nichts? Klar, ohne Handshakeleitungen. Lösung: Aus uralten Modemzeiten gibt es an seriellen Schnittstellen zB die DCD Leitung, die dem PC signalisiert, dass die Modemverbindung steht. Dein CH340G hat diesen Pin aus, und den kannst Du nutzen, indem Du ihn über einen Pin des ADuM führst und dort entweder an VCC_ext oder an den Controller anschließt. > Wäre es z.B. eine Lösung, externe 5V VCC an einen Kanal anzulegen und am > anderen Ende nen NFet -> PFet dran zu hängen, die den CH340G bei extern > angeschlossen einschaltet? eher nicht. fchk
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.