Hi, hast du auf der AVR Seite Tx und Rx vertauscht ? Normal müsste ja Tx
vom MCP auf Rx vom Atmega gehen. Ein Pullup am Rx auf der AVR Seite
währe nicht schlecht. Damit wenn der MCP nicht eingesteckt ist der low
Pegel nicht als Startbit erkannt wird.
Gruß JackFrost
Den Shield vom USB würde ich über eine Induktivität oder einen
Widerstand von 100k oder so anbinden. Über die Schirmung soll ja
eigentlich kein Strom fließen, und schon keine HF.
fchk
Bastian W. schrieb:> Hi, hast du auf der AVR Seite Tx und Rx vertauscht ? Normal müsste ja Tx> vom MCP auf Rx vom Atmega gehen. Ein Pullup am Rx auf der AVR Seite> währe nicht schlecht
Jop, danke. Habe einen Pullup mit 10k reingemacht.
Frank K. schrieb:> Den Shield vom USB würde ich über eine Induktivität oder einen> Widerstand von 100k oder so anbinden.
Vielen Dank für die Tipps, die vorgeschlagenen Änderungen sind in der
Schaltung angepasst.
Gruss Chrys
Der MCP2200 hat zwei Ausgänge RXLED und TXLED - an die sollte man LEDs
anschließen, das ist bei der Fehlersuche (Sendet mein PC-Programm?
Sendet mein AVR?) sehr hilfreich.
Wie sieht denn das mit den Treibern PC-seitig für den MCP aus?
Kannte das Teil noch gar nicht.
Könnte ne Alternative für den überteuerten FT232 sein...
H.Joachim S. schrieb:> Wie sieht denn das mit den Treibern PC-seitig für den MCP aus?
Gibt es, aber nicht aktuell gepflegt - Datum von 2104.
> Könnte ne Alternative für den überteuerten FT232 sein...
FTDI will ich hier nicht mehr sehen, denen geht das zu gut.
Der MCP2200 ist als einfacher Ersatz vermutlich nicht brauchbar, aber
interessant, weil er andere Dinge kann. Für einen simplen seriell-to-Usb
würde ich eher nach bewährten ICs wie SiliconLabs schauen, aber auch den
Chinesen CH340 nicht außer acht lassen.
Der MCP2200 ist ein Programmierter 18Fxxx als Low Pin Count Demo Board
gibt es Hardware und das Programm ist ein bisschen Flexibler und der
mitgelieferte Treiber läuft Problemlos unter Windows 10.
mfg
Michael
Manfred schrieb:> aber auch den Chinesen CH340 nicht außer acht lassen.
Gibt es abgesehen von dem Kram, den Prolific verbricht, eigentlich
irgendwelche USB-Seriell-Bausteine, die noch schlechter dokumentiert
sind?
Für mich privat wäre das völlig egal, da kann man auch schon mal
bisschen basteln und probieren, um den Treiber wieder ans Laufen zu
bringen (Prolific).
Bei Kundensachen geht sowas nicht, das muss funktionieren. Auch nach
einem Betriebssystem-update.
Und da muss ich sagen, dass ich mit FTDI noch nie Probleme hatte, die
funktionieren einfach immer.
Rufus Τ. F. schrieb:>> aber auch den Chinesen CH340>> Gibt es abgesehen von dem Kram, den Prolific verbricht, eigentlich> irgendwelche USB-Seriell-Bausteine, die noch schlechter dokumentiert> sind?
Nein!
Manfred schrieb:> H.Joachim S. schrieb:>> Wie sieht denn das mit den Treibern PC-seitig für den MCP aus?> Gibt es, aber nicht aktuell gepflegt - Datum von 2104.
Das ist falsch. Dieser Chip nutzt den CDC-ACM-Treiber und den
HID-Treiber des jeweiligen Betriebssystems. Er braucht daher gar keine
speziellen Treiber. Bis Windows 8.1 brauchst Du nur ein .inf, das
Windows sagt, das es seinen eigenen Treiber benutzen soll. Bei Windows
10 und MacOS und Linux/BSD brauchst Du nicht einmal das.
Das ist ja der Vorteil bei dem Chip.
fchk
Ray M. schrieb:> ich würde die gern ineins meiner projekt übernehmen wenn> du nix dagegen hast ?
Mach damit was du willst :) Habs noch nicht getestet, Reichelt ist nicht
so schnell...
Guten Morgen Zusammen
Ich habe die Schaltung ins Kupfer gebracht. Jetzt habe ich auf der AVR
Seite des ADuM's nichts angestöpselt um erstmal zu testen ob der MCP2200
vom PC erkannt wird. Mit Windoof passiert gar nichts und auf Ubuntu
kriege ich mit dmesg die Meldung:
usb usb1-port4: connect-debounce failed
Weis irgend jemand was hier das Problem ist?
Danke schon im Voraus
Chrys
Hat sich erledigt, wenn man um die Uhrzeit noch richtig löten könnte...
Für die dies interessiert, jetzt siehts so aus:
[29485.008028] usb 3-1: new full-speed USB device number 8 using
uhci_hcd
[29485.216058] usb 3-1: New USB device found, idVendor=04d8,
idProduct=00df
[29485.216065] usb 3-1: New USB device strings: Mfr=1, Product=2,
SerialNumber=3
[29485.216069] usb 3-1: Product: MCP2200 USB Serial Port Emulator
[29485.216073] usb 3-1: Manufacturer: Microchip Technology Inc.
[29485.216076] usb 3-1: SerialNumber: 0001414376
[29485.225212] hid-generic 0003:04D8:00DF.0004: hiddev0,hidraw3: USB HID
v1.11 Device [Microchip Technology Inc. MCP2200 USB Serial Port
Emulator] on usb-0000:00:1a.0-1/input2
[29485.341627] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
[29485.343216] usbcore: registered new interface driver cdc_acm
[29485.343219] cdc_acm: USB Abstract Control Model driver for USB modems
and ISDN adapters
Gruss Chrys
Hallo Zusammen
Das ganze funktioniert wie gesagt schon ziemlich gut :)
Jetzt habe ich noch ein Problem:
Wenn der MCP mittels USB Kabel am PC angeschlossen ist und ich mit dem
Atmega ein Power On oder Off mache, kommt beim PC irgendwas an und es
gibt Fehler im GUI...
Eigentlich sollte der Ausgang des Adum's (herkommend vom TX des Atmega)
auf der MCP Seite high sein, wenn die Atmega Seite nicht mit Strom
versorgt wird. Meine Vermutung: Wenn der Atmega ein/aus-schaltet wird
das TX kurzzeitig low und der MCP meint etwas erkannt zu haben.
Wie kriege ich das weg? Muss ich den Adum auf der Atmega Seite verzögert
einschalten und früher als den Atmega ausschalten? Oder gibts noch
andere Lösungen?
Gruss Chrys
Hallo Zusammen
Das Problem ist immer noch da:
Chrys schrieb:> Wenn der MCP mittels USB Kabel am PC angeschlossen ist und ich mit dem> Atmega ein Power On oder Off mache...
Dann schmiert die Verbindung mit dem PC ab und kurze Zeit später ist sie
wieder da...
Es ist egal ob RX/TX vom AVR mit dem Adum verbunden sind oder nicht. Ein
reines An- oder Ausschalten des Adums (auf der Atmega Seite) verwirrt
den MCP offenbar. Die MCP Seite des Adums ist ja die ganze Zeit mit
Strom versorgt, solange das USB Kabel eingesteckt ist.
Dmesg spuckt das hier raus:
...
[19769.685244] hid-generic 0003:04D8:00DF.000B: hiddev0,hidraw3: USB HID
v1.11 Device [MCP2200 USB Serial Port Emulator] on
usb-0000:00:1a.1-2/input2
---> bis hier ist alles gut :)
---> hier wird der Adum (auf der Atmega Seite mit Strom versorgt)
[19800.220260] usb 4-2: USB disconnect, device number 8
[19800.222238] cdc_acm 4-2:1.0: failed to set dtr/rts
---> kurze Zeit später ist wieder alles OK
[19800.492027] usb 4-2: new full-speed USB device number 9 using
uhci_hcd
[19800.697222] usb 4-2: New USB device found, idVendor=04d8,
idProduct=00df
[19800.697229] usb 4-2: New USB device strings: Mfr=1, Product=2,
SerialNumber=3
[19800.697233] usb 4-2: Product:MCP2200 USB Serial Port Emulator
[19800.697236] usb 4-2: Manufacturer: Microchip
[19800.697239] usb 4-2: SerialNumber: 0001414376
[19800.700366] cdc_acm 4-2:1.0: ttyACM0: USB ACM device
[19800.707387] hid-generic 0003:04D8:00DF.000C: hiddev0,hidraw3: USB HID
v1.11 Device [MCP2200 USB Serial Port Emulator] on
usb-0000:00:1a.1-2/input2
Kann mir jemand einen Tipp geben, wie ich dies wegkriege? Ich möchte die
Atmega Seite so oft an- und ausschalten wie es mir passt, ohne das die
Verbindung zum PC beeinträchtigt wird :)
Gruss Chrys
Frank K. schrieb:> Hast Du Dich an die Layoutempfehlungen im Datenblatt des ADuM gehalten?
So viel ich weis, ja. Das Layout ist weiter oben gepostet...
Sollte soweit alles passen...
PCB LAYOUT
The ADuM120x digital isolators require no external interface
circuitry for the logic interfaces. Power supply bypassing is
strongly recommended at the input and output supply pins.
The capacitor value should be between 0.01 μF and 0.1 μF.
The total lead length between both ends of the capacitor and
the input power supply pin should not exceed 20 mm.
Du hast ja das ganze Board mit GND geflutet. Das kann nicht gut gehen.
Die ADuMs sind dafür gedacht, dass Du links eine Region auf Potential A
hast, die an den Pads der linken Reihe des ADum endet. Dann kommt eine
Region ohne Kupfer, nur gebrückt durch den ADuM, und dann kommt Region
B.
Der Pinabstand zwischen beiden Reihen ist je nach Gehäuse 5-7.5mm, und
das ist auch der Abstand beider Regionen an JEDER Stelle auf BEIDEN
Seiten zu ALLEN Seiten, damit es nicht zu kapazitiver Koppelung kommt.
Und wenn Du schon SMD machst, dann richtig. Heißt: auch Kondensatoren
und Widerstände in SMD. Damit bekommst Du ein deutlich kompakteres
Layout hin, und damit auch ein besseres. Die Drähte an den Bauteilen
wirken nämlich wie Induktivitäten.
fchk
Du hast zwar die 100nF Bypass-Caps für die 5V-Versorgung von dem MCP2200
und dem ADUM gesetzt. Aber bei Lastschwankungen, z.B. wenn der ADUM
während des Ein/Ausschaltens viele "Müll"-Bits überträgt, könnte die
Versorungsspannung knapp werden.
Pack mal zusätzlich noch 10µF auf diese 5V-Schiene, das könnte dagegen
helfen.
Wenn Du Dir die AN-1109 von Analog anschaust, dann machen die das dort
auch so.
Erstmal vielen Dank für die Hinweise!!
Sven K. schrieb:> C4 sollte laut Datenblatt mindestens bei Vusb > 0.22 besser 0.47 sein.> Das würde ich als erstes mal korrigieren.Gerd E. schrieb:> Pack mal zusätzlich noch 10µF auf diese 5V-Schiene, das könnte dagegen> helfen.
Hat leider beides nichts gebracht, immer noch das Selbe verhalten.
Frank K. schrieb:> Der Pinabstand zwischen beiden Reihen ist je nach Gehäuse 5-7.5mm, und> das ist auch der Abstand beider Regionen an JEDER Stelle auf BEIDEN> Seiten zu ALLEN Seiten, damit es nicht zu kapazitiver Koppelung kommt.
Werde es mir beim nächsten Versuch beherzigen, aber dies sollte ja jetzt
nicht der Grund sein wieso der MCP abschmiert...
Bin froh für alles, was helfen könnte...
Gruss Chrys
Gerd E. schrieb:> könnte die> Versorungsspannung knapp werden.
Hab diese eben mal mit dem Oszi nachgemessen, ist stabil wie ein
Betonfundament...
Wo könnte ich noch was messen?
Gruss
Wie schaltest du den Atmega ab ? Ziehst du den Stecker , oder schaltest
du das Netzteil aus ? Ich hab hier ein altes NEtzteil mit nem einfachen
Trafo und wenn ich das ausschalte reconnected mein Board mit dem FT232RL
auch fast immer. Wenn das JTAGICE MK3 angeschlossen ist dann passiert
nichts. Das selbe passiert wenn im Stall die Motoren für die Fütterung
schalten.
Was ich mit dem Oszi messen konnte, war das zischen GND und Schirm die
Spannung schwankt wenn ich das Netzteil ausschalte. D+ und D- hab ich
nicht gemessen ob da ggf. die Kommunikation ein Problem hat.
Das du das mal gemessen wie D+ und D- aussehen wenn du den Atmega
ausschaltest ?
Bei dem aktuellen Layout mit einem xMegaA3U hab ich TVS Dioden auf den
Datenleitungen für USB, ich hab aber noch nicht getestet ob das Netzteil
hier auch stört.
Gruß JackFrost
Vielleicht ein EMV-Problem?
Mit was für einem Netzteil speist Du denn die AVR-Seite Deines Adums?
Wie trennst/verbindest Du diese Versorgung wenn es zu dem Problem kommt?
Abschalten des gesamten Netzteils oder stecken/ziehen eines Kabels?
Ändert sich etwas wenn Du dort ein anderes Netzteil nimmst?
Ansonsten schau Dir mal die Leitung zum RX-Pin des MCP während des
Einschaltens/Ausschaltens auf dem Oszi an, Single Trigger. Was passiert
da?
Bastian W. schrieb:> Wie schaltest du den Atmega ab ? Ziehst du den Stecker , oder schaltest> du das Netzteil aus ?Gerd E. schrieb:> Mit was für einem Netzteil speist Du denn die AVR-Seite Deines Adums?>> Wie trennst/verbindest Du diese Versorgung wenn es zu dem Problem kommt?> Abschalten des gesamten Netzteils oder stecken/ziehen eines Kabels?
Ein Labornetzgerät, bei welchem ich den ON/OFF Knopf bediene.
Wenn ich nur den Stecker ziehe passiert es nicht...
uncool, wollte mich gerade mit einem Schalter in der + Leitung abfinden
aber ich muss auch GND abhängen, damit ich dann das Netzteil schalten
kann...
Auf jedenfall vielen Dank für die Hilfe bis hierhin, manchmal denke ich
schon nicht über die Nasenspitze hinaus...!!
Die Spannungsversorgung für den Atmega ist ein TS7805 mit je einem 100uF
elko und je einem 100nF keramik kondensator auf der Ein- und
Ausgangsseite. Was könnte ich da noch ändern, um es immuner zu machen?
Gruss Chrys