Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C hier funktioniert nichts , was muss ich tun?
TrainMen
06.07.2009, 16:49
Hi,
ich hab jetzt mal auf ein Steckboard eine Porterweiterung PCF8574 aufgebaut. Wie setze ich den jetzt die einzelne Ports0-7 auf High oder Low.
Wie kann ich denn überhaupt überprüfen ob hier überhaupt was funktioniert?
Das erste Bsp Programm zum I2C habe ich mal ausprobiert, da passiert nichts. Im Terminal steht auch keine Fehlermeldung vom I2C Bus, also denke ich das meine Adresse stimmt.
Trainmen
pacer_one
06.07.2009, 17:46
indem man zB eine Debugausgabe integriert.
Bei mir wird zB nach jedem Schritt (TWI-Start, TWI-ReadData usw.) ein Punkt ausgegeben, so dass ich erkenne wenn das Programm stehenbleibt. Außerdem gibt mein Programm einen Fehlercode zurück. (generiert der Mega8 selbst, muss man nur das TWSR-Register abfragen) Die Codes stehn im Datenblatt unter Master-Transmitter-Mode.
TrainMen
06.07.2009, 21:08
Hi ,
ich sitze hier nun schon ein paar Stunden an mein obiges Problem.
Jetzt wird es draußen dunkler und mir ist gerade die Schreibtischlampe kaputt gegangen und was sehe ich mein I2C funktioniert ja. Ich habe das Lauflicht. Die LED sind so schwach das ich es am Tage nicht gesehen habe.
Es sind LowCurrent LED, müssten die heller sein ?
Na jedenfall funktioniert der blöde Bus.
Trainmen
vielleicht hast du ein zu hohen Vorwiderstand bei den LEDs oder die bekommen nicht genug Spannung.
LowCurrents LEDs solltest auch tagsüber sehen, wenn du sie wie in ihrem Datenblatt beschrieben anschließt.
m.a.r.v.i.n
07.07.2009, 16:24
Hallo Trainmen,
ich vermute mal du schaltest die LEDs mit HIGH Pegel ein. Der PCF8574 kann Strom bei Logik Pegel HIGH nur im µA Bereich treiben. Versuch mal die LEDs mit LOW Pegel zu betreiben, dann liefert der Chip auch genügend Strom.
TrainMen
07.07.2009, 21:31
Hi,
soviel Stress wegen so ein blödes Teil,
m.a.r.v.i.n
ja Danke, war aber schon so richtig bei mir, auf LOW gehen sie an.
steveLB
genau das war es der Vorwiderstand. Es ist so ein Netzwerk, ein Bauteil 8 Widerstände, sollte eigentlich 150 ohm haben. Ich habe es jetzt mal mit einzelnen Widerständen -auch 150 ohm- gemacht und jetzt funktioniert es.
Trainmen
Ich habe es jetzt mal mit einzelnen Widerständen -auch 150 ohm- gemacht und jetzt funktioniert es.
Kleiner Hinweis:
Für Low-current LEDs (Strom 2-4mA) sind 150 Ohm Widerstände an 5V deutlich zu klein. Das werden die LEDs nicht lange überleben.
Richtig sind für diese LEDs in 5V-Digitalschaltungen Vorwiderstände zwischen 750 Ohm und 1,5 kOhm. Ich habe mit 1,2 kOhm gute Erfahrungen gemacht.
Gruß Dirk
TrainMen
09.07.2009, 13:50
Hi,
richtig, jetzt wo Du es es schreibst fällt es mir auch auf, eigentlich sollte es ein LED Array mit 8 LED (2V,20mA) und diesem Widerstandsnetzwerk sein, nur da es nicht funktionierte wie ich wollte, hatte ich auf einem Steckbrett mal alles probiert nur jetzt nahm ich einzelne LowCurrent LEDs aber den selben Widerstand. Naja mit den Gedanken war ich wohl woanders. Danke für den Hinweis, aber spätestens auf der Platine wäre es wieder richtig.
Trainmen
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.