Fragen zu meinem ersten Projekt / Stromverbrauch / Pullup Widerstand

Moin,

vorab eine kurze Warnung: Hier werdet ihr vorwiegend sehr einfache, triviale Fragen finden. Wer sich eine Experten Diskussion erhoft, der sollte hier aufhören zu lesen :grin:

Kurze Beschreibung des Projektes:

1x Arduino Uno r.3
1x RTC breakout DS1307
1x LCD I2C/TWI LCD2004 Module [DFR0154] - 22.36EUR : komputer.de, Arduino Open Source Hardware
1x DHT22 DHT22 / AM2302 Temperatur und Feuchtigkeitssensor Original [KP03004] - 5.50EUR : komputer.de, Arduino Open Source Hardware
1x SD breakout http://www.komputer.de/zen/index.php?main_page=product_info&cPath=22&products_id=122

Gewünschte Funktionen kurz zusammengefasst:

  • temp. + luftfeuchte messen und anzeigen auf LCD
  • in einem definierten zyklus erfasste Daten als .txt auf SD speichern
  • steuerung von Ultraschall-luftbefeuchter mittels relais

Nun zu meinen Fragen:

  1. Ich hab gelesen das es empfehlenswert sei, einen pull-up widerstand (10k) sobald daten über eine Leitung übertragen werden, zu benutzen. So ganz hab ich zwar noch nicht verstanden wie das funkioniert, aber der Sinn (Spannung auf high bzw low zu halten) ist glaube ich klar geworden. Da ich ja zwei I2C module (RTC + LCD) in "Reihe" (kann man das in diesem kontext so sagen?) geschaltet hab, stellt sich mir nun die Frage ob ich zwei zusätzliche pull-up widerstände zwischen die beiden Module legen muss.

  2. Thema Stromversorgung; Laut herstellerangaben bzw. datenblatt verbrauchen:

1,5mA DHT22

RTC hab ich nichts gefunden, aber ist wohl so gering das es zu vernachlässigen ist

Leider konnte ich auch keine Aussagen über den durchschnittlichen Verbrauch so eines LCD modules finden. Hab da auch keine Erfahrung um mehr oder weniger richtig zu schätzen.

SD module; Hier hat mir google einen max. wert von 100mA beim schreiben ausgeworfen. Wenn ich nun also alle Teile zusammen nur über USB versorge, dürfte das eigentlich nicht stabil laufen oder? Und was kann schlimmstenfalls passieren?

Bisher hatte ich, wie auf dem Bild unten zu sehen, alles ohne das SD modul am laufen. Das SD module alleine lief auch ohne Probleme. Nur hab ich jetzt ein wenig Angst :blush: alles auf mal zu testen.
Sollte ich mir lieber zB sowas bestellen? http://www.elv.de/mean-well-hutschienennetzteil-dr-15-5-5v.html
Das ganze soll nähmlich später über 230AC Strom versorgt werden.

liebe Grüße aus Hamburg,

Christian

  1. bezogen auf I2C Bus:
    Die Ausgänge er I2C bausteine sind open Collektor Ausgänge. Der Ausgang kann nur auf Masse gezogen werden. Damit er auf H kommt wirden die 2 Leitungen je mit einem Widerstand mit dem + Pol der Versorgungsspannung verbunden. Die WIRE-Bibiothek aktiviert den internen Pullup-Widerstand. Dieser ist 20 bis 50kOhm groß. Für längere Leitungen oder mehrere Bausteine am I2C braucht es kleinere Werte. Da sind 4,7kOhm Widerstände angebracht.

  2. Der größte Stromverbraucher ist die Hintergrundbeleuchtung des LCD. Leider hab ich keine Angaben dazu gefunden. Ein Blau-weißes Display kommt nicht ohne Hintergrundbeleuchtung aus. Grün-Schwarze Displays sieht man auch ohne Hintergrundbeleuchtung. Das PCA8574 kannst Du Dir auch selbst bauen. Stromverbrauch: einige mA das Display und 100 bis 350mA die Hintergrundbeleuchtung (ja nach Modell)

DS1307 der Stromvebrauch steht im Datenblatt. 1,5mA bei 5V (0,5µA in Batteriebetrieb ohne Versorgungspannung)

Ohne Hintergrundbeleuchtung funktioniert alles über Stromversorgung durch USB. Die Hintergrundbeleuchtung ist zu schauen.

Der Arduino hat eine 500mA Sicherung nach dem USB-Stecker. Das gleiche hat der PC. Du reskierst nichts auch wenn Du zuviele Strom ziehen würdest. Symptome eines Spannungszusammenbruchs wegen zuviel Strom sind: Resetieren des Arduino; Irgendwelche unspezifische und unerklärliche Fehlfunktionen; PWR LEd wird schwächer.

Netzteil: kommt darauf an wo Du dein Projekt montierst. Ein 5V Schaltnetzteil mit USB stecker geht auch.

Grüße Uwe

uwefed:
... Der Ausgang kann nur auf Masse gezogen werden. Damit er auf H kommt wirden die 2 Leitungen je mit einem Widerstand mit dem + Pol der Versorgungsspannung verbunden. Die WIRE-Bibiothek aktiviert den internen Pullup-Widerstand. Dieser ist 20 bis 50kOhm groß.

Bedeutet das wenn ich die WIRE library deaktiviere und keine externen Widerstände anbringe, die datenübertragung fehlerhaft ist?

Für längere Leitungen oder mehrere Bausteine am I2C braucht es kleinere Werte. Da sind 4,7kOhm Widerstände angebracht.

Also in meinem Fall, bei einer gesamtlänge der kabel von ca. 40cm und dem Aufbau: Arduino --> RTC --> LCD - bedeutet das, dass ich die WIRE library deaktiviere (weil zu hoher interne widerstand) und extern 4,7kOhm Widerstände verwende?

wenn dann nur zwischen dem ersten Modul und Arduino, also: Arduino --> 4,7k pullup --> RTC --> LCD ?

oder

zwischen beide module, also: Arduino --> 4,7k --> RTC --> 4,7k --> LCD ?

oder keins von beidem? :smiley:

  1. Der größte Stromverbraucher ist die Hintergrundbeleuchtung des LCD. Leider hab ich keine Angaben dazu gefunden. Ein Blau-weißes Display kommt nicht ohne Hintergrundbeleuchtung aus. Grün-Schwarze Displays sieht man auch ohne Hintergrundbeleuchtung. Das PCA8574 kannst Du Dir auch selbst bauen. Stromverbrauch: einige mA das Display und 100 bis 350mA die Hintergrundbeleuchtung (ja nach Modell)

DS1307 der Stromvebrauch steht im Datenblatt. 1,5mA bei 5V (0,5µA in Batteriebetrieb ohne Versorgungspannung)

Ohne Hintergrundbeleuchtung funktioniert alles über Stromversorgung durch USB. Die Hintergrundbeleuchtung ist zu schauen.

Der Arduino hat eine 500mA Sicherung nach dem USB-Stecker. Das gleiche hat der PC. Du reskierst nichts auch wenn Du zuviele Strom ziehen würdest. Symptome eines Spannungszusammenbruchs wegen zuviel Strom sind: Resetieren des Arduino; Irgendwelche unspezifische und unerklärliche Fehlfunktionen; PWR LEd wird schwächer.

Netzteil: kommt darauf an wo Du dein Projekt montierst. Ein 5V Schaltnetzteil mit USB stecker geht auch.

Grüße Uwe

Die 500mA Sicherung beim Arduino ist HINTER dem USB anschluss? Also haben die anderen Spannungsanschlüsse mehr durchlass?
Wie hoch ist denn der 2.1 klinkenbuchsen Anschluss abgesichert?
bzw. wieviel leistet der Arduino eigentlich maximal mit entsprechender Spannungsversorgung?

GRüße

I2C
Die Wire Bibliothek steuert den Hardware implementierten I2C Bus an. Es hat keinen Sinn sie nicht zu verwenden. Bei zu langen Datenleitungen und zu großen Pullupwiderständen funktioniert der Bus nicht. Der externe Pullupwiderstand wird zum internen paralellgeschaltet und darum braucht der interne nicht deaktiviert werden. Wo der Pullupwiderstand angebracht wird ist bei der verwendeten Übertragungsgeschwindigkeit egal. Bei höheren Frequenzen müßte die Hälfte am Anfang und die andere Hälfte des Pullupwiderstandes am ende des Busses sein.

Sicherung:
Gleich nach der USBbuchse ist die 500mA Sicherung. Du kannst den Arduino auch über die GND und 5V pins mit Strom versorgen. Da hat es aber keinen Sinn die anderen Verbraucher über Arduino zu versorgen sondern man versorgt alle vom Netzteil/Batterie aus. Die Netzteilbuchse hat eine Diode und einen Spannunsstabilisator nachgeschaltet. Die verwendete Diode hält 1A aus. Der Spannungsstabilisator verheizt die Differenzleistung ( Eingangspannung minus 5V mal Strom) in Wärme und erhizt sich. Zu hohe Werte verbrennen auf Dauer die Platine. Dazu ist es besser Arduino mit 5V zu betreiben wenn man keine Verbraucher hat die mehr Spannung brauchen.
Den Stromverbrauch des Displays kannst Du ja messen.
Grüße Uwe

Vielen Dank Uwe, das war sehr lehrreich für mich.

Kurz noch zur Stromversorgung;
Wenn ich den Arduino über den 5V pin fütter und die anderen Module direkt an die Stromquelle klemme, muss diese natürlich stabilisiert sein, nehme ich an. Also würde das hutschinenen Netzteil was ich im Eingangspost verlinkt habe theoretisch ausreichen oder?

Grüße,

Christian