- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Anfängerfrage- Zeitsteuerung

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    24.03.2005
    Ort
    Kempten
    Beiträge
    7

    Anfängerfrage- Zeitsteuerung

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo zusammen,

    hab da ein kleines Problem mit einer Pumpensteuerung.
    Bin in Sachen Basic und programmieren ein blutiger Anfänger aber vieleicht hat jemand schon so was ähnliches mal gemacht
    und könnt sein Programm oder seine Codeschnipsel mal posten.
    Die Anforderung wär alle 25 Minuten die Pumpe für 5 Minuten anschalten und nach insgesamt 15 mal Pumpen das System komplett abschalten(eventuell ein Temperatur-Sensor dazu, der bei Zustand an(über 50Grad) ,dann auch alles abschaltet).
    Hab übrigens den C-Control Basic von Conrad mit Starterboard.
    Wäre sehr dankbar wenn jemand so was ähnliches schon hat oder mir ein paar Tipps geben könnte( z.B. was ist die maximale Zahl beim Pause-Befehl).Besten Dank schon mal im voraus
    Grüsse,
    Bernd

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803

    Warteschleifen

    Hallo Bernd111,

    wenn Du sehr seltene Aktionen starten willst (alle 25 Minuten), dann solltest Du das mit der internen Uhr und nicht mit Pausen machen.
    Also: MINUTE abfragen und in einer Variable speichern, diese Variable jede Minute um 1 hochzählen und bei 25 die Aktion (Pumpe an) ausführen.

    Gruß Dirk

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.11.2003
    Ort
    Leipzig
    Alter
    38
    Beiträge
    578
    Hallo!
    Ich mache mir Morgen mal Gedanken über dein Problem und schreibe dir ein
    Beispielprogramm.
    Jetzt ist es zu spät zum denken .

    MfG ACU
    http://www.roboterbastler.de
    endlich wieder online

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.08.2004
    Ort
    Stuttgart
    Alter
    49
    Beiträge
    851
    Hallo Bernd!

    Der maximale Wert eines Pause-Befehls ist der positive Wert eines Integers. Also ca. 32500. Wegen der Steuerung einer Pumpe mit Temparatursensor und Intervallbetrieb legst du dir zuerst einmal den Define-Teil im Programm fest.

    Define Pumpe As Port[1]
    Define TasteStart As Port[2]
    Define LED As Port[3]
    Define Temparatur As AD[1]
    Define Wiederholung As Byte[1]
    Define Modus As Byte[2]

    Dann weiß deine IDE wo welche Ports mit welchem Namen stehen. Jetzt initialisierst du die Ausgänge damit die definiert sind weils einfach schöner aussieht. Dann kommt das eigentliche Hauptprogramm

    #StopModus
    Pumpe = Off
    Wiederholung = 0
    Modus = 2
    Minute = 0
    Second = 0
    LED = Off
    If TasteStart = On Then Goto StopModus
    Pumpe = On

    Die Taste Start ist jetzt einfach mal ein Schalter der von Port 2 gegen Masse geschaltet wird und zum Starten des Ablaufs dient. Off wäre betätigt und On wäre nicht betätigt. Ist eben so weil er gegen Masse geschaltet ist und intern über einen Pull-Up gegen +5V geschaltet wird. Nun zum eigentlichen Programm.

    #ArbeitsModus
    If Temparatur > 100 Then GoTo StopModus
    If Wiederholung >= 15 Then GoTo StopModus
    If Modus = 1 And Minute >= 25 Then GoTo PauseEnde
    If Modus = 2 And Minute >= 5 Then GoTo PumpenEnde
    If Second Mod 2 = 1 Then LED = On Else LED = Off
    GoTo ArbeitsModus

    #PauseEnde
    Pumpe = On
    Modus = 2
    Minute = 0
    GoTo ArbeitsModus

    #PumpenEnde
    Pumpe = Off
    Modus = 1
    Minute = 0
    Wiederholung = Wiederholung + 1
    GoTo ArbeitsModus

    Ich habe einfach die interne Echtzeituhr bisschen verbogen als Zeitmessung. Das bietet sich an weil es weniger als 60 Minuten sind pro Intervall. Diese Zeit kann man direkt mit dem laden der Zeit-Variablen beschreiben um normalerweise die Uhr zu stellen. So kann man eben die Zeit messen ohen die C-Control anzuhalten. Die Echtzeituhr ist dann eben ausser Betrieb um eine Uhrzeit mitlaufen zu lassen.

    Mit Modus-Variablen merke ich mir einfach die aktuelle Betriebsart als Zahl das mein Hauptprogramm nacher weiß was eben für eine Betriebsart war. Pumpen oder Pause eben.

    Den Wert des Temparaturfühlers mußt du dir eben selbst heraussuchen. Kommt auf deinen Fühler an den du angeschlossen hast.

    Als Information über den Zustand des Systems blinkt eine LED wenn das Programm aktiv ist in Sekundentakt.

    Grüße Wolfgang

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    24.03.2005
    Ort
    Kempten
    Beiträge
    7
    Hallo

    Vielen Dank für die schnelle Hilfe.werd mich mal gleich ranmachen das ganze
    umzusetzen und vorallem in das Programm reindenken.

    Grüsse Bernd

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.11.2003
    Ort
    Leipzig
    Alter
    38
    Beiträge
    578
    Oh da war mal wieder einer schneller.
    Ich hätte es bischen anders gemacht, aber so gehts natürlich auch.

    MfG ACU
    http://www.roboterbastler.de
    endlich wieder online

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    24.03.2005
    Ort
    Kempten
    Beiträge
    7
    Funktioniert leider noch nicht mit dem beschriebenen Programm
    Ich glaub so weit ich es jetzt schon durchschau muß da wohl noch
    irgendwo " Pumpe = On " rein?
    Nur an welcher Stelle ist es ideal ?

    Gruß Bernd

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.08.2004
    Ort
    Stuttgart
    Alter
    49
    Beiträge
    851
    Zitat Zitat von Bernd111
    Funktioniert leider noch nicht mit dem beschriebenen Programm
    Ich glaub so weit ich es jetzt schon durchschau muß da wohl noch
    irgendwo " Pumpe = On " rein?
    Nur an welcher Stelle ist es ideal ?

    Gruß Bernd
    Hast recht, da fehlt noch was. Dachte das findest du selbst heraus

    Das habe ich so schnell nur ohne Test geschrieben für dich das du einen Anhaltspunkt hast. Bei #PauseEnde muß natürlich noch Pumpe = On rein. Sinst geht die nie an.

    Grüße Wolfgang

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    24.03.2005
    Ort
    Kempten
    Beiträge
    7
    Hab noch ein "Pumpe = Off"
    bei PumpenEnde eingefügt
    Jetzt läuft es
    Grüsse Bernd

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.08.2004
    Ort
    Stuttgart
    Alter
    49
    Beiträge
    851
    Gut, dann war die Mühe nicht umsonst. Ich hab der Ordnung halber gleich mal das fehlende Teil in den Code eingefügt und fett markiert.

    Grüße Wolfgang

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test