Ich habe hier eine Schaltung mit drei PIC18LF2685 als I2C-Slaves (wobei ich im Moment nur mit zweien arbeite, der dritte ist abgesteckt). Das soll übrigens mal eine CNC-Fräse werden. Diese besteht aus einem Raspberry Pi (I2C-Master), einer Zwischenplatine auf der unter anderem die I2C-PullUp-Widerstände (2,2kOhm) verbaut sind und eine Pegelwandlung via MOSFETs zwischen den 3,3V des RPi und den 5V der PICs durchgeführt wird. Die drei übrigen Platinen mit den PICs sind die eigentlichen Motorcontroller (mit jeweils L297/L298). Verbunden ist alles mit Flachband-Kabeln. Mit der I2C-Hardware hatte ich bisher eigentlich nie Probleme. Gestern Abend habe ich dann mal wieder daran herümgetüftelt und immer wieder neue Software eingespielt (via PICkit3) bis mir aufgefallen ist, dass die I2C-Kommunikation gar nicht mehr lief. Wie sich herausgestellt hat, ziehen beide PICs die SCL-Leitung permanent auf Low. Ich habe daraufhin die Chips aus der Fassung genommen (natürlich nicht im laufenden Betrieb) worauf beide Leitungen durch die PullUp-Widerstände auf High gezogen werden konnten. Also habe ich die Chips mit einem Durchgangsprüfer gemessen und tatsächlich: die SCL-Leitung ist kurzgeschlossen mit GND. An dem dritten Chip konnte ich übrigens nichts derartiges messen, habe dort aber das Programm nicht getestet, weil ich den nicht auch noch kaputt machen möchte. Dann habe ich versucht über ein kleines Programm, das nur den Port C auf Ausgang schaltet und abwechselnd von Low auf High und zurück schaltet, irgendeine Reaktion auf den beiden Pins SCL(RC3)/SDA(RC4) zu erhalten. Tatsächlich bleibt RC3 immer Low und RC4 immer High. Es sieht also so aus, als würden die PICs dauer-Clock-Stretchen oder so... Deswegen hoffe ich darauf, dass es kein Hardware-Defekt ist. Nachdem ich nun aber das halbe Internet durchforstet habe, bisher leider nichts Brauchbares gefunden habe, hat vielleicht hier einer eine Idee?
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.