Hallo an alle, ich mochte einen Sensor mit I2C an einen ATmega168 anschließen. Problem: Der AVR arbeitet mit 5.3V, der Sensor mit max. 3.6V. Damit ist eine Pegelanpassung erforderlich, oder gibt es einen speziellen "low volt" modus im I2C ? Welchen Baustein kann ich zur Anpassung verwenden ? Danke Stefan
Da der high level bei I2C nicht vom AVR sondern vom Pullup-Widerstand bestimmt wird, und 3,5V dem AVR für high level Erkennung ausreichen, wäre der einfachste Ansatz, die beiden Pullups wie auch den Sensor mit 3,5V zu versorgen. Da allerdings die Pegelerkennung im AVR dann etwas länger dauert, sollten die Kabel kurz sein, oder die Taktrate niedriger. Edit: Ok, wenn der AVR mit 5,3 statt 5,0 arbeitet, sind es offiziell 3,7V statt 3,5V. Dürfte aber trotzdem funktioneren.
Danke euch für die Antworten, Ich werde dann wohl einen Pegelwandler einbauen. obwohl....... @ Andreas : Du hast zu scharf kalkuliert 5.3V * 0.7 = 3.71V Bei Vcc Sensor von 3.6 V --> nicht high ! Schade eigentlich, wäre die einfachste Lösung. Ich überlege nochmal ob ich die Referenz des Sensers (Massenbezug) evtl. um 1V anhebe und darauf bezogen den Sensor mit 3.6V versorge. Dann habe ich: low : 1v < 0.3*5.3=1.59 high: 4.6V > 3.71 Je nach Stromverbrauch des Sensors kann ja schon eine Spannungsteilerschaltung funktionieren. Ansonsten Spannungsregler in der Größenordnung. Gruß Stefan
Wenns eine Serie ist, verwende Pegelwandler. Wenn Einzelstück, dann probier's mit 3,5V einfach mal aus.
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.