Go Down

Topic: Problem mit 200 mA-Beschränkung des Mega (Read 3817 times) previous topic - next topic

michael--g

Guten Abend,

endlich konnte ich nach einigen Tagen Pause mit dem Projekt weitermachen - und hier ist eine Lösung meines Schwankungsproblems!
LM35 sind die Sensoren, einige Meter vom Arduino entfernt. Ohne viele Worte zu verlieren: Glücklich, wer das Datenblatt lesen kann (ich war zuerst wegen der guten und "glatten" Ergebnisse in der Nähe des Arduino davon aisgegangen, dass ich nicht mehr an in der Richtung lesen/machen muss, vgl . Datenblatt des LM35, Fig 4., bei mir allerdings ohne Widerstand, wird glatter). Ein Kondensator zwischen Messleitung und GND wirkt Wunder!

Vielen Dank für Eure Beiträge. Auch wenn sie nicht einschlägig waren, habe ich daran viel gelernt!

Eine Frage hätte ich noch. SDL und SCA des I2C-Busses gehen auch über ziemlich lange Leitungen. Gibt es neben dem I2C-Extender noch eine andere Möglichkeit, Störeinflüsse wie bei meinem LM35 gesehen, zu reduzieren (das LCD Display prodziert manchmal seltsame (Sondern-) Zeichen).

Grüße
Michael

pylon

Einen I2C-Bus solltest Du tunlichst unter 1m halten. Kannst oder willst Du das nicht, gibt es noch die Möglichkeit, die Geschwindigkeit zu reduzieren, was die Störanfälligkeit heruntersetzt (der kapazitive Einfluss sinkt, die Flanken haben mehr Zeit, einen vernünftigen Wert zu erreichen).

Bei längeren Leitungen würde ich die Verwendung eines RS485-Busses vorschlagen, dem sollten auch einige Dutzend Meter nichts anhaben können.

michael--g

Hallo Pylon,

danke für Deinen Hinweis. Ein paar Meter sind es bei mir schon - diese kann ich nicht überbrücken. Da mein "Sonderzeichenproblem" selten und unregelmäßig auftaucht, wäre ich für die Busgeschwindigkeit-Lösung.
Hast Du bitte einen Tipp, wo ich nachlesen kann, wie das bewerkstelligt wird?

Viele Grüße
Michael

pylon


michael--g

Guten Morgen,

danke für den Tipp und Link. Ich habe die Geschwindigkeit auf die Hälfte heruntergesetzt, mal sehen, ob das signifikante Besserung bringt. Ich berichte.

Grüße
Michael

michael--g

Guten Abend,

vorweg: die Geschwindigkeit herabzusetzen war eine gute Idee, hat aber an meinem Problem nichts geändert :-/

Es ist unglaublich, was einem so auf dem Weg zum hoffentlch einmal perfekten Sketch begegnet.
Bei der Anstreuerung des i2c-LCD-Display habe ich nach langem Suchen einen weiteren Fehler gefunden, der das Kaulderwelsch auf dem LCD produziert haben könnte: lcd.init() muss nach dem wire.begin() stehen. Steht so in der library irgendwo. Sollte man also auch lesen. (Trotzdem stürzt das LCD regelmäßig ab - aber ich find's noch!)

Man lernt nie aus und niemals aufgeben.

Ist die Herabsetzung der Geschwindigkeit (des Taktes) beim I2C auch mit der Reduzierung der Rechengeschwindigkeit des Prozessors verbunden? Müsste so sein, oder?

Herzliche Grüße
Michael

pylon

Quote
Ist die Herabsetzung der Geschwindigkeit (des Taktes) beim I2C auch mit der Reduzierung der Rechengeschwindigkeit des Prozessors verbunden? Müsste so sein, oder?


Nein, der Takt für den I2C-Bus wird durch eine Frequenzteilung aus dem Systemtakt gewonnen, der Haupttakt muss deswegen nicht heruntergesetzt werden.

Go Up