Das ist mein erstes I2C-Projekt und entsprechend dämlich stelle ich mich an. Ich habe also zunächst auf Basis der Wire-Lib ein ganz simples Testprogramm geschrieben, was die Adressen im Bereich von 0 bis 127 durchgeht, jeweils 1 Byte anfordert und wenn was kommt, dieses anzeigt. Dabei ist A5 am Arduino Nano der Takt (SCL) und A4 sind die Daten (SDA). Das habe ich mir zunächst (ohne angeschlossenes Touchpad) mit einem Oszi angesehen. SCL wird offenbar jeweils nur für ein par Takte eingeschaltet, ich kann also regelmäßige "Taktpakete" aus 1:1 Rechteckimpulsen sehen. Bei SDA sehe ich ebenfalls die Bits, im Gegensatz zu den Taktpaketen verändern sie sich entsprechend den aufgerufenen Adressen. Verbinde ich SCL vom Nano mit SCL vom Touchpad, wird sogar die Kurvenform besser (sauberere Rechtecke). Verbinde ich dagegen SDA vom Touchpad mit dem vom Nano, verschwinden die vorher sichtbaren Datenpakete und die Daten schlagen quasi auf den Takt durch (kann ich mit 2-Kanal-Oszi sehen). Was kann das sein? Ein simpler Kurzschluss ist ausgeschlossen, ich habe die Lötstellen und die Steckbrett-Verkabelung mehrfach auf- und abgebaut. Das Touchpad ist ausser mit SDA und SCL noch mit Masse und 3,3V vom Arduino verbunden. Als Pullup an SDA und SCL habe ich 2 gerade herumliegende 24k-Widerstände nach Plus 3,3V geschaltet ... Tips? Danke.
:
Bearbeitet durch User
Und das Touchpad verwendet sicher I2C? Das ist ungewöhnlich. Wenn es aus einem alten Notebook stammt und Du wegen des Vorhandenseins von Leitungen namens "Clock" und "Data" auf I2C tippst - da liegst Du daneben, das wird die im PC-Bereich übliche PS/2-Schnittstelle sein. Die verwendet ebenfalls separate Takt- und Datenleitungen und braucht auch Pullups, aber das Protokoll ist deutlich simpler.
Rufus Τ. F. schrieb: > Und das Touchpad verwendet sicher I2C? Das ist ungewöhnlich. Ja, ist kein altes, ausgebautes, sondern ein TPS43 von Azoteq.
Und mit welcher Spannung betreibst du den Nano? Bei 5 Volt muss ein Levelshifter dazwischen.
Dieter S. schrieb: > Und mit welcher Spannung betreibst du den Nano? > Bei 5 Volt muss ein Levelshifter dazwischen. Hmm ... Der Nano wird primär am USB mit 5V betrieben. Ich nehme aber doch an, dass der "intern" mit 3,3V läuft, oder? Ist dazu nicht der Spannungsregler drauf? Oder wo kommen die 3,3V her, die auf dem Board "angeboten" werden? Und wozu sind die sonst gut?
Frank E. schrieb: > Ich nehme aber doch an, dass der "intern" mit 3,3V läuft, oder? Ist dazu > nicht der Spannungsregler drauf? Oder wo kommen die 3,3V her, die auf > dem Board "angeboten" werden? Und wozu sind die sonst gut? Der läuft mit 5 Volt. Der 3,3V Regler ist dazu da, damit man 3,3V Chips dran mit Levelshifter betreiben kann.
>Ich nehme aber doch an, ... Und wozu sind die sonst gut?
Ganz falscher Ansatz!
Datenblätter und Schaltpläne sind die Grundlagen, nicht sinnfreie
Vermutungen.
Frank E. schrieb: > Ich nehme aber doch an, dass der "intern" mit 3,3V läuft, oder? wieviel MHz hat der Nano? Wenn 16 dann läuft er mit 5V
Frank E. schrieb: > Dieter S. schrieb: > Und mit welcher Spannung betreibst du den Nano? > Bei 5 Volt muss ein Levelshifter dazwischen. > > Hmm ... Der Nano wird primär am USB mit 5V betrieben. > > Ich nehme aber doch an, dass der "intern" mit 3,3V läuft, oder? Ist dazu > nicht der Spannungsregler drauf? Oder wo kommen die 3,3V her, die auf > dem Board "angeboten" werden? Und wozu sind die sonst gut? Ein klares NEIN. Der Nano wird in fast allen Fällen mit 5 Volt betrieben und dann hast du an den Pins im High-Zustand auch diese 5 Volt.
Ja, wie meine Vorgänger alle schon beschrieben haben, der Nano arbeitet i.d.R. mit 5 Volt. Da kommst du dann nicht um einen Levelshifter herum. Hatte ich ja auch schon geschrieben. Anders wirst du dein Touchpad schnell killen.
Dieter S. schrieb: > der Nano arbeitet > i.d.R. mit 5 Volt. das i.d.R. heißt aber: es könnte auch 3,3V sein ich verwende so einen weil ich mir so eben den Levelshifter sparen kann
Walter S. schrieb: > Dieter S. schrieb: >> der Nano arbeitet >> i.d.R. mit 5 Volt. > > das i.d.R. heißt aber: es könnte auch 3,3V sein > ich verwende so einen weil ich mir so eben den Levelshifter sparen kann Richtig, nur diese sind sehr selten und daher sollte der TO das unbedingt prüfen, was er bisher noch nicht getan bzw. bestätigt hat.
Dieter S. schrieb: > Walter S. schrieb: > Richtig, nur diese sind sehr selten und daher sollte der TO das > unbedingt prüfen, was er bisher noch nicht getan bzw. bestätigt hat. Es ist ein China-Nano mit CH341-USB-Chip und aufgelöteter USB-Mini-Buchse. Woran erkenne ich, ob es evtl. eine 3,3V-Version ist? Im Prinzip mit Messen, das ist klar, ist aber bei dem SMD-Chip garnicht so einfach ... ich werde mir mal die Logikpegel mit Oszi bzw. Multimeter vornehmen ... oder gibts noch andere Merkmale?
Frank E. schrieb: > Es ist ein China-Nano mit CH341-USB-Chip und aufgelöteter > USB-Mini-Buchse. > Woran erkenne ich, ob es evtl. eine 3,3V-Version ist? > > Im Prinzip mit Messen, das ist klar, ist aber bei dem SMD-Chip garnicht > so einfach ... ich werde mir mal die Logikpegel mit Oszi bzw. Multimeter > vornehmen ... oder gibts noch andere Merkmale? Das wurde doch schon gepostet. Hat der Nano eine Taktfrequenz von 16 MHz, dann ist es ein 5 Volt Typ. Hat er 8 MHz, dann 3,3 Volt.
Frank E. schrieb: > Im Prinzip mit Messen, das ist klar, ist aber bei dem SMD-Chip garnicht > so einfach .. Wieso? Du musst ja nur einen I/O-Pin auf Ausgang schalten und einen High-Pegel anlegen - dann hast Du ein schönes Signal auf einem der Pins am Platinenrand.
Der Nano hat doch aber auch einen direkten Spannungsausgang, auf dem die Betriebsspannung des Atmega anliegt. Hier im Pinout als 5 Volt gekennzeichnet. http://pighixxx.com/nanopdf.pdf Nicht die 3,3 Volt, das ist die Spannung aus dem Serial-USB-Wandler.
Das Problem ist gelöst, die Ursache war VIEL blöder als vermutet: Auf der Platine sind die Anschlüsse falsch bedruckt!!! In dem Tütchen, in dem das Touchpad geliefert wird, ist zwar eine Art Beipackzettel, aber wer guckt da schon drauf? (ich habe nicht den Connector benutzt, sondern die Lötpads) Habe heute morgen nochmal Alles vom Bredboard gerissen und neu aufgebaut und dabei wegen der Anschlüsse mal nicht auf das Touchpad, sondern auf den daneben liegenden Zettel gesehen .... Arghhh!!! Und siehe da, es geht! Trotz 3,3V-Technik (gespeist aus dem Nano-Anschluss 3,3V) und direktem Kontakt mit den I2C-Pins (A4 u. A5) des Nano ... Das Bild ist ein wenig verwackelt ... sorry.
:
Bearbeitet durch User
Frank E. schrieb: > Das Problem ist gelöst, die Ursache war VIEL blöder als vermutet: > > Auf der Platine sind die Anschlüsse falsch bedruckt!!! In dem Tütchen, > in dem das Touchpad geliefert wird, ist zwar eine Art Beipackzettel, > aber wer guckt da schon drauf? > > (ich habe nicht den Connector benutzt, sondern die Lötpads) > > Habe heute morgen nochmal Alles vom Bredboard gerissen und neu aufgebaut > und dabei wegen der Anschlüsse mal nicht auf das Touchpad, sondern auf > den daneben liegenden Zettel gesehen .... Arghhh!!! > Und siehe da, es geht! Trotz 3,3V-Technik (gespeist aus dem > Nano-Anschluss 3,3V) und direktem Kontakt mit den I2C-Pins (A4 u. A5) > des Nano ... > > Das Bild ist ein wenig verwackelt ... sorry. Damit läufst du Gefragt das Pad zu killen, da der Nano mit 5 Volt betrieben wird und an den I2C-Pins auch 5 Volt anliegen. Aber wenn man schon nicht einen Beipackzettel liest, muss man ja auch den Beiträgen hier im Forum nicht glauben. Warum stellst du hier überhaupt Fragen rein, wenn du niemandem glaubst? Ich versteh das nicht.
Dieter S. schrieb: > Damit läufst du Gefragt das Pad zu killen, da der Nano mit 5 Volt > betrieben wird und an den I2C-Pins auch 5 Volt anliegen. > Aber wenn man schon nicht einen Beipackzettel liest, muss man ja auch > den Beiträgen hier im Forum nicht glauben. > Warum stellst du hier überhaupt Fragen rein, wenn du niemandem glaubst? > Ich versteh das nicht. Meine ursprüngliche Frage gezog sich nicht auf die 5V-Verträglichkeit, sondern auf das merkwürdige Verhalten, was so garnicht mit I2C zusammenpassen wollte. Das hat sich ja nun aufgrund der falschen Anschlußbelegung geklärt. Die möglichen Probleme wegen der 5V kamen erst später in die Diskussion, als eine mögliche Ursache für das Nicht-Funktionieren der Datenübertragung. Vom Hersteller selber wird ein Arduino-Code nebst Anschluß-Skizze (in ASCII-Grafik mit Benennung der Pins) und OHNE Level-Shifter mitgeliefert. Anscheinend sind die Pads "5V compilant" oder wie das heisst ... (was gar nicht so selten vorkommt). Da wird nix gekillt ... Trotzdem Danke für all die Tips.
:
Bearbeitet durch User
Frank E. schrieb: > > ...Anscheinend sind die Pads "5V compilant" oder wie das > heisst ... (was gar nicht so selten vorkommt). Da wird nix gekillt ... Da du keine Datenblätter liest, wirst du es erst erfahren, wenn Rauchzeichen aufsteigen. Mach weiter so. Viel Erfolg. :-)
Dieter S. schrieb: > Frank E. schrieb: >> >> ...Anscheinend sind die Pads "5V compilant" oder wie das >> heisst ... (was gar nicht so selten vorkommt). Da wird nix gekillt ... > > Da du keine Datenblätter liest, wirst du es erst erfahren, wenn > Rauchzeichen aufsteigen. > Mach weiter so. Viel Erfolg. :-) Lesen (und Verstehen) scheinen nicht deine Stärke zu sein. Wenn der Hersteller quasi den Bauplan mitliefert, darf ich den doch wohl ernst nehmen, oder?
Hallo, Frank E. schrieb: > Vom Hersteller selber wird ein Arduino-Code nebst Anschluß-Skizze (in > ASCII-Grafik mit Benennung der Pins) und OHNE Level-Shifter > mitgeliefert. Anscheinend sind die Pads "5V compilant" oder wie das > heisst ... (was gar nicht so selten vorkommt). Da wird nix gekillt ... wohl die Mehrheit meiner (China-)Arduino-Teile behauptet sowas. Ob eine SD-Card z.B. mit Reihenwiederständen und damit ausnutzen der Schutzdionen (vermutlich außerhalb der Specs) damit auf Dauer klarkommt, ignoeriere ich bei meinen Bastelein auch, solange: a) der Kram die üblichen China-Preise gekostet hat b) solange noch ein zweites in Reserve liegt Dann überlebe ich den Verlust bei Ausfall und kann dann eben was vernünftiges draus machen kann. Komischerweise haben es bisher alle Module auch über Wochen Versuchsbetrieb überlebt... Solange es also Sachen sind, wo mich auch ein plötzlicher Ausfall nicht stört, bleibt es bei mir vorerst dabei. Gruß aus Berlin Michael
Michael U. schrieb: > wohl die Mehrheit meiner (China-)Arduino-Teile behauptet sowas. > Ob eine SD-Card z.B. mit Reihenwiederständen und damit ausnutzen der > Schutzdionen (vermutlich außerhalb der Specs) damit auf Dauer klarkommt, > ignoeriere ich bei meinen Bastelein auch, solange: Dann bist du in jedem Fall auf der sicheren Seite. Widerstände setze ich da auch ein und so reicht es wohl meistens. Aber ohne diese finde ich es schon kritisch.
Dieter S. schrieb: > Damit läufst du Gefragt das Pad zu killen, da der Nano mit 5 Volt > betrieben wird und an den I2C-Pins auch 5 Volt anliegen. Das tun sie nur, wenn die I2C-Pullups gegen 5V geschaltet sind. Ansonsten sind I2C-Pins Open-Collector- bzw. Open-Drain-Anschlüsse. I2C mit 3V-Pullups an einem 5V-µC ist allerdings etwas grenzwertig, weil der Highpegel etwas zu niedrig sein dürfte, um sicher und sauber erkannt zu werden. Ratsam ist daher der Einsatz eines I2C-Pegelwandlers wie z.B. PCA9517.
Rufus Τ. F. schrieb: > Das tun sie nur, wenn die I2C-Pullups gegen 5V geschaltet sind. > Ansonsten sind I2C-Pins Open-Collector- bzw. Open-Drain-Anschlüsse. Oh ja, stimmt. Das hatte ich außer Acht gelassen. Dank...
Dieter S. schrieb: > Rufus Τ. F. schrieb: >> Das tun sie nur, wenn die I2C-Pullups gegen 5V geschaltet sind. >> Ansonsten sind I2C-Pins Open-Collector- bzw. Open-Drain-Anschlüsse. > > Oh ja, stimmt. Das hatte ich außer Acht gelassen. > Dank... Ich habe nat. 2x 10k Pullup nach 3,3V gesetzt.
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.