oscat.lib > Modulentwicklung / Module Development

Lichtschalter mit Helligkeitssensor

<< < (4/5) > >>

Majaestix:
Hallo Hugo,

danke für Deine Zeit!


--- Zitat ---16000+20000 ergibt 36000
hier wäre eine obere grenze von ca 40000 angebracht.

--- Ende Zitat ---

Und wie löse ich das, wenn mein Ausschaltwert innerhalb der Grenze des Kunstlichtes liegt?

z.B:

Lichtbedarf von 0 bis 16.000
Kunstlichtleistung 19.000
Genügend Licht bei 18.000, d.h. Kunstlicht aus weil genug Tageslicht.

Würde das bedeuten:

Gesamtes Licht - Kunstlicht = Tageslicht
19.000 - 19.000 = 0

oder

37.000 - 19.000 = 18.000
also Licht aus bei 37.000
dann hätte ich aber für den gesamten Zeitraum zwischen 19.000 und 37.000 das Licht unnötig an.

Oder muss ich mit dem Zuwachs rechnen:

Kunstlicht - Untereschwelle = Zuwachs
19.000 - 16.000 = 3000

also

Gesamtes Licht - Zuwachs  = Obere Schwelle
21.000 - 3.000 = 18.000
also Licht aus bei 21.000 Gesamtlicht

Vielleicht hätte ich doch Physik studieren sollen...

Gruss

Majaestix

hugo:
ich denke wir reden immer noch aneinander vorbei

nichts und kein zustand schaltet aus und oder ein, sondern es gibt ein oder mehrere einschaltevents. und ein oder mehrere auschaltevents.
wenn helligkeit > 16000 eintritt und bwn = true dann setzte ausgang auf true
nachdem ausgang auf true steht hat diese bedingung keine bedeutung mehr.
dann gibt es zustände die wieder auschalte, das sind aber ganz andere als die die einschalten.

if LICHT = TRUE then
   (* diser teil kommt nur zur ausführung wenn das licht brennt. *)
   if helligkeit > 40000 OR not BWM then LICHT := FALSE; end_if;
   (* wenn helligkeit > 40000 wird kein kunstlicht mehr benötigt.
       oder wenn niemend mehr im raum (bwm = false) wird auch kein licht benötigt. *)
   (* WEEN HELLIGKEIT > 40000 UND DAS KUNSTLICH ABGESCHALTET wird sollte ja immer noch ca 20000 restlicht bleiben. and das licht ausbleiben *)
else
   (* else kommt nur dran wenn kein licht brennt *)
   if helligkeit < 16000 AND BWM then LICHT := TRUE; end_if;
end_if;

fakt ist das abhängig davon ob das licht ein oder aus ist jeweils eine ganz andere bedingung greift.
das bedeutet das die bedingungen immer nur einmal beim erreichen des zustandes schalten und danach keinerlei rolle mehr spielen.

Majaestix:
Hallo Hugo,


--- Zitat ---ich denke wir reden immer noch aneinander vorbei
--- Ende Zitat ---

Das fürchte ich auch :-(

Die Programmlogik für eine Obere Schwelle auserhalb der Kunstlichleistung ist mir soweit klar.

Du gehst von 40.000 als obere Schwelle aus, dann klappt das so, wie Du das mir ja schon mehrfach erklärt hast.

Ich meine aber eine obere Ausschaltschwelle INNERHALB der Kunstlichtleistung, also z.B. 18.000, d.h. es gibt mehr Kunstlicht als eigentlich benötigt wird.

Wie kriege ich da das Licht aus, wenn das Tageslicht mindestens die untere Schwelle = 16.000 sicherstellen würde?

Gruss

Majaestix

hugo:
das licht geht deshalb aus weil dein tageslicht deutlich heller ist als deine untere schwelle

tageslicht ca 50000 - 100000
kunstlich 20000
untere schwelle 16000
obere schwelle 40000

das licht geht eben erst aus wenn mindestens 20000 als tageslicht zur verfügung steht und fällt dann auf 20000 zurück.
das ganze nennt man schalthysterese, ohne diese hysterese wird deine schaltung genau das problem haben das sie unter umständen aus und wieder ein geht oder am schwellwert hin und her schaltet.

hugo:
das ganze hat doch nichts mit physik zu tun,
es hat auch nichts mit sps oder programmierung zu tun
sondern simples logisches denken

das dumme ist das recher oder sps immer genau das tun was man ihnen sagt bzw programmiert

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln