Probleme mit I²C Bus wenn Arduino an externer Stromquelle

Danke für deine Hilfe!
Wir werden das am Wochenende überprüfen.

Danach Berichte ich, ob das die Lösung des Problems war oder nicht.
Hoffen wir das Beste :wink:

Gruß,
LL

So, wir haben nun verschiedene Sachen ausprobiert:
Masse zusammen, Masse getrennt, anderes Netzteil (230V auf 5V Adapter) und 230V zu USB 5V Adapter.

Hat alles nichts genutzt, der I2C-Bus wollte nicht.

Da mit dem 230V auf USB 5V Adapter die LEDs ab und zu angegangen sind (komplett willkürlich) und der Arduino Mega 2560 von 5V-20V ausgeschrieben ist haben wir mal 12V vom PC Netzteil an die externe Stromquelle angeschlossen. Dies brachte den I2C-Bus zum laufen. Also ist das Problem GELÖST!

Der I2C-Bus bekommt nun mehr Spannung. Als 5V am Arduino angeschlossen waren, hatte der I2C-Bus 5,29V vom Netzteil bekommen. Mit 12V am externem Stromanschluss des Arduinos bekommt der I2C-Bus nun 5,49V.

Warum die Spannung steigt und warum der I2C-Bus deswegen funktioniert kann ich an dieser Stelle nicht sagen. Ich hoffe nur, dass die LED`s die für 5V mit entsprechenden Vorwiderständen eingebaut wurden die Spannung von 5,49V überstehen .

Grüße

Looping Louie Projektteam 8)

Die LED überleben das sicher, Ich habe bei einer solchen Spannung mehr Angst um den ATmega da dieser max für 5,5V spezifiziert ist.

Bist Du sicher daß Dein Meßgerät nicht etwas zuviel mißt?

Grüße Uwe

hi,

hab' ich da jetzt was überlesen oder hattet Ihr ein 5V-netzteil an der buchse des arduino für die externe stromversorgung hängen? also 5V an der runden buchse? das kann nicht gehen...
auch an Vin sind 5V zu wenig. das müssen 7-12V sein...

wenn Ihr ein netzteil habt, das zuverlässig 5V liefert, könnt Ihr es an den 5V-pin des mega anschliessen.

gruß stefan

uwefed:
Ich habe bei einer solchen Spannung mehr Angst um den ATmega da dieser max für 5,5V spezifiziert ist.

Hi Uwe,
Was meinst du damit? Wie Eisbaer schreibt, haben auch wir gelesen, dass an der runden Buchse zwischen 7V-12V (sogar von 20V war die Rede) anzubringen sind.

Eisebaer:
hab' ich da jetzt was überlesen oder hattet Ihr ein 5V-netzteil an der buchse des arduino für die externe stromversorgung hängen? also 5V an der runden buchse? das kann nicht gehen...
auch an Vin sind 5V zu wenig. das müssen 7-12V sein...

Hi Stefan,
ja, wir hatten 5V an der runden Buchse angelegt. Nun sind es 12V und es klappt.
Wir wundern uns allerdings warum es mit USB Stromversorgung, die ja auch nur 5V liefert, geklappt hat und die 5V ausm Netzteil zu wenig waren.

Sorry, ich bin ja auch noch Neuling. Aber in meinen aktuellen Projekt adaptiere ich alles über den i2c-Bus und es klappt einwandfrei auch bei einer Spannung von 4.98 V.

  1. sicherlich müssen die Massen alle zusammengeschlossen werden.
  2. Sind auch die notwendigen PullUp-Wiederstände bei den Anschlüssen SCL/SDA vorhanden?
  3. Für die Ansteuerung der LED's sind doch noch zusätzliche Bauteile notwendig wie PCF8574 (nutze ich zurzeit).
  4. Ist die Leistung der separaten Spannungsversorgung für den i2c ausreichend?

LoopingLouie:

uwefed:
Ich habe bei einer solchen Spannung mehr Angst um den ATmega da dieser max für 5,5V spezifiziert ist.

Hi Uwe,
Was meinst du damit? Wie Eisbaer schreibt, haben auch wir gelesen, dass an der runden Buchse zwischen 7V-12V (sogar von 20V war die Rede) anzubringen sind.

Das ist die max Versorgungsspannung des ATmega328 Kontroller (des nackten ICs).

Hi Stefan,
ja, wir hatten 5V an der runden Buchse angelegt. Nun sind es 12V und es klappt.
Wir wundern uns allerdings warum es mit USB Stromversorgung, die ja auch nur 5V liefert, geklappt hat und die 5V ausm Netzteil zu wenig waren.

Der Spannungstabilisator und die Schutzdiode verlieren ca 2V zusammen. Bei solchen Versorgungsspannungen zum Teil außerhalb der Spezifikation einiger Bauteile ist schwer die Reaktionen vorherzusagen.
Grüße Uwe

hi,

es gab hier ein riesenverständigungsproblem. einfach deshalb, weil keiner damit rechnet, daß Ihr ein solches, doch recht beachtliches projekt mit "falsch" angeschlossenem arduino geschafft habt. uwe meinte, Ihr hättet die 12V an den 5V-eingang des arduino angeschlossen, deswegen die angst um den controller.
wenn Ihr über die runde buchse oder Vin versorgt, müssen es mindestens 7V sein, der rest wird verbraten. 5V-pin und USB gehen direkt ohne spannungswandler und diode rein, dort gibt's keinen verlust, aber risiko bei verpolung oder zuviel spannung.
wenn Ihr mit einem 5V-netzteil über den 5V-pin versorgt, muß es ein gutes netzteil sein, viele brechen unter last dann auf 3-3,5V ein.

gruß stefan

Eisebaer:
hi,
es gab hier ein riesenverständigungsproblem. einfach deshalb, weil keiner damit rechnet, daß Ihr ein solches, doch recht beachtliches projekt mit "falsch" angeschlossenem arduino geschafft habt. uwe meinte, Ihr hättet die 12V an den 5V-eingang des arduino angeschlossen, deswegen die angst um den controller.

Nee, Stefan, das hatte ich nicht befürchtet. Das Verständnisproblem liegt zwischen uns beiden :wink: :wink: :wink:

Ich habe umgekeht befürchtet (5V in die Netzteilbuchse). Da wird nichts kaput aber funktioniert auch nicht so richtig.

Grüße Uwe

uwe, uwe, wie kann's ein verständigungsproblem zwischen südtirol und österreich geben``
wir sind doch lei oans. :stuck_out_tongue:
gruß nach bozen, stefan

Manchmal geschehen komische und nicht zu erklärende Dinge. :wink: :wink: :wink:

Ahhhhh, ihr verwirrt uns total :slight_smile:

Also nochmal: Wir haben im Moment 12V an der Runden Strombuchse (rechts neben dem USB Eingang).
Ist das nun gefährlich für den Arduino Mega oder nicht (ist der AT Mega davon betroffen)?
Auf: http://arduino.cc/en/Main/ArduinoBoardMega steht folgendes:

Operating Voltage: 5V
Input Voltage (recommended): 7-12V
Input Voltage (limits): 6-20V

Somit müssten wir mit unseren 12V doch im sicheren Bereich liegen oder?
Zumindest funktioniert so alles einwandfrei. (noch)

Eisebaer:
weil keiner damit rechnet, daß Ihr ein solches, doch recht beachtliches projekt mit "falsch" angeschlossenem arduino geschafft habt.

  1. Danke ^^
  2. Meinst du "ursprünglich falsch angeschlossen" (also mit 5V in Buchse) oder "immernoch falsch angeschlossen" (also mittlerweile mit 12V in Buchse)

mcGeorge:
2. Sind auch die notwendigen PullUp-Wiederstände bei den Anschlüssen SCL/SDA vorhanden?
3. Für die Ansteuerung der LED's sind doch noch zusätzliche Bauteile notwendig wie PCF8574 (nutze ich zurzeit).
4. Ist die Leistung der separaten Spannungsversorgung für den i2c ausreichend?

Hi mcGeorge,
zu 2.: meinst du damit, ob wir die Pins in der Software auf "High" gesetzt haben oder Hardware Widerstände?
zu 3.: Wir benutzen ebenfalls PCF8574 :slight_smile:
zu 4.: Vorher warens 5,29V am i2c, mittlerweile (nach Erhöhung der Spannung an der Arduino Buchse) 5,49V

Viele Grüße
LoopingLouie Team :stuck_out_tongue:

hi,

12V in buchse ist schon in ordnung. je nachdem, wieviel strom Ihr zieht, kann das kleine, flach hingelegte dreibein neben der buchse bei 12V recht warm werden. wenn Ihr dem was gutes tun wollt, pappt einen passenden kühler oben drauf. ist nicht tragisch, aber mir als nicht-elektroniker sind heisse bauteile suspekt.

gruß stefan

Hi LoopingLouie Team,

  1. Sind auch die notwendigen PullUp-Wiederstände bei den Anschlüssen SCL/SDA vorhanden?
    zu 2.: meinst du damit, ob wir die Pins in der Software auf "High" gesetzt haben oder Hardware Widerstände?

Also, Ihr habt doch die SCL und SDL Anschlüsse des PCF8574 an den dafür vorgesehenen Anschlüssen des Arduion (Port 20/21) angeschlossen. Diese beiden Leitungen benötigen je einen separaten PullUp-Wiederstand (i.d.R. 10K) gegen 5V+.
(siehe angefügte Grafik)

Vorher warens 5,29V am i2c, mittlerweile (nach Erhöhung der Spannung an der Arduino Buchse) 5,49V
Zum Thema Spannung:
Das folgende steht im originalen Datenbaltt: DC CHARACTERISTICS: VDD = 2.5 to 6 V
-Das heißt erst mal, dass in diesem Bereich der Baustein ordentlich arbeitet (zwischen 2,5 und 6 Volt)
Eine Veränderung von 0,2 Volt sollte normalerweise nicht über die einwandfreie Funktion entscheiden.

sy. mcGeorge

pcf8574.png

Vorher warens 5,29V am i2c, mittlerweile (nach Erhöhung der Spannung an der Arduino Buchse) 5,49V

Es ist nicht richtig, daß der Spannungstabilisator auf dem Arduino UNO die Ausgangspannung ändert je nach Versorgungspannung. Da ist etwas faul.

Das folgende steht im originalen Datenbaltt: DC CHARACTERISTICS: VDD = 2.5 to 6 V
-Das heißt erst mal, dass in diesem Bereich der Baustein ordentlich arbeitet (zwischen 2,5 und 6 Volt)

Nein da irrst Du Dich. Der Arduino UNO hat den Controller ATmega328P-PU http://www.atmel.com/Images/doc8161.pdf

in diesem Datenblatt steht:
Operating Voltage: 1.8 - 5.5V for ATmega48PA/88PA/168PA/328P (Betriebsspannung)

Maximum Operating Voltage ............................................ 6.0V (maximale Spannung die das IC verträgt ohne kaputt zu gehen).

Grüße Uwe

Eisebaer:
12V in buchse ist schon in ordnung. je nachdem, wieviel strom Ihr zieht, kann das kleine, flach hingelegte dreibein neben der buchse bei 12V recht warm werden. wenn Ihr dem was gutes tun wollt, pappt einen passenden kühler oben drauf. ist nicht tragisch, aber mir als nicht-elektroniker sind heisse bauteile suspekt.

Gut zu wissen, danke!

uwefed:
Es ist nicht richtig, daß der Spannungstabilisator auf dem Arduino UNO die Ausgangspannung ändert je nach Versorgungspannung. Da ist etwas faul.

Da der I2C ja vom selben Netzteil wie der Arduino Mega betrieben wird und beide vorher an dem 5V Ausgang des Netzteils hingen, muss es doch nicht am Spannungstabilisator des Arduinos hängen oder irre ich mich da?
Denn nun hängen beide zwar noch am selben Netzteil allerdings an unterschiedlichen Ausgängen. Arduino Buchse an 12V Ausgang und I2C an 5V Ausgang. Kann sich die leichte Spannungssteigerung am I2C vllt dadurch erklären, weil nun weniger Verbraucher am 5V Ausgang hängen?

mcGeorge:
Also, Ihr habt doch die SCL und SDL Anschlüsse des PCF8574 an den dafür vorgesehenen Anschlüssen des Arduion (Port 20/21) angeschlossen. Diese beiden Leitungen benötigen je einen separaten PullUp-Wiederstand (i.d.R. 10K) gegen 5V+.
(siehe angefügte Grafik)

Danke für deine Antwort. Ja richtig, habens an SCL und SDL angeschlossen. Ob wir die PullUp-Widerstände verbaut haben muss ich meinen Kollegen fragen, der hat sich um die I2C Hardware gekümmert.
Ich vermute einfach dass es nicht am I2C selbst lag sondern einfach daran, dass der Arduino mit zu wenig Spannung versorgt wurde und somit evtl. den SCL und SDL Anschluss nicht richtig ansteuern konnte.

Danke für eure Hilfe,
LL Team

uwefed:

Das folgende steht im originalen Datenbaltt: DC CHARACTERISTICS: VDD = 2.5 to 6 V
-Das heißt erst mal, dass in diesem Bereich der Baustein ordentlich arbeitet (zwischen 2,5 und 6 Volt)

Nein da irrst Du Dich. Der Arduino UNO hat den Controller ATmega328P-PU http://www.atmel.com/Images/doc8161.pdf

in diesem Datenblatt steht:
Operating Voltage: 1.8 - 5.5V for ATmega48PA/88PA/168PA/328P (Betriebsspannung)

Maximum Operating Voltage ............................................ 6.0V (maximale Spannung die das IC verträgt ohne kaputt zu gehen).

Grüße Uwe

Hallo Uwe, ich habe mich da auf den PCF8574 bezogen und nicht auf das Arduino-Board, war wohl nicht so ersichtlich.

Was ich auch damit auch zum Audruck bringen wollte, ist dass ich eine zu geringe Spannung als Ursache für das Fehlverhalten am i2c-Bus für unwahrscheinlich halte. Aber, man wird mit jeden Satz hier schlauer: Wenn ich das jetzt richtig verstanden habe, wird hier ein Netzteil verwendet, das sowohl einen 5V als auch einen 12V Ausgang hat. Die 12V sind nun am Arduino Klinkenstecker angelegt und die 5V an den i2c-bus und die Massen von 12V und 5V sind wahrscheinlich schon im Netzeil zusammengeschaltet.

Die lastabhängigen Spannungsschwankungen auf der 5V Seite sind doch eher eine Sache der Netzteilqualität. Oder?

Ja, da haben wir uns falsch verstanden. :wink: :wink:

Die lastabhängigen Spannungsschwankungen auf der 5V Seite sind doch eher eine Sache der Netzteilqualität. Oder?

Spannungsschwankungen dürfte es bis zum Nennstrom nicht geben.

5V/12V dünkt mich nach einem Netzteil für eine Externe HD. Switchingnetzteile sind nicht alle dafür ausgelegt unbelastet zu funktionieren. Ein solches Netzteil könnte (bin mir nicht sicher) eine Grundlast brauchen damit es richtig funktioniert. Für ein ATX-Netzteil weiß ich das sicher.

Grüße Uwe

Oh ich dachte ich hätte das bereits erwähnt.

Wir verwenden ein PC-Netzteil, welches wir in unseren Spielbrettkasten eingebaut haben.

Wie schon gesagt: PC-Netzteile brauchen definitiv eine Mindestlast um korrekt zu funktionieren. Falls diese Last nicht vorhanden ist ist der Regelkreis des ControllerICs bzw des Schalttransistors zu langsam um so kleine Leistungen (unterhalb eines Watts) korrekt zu regeln. Daraus resultieren Spannungsswankungen bis hin zum Ansprechen des Überspannungschutzes (Tyristor der die 5V kurzschließt).
Schließt eine Mindestlast von 1A an der 5V schiene an.
Grüße Uwe