Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Demoprogramm: Schalthysterese verstehen und anwenden (mit Bild) Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 26.04.2022 21:07)
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini Station


' ===========================================================================
' Demoprogramm: Schalthysterese verstehen und anwenden
' In OCBASIC 1.12a_e1 für Open-Maxi von Dietmar Harlos am 09. April 2022
' ===========================================================================

' Eine gute Erklärung mit Bild gibt es auf folgender Internetseite:

' https://blog.wika.de/know-how/schaltfunktion-hysterese-bei-elektronischen-druckschaltern/

' Unter einer Hysterese versteht man im Allgemeinen die Differenz aus
' Schaltpunkt und Rückschaltpunkt. Eine Hysterese ist grundsätzlich
' unverzichtbar, denn falls Schalt- und Rückschaltpunkt auf den identischen
' Wert festgelegt wären, so würde das zu steuernde System in Schwingung
' versetzt und somit instabil werden.

' In diesem Programm soll ein Digitalport gesetzt werden, wenn die Eingangs-
' spannung an einem Analog-Digital-Port 1,5 Volt überschreitet. Würde man
' einschalten, wenn die Spannung größer 1,5 Volt ist und direkt unterhalb
' dieser Grenze ausschalten, würde ständig ein- und ausgeschaltet, wenn die
' Eingangsspannung nahe 1,5 Volt ist. Als Lösung wird hier bei größer/gleich
' 1,55 Volt ein- und bei kleiner/gleich 1,45 Volt ausgeschaltet. Die
' Hysterese hat also eine Größe von 0,1 Volt.

' An dieser Stelle möchte ich mich bei Dirk von "das |_ Team" und bei Norbert
' für ihre Unterstützung bedanken. In Memoriam Norbert Klein.

' --- Definitionen ----------------------------------------------------------

INCLUDE "omax.def"               'Definitionen für die Open-Maxi

DEFINE HYSTOBEN  317             '1024/5*1.55
DEFINE HYSTUNTEN 300             '1024/5*1.45

DEFINE adinput   AD[1]           'Eingang des Analog-Digital-Wandlers
DEFINE schalten  PORT[1]         'Einen Port ein- und ausschalten

DIM bitarray BYTE                'ein Bitarray
DIM debug    BIT[1] OF bitarray  'ist HIGH, wenn Debugging aktiv

DIM a,b,c BYTE                   'temporäre Variablen

' --- Hauptprogramm ---------------------------------------------------------

PrintSpc=ON    'Bei PRINT dezimale Zahlen mit führendem Leerzeichen ausgeben
End2Host=ON    'Bei Programmende (siehe END) gleich in den Host-Modus wechseln

' Titel:

PRINT
PRINT "Schalthysterese"
PRINT "==============="

' Initialisierungen:

debug=ON 'OFF 'ON   'AD-Werte anzeigen

' Die AD-Ports liefern standardmäßig gerundete 8-Bit-Werte zwischen 0 und 255
' zurück, was den Spannungswerten 0 Volt bis 5 Volt entspricht. Mit folgendem
' Befehl wird auf gerundete 10 Bit umgeschaltet.

ADC1CFG=&b01001000  'AD-Wandler auf gerundete 10 Bit

schalten=OFF        'initialer Schaltzustand

' Hauptschleife des Programms:

WHILE TRUE

  IF debug THEN
    ?"adinput="adinput
  END IF

  IF adinput>=HYSTOBEN AND schalten=OFF THEN
    schalten=ON
    ?"Eingangsspannung hat oberen Hysteresepunkt erreicht oder überschritten."
  ELSE IF adinput<=HYSTUNTEN AND schalten=ON THEN
    schalten=OFF
    ?"Eingangsspannung hat unteren Hysteresepunkt erreicht oder unterschritten."
  END IF

  PAUSE 25

WEND

?:?"Programmende."
END            'Zurück in den Hostmodus. Neustart mit RETURN-Taste.

' --- Programmende ---------------------------------------------------------


Passender Link: Infosite zu den OM-Mikrocontrollern

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten:

Re: Demoprogramm: Schalthysterese verstehen und anwenden (mit Bild) (von Christian - 27.04.2022 18:12)