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.