Hallo zusammen, mit meinem ersten Beitrag hier muss ich mit einem kuriosen Problem eure Hilfe ersuchen. Zur Vorgeschichte: Die letzten zwei Jahre habe ich mich, nach langer Mikrocontroller-Abstinenz mal an das Thema Arduino herangetastet und für mich als Retro-Computer-Freak versucht, den Traum eines Input-Adapters zum Betrieb von USB-Eingabegeräten an alten Computern zu verwirklichen. Bis auf ein paar Kleinigkeiten bei der Implementierung ist auch alles fertig und ich wollte zeitnah den Buggy-Prototype-Launch mit einem Open Source Release auf Github (bereits passiert), einem Youtube-Video (kommt bald) und Versendung von zwei Exemplaren an reichweitenstarke Retro-Youtuber (Ein Teil der Idee und des Codes stammt von Adrian Black, er sollte auch eines bekommen) feiern. Hier könnt ihr euch das Projekt mal angucken: https://github.com/RetroFuturisticEngineer/RetroARDUInput Nun habe ich zwei weitere Exemplare nachgebaut und diese funktionieren nicht so, wie meine Ursprungsversion. Die Ur-Version basiert auf einem Elegoo Klon des Mega2560 R3, der aber, so wie ich sehe, dem 1:1 das Layout des offiziellen Arduino hat. Einige andere Modelle haben ja leicht andere Gehäuse. Dazu ein USB Host Shield und eine ziemlich große Platine für das Retro-Computer-IO. Um Probleme zu vermeiden (manche Mega-Klone sind mechanisch etwas anders, der USB Port und der Barrel Jack sind minimal versetzt), bin ich wieder auf die Elegoo-Plattform gegangen, mein altes USB Host Shield war aber nicht mehr lieferbar. Die zwei nun verwendeten Exemplare haben eines von Roboterbausatz verbaut. Zudem ist mir ja die Eigenheit der USB Host Shields bekannt, die Lötbrücken entsprechend schließen zu müssen (im Roboterbausatz Shop sieht man ja auch, wo, aber bei den gelieferten Shields sind sie, wir bei meinem damaligen von Amazon) offen und müssen selbst gebrückt werden - erledigt. So und jetzt wird es wild: - Neues Gerät am Laptop-USB: Läuft! - Neues Gerät mit externem Netzteil, mit dem mein Ur-Gerät funktioniert: Läuft nicht (beim Ur-Gerät geht es) - Neues Gerät mit USB-Charger am Typ-B Stecker des Arduinos: Läuft auch nicht - Neues Gerät am Laptop-USB: Läuft so lange, bis ich zusätzlich am Barrel Jack das externe Netzteil anschließe, das Ur-Gerät läuft unbeeindruckt weiter. Das externe Netzteil ist auf 7,5V Positive Center, Negative Sleeve eingestellt, da ich mir habe sagen lassen, dass die Erkennungsschwelle für den Komparator, der zwischen Barrel Jack und nachgeschaltetem Schaltregler und Arduino-Spannungsversorgung umschaltet, eine Erkennungsschwelle bei 7V hat, bis 12 möglich wäre, aber den Schaltregler stark belasten würde. Und da ich komischerweise (ich habe null Erfahrung mit Platinendesign, aber meine elektrotechnischen Kenntnisse sagen mir, von der Verschaltung her dürfte das nicht passieren) über den Joystick- und Tastatur-Port parasitäre 5V bekomme, die den Arduino ohne USB oder Barrel Jack Power in einen nicht funktionierenden Halbschlaf versetzen, muss ich das Ding auf USB oder Netzteil zwingen können. Weiteres Debugging: - Das Retro-I/O-Shield, von mir auch liebevoll "Three-Headed Monkey" genannt, abgezogen und nur mit USB Host Shield probiert - das Gleiche - Also mal ganz "back to the roots", USB Host Shield abgezogen, Hello World Schleife laufen lassen - läuft, ob mit oder ohne Netzteil - USB Host Shield wieder drauf, Hello World Schleife läuft immer noch mit und ohne Netzteil - Jetzt mal nach besonderem Verhalten gesucht, da "läuft nicht" auf einem Gerät, das primär von Eingaben des USB Host Shields lebt, doch ziemlich diffus ist, und siehe da: Der Handshake für die AT-Tastatur und die serielle Maus funktionieren (Arduino gibt korrekte Antworten und das PC-BIOS und der Maustreiber sind glücklich), es kommen nur keine Eingaben über USB rein, wenn der Arduino per externem Netzteil betrieben wird - interessanterweise halt sowohl Barrel Jack wie auch USB, während die USB-Versorgung vom PC dankend angenommen wird. Mit andern Worten, während in meinem Ur-Gerät bzw. konkret das Ur-USB Host Shield problemlos läuft (egal mit welcher Spannungsquelle), zeigen beide neuen Geräte das gleiche diffuse Problem, dass die USB-Eingabegeräte bei eingestecktem Netzteil nicht laufen, und zwar unabhängig ob im Gesamtkunstwerk inkl. meiner selbstgebauten Platine oder Standalone, nur Arduino mit Host Shield. Das Host Shield ist wie gesagt korrekt gesetzt, was die 3.3V und 5V Lötbrücken angeht, so wie auf meinem funktionierenden Ur-Gerät gemäß Anleitung, die ich damals gefunden habe, und so auch auf den Bildern auf Roboterbausatz zu sehen https://www.roboter-bausatz.de/p/usb-host-shield-fuer-arduino (3.3V offen, 5V gesetzt am USB-Port und 3.3V und 5V beide gesetzt an der Pfostenleiste unten links). Kennt irgendwer von euch dieses oder ein ähnlich gelagertes Problem und idealerweise auch gleich die Lösung? Danke und viele Grüße Volker
Schaltpläne, Layouts, Bilder und dafür weniger blabla Weniger Denglisch hilft auch...
Vielleicht leide ich heute unter mangelhafter Aufmerksamkeitsspanne. Aber ich habe mir den Eröffnungsbeitrag mit 4 Stunden Abstand nun zum zweiten mal durchgelesen und trotzdem nicht verstanden, was denn jetzt nicht "läuft". Ich denke, das wichtigste ist hier, das Problem zu beschreiben. Was sollte passieren, was passiert stattdessen. Zeige die relevanten Baupläne, gerne auch Fotos vom Aufbau sowie Messprotokolle. Zeichne in deinen Plan ein, wo du was gemessen hast. Ich denke, dann schaffe ich es, dir zu folgen und kann das vermutlich auch helfen. Also insgesamt mehr Bilder, weniger Text. Ich würde gerne mal ein Oszilloskop-Bild von deinen 7,5 Volt sehen. Ist das Netzteil geerdet? Und mich würde sehr interessieren, ob das alles mit Akku statt Netzteil funktioniert. Volker schrieb: > bis 12 möglich wäre, aber den Schaltregler stark belasten würde Seltsam. Da würde mich mal die Begründung interessieren. Aber lass uns erst das eigentliche Problem klären.
Liegt alles unter seinem Github Link zum lesen bereit.
Stefan ⛄ F. schrieb: > Volker schrieb: > >> bis 12 möglich wäre, aber den Schaltregler stark belasten würde > > Seltsam. Da würde mich mal die Begründung interessieren. ? Weil der Miniregler sonst am Wärmetot sterben könnte. W = 7V * I
Info schrieb: >>> bis 12 möglich wäre, aber den Schaltregler stark belasten würde >> Seltsam. Da würde mich mal die Begründung interessieren. > Weil der Miniregler sonst am Wärmetot sterben könnte. W = 7V * I Wohl kaum. Diese Schaltregler haben einen Wirkungsgrad von 80 - 90%.
Volker schrieb: > So und jetzt wird es wild: > > - Neues Gerät am Laptop-USB: Läuft! > - Neues Gerät mit externem Netzteil, mit dem mein Ur-Gerät funktioniert: > Läuft nicht (beim Ur-Gerät geht es) > - Neues Gerät mit USB-Charger am Typ-B Stecker des Arduinos: Läuft auch > nicht > - Neues Gerät am Laptop-USB: Läuft so lange, bis ich zusätzlich am > Barrel Jack das externe Netzteil anschließe, das Ur-Gerät läuft > unbeeindruckt weiter. > Der Text ist fast nicht zu verstehen, die Sprache bei elektronischen Problemen ist der Schaltplan (neues Geraet vs. Ur-Geraet). Ich weiss nicht, was der "Typ-B Stecker des Arduinos" oder was der Barrel Jack (ist das eine Barrel roll?) ist. Ich wuerde auf Verdacht die Spannungsversorgung bei den Arduino-Boards analysieren. Gruesse Th. P.S.: Du hast das Problem ja nicht verstanden (deswegen fragst Du ja). Aber (wir Deine Leser) haben Deinen Aufbau nicht vor Augen, wir wissen nicht, was Du ausprobiert hast. Wenn ich ein nicht triviales Problem beschreiben soll/muss, versuche ich immer es meinem Plueschpinguin zu erklaeren. Denn dann bin ich gezwungen, alles noch einmal mit einfachen Worten zu beschreiben.
Volker schrieb: > Hier könnt ihr euch das Projekt mal angucken: > https://github.com/RetroFuturisticEngineer/RetroARDUInput Bei IC2 und IC3 fehlen die Abblock-Kondensatoren. Die Leitungen der Stromversorgung sind viel zu dünn. Außerdem wechseln sie mehrfach die Platinenseite. Ich glaube das ist keine gute Idee, wegen der Belastbarkeit der Vias fragwürdig. Eine Leiterbahn endet im Nirvana! Ich habe die Stelle grün eingekreist. Die LEDs gehören nicht parallel geschaltet, weil http://stefanfrings.de/LED/index.html
Hat das externe Netzteil deines Laptop einen Stecker mit Kontakt zu Schutzerde? LG, Sebastian
Stefan ⛄ F. schrieb: > Volker schrieb: >> Hier könnt ihr euch das Projekt mal angucken: >> https://github.com/RetroFuturisticEngineer/RetroARDUInput > > Bei IC2 und IC3 fehlen die Abblock-Kondensatoren. > > Die Leitungen der Stromversorgung sind viel zu dünn. Außerdem wechseln > sie mehrfach die Platinenseite. Ich glaube das ist keine gute Idee, > wegen der Belastbarkeit der Vias fragwürdig. > > Eine Leiterbahn endet im Nirvana! Ich habe die Stelle grün eingekreist. > > Die LEDs gehören nicht parallel geschaltet, weil > http://stefanfrings.de/LED/index.html Ist ja unglaublich wieviel Muehe Du Dir gemacht hast. Gruesse Th.
Die GND Leitungen machen Rundreisen von Pontius nach Pilatus. Ich will jetzt hier keinen Vortrag zum Thema Leitungsführung halten, aber mit diesem Thema solltest du dich sehr bald intensiv auseinander setzen. Fange mal mit diesen beiden Artikeln von Lothar an: http://www.lothar-miller.de/s9y/categories/14-Entkopplung http://www.lothar-miller.de/s9y/categories/40-Layout-Schaltregler Was er da geschrieben hat betrifft nicht nur Schaltregler sondern prinzipiell jede elektrisch Schaltung.
Also ich probiere es noch mal, es ist nur schwierig, ein Problem, das man nicht versteht, zu beschreiben. Im Grunde habe ich einen funktionierenden Arduino, was ja nicht das Problem ist. Nur zwei meiner drei USB Host Shields spielen nicht mit. Das ist auch völlig unabhängig davon, ob das USB Host Shield oder die selbst entworfene Platine draufstecken. Die selbst entworfene Platine habe ich mal abgezogen, damit hat sich nichts verändert, also ist sie nicht das Problem, wer sich dennoch für die Schaltpläne interessiert, das komplette KiCAD Projekt, der Arduino Sketch und das 3D-Druck-Gehäuse liegen in Github. Denn außer einem Arduino Mega 2560 Klon von Elegoo und einem USB Host Shield zwei verschiedener Hersteller ist hier nichts involviert. Jetzt habe ich "Patient 0" - der läuft einwandfrei und besteht aus einem Elegoo Mega2560 und einem USB-Host-Shield, das ich seinerzeit auf Amazon gekauft habe und durch intensives Googlen herausgefunden habe, dass man drei von vier Lötpads schließen muss, damit das Ding läuft. Und das Ding läuft. Zwei Nachbauten hingegen basieren ebenfalls auf einem zwei Jahre später gekauften Elegoo Mega2560 sowie dieses Mal (da das alte USB Host Shield auf Amazon nicht mehr verfügbar war) auf Roboterbausatz gekauftes USB Host Shields. Diese kamen ebenfalls ohne gesetzte Lötpads, aber die habe ich natürlich gemacht. Als Netzteil verwende ich auf allen dreien dasselbe (nicht "nur" das gleiche) einstellbare Ansmann Steckernetzteil mit max. 12W=1A bei 12V aus dem Geiz-ist-Geil-Markt, eingestellt auf 7,5V, Center Positiv. Mit dem Multimeter gemessen, Spannung ist stabil und so, wie sie sein soll. Eurostecker, also keine Erdung. Ob ich meinen Laptop am Netzteil oder im Akkubetrieb habe, ändert nichts, und wenn, liefen auch alle an der gleichen Steckdosenleiste, ich habe also keine Masseschleife. Auch der Spannungsregler vom Arduino arbeitet perfekt, 5V stabil (es schwankt je nach angeschlossener Last wie nur USB-Gerät oder USB-Hub zwischen 4,98 und 5,02, wobei ich das Gefühl habe, mit mehr Last geht es sogar hoch, weil der Schaltregler die Last erkennt und mehr Leistung liefert). Es ist nur das USB Host Shield, das nicht arbeitet. Dass der Arduino läuft, sieht man an meinen durchgeführten Tests. - Nur Arduino, "Hello World" über die USB-Seriell in Endlosschleife: Patient 0 und die beiden Nachbauten laufen, über USB und mit zugestecktem Netzteil - Arduino und USB Host Shield, ebenfalls "Hello World", läuft auch beides - Das selbst gebaute Board ändert daran auch nichts - Das Komplettpaket im Betrieb: Beide Arduinos reagieren auf Handshakes und senden beispielsweise Antworten auf den CTS-Low am seriellen UART (via MAX232) an den Maustreiber eines angeschlossenen PCs. Aber nur Patient 0 nimmt noch Eingaben über USB an, wenn das Netzteil angeschlossen ist. Das sieht man auch über Debug-Ausgaben über die USB-Seriell, wenn ich das in der Arduino-IDE anzeigen lasse, nur per USB kommen bei den beiden Nachbauten Tastatur- und Mausbefehle rein, stecke ich das Netzteil dazu, Totenstille auf dem Serial Monitor - außer der Retro-PC fragt via Tastatur oder RS232 per Handshake/Host-to-Device-Kommunikation was an, das wird angezeigt und bearbeitet. Das gilt sowohl für "USB+Netzteil" (da kann ich es per Konsole überwachen) wie auch für "nur Netzteil" wo ich halt eben nur daraus, dass z.B. der Maustreiber am angeschlossenen PC richtig lädt, schließen kann, dass der Arduino arbeitet und nur das USB Host Shield keinen Input weitergibt. Der Basistest ist immer ein billiges Wireless Maus/Tastatur Kit (also der Dongle davon) von Logitech, aber auch andere Mäuse und Tastaturen, die an Patient 0 laufen, wollen nicht. Die sind aber alle eigentlich recht gutmütig und laufen immer. Das legt ja eigentlich nahe, dass es am Host Shield selbst (zwei kaputte glaube ich nicht) liegt, aber es macht für mich trotzdem keinen Sinn. Wie gesagt, Lötbrücken am Host Shield sind gesetzt, so wie es auch auf dem Produktfoto von Roboterbausatz zu sehen ist (aber selbst gemacht, da ohne die Brücken ausgeliefert). Das mit der Spannung ist halt das, was ich gelesen habe: Ab 7V schaltet der Arduino auf externe Spannung um und verwendet den eingebauten Schaltregler, um daraus 5V zu machen, 12V verträgt er zwar, muss aber mehr Spannung abführen und wird dadurch heißer - klingt erst mal nachvollziehbar, wenn auch nicht 100% schlüssig (eigentlich macht ja Strom "klein, schwarz und hässlich" und der müsste bei mehr Spannung und gleicher Leistung ja niedriger sein), ihr dürft mich aber gerne korrigieren. Und da sich irgendwo parasitäre Spannungen einspeisen, wenn ich einen Rechner per analogem Joystickport (die 5V-Pins gehen eigentlich nur an den DS18030-100 an den Poti-Eingang, macht also keinen Sinn) oder Tastaturport (5V geht parallel zu einem 10k Pulldown-Widerstand gen Masse an einen GPIO-Pin des Arduinos) anschließe und der Arduino angeht, aber nicht genug Saft hat, zu laufen, muss ich ihn definitiv dazu bewegen, über Netzteil zu laufen, deshalb und wegen der Warnung vor Überhitzung bei 12V die 7,5V. Das wäre jetzt noch das Sahnehäubchen für die Schaltplan-Tüftler, aber nicht mein Hauptproblem.
Und da während ich geschrieben habe noch Antworten kamen, danke insbesondere an Stefan. Werde das wohl bei künftigen Boardrevisionen (das ist Autoroute, da es meine erste Platine überhaupt ist, mehrfach neu durchgeführt und dabei evtl. wohl auch das kleine Leiterbahn-Stück vergessen zu löschen) beherzigen und vor allem größere Ground-Ebenen und Spannungsleitungen einplanen, das hatte ich mir eh vorgenommen. Die LEDs sind bei einem Testkandidaten abgeklemmt und wie gesagt, dass das Host Shield nicht funktioniert, sobald ein Netzteil steckt, lässt sich auch ohne die Platine huckepack erkennen. Es liegt also zu 99,99% nicht an meinem layouterischen Verbrechen.
Volker schrieb: > Also ich probiere es noch mal Schon wieder nur viel Text, keine Bilder. Das tue ich mir nicht erneut an, sorry.
Stefan ⛄ F. schrieb: > Volker schrieb: >> Also ich probiere es noch mal > > Schon wieder nur viel Text, keine Bilder. Das tue ich mir nicht erneut > an, sorry. +1 Tut mir leid. Th.
um es kurz zu machen: deine Brücken sind falsch. - Hast du überhaupt mal nachgeschaut was diese Brücken machen? - Hast du schon mal nach Unterschieden deiner neuen Shields und dem alten Schield geschaut? - Welche Brücken hast du denn geschlossen? Noch ein Hinweis: statt von Bildern zu faseln könntest du auch Links setzen oder diese gleich hier zeigen. Deinen ganzen Text könnte man ja darauf reduzieren: altes Shield läuft - neue Shields laufen nicht. Zeigt mir was falsch ist
Volker schrieb: > Es liegt also zu 99,99% nicht an meinem Layout Was nicht heißt, dass das Layout der Chinesischen "Kunstwerke" besser ist. Abgesehen davon: Es gab ja noch mehr Hinweise und Rückfragen.
Stefan ⛄ F. schrieb: > Info schrieb: >>>> bis 12 möglich wäre, aber den Schaltregler stark belasten würde >>> Seltsam. Da würde mich mal die Begründung interessieren. > >> Weil der Miniregler sonst am Wärmetot sterben könnte. W = 7V * I > > Wohl kaum. Diese Schaltregler haben einen Wirkungsgrad von 80 - 90%. Auf den Arduinoboards sitzen keine Schaltregler sondern Linearregler. Für die Dinger sind 7,5-9V Ue optimal. Man sollte noch nie größere/viele Verbraucher über das Board versorgen.
Volker schrieb: > Lötbrücken am Host Shield sind gesetzt, so wie es auch auf dem > Produktfoto von Roboterbausatz zu sehen ist (aber selbst gemacht, da > ohne die Brücken ausgeliefert). Ohne da jetzt deine Schaltpläne studiert zu haben, aber kann das Produktfoto vielleicht von deinem Board abweichen? Welche Spannung liegt an VBUS an? Sollten 5V sein. Die 3,3V für das USB Host Shield liegen auch an? Anstelle ewigen Beschreibungen würde ich mal alle Spannungsversorgungen messen. Mach nur dein Steckernetzteil dran und dann mist du ab dem Stecker alles durch was in dem Pfad liegt bis du deine 3,3V und 5V für den betrieb des Host Shield an VBUS und IC Power pin hast. Läuft das USB Host Shield ohne am Arduino zu hängen wenn du es mit 3,3V versorgst?
Volker schrieb: > - Das Komplettpaket im Betrieb: Beide Arduinos reagieren auf Handshakes > und senden beispielsweise Antworten auf den CTS-Low am seriellen UART > (via MAX232) an den Maustreiber eines angeschlossenen PCs. Welche serielle UART via MAX232? Wie genau sieht dieser Aufbau aus? Aus der Beschreibung werd ich nicht schlau ... Und von welchen Lötbrücken auf den USB-Host-Shields redest du? Kringel mal auf dem Bild ein -- oder besser noch mach ein Bild von deinem Aufbau ... LG, Sebastian
:
Bearbeitet durch User
Info schrieb: > Auf den Arduinoboards sitzen keine Schaltregler sondern Linearregler. Aber er hat geschrieben dass sein Board einen Schaltregler hat. Vielleicht hat er so ein Board: https://www.keyestudio.com/new-keyestudio-super-mega-2560-r3-advanced-5v-2a-mp2307dn-sop-8-usb-cable-for-arduino-mega-p0046.html Da er auf viele Rückfragen nicht eingegangen ist und die Details geheim hält, soll er sich halt selbst helfen.
Okay, Leute, ihr hattet euren Spaß, das Aufnahmeritual, den Neuling im Forum ständig nach einem Schaltplan für "USB Host Shield steckt auf Arduino" zu fragen, hat sich totgelaufen. @Sebastian: Das USB Host Shield von Roboterbausatz hatte ich ja bereits verlinkt. https://www.roboter-bausatz.de/p/usb-host-shield-fuer-arduino Vergleich zum alten Shield von vor 2 Jahren von Amazon, den neuen beiden und dem Bild - außer, dass auf dem Produktbild die Marke Keyes aufgedruckt ist und bei den gelieferten zwei neuen der quadratische Käfer in der Mitte keine Beinchen nach außen, sondern untenliegende Lötpads hat. Fair enough. Die erwähnten Lötbrücken sind die mit 3.3V und 5V beschrifteten an der Stiftleiste unten links sowie die mit 5V beschriftete am USB-Port (3.3V dort nicht brücken). Anbei der Ur-Artikel anhand dessen ich damals vor 2 Jahren als "Noch nie einen Arduino in der Hand gehabt" die Brücken gesetzt habe: https://esp8266-notes.blogspot.com/2017/08/defective-arduino-usb-host-shield-boards.html da finden sich auch auf dem zweiten Bild die eingekringelten Lötbrücken. Und jetzt noch mal zum Problem: - Ein alter und zwei neue Arduinos komplett ohne alles loopen am USB ein Serial.println("Hello World") - läuft, egal, ob ich das Netzteil einstecke, oder nicht. - Ich stecke das USB Host Shield dazu und lasse das gleiche laufen - läuft, ob mit oder ohne externem Netzteil - Ich stecke das Host Shield auf und spiele wieder meinen Sketch auf. Der gibt über Serial.println die erfassten Tastatur- und Maus-Eingaben vom USB aus - bei meinem alten System immer, bei den beiden neuen nur, wenn ich nicht das Netzteil einstecke (mit eingestecktem Netzteil kommt nix mehr, stecke ich es wieder aus, kann ich 3 Sekunden später wieder Eingaben machen). Die Anwesenheit von meiner eigenen Platine spielt dabei keine Rolle - Wenn ich "nur mit Netzteil, ohne USB" testen will, habe ich natürlich keine serielle Konsole, kann daher nur vermuten, dass der Arduino was macht. Indizien dafür ist die Kommunikation mit den Retro-Computern, die an meiner eigenen Platine eingesteckt sind. Verbinde ich diese mit dem Tastatur-Port funktioniert der Handshake nach AT-Tastaturprotokoll (sonst würde das BIOS des angesprochenen PCs einen Keyboard Error schmeißen), verbinde ich eine RS232-Schnittstelle am Rechner damit, funktioniert auch das und der Maustreiber lädt durch. @Sebastian Serial2 TX und RX sowie ein GPIO Pin an das RS232 RTS Signal sind via Max232 gekoppelt und emulieren eine serielle Maus (Wahlweise Microsoft oder Logitech) - das geht, aber bei Eingaben via USB Tastatur und Maus, die durchgereicht werden sollten, Schweigen im Walde. Außer auf dem alten Gerät. Alle Spannungen erfreuen sich laut Multimeter bester Gesundheit, egal ob via USB oder Netzteil.
Programmiere eine blinkende Led dazu und teste erneut. Blinkt die Led wenn vermutlich auf der Seriellen nichts mehr geht? Oder blinkt die dann auch nicht mehr? Dann wüßte man ob das Programm läuft oder nicht läuft. Wenn er nicht läuft, Led nicht blinkt, könnte man in die Richtung Dauer-Reset Zustand oder Programmabsturz weiter denken ... Kannst auch im Setup schnelles blinken und in Loop langsames blinken programmieren. Dann wüßte man ob er überhaupt startet und wo er stehen bleibt. Oder nutzt die anderen Seriellen für Debaugausgaben. Wofür hast du schließlich den Mega? Du kannst alle Möglichkeiten zum Debuggen nutzen.
... und messe mal zwischen den Masse Potentialen. Ggf. gibt es hier eine Verschiebung.
... und hat dein Mega nun einen Schaltregler oder ein Linearregler drauf?
Ich gebe dir mal ein paar Hinweise: Der Arduino macht einen Spgvergleich: Wenn am Hohlstecker etwa 7.5V anstehen wird VBus von der USB B-Buchse weggeschaltet. Dann muss der LDO das Board mit 5V versorgen. Mit einem 2.LDO wird aus den 5V die 3.3V erzeugt. Ob das in allen Fällen unterbrechungsfrei funktioniert wage ich zu bezweifeln. Zur Not brauchts halt einen Reset. Die Umschaltung hab ich mal angehängt. Ein einfacher Komparator ohne jede Hysterese. Ich würde mal annehmen, dass das Ding im Einschaltmoment schwingt. Das Shield braucht 3.3V und 5V deswegen musst du die beiden Lötbrücken schliesen. Die dritte Brücke stellt stellt die VBus für den Host bereit. Da sind noch eine ganze Reihe zusätzlicher Brücken drauf, z.B auch für Reset. Letztendlich stellt das Shield ja nur eine Bridge von SPI slave <-> USB Host bereit. Die Brücken SJ7 und SJ8 müssen vermutlich auch geschlossen sein (INT und SS)
Thomas Z. schrieb: > Ein einfacher Komparator ohne jede Hysterese. Ich > würde mal annehmen, dass das Ding im Einschaltmoment schwingt. Das könnte theoretisch auch beim ausschalten schwingen, nur wenn es schwingt, dann nur zwischen USB 5V und VIN 5V. Sollte demnach keine Rolle spielen bei einer Spannungsdifferenz von vielleicht 0,1V. Für das Problem hier irrelevant. Wenn man nach dem Shield sucht, ist der TO nicht der Erste mit einem Kommunikationsproblem. > That shield communicates over SPI. However the SPI pins it uses are > the "old" style (10-13) for the Arduino UNO. > The Mega doesn't use those pins, which is why the "new" style 6-pin > SPI/ICSP header was added to boards. > You will have to manually jumper the right pins to the SPI pins of > the Mega using wires. Jedenfalls wäre ich mit den 3,3V Jumper vorsichtig, wenn der Mega mit 5V versorgt wird sollte man nicht auf 3,3V jumpern. Mehr Infos sollte dieser Links liefern. Die Links unter Hardware Info scheinen interessant zu sein. https://chome.nerpa.tech/arduino_usb_host_shield_projects/ Der Link ist wiederum von hier. https://github.com/felis/USB_Host_Shield_2.0
Info schrieb: > Für das Problem hier irrelevant. Das würde ich nicht sagen, der TO hat ja genau das Problem dass bei zusätzlicher Versorgung mit dem Hohlstecker die Sache stehen bleibt. Zumindest hab ich das so verstanden. Info schrieb: > Jedenfalls wäre ich mit den 3,3V Jumper vorsichtig, wenn der Mega mit 5V > versorgt wird sollte man nicht auf 3,3V jumpern. Doch das ist notwendig. Das Shield braucht die 3.3V für den Pegelwandler und den Max Baustein.
Volker schrieb: > - Ich stecke das Host Shield auf und spiele wieder meinen Sketch auf. > Der gibt über Serial.println die erfassten Tastatur- und Maus-Eingaben > vom USB aus - bei meinem alten System immer, bei den beiden neuen nur, > wenn ich nicht das Netzteil einstecke (mit eingestecktem Netzteil kommt > nix mehr, stecke ich es wieder aus, kann ich 3 Sekunden später wieder > Eingaben machen). Die Anwesenheit von meiner eigenen Platine spielt > dabei keine Rolle Verbinde einmal den Arduino Pin 53 des Arduino Mega 2560 über einen 10k-Widerstand mit +5V. Funktioniert es dann? LG, Sebastian
Volker schrieb: > Okay, Leute, ihr hattet euren Spaß, das Aufnahmeritual, den Neuling im > Forum ständig nach einem Schaltplan für "USB Host Shield steckt auf > Arduino" zu fragen, hat sich totgelaufen. Wir sind halt keine Hellseher. Du bist nicht der einzige Anfänger der erst lernen muss wie wichtig die Schaltungsunterlagen sind. Volker schrieb: > Alle Spannungen erfreuen sich laut Multimeter bester Gesundheit, egal ob > via USB oder Netzteil. Das reicht nicht, messe mit einem Oszilloskop. Dein Netzteil bewirkt ein Problem, also kontrolliere das Netzteil und was es bewirkt. Und zwar sehr genau. Und beantworte alle Rückfragen. Gehe den ganzen Thread nochmal durch und reiche jede Antwort nach, die noch fehlt. Tritt der Fehler eigentlich auch auf, wenn du beide Boards NACH dem Anschließen des Netzteil resettest?
Sebastian schrieb: > Verbinde einmal den Arduino Pin 53 des Arduino Mega 2560 über einen > 10k-Widerstand mit +5V. Funktioniert es dann? Volker, ich weiss das klingt etwas abstrus. Ich aber ernst gemeint. Auf dem Arduino Mega 2560 ist Arduino Pin 53 verbunden mit PB0 des Atmega2560. PB0 hat die Funktion !SS, siehe https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/ATmega640-1280-1281-2560-2561-Datasheet-DS40002211A.pdf. Die Kommunikation zwischen USB Host Shield und uC läuft über SPI, also MISO, MOSI und SCK, über den ISP-Verbinder. Dazu braucht der USB Host Shield allerdings noch Chip Select (gejumpert auf Arduino Pin 10) und Interrupt (gejumpert auf Arduino Pin 9) -- du solltest diese Jumper auf deinen Shields auch finden. Nur: Bei "normalen" Arduinos hat Arduino Pin 10 auch gleichzeitig die SPI !SS-Funktion. Nicht so beim Arduino Mega 2560. Dort ist die !SS-Funktion des SPI-Busses eben auf Arduino Pin 53 zu finden! Diese !SS-Funktion wird für den SPI Slave Modus benötigt. Sie ist aber auch im SPI Master Modus aktiv. Du kannst das im Datenblatt in Kapitel 21.1, "!SS Pin Functionality" nachlesen: "If the !SS pin is driven low by peripheral circuitry when the SPI is configured as a Master with the !SS pin defined as an input, [...] the SPI system becomes a Slave. As a result of the SPI becoming a Slave, the MOSI and SCK pins become inputs." Ich möchte mit meinem Vorschlag halt die Möglichkeit ausschliessen, dass ein zufälliger LOW-Pegel auf dem unbeschalteten Arduino Pin 53-Eingang des Mega 2560 die SPI-Kommunikation stört. LG, Sebastian
Volker schrieb: > - Ich stecke das USB Host Shield dazu und lasse das gleiche laufen - > läuft, ob mit oder ohne externem Netzteil > - Ich stecke das Host Shield auf und spiele wieder meinen Sketch auf. 2x aufgesteckt? Das Host Shield ist doch schon aufgesteckt? Oder nicht? Nochmal wegen schwingen. Wenn es schwingt dann doch nur auf dem ohnehin schon vorhandenen 5V Niveau. Also irrelevant. Zudem falls es schwingt ist der Spuk nach paar wenigen ms vorbei. Wegen Pin 53. Wenn dann als Output und auf High programmieren. Hat was mit der SPI Hardwareeinheit zu tun. Ein Pegel von außen hilft da nicht wenn es damit zu tun haben sollte. Habe ich aber schon lange nicht mehr gesehen, aber vielleicht hilft das hier, weil ggf. deswegen SPI gar nicht erst läuft.
Info schrieb: > Ein Pegel von außen hilft da nicht > wenn es damit zu tun haben sollte. Doch. Info schrieb: > Wegen Pin 53. Wenn dann als Output und auf High programmieren. Das geht auch. Allein als Output programmieren reicht. Siehe das Datenblattkapitel oben. Aber P53 - 10k - VCC5V ist schneller getan ... LG, Sebastian
Danke zusammen, neben viel spannendem Myth Busting zum Thema Spannungsregler vor allem auch noch mal an Sebastian und Info wegen der Pin 53 Geschichte. Pin 53 Output High in der Init-Routine ist ja schnell gemacht, probiere ich mal aus. Im Zweifel beides, das auch mal über einen 10k-Widerstand auf 5V zu ziehen. Außerdem gucke ich noch einmal ganz vorsichtig über alle Jumper-Brücken auf den beiden Host Shield Versionen, dass ich nicht, neben den drei/vier bekannten noch eine übersehen habe, weil irgendwo muss da doch bei den neuen Shields der Wurm drin sein. Bislang konnte ich nichts erkennen, außer dass der Controller-Chip einmal untenliegende und einmal außenliegende Kontakte hat. Ich weiß noch nicht, ob ich heute noch dazu komme, gebe aber alsbald Feedback, wenn ich neue Erkenntnisse habe.
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.