Go Down

Topic: Kleinen Leuchtturm für meinen Gartenteich mit dem Arduino steuern (Read 9697 times) previous topic - next topic

malerlein

Danke michael_x

Dann werde ich gleich einmal in die Stadt fahren mir ein paar Schotty`s holen, ich dachte nur es würde auch mit einer Leuchtdiode gehen, aber jetzt habe ich den L-Türm noch auseinander dann möchte ich es auch richtig machen.

l.G.Jürgen
l.G.Jürgen

Verzeihe Deinen Feinden, aber vergesse nie Ihren Namen.

Serenifly

Jeden Tag um die gleiche Zeit ist nicht so toll, da sich ja die Sonnnen-Untergangszeit übers Jahr ändert. Das kann man aber einfach berechnen:
http://lexikon.astronomie.info/zeitgleichung/

Man kann das auch vorher ausrechnen und in einer Tabelle eintragen.

uwefed


Rechnerisch nicht zu beanstanden.  :D
...
Mit einem gängigen und preiswerterem 2200mA NiMh Akku-Pack würde er also 4 Tage sicherlich laufen.
Auch bei schlechtem Wetter und nur wenig Sonneneinstrahlung wird das Solar-Panel wohl min. um die 100mAh bringen - und das ein paar Stunden lang.
Ergo: Auch ein 1000mAh Akku würde es dauerhaft tun.
...
Überladen wird das Panel den Akku nicht.

Ich habe zu beanstanden.
Ein voller Akku ist leicht über den nominellen 7,2. bei 1,4-1,6V pro Zelle sind das bei 6 Zellen  8,4 bis 9,6V unddamit die Verlustleistung größer.

Das Solarmodul bringt max 450mA. Für einen 1000mAh oder 2000mAh Akku ist das entschieden zuviel wenn er voll ist. Ein 45000mAh oder größerer Akku steckt 450mA Dauerladestrom weg.

Das Solarmodul ist praktisch eine Diode. Ich weiß nicht wieviel Sperrstom fließt. Es könnte Sein daß eine skotkydiode in serie nicht notwendig ist.

Grüße Uwe

uwefed


Jeden Tag um die gleiche Zeit ist nicht so toll, da sich ja die Sonnnen-Untergangszeit übers Jahr ändert.
...

Oder einen Fotowiderstand nehmen und die "Dämmerung" messen.
Grüße Uwe

malerlein

Uwe, das mit dem Fotowiderstand ist ja OK, nur da der Arduino mit der RTC und einem Empfängermodul sich die Zeit aus Frankfurt holt finde ich das es über die Zeitschaltung besser ist, Ich habe kein Problem mit Sommer und Winterzeit und ob er Leuchtturm wenn ich ihn Abends von 20 bis 1 UHR laufen lasse mal ne Stunde im Hellen läuft ist schon OK. Ich werde  noch eine Schotty Diode verbauen und eine Anzeige für den Luftverkehr (Rote Blink LED) dan reicht mir das für an meinem Teich. Aber Danke an alle die mir hier die Tipps gegeben haben  :)

l.G.Jürgen
l.G.Jürgen

Verzeihe Deinen Feinden, aber vergesse nie Ihren Namen.

TERWI

@Uwe
Ich hab da auch was zu beanstanden....  :D

Ein Solarpanel (egal welche Größe) wird i.d.R. betreff seiner maximalen Leistung bei Einstahlung von 1000W/m² angegeben.
Dazu muss es auch noch "passig" zur Lichtquelle ausgerichtet sein.
Eine derartige Strahlungsleistung der Sonne erreichen wir in unserer D-Gegend ganrantiert nie.
(Nicht verwechseln mit durchschnittlicher Globalstrahlung pro Jahr in kWh/m² !)
Auch bezweifle ich, das Jürgen eine Nachführung geplant hat, die immer den optimalen Winkel vom Panel zur Sonne hält.
(... sicher eine interssante Aufgabe für den MEGA, wenn der Leuchturmwärter nicht da ist)

D.h.: Wenn das Panel an einem Hochsommertag mit wolkenlosem Himmel optimal plaziert zu "high noon" vielleicht 250-300mA bringt, dann war's das aber auch.

Ebenso ist eine Solarzelle alles andere als eine optimale Spannungs- oder Stromquelle.
Will man ein Panel wirklich optimal nutzen, ist eine MPP-Regelung von Nöten.
Siehe: http://de.wikipedia.org/wiki/Maximum_Power_Point

Und nun mal ganz einfach dahergerechnet:
Jürgen hatte angegeben: Nennspannung = 7,5V , Nennstrom = 428mA , Leelaufspannung = 11V , Kurzschlussstrom = 450mA
Das ergäbe einen optimalen Ri von ca. 17,5 Ohm im MPP, ca. 25,5 Ohm im Kurzschlussfall !
Gehen wir mal vom schlechteren Wert aus.

Nun ist der Akku (rand-) voll. 6 Zellen mit 1,6V = 9,6V.
Gedachte Spannungsdifferenz zur Leerlaufspannung: 11- 9,6 = 1,4 V
Strom aus dem Modul bei Ri 24,5 Ohm: 1,4 / 25,5 = 55 mA - und das bitte wie gesagt bei maximaler Bestrahlung im Labor.
Effektiv vielleicht noch max. 45 mA an besagtem sonnigen Tag s.o.
Also max. ca. 1/48 C.

Ich glaube nicht, dass ein 2200 mA NiMh Akku da auch langfristig die Grätsche wegen Überladung macht.
.... ausserdem sind solche "Spitzenladungen" sicherlich eher selten.


To young to die - never to old for rock'n roll

malerlein

Ja Uwe, sehr selten, Unser Wohnwagen steht in Waltrop NRW, und der Sommer ist meist woanders  :)

l.G.Jürgen
l.G.Jürgen

Verzeihe Deinen Feinden, aber vergesse nie Ihren Namen.

malerlein

Hier einmal ein kleines Video von dem Leuchtturm, da stelle und teste ich gerade die Geschwindigkeit fürs Lauflicht ein.

http://www.vidup.de/v/874NT/

l.G.Jürgen
l.G.Jürgen

Verzeihe Deinen Feinden, aber vergesse nie Ihren Namen.

uwefed


Ja Uwe, sehr selten, Unser Wohnwagen steht in Waltrop NRW, und der Sommer ist meist woanders  :)
l.G.Jürgen

Ja, http://www.provinz.bz.it/wetter/wetterstationen.asp?stat_stid=100 , ich verstehe.
Grüße Uwe

malerlein

#24
Aug 29, 2013, 10:04 am Last Edit: Aug 29, 2013, 11:15 am by malerlein Reason: 1

Wenn du es nach Uhrzeit steuern willst, dann brauchst du keinen Fotowiderstand.
Hast du denn schon ein Uhrenmodul?
Falls nein, nimm nicht das DS1307, das geht fürchterlich falsch, sondern das DS3231. Das kostet auch nur 5€ und geht recht genau.


Ich habe den DS1307 und den Funkempfänger von Conrad an meinem Aquarium Controller auf dem Mega verbaut und habe keinerlei Probleme damit. Er holt sich die Zeit von Frankfurt und ich kann keine Abweichungen feststellen.

l.G.Jürgen
l.G.Jürgen

Verzeihe Deinen Feinden, aber vergesse nie Ihren Namen.

malerlein

So ich habe die Beleuchtung für den Leuchtturm mal etwas verändert, dur nachziehen der Dimmung kommt das Licht etwas weicher rüber.

http://www.vidup.de/v/vHrVz/


l.G.Jürgen
l.G.Jürgen

Verzeihe Deinen Feinden, aber vergesse nie Ihren Namen.

sschultewolter

#26
Aug 29, 2013, 04:10 pm Last Edit: Aug 29, 2013, 07:19 pm by sschultewolter Reason: 1
Finde jetzt nicht das es besser wurde. Wenn du aber schon von Dimmung sprichtst, gehe ich davon aus, dass du die PWM Kanäle nutzt.

Hab hier mal eine etwas abgewandelte Version meines Lauflichts.


Code: [Select]

// PWM Augänge zuordnen
// Bsp: led0 = 3;
const int led0 = 0;
const int led1 = 1;
const int led2 = 2;
const int led3 = 3;
const int led4 = 4;
const int led5 = 5;
const int led6 = 6;
const int led7 = 7;

int ledArray[] = {
  led0, led1, led2, led3, led4, led5, led6, led7, led0, led1, led2, led3};


void setup() {
  pinMode(ledArray[0], OUTPUT);
  pinMode(ledArray[1], OUTPUT);
  pinMode(ledArray[2], OUTPUT);
  pinMode(ledArray[3], OUTPUT);
  pinMode(ledArray[4], OUTPUT);
  pinMode(ledArray[5], OUTPUT);
  pinMode(ledArray[6], OUTPUT);
  pinMode(ledArray[7], OUTPUT);
}

void loop() {
  lauflicht(500); // Geht jede 200ms eine LED weiter
}

void lauflicht(unsigned long pause) {

  int x = 255;
  int y = 80;
  int z = 20;

  for(int i = 0; i <= 7; )
  {
    unsigned long aktuelleZeit = millis();
    static unsigned long vorherigeZeit;

    if(aktuelleZeit - vorherigeZeit > pause)
    {
      // Alle Ausgänge ausschalten
      for(int k = 0; k < 8; k++) {
        analogWrite(ledArray[k], 0);
      }

      // Neue Ausgänge einschalten
      analogWrite(ledArray[i], z);
      analogWrite(ledArray[i+1], y);
      analogWrite(ledArray[i+2], x);
      analogWrite(ledArray[i+3], y);
      analogWrite(ledArray[i+4], z);

      i++; 
      vorherigeZeit = aktuelleZeit;
    }
  }
}



Hab nochmal abgeändert. Kann gerade nur nicht selber testen.
Orginal Atmel AVRISP mkII zu verkaufen. Anfrage per PN ;)

malerlein

Danke ich probiere es nachher einmal aus  :)

l.G.jürgen
l.G.Jürgen

Verzeihe Deinen Feinden, aber vergesse nie Ihren Namen.

sschultewolter

#28
Aug 29, 2013, 08:45 pm Last Edit: Aug 29, 2013, 09:17 pm by sschultewolter Reason: 1
Hab nochmal ne kleine Änderung vorgenommen, meinen Mega ausgegraben und einfach mal angeschlossen. Sieht meiner Meinung nach hübscher aus. Code sollte sich auch mit deinem restlichen Code vertragen da auf delay() verzichtet wurde.

Code: [Select]
// PWM Augänge zuordnen
// Bsp: led0 = 2(2 = 1. PWM IO Pin Mega 2560)
const int led0 = 2;
const int led1 = 3;
const int led2 = 4;
const int led3 = 5;
const int led4 = 6;
const int led5 = 7;
const int led6 = 8;
const int led7 = 9;
int ledArray[] = {
 led0, led1, led2, led3, led4, led5, led6, led7, led0, led1, led2, led3};


void setup() {
 pinMode(ledArray[0], OUTPUT);
 pinMode(ledArray[1], OUTPUT);
 pinMode(ledArray[2], OUTPUT);
 pinMode(ledArray[3], OUTPUT);
 pinMode(ledArray[4], OUTPUT);
 pinMode(ledArray[5], OUTPUT);
 pinMode(ledArray[6], OUTPUT);
 pinMode(ledArray[7], OUTPUT);
}


void loop() {
 lauflicht(200); // Geht jede 200ms eine LED weiter
}

void lauflicht(unsigned long pause) {
// Parameter Licht
 int x = 255;
 int y = 120;
 int z = 10;

 for(int i = 0; i <= 7; )
 {
   unsigned long aktuelleZeit = millis();
   static unsigned long vorherigeZeit;

   if(aktuelleZeit - vorherigeZeit > pause)
   {
     // Alle Ausgänge ausschalten
     for(int k = 0; k < 8; k++) {
       analogWrite(ledArray[k], 0);
     }

     // Neue Ausgänge einschalten
     analogWrite(ledArray[i], z);
     analogWrite(ledArray[i+1], y);
     analogWrite(ledArray[i+2], x);
     analogWrite(ledArray[i+3], y);
     analogWrite(ledArray[i+4], z);

     i++;  
     vorherigeZeit = aktuelleZeit;
   }
 }
}


Und hier noch ein kleines Video dazu.
https://www.dropbox.com/s/nxwf04ld8s1tatu/2013-08-29%2018.43.41.mp4

P.S.: Bevor ich die LEDs herausgekramt hatte und angeschlossen, wollte ich eigentlich nur eine Simulation durchführen über den Serial Monitor.
Gibt es eine Möglich bei dem oben genannten Sketch die PWM Werte für ledArray[0..7] auszulesen? Serial.print(analogRead(ledArray[0..7]) geht nicht.
Orginal Atmel AVRISP mkII zu verkaufen. Anfrage per PN ;)

michael_x

Was man mit analogWrite schreibt, kann man nicht mit analogRead wieder einlesen, wei analogWrite eigenlich der falsche Name für die Funktion ist.
Man kan sich den Wert aber in einer Variable merken

Go Up