Regelungsprogramm

... in Arbeit


Hier möchte ich nun den Arbeitsfortschritt und die Ausführung der gestellten Aufgaben sowie das aktuelle Programm vorstellen.

Da dieses Projekt noch lange nicht abgeschlossen ist, werde ich hier immer wieder den neuesten Stand zeigen.



Arbeitsfortschritt:

Start- und Stoppmöglichkeit .... OK

Umschaltung Hand-/Automatikbetrieb .... OK

Drehzahlsollwertvorgabe mit inkrementeller/dekrementeller Verstellmöglichkeit .... OK

Drehzahlverstellung im Handbetrieb .... OK

Anzeige von Drehzahl-Sollwert und -Istwert und Reglerausgangswert auf LCD-Display  .... OK

Alle Eingaben und Befehle über Tastenbedienung ausführbar .... OK

Einstellung von Reglerparameter über LCD-Anzeige und/oder Seriellen Monitor ... in Arbeit

Datenauskopplung (Sollwert, Istwert, Stellwert) zur Visualisierung des Reglerverhaltens ... in Arbeit


Erweiterungsmöglichkeiten:

Datum-/Wochentag-/Uhrzeitabhängige Steuerung ... derzeit nicht

Sensorabhängige Regelung, z.B. Temperatur- oder Luftfeuchtigkeit als übergeordnetes Regelungskriterium ... derzeit nicht

Steuerungs- und Reglereinstellungen  in EEPROM hinterlegen ... in Arbeit


Tastaturbedienung:

Motor Ein/Aus:

Taste C: Motor EIN (Motor fährt auf Grunddrehzahl)

Taste C: Motor AUS

                          Motor ist EIN und fährt auf Grunddrehzahl


Drehzahlverstellung HANDBETRIEB:

Taste 3: Handbetrieb EIN (Grundeinstellung nach Motor EIN)


Taste A: Vorgabe Stellwert (Outwert) 0..100% EIN

Taste 0-9: Stellwertvorgabe

Taste F: Backspace

Taste D: Übernehmen

oder:

Taste E: Stellwert (Outwert) Increment-/Decrementmodus EIN

Taste A: Outwert HÖHER

Taste B: Outwert TIEFER

Taste D: Übernehmen


                   Regler auf HAND, Drehzahlstellwert auf 45%


Drehzahlvorgabe AUTOMATIKBETRIEB:

Taste 1: Automatikbetrieb EIN


Taste A: Vorgabe Drehzahlsollwert 0..4000 U/m EIN

Taste 0-9: Drehzahlvorgabe

Taste F: Backspace

Taste D: Übernehmen

oder:

Taste E: Drehzahlsollwert Increment-/Decrementmodus EIN

Taste A: Drehzahlsollwert HÖHER

Taste B: Drehzahlsollwert TIEFER

Taste D: Übernehmen

(um die Verstellgeschwindigkeit bei der Drehzahlsollwertverstellung zu beschleunigen, wird der Drehzahlsollwert beim Drücken der Taste A oder B anfangs um 10 U/m, bei längerem Gedrückthalten der Tasten um 100 U/min verstellt)

                Regler auf AUTO, Drehzahlsollwert 2500 U/min


Anzeige Motorstrom:

Taste B: Anzeige Motorstrom EIN (nicht im Increment-/Decrementmodus)

Taste D: Anzeige Motorstrom AUS


LCD-Anzeige dunkel stellen

Taste D: LCD-Anzeige dunkel stellen EIN (Taste länger gedrückt halten)

Taste D: LCD-Anzeige dunkel stellen AUS

Hier nun das Programm Drehzahlregelung_V7.3.ino und 2 dazugehörige Unterprogramme als Textfiles:

Da ich das Programm noch verbessern bzw. auch noch funktionell erweitern möchte, werde ich hier immer wieder meine aktuelle Version abrufbar machen. Den Programmfortschritt, mit den ausgeführten Funktionen findet ihr auf dieser Seite ganz oben.


Verwendete Libraries:

Neben der Standard-Library Wire verwende ich zur Abfrage der Matrixtastatur meine Library MyKeypad (siehe 16er-Tastatur), sowie folgende Fremd-Libraries:

  • PID_v1: Diese Library beinhaltet den Regelungsalgorithmus.
  • Metro: Zur Steuerung von zyklischen Vorgängen verwende ich die Metro-Lib.
  • LiquidCrystal_I2C2004 verwende ich zur Ansteuerung der 20x4 LCD-Anzeige über I2C-Bus.

Links zu allen drei Libraries findet ihr hier: Fremd-Libraries


Leider kann ich hier keine "ino"-Files hochladen, daher zum Verwenden des Programms ".txt" aus den Dateinamen entfernen und in einem neuen Verzeichnis mit dem Namen "Drehzahlregelung_V7.3" speichern.

Drehzahlregelung_V7.3.ino.txt

Tastatur_Eingabe.ino.txt

Seriell_Eingabe.ino.txt