Neues Modul PID20 - Der PID-Regler

Begonnen von John, 02 Dezember 2013, 22:03:40

Vorheriges Thema - Nächstes Thema

Marcus Naumann

Hallo John,

vielen Dank für die schnelle Antwort.

Auszug aus cfg. -Datei

Momentan regele ich meine Heizkörper über einen FHT8V und dem alten PID Modul.

define stellantrieb.01 FHT8V 1234
attr stellantrieb.01 room Schlafzimmer

define PID_SZ PID Temp_Hum_Schlafzimmer:temperature stellantrieb.01:valve

Wenn ich nun das PID durch ein PID20 ersetze passiert folgendes:

Unknown module PID20, choose one of ALL3076 ALL4000T ALL4027 BS CM11 CUL CUL_EM CUL_FHTTK CUL_HM CUL_HOERMANN CUL_IR CUL_MAX CUL_RFR CUL_TX CUL_WS CULflash Calendar DbLog ECMD ECMDDevice EGPM EGPM2LAN EIB EM EMEM EMGZ EMWZ ENIGMA2 ESA2000 EnOcean FBAHA FBDECT FB_CALLMONITOR FHEM2FHEM FHEMWEB FHT FHT8V FHZ FLOORPLAN FRM FRM_AD FRM_I2C FRM_IN FRM_LCD FRM_OUT FRM_PWM FRM_SERVO FS20 FileLog GDS HCS HMLAN HMS HMinfo HTTPSRV HUEBridge HUEDevice Heating_Control I2C_BMP180 IPCAM IPWE IT Itach_Relay JeeLink JsonList KM271 KS300 LGTV LIRC LISTENLIVE LUXTRONIK2 LightScene M232 M232Counter M232Voltage MAX MAXLAN MSG MSGFile MSGMail NetIO230B OREGON OWAD OWCOUNT OWDevice OWFS OWID OWLCD OWMULTI OWSWITCH OWServer OWTEMP OWTHERM OWX PCA301 PID PIFACE POKEYS PRESENCE PachLog RFXCOM RFXMETER RFXX10REC RSS RandomTimer Revolt SCIVT SISPM SIS_PMS SML STV SVG SWAP SWAP_0000002200000003 SYSSTAT TCM THRESHOLD TRX TRX_ELSE TRX_LIGHT TRX_SECURITY TRX_WEATHER TUL TellStick Twilight USBWX USF1000 VIERA VantagePro2 WEBCOUNT WEBIO WEBIO_12DIGITAL WEBTHERM WOL WS2000 WS300 WS3600 Weather X10 YAMAHA_AVR ZWDongle ZWave _internal_ at autocreate average backup dewpoint dummy eventTypes fheminfo holiday mailcheck notice notify openweathermap panStamp readingsGroup remotecontrol sequence speedtest structure telnet update watchdog weblink xxLG7000 Please define PID_SZ first Please define PID_SZ first Please define PID_SZ first Please define PID_SZ first Please define PID_SZ first Please define PID_SZ first

Laut der Anleitung von Wiki habe ich die PID20.pm Datei in den angegebenen Pfad hineingespeichert. In dem Ordner auf meinem Raspberry Pi ist auch die alte PID.pm Datei vorhanden. Ein Neustart des fhem hat auch nichts gebracht. In der Logdatei steht auch nicht nennenswertes drin. Ich hoffe du kannst damit etwas anfangen.

Grüße
manavu

John

Hallo manavu,
fhem findet das PID20-Modul nicht.

gehe bitte in das Verzeichnis  /opt/fhem/FHEM
dann folgendes ausführen und Ergebnis senden:

cd /opt/fhem/FHEM
ls -la 98_PID*

Ich erhalte hier:
[/code]
-rw-rw-rw- 1 fhem dialout 27422 Jan 22 18:54 98_PID20.pm
-rw-rw-r-- 1 fhem dialout  8042 Jan 11 12:03 98_PID.pm
[/code]

Wieso willst du unbedingt MAX verwenden, wenn du das bereits mit FHT8V realisierst ?

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Marcus Naumann

Dankeschön! Ich werde das gleich ausprobieren. Warum ich das mit Max! ausprobieren möchte liegt einfach daran, dass ich ein bekannter von mir Max! Stellmotoren hat und ich das für ihn ausprobieren soll.

Grüße
manavu

Marcus Naumann

Hier ist das Ergebnis.

-rw-r--r-- 1 pi   pi      0 Jan 26 18:07 98_PID20.pm
-rw-rw-rw- 1 fhem root 8042 Oct  6 11:59 98_PID.pm

John

Hi manavu,

hab gerade zum Thema Fußbodenheizung mit MAX einen Wiki-Eintrag verfasst.
Vielleicht hilfts das , nachdem PID20 von deinem FHEM erkannt wurde.

http://www.fhemwiki.de/wiki/MAX!_Thermostat_f%C3%BCr_die_Fussbodenheizung

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

John

#95
Alles klar,

mit 0 Bytes kommen wir nicht weit. Du hast ein Download Problem. Deine Datei ist 0 Byte lang.
Und ein Rechte Problem hast du auch, fhem muss Zugriff auf die Datei haben.

Zitat-rw-r--r-- 1 pi   pi      0 Jan 26 18:07 98_PID20.pm

Nochmal downloaden
Datei übertragen zu pi

Danach Rechte anpassen

sudo chown fhem.dialout 98_PID20.pm

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Marcus Naumann

Hallo John,

danke für deine Hilfe. Macht aufjedenfall Sinn. Werde die Datei nochmals downloaden. Was mir noch einfällt... Kann ich eigentlich einen Plot mit Stellsignal, Sollwert und Istwert gleichzeitig in einen Plot anzeigen lassen? Bei dem alten PID funktioniert das bei mir nur mit dem Sollwert. Vielleicht stimmt meine Regexp nicht. Hier ein Auszug aus der gplot- Datei.


#FileLog 4:PID_SZ.temperature:0:
#FileLog 4:PID_SZ.acutation:0:int
#FileLog 4:PID_SZ.desired:0:

plot "<IN>" using 1:2 axes x1y2 title 'Raumtemperatur' ls l0 lw 1.5 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Stellsignal(%)' ls l1fill lw 1 with steps,\
     "<IN>" using 1:2 axes x1y2 title 'Sollwert' ls l2 lw 1 with steps

Gruß
manavu


John

Hallo manavu,
im Wiki ist alles erklärt. Auch wie man die Charts anlegt.

Das ist mit PID20 alles sehr einfach, die Werte sind einfach da, die man braucht.

Solltest du beim PID20 bleiben wollen wäre schön, wenn du ein paar Kurven hier reinstellen würdest.

Das Modul wird ja noch getestet und da brauche ich Rückmeldung.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Marcus Naumann

Hallo John,

ich werde dann so bald ich wieder diese Woche dazu komme meine Chart posten.

Grüße
manavu

Marcus Naumann

Hallo John,

habe die PID20.pm nochmals in den Ordner /opt/fhem/FHEM kopiert.  Anschließend habe als Antwort ebenfalls das gleiche erhalten wie du damals

-rw-rw-rw- 1 fhem dialout 27422 Jan 22 18:54 98_PID20.pm
-rw-rw-r-- 1 fhem dialout  8042 Jan 11 12:03 98_PID.pm

Meine Datei ist ebenfalls keine 0 Bytes mehr lang. Danach wollte ich die Rechte anpassen. Allerdings hat das nicht geklappt. Ich habe folgendes auf dem PI ausgeführt.

cd /opt/fhem/FHEM
sudo chown fhem.dialout 98_PID20.pm

Habe aber immernoch das gleiche Problem. Das FHEM findet das pid20 Modul nicht. Habe ich irgendwas übersehen?

Vielen Dank im Voraus!

Grüße
manavu

John

Hallo manavu

das ist merkwürdig.

Bitte Raspi neu starten und nochmal Auszug aus Log-Datei reinstellen.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Hans Franz

Hallo manavu01
sudo chown fhem:dialout 98_PID20.pm
Also ein Doppelpunkt zwischen user und group.
Die Datei gehört aber schon fhem und dialout.

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Marcus Naumann

Hallo John,
Hallo Hans Franz,

jetzt funktioniert es. Habe den Raspberry nochmal neugestartet. Ich werde den jetzt testen, dann bekommt ihr meine Rückmeldung.

@John:

Entspricht P dem Proportionalfaktor Kp oder dem Proportionalbereich?
I - Anteil = Integrierbeiwert Ki oder der Nachstellzeit?
D - Anteil = Differenzierbeiwert Kd oder Vorhaltzeit?

Freundliche Grüße
manavu01

Marcus Naumann

Hallo John,

hab auch nochmal im deinem Wikibeitrag nachgeschaut. Hier wird der I-Anteil in %/Minute angegeben. Ist dieser auch so realisiert? Normalerweise kenn ich das so, dass der I-Anteil die Einheit %/(s *K) besitzt oder ist dies auch so programmiert?

Bsp.:

esum = esum + e
y = Kp * e + Ki * Ta * esum

Quelle: http://www.rn-wissen.de/index.php/Regelungstechnik#PI-Regler

Gruß
manavu


John

Hallo manavu01

pidFactor_P ist der Proportionalbeiwert des P-Gliedes, der P-Anteil ist die Ausgangsgröße des P-Gliedes
pidFactor_I ist der  Proportionalbeiwert des I-Gliedes, der I-Anteil ist die Ausgangsgröße des I-Gliedes
pidFactor_D ist der  Proportionalbeiwert des D-Gliedes, der D-Anteil ist die Ausgangsgröße des D-Gliedes

anbei die grafische Darstellung

John


CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP