PID Regler + Schrittmotor

Hallo zusammen,

ich plane aktuell eine Temperaturregelung, bei der ich einen PID Regler und einen Schrittmotor einsetzen möchte.

Dabei ist der Schrittmotor an ein Ventil gekoppelt, welches den Durchfluss regelt. Mehr Durchfluss --> höhere Temperatur.

Jetzt bin am Überlegen, wie ich das Software-seitig aufsetze, solange ich nicht alle Bauteile zu Hause habe.

Ich hänge gerade gedanklich an der Kopplung zwischen PID-Regler und Schrittmotor. Plan ist das System zu "Nullen" und das als Referenzwert zu nutzen. Die maximale Anzahl von Schritten (Ventil 100% offen) lässt sich ja leicht ermitteln.

Wie bringe ich am elegantesten die absolute Regelgröße (0-100%, 0-255) mit der relativen Steuerung des Schrittmotors zusammen?
Das ganze ist gerade noch in der Ideenfindung, deswegen seht mir nach, dass es noch nicht ganz ausgereift ist.

Ich bin froh über jeden Denkanstoß :slight_smile:

Gruß

Ein gewisser Sollwert der Ventilposition entspricht einer gewissen Position des Schrittmotors. Ist die Istposition ( x Schritte von Homeposition) verschieden von der Sollposition dann muß der Schrittmotor die fehlenden Schritte in die richtige Richtung machen.
Grüße Uwe

(deleted)

lengi:
Wie bringe ich am elegantesten die absolute Regelgröße (0-100%, 0-255) mit der relativen Steuerung des Schrittmotors zusammen?

Indem Du eine Lib verwendest, mit der der Schrittmotor ( nach der Referenzfahrt / 'Nullen' ) absolut positioniert werden kann.

Wobei die Servo-Lösung u.U. die einfachere Variante ist ( keine Referenzfahrt notwendig )

uwefed:
Ein gewisser Sollwert der Ventilposition entspricht einer gewissen Position des Schrittmotors. Ist die Istposition ( x Schritte von Homeposition) verschieden von der Sollposition dann muß der Schrittmotor die fehlenden Schritte in die richtige Richtung machen.
Grüße Uwe

Beim Tippen der Problematik kam mir eine ähnliche Idee. Ich denke wird sich beim Programmieren entsprechend entwickeln. Die Errechnung der aktuellen Position sollte hier den Erfolg bringen.

Die Idee des Servos finde ich auch gut. Leider habe ich das Ventil noch nicht hier und das Datenblatt gibt keine Auskunft, wie viele Umdrehungen zwischen Offen und Geschlossen liegen. Sollte es mehr als eine Umdrehung sein, muss ich schauen, ob ich das noch mit Übersetzung lösen kann. Mit Servos bin ich allerdings noch so gar nicht vertraut. Umdrehungen >1 gehen nur, wenn man das Poti ausbaut, korrekt? Damithätte ich dann ja allerdings nichts gewonnen.

Gruß

lengi:
Mit Servos bin ich allerdings noch so gar nicht vertraut. Umdrehungen >1 gehen nur, wenn man das Poti ausbaut, korrekt? Damithätte ich dann ja allerdings nichts gewonnen.

Wenn das Ventil mehr als ca. 180° Verstellweg braucht, vergiss die Servolösung. Allerdings ist bei einem Stepper die Referenzfahrt auch ein Problem, wenn mehrere Umdrehungen für das komplette Schließen gebraucht werden. Wie erkennst Du dann, dass das Ventil komplett geschlossen ist?

(deleted)

Peter-CAD-HST:
Meine Antwort:

Durchflusssensor :slight_smile:

Meiner Meinung nach sollte die Referenzfahrt bzw. das 'Nullen' des Schrittmotors unabhängig davon sein, ob tatsächlich etwas durch das Ventil fließt. Es könnte ja z.B. auch der 'Haupthahn' abgedreht sein.
Denkbar wäre, die Mechanik und die Kraft des Schrittmotors so auszulegen, dass er bei geschlossenem Ventil blockiert ohne dass dabei etwas beschädigt wird. Dann einfach die maximale Zahl der Schritte Richtung 'ZU' ausführen, und das Ergebnis als Nullpunkt festlegen.

und einen Schrittmotor einsetzen möchte.

Schrittmotore haben den Nachteil, dass sie doch eine erhebliche Stromaufnahme im Stillstand haben.

evtl. sowas:
Kugelhahn mit Antrieb und Positionsrückmeldung
Vergleichbare gibts auch mit eingebautem PID Regler und Anschlussmöglichkeit für einen Temperatursensor

Nach etwas Recherche konnte ich herausfinden, dass zwischen offen und geschlossen nicht ganz eine Umdrehung ist, etwa 340 Grad. Ich hatte gehofft, dass bei diesem Modell sich die Drehachse, an dem das Handrad montiert ist, sich beim Öffnen etwas anhebt. Darüber wollte ich den Nullpunkt nehmen. So die Theorie :smiley:

Die Servo-Idee finde ich aber auch gut und werde ich etwas weiter betrachten. Warum soll ich das denn verwerfen, wen es mehr als 180° Drehung sind? Mein Plan war jetzt einfach anstatt Hebel ein Ritzel mit GT2 Rundriemen zu verwenden, oder spricht da irgendetwas gegen?

Durchflussmesser finde ich auch interessant. Das hebe ich mir aber für später auf :slight_smile:

So eine fertige Lösung fand ich auch Interessant, ich brauche aber nur max. 1/4" Anschluss. Die Kosten sollen auch eher Low-Budget sein.

Darüber wollte ich den Nullpunkt nehmen. So die Theorie :smiley:

Das wird dir auf die Füße fallen.

an dem das Handrad montiert ist, sich beim Öffnen etwas anhebt.

Der wird sich im zu Zustand fest fahren.
Da ist ein Schrittmotor noch weniger geeignet.
Da wenig Drehmoment.

Tipp:
DC Getriebemotor mit Drehencoder
Bei der Referenzfahrt die Stromaufnahme messen.
Wenn sie steigt, ist zu.
Genügend Drehmoment bereitstellen, für das "Losbrechmoment".

Bei den Aldi Heizkörper Thermostaten (Thermy) kannst du dir was abschauen.
Die mit ATMega169 sind hackbar und recht gut analysiert.
Alternativsoftware steht zur Verfügung

Vermutlich genau die passende Vorlage für dich.

Hallo,

ich denke die Lösung mit einem Servo ist eigendlich der beste Ansatz. Damit Du die 340 Grad hinbekommst kannst Du ja tatsächlich eine Übersetzung verwenden. Allerdings musst Du zunächst mal wissen wie hoch das Drehmoment für das Ventil ist. Dann das angedachte Getriebe auswählen etwa 2:1 damit wird das benötigte Dremoment für den Servo dann doppelt so hoch.Wenn das Ventil mechanische Anschläge hat, kann es sein das sich der Motor festfährt. Eventuell lässt sich der Anschlag entfernen.

Eine andere Möglichkeit sehe ich mit einem DC Getriebemotor, an das Ventil sollten dann aber 2 "Endschalter" dran. Vorteil damit bekommst Du direkt auch eine vernünftige Stellzeit für das Ventil. Bei dem Servo liegt die ja ohne zus. Maßnahme irgendwo im 100 ms Bereich.

Fur eine relativ langsame Temperatur Regelung benötigst Du auch eigendlich die Stellgrösse für das Venil nicht. Temperatur Soll und Istwert reichen eigendlich um das Ventil lansam zu öffnen und zu schliessen. das läuft dann auf einen 3Punkt Schrittregler hinaus.

Jetzt noch mal eineFrage. Warum nimmst Du keinen Kugelhahn der hat 90Grad zwischen auf und zu. Bei 6bar bar Druckstufe lassen die sich auch mit kleinem Drehmoment bewegen.

Heinz