Hallo zusammen, ich verwende zur Sensorabfrage den I2C-Bus. Master ist ein Atmega328 auf 5V, die Sensoren (1x MPU6050, 2x SI1133) haben 3.3V. Level Shifter ist ein PCA9515A, welcher auch funktioniert. Pull-Up ist je ein 10k Widerstand (Fehlerquelle?). Allerdings kann ich keine Adresse der Sensoren erreichen. Und langsam verzweifle ich. Eine Idee habe ich noch. Die angehängten Verläufe sind je SDA und SCL des I2C nach dem PCA9515A, also 3.3V high. Aber ist es normal das sie so abgerundet aussehen? Könnte das vielleicht mein Problem sein? Es wirkt irgendwie als würde da ein Kondensator was glätten oder so. Oder liegt es an den Widerständen? Danke für eure Hilfe. Grüße, Niine
Niine schrieb: > Aber ist es normal das sie so abgerundet aussehen? Könnte das vielleicht > mein Problem sein? Das kommt durch die 10k Widerstände. Der "glättende Kondensator" ist die Summe der Pin-Kapazitäten der Chips. Wenn es so rund aussieht, sollte man mit der Frequenz deutlich runtergehen. Der Masse Kontakt des Scopes ist Mist, die Überschwinger werden viel zu stark angezeigt. Den level Shifter hättest Du Dir schenken können - einfach die Buswiderstände auf 3,3V legen, fertich. Ja, das ist etwas knapp für den Mega - funktioniert aber.
Niine schrieb: > Pull-Up ist je ein 10k Widerstand (Fehlerquelle?). Zu viel. Wie lang ist die Leitung?
Jim M. schrieb: > Den level Shifter hättest Du Dir schenken können - einfach die > Buswiderstände auf 3,3V legen, fertich. Ja, das ist etwas knapp für den > Mega - funktioniert aber. Es verschärft aber die Situation bei relativ hoher Buskapazität erheblivh.
A. K. schrieb: > Zu viel. Wie lang ist die Leitung? Auf zwei kleine Platinen verteilt. Ich würde insgesamt vll so 10-15 cm schätzen. Jim M. schrieb: > Das kommt durch die 10k Widerstände. Der "glättende Kondensator" ist die > Summe der Pin-Kapazitäten der Chips. Wenn es so rund aussieht, sollte > man mit der Frequenz deutlich runtergehen. Also tausche ich auf 4k7 Widerstände und reduzier die Frequenz zum Testen erstmal auf 10kHz? > Den level Shifter hättest Du Dir schenken können - einfach die > Buswiderstände auf 3,3V legen, fertich. Ja, das ist etwas knapp für den > Mega - funktioniert aber. Das wäre dann meine letzte Option, wenn es nie geht :-) Viele Grüße, Niine
Also ich habe jetzt die Widerstände durch 4k3 getauscht und bekomme jetzt bei 100kHz diese Kurven (siehe Anhang). Aber es gibt immernoch kein Sensor sein Acknowledge. Ist die Qualität so ausreichend der Pegel, oder ist das immernoch der Grund? Vielen Dank! Niine
Um etwas zum Protokoll zu sagen müsste man allerdings beide Signale synchron auf einem Bild sehen. Und um etwas zum Code zu sagen, müsste man den Code sehen. Schuss ins Blaue: Die I2C-Adresse besteht aus den oberen 7 Bits des Adressbytes. Die Verschiebung um 1 Bit führt gelegentlich zu Verwirrung, weil das Adressbyte 0x40/0x41 für die I2C-Adresse 0x20 steht. Mancher I2C-Code will diese Adresse als dann 0x20 haben, mancher als 0x40, je nach Laune des Entwicklers.
Niine schrieb: > Ist die Qualität so ausreichend der Pegel, oder ist das immernoch der > Grund? Nein, muss so gehen - zumindest auf der 3V3-Seite. Sehen SDA und SCL auch auf der 5V-Seite so aus? Wenn ja, musst du in der SW suchen ... Tipp: Handling der Adressen, 7Bit links ausgerichtet, das LSB ist R/W.
Ich habe eben endlich eine Antwort (zumindest vom MPU6050) erhalten, was dann ja auch die ordentliche Protokollverwendung bestätigt. Problem war: Anscheinend war die Lötverbindung nicht optimal. Hab vorsichtig alle Seiten nochmal gelötet. Und nun geht es erstmal. Endlich kann ich weiterarbeiten :-) Danke an euch alle für eure Hilfe!! Vor allem die Signalauswertung und die Widerstandsänderung hat mir sehr geholfen. Danke und einen schönen 2. Advent! Niine
Niine schrieb: > Vor allem die Signalauswertung und die Widerstandsänderung hat mir sehr > geholfen. Die Frequenzänderung hat mehr dazu beigetragen als die Widerstandsänderung.
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.



