Forum: Mikrocontroller und Digitale Elektronik Wie LM75 an AVR anschließen ?


von Sabine (Gast)


Lesenswert?

@all

ich möchte einen LM75 via I2C an einen ATmega8 anschliessen.
- ja, Frauen können sowas auch -
Ich habe mich etwas belesen, und bin etwas irritiert über die teils
widersprüchlichen Aussagen bez. der Pull-up Widerstände.
Deshalb hier meine Fragen:

1. Müssen diese Widerstände sein ?
2. Wenn ja, wie hoch muss der Widerstand sein ?
3. Müssen beide (SCL,SDA) mit einem Pull-up versehen werden ?

Gruß, Sabine

von Michael (Gast)


Lesenswert?

Diese Widerstände müssen bei beiden Signalleitungen sein, es handelt
sich dabei um sogenannte Pullup Widerstände, die den Pegel der
Signalleitungen auf Versorgungsspannungspegel hochziehen. Der Wert der
Widerstände ist relativ unkritisch, 10kOhm ist ein üblicher Wert.

von Bobby McFerrin (Gast)


Lesenswert?

@Sabine
Frauen dürfen das auch!!!

1. Ja
2. Der Wert, der mir am häufigsten über den Weg läuft ist 4k7
3. Ja

Nachtrag zu 2.
Ist im allgemeinen unkritisch. Jedoch bei hohen Frequenzen solltest du
möglichst niedrige Werte benutzen. Wenn du mehr erfahren möchtest, dann
lies dir z.B. App Notes von Maxim zum I2C Bus durch. Da bekommst du dann
Informationen aus erster Hand und musst dir nicht das dumme Gelaber
anhören und die Besserwisserei von irgendwelchen Forenteilnehmern über
dich ergehen lassen.

P.s.: Der ATMega8 kann I2C hardwaremäßig, das nennt sich bei Atmel
jedoch TWI (Two Wire Interface). Schau dir mal die Pins PC4 und PC5 an.

Wenn du mit CodeVision programmierst, kannst du die I2C Befehle auf
Hochsprachenebene ausführen, also i2c_read oder so ähnlich. Für ander
Compiler wirst du sicherlich libraries finden, also hier an diesem
Punkt bitte nicht das Rad neu erfinden.

In diesem Sinne viel Spaß beim basteln/arbeiten und vor allem Erfolg.

von peter dannegger (Gast)


Lesenswert?

Wenn SCL beim LM75 nur ein Eingang ist, dann kann man den im AVR auch
als Gegentaktausgang ohne pullup definieren (bei Software-I2C).

SDA braucht aber in jedem Fall einen. Da I2C nur für max 3mA
spezifiziert ist, sollte der Pullup nicht unter 1,8k sein.


Für Single-Master I2C ist Software-I2C zu bevorzugen, da einfacher und
sicherer.

Besonders bei langen Leitungen kann sich ein HW-I2C durch Störungen
verklemmen und dann wartet man ewig auf den Interrupt. Für ein
zuverlässiges HW-I2C muß man daher immer einen Watchdog-Timer
aufsetzen, der dann das HW-I2C resettet (disablen + neu
initialisieren).

Einige MCs haben daher gleich einen Watchdog-Timer ins HW-I2C mit
eingebaut, der bei I2C-Aktivitäten automatisch resettet wird. Der AVR
aber leider nicht.


Peter

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
Noch kein Account? Hier anmelden.