30.11.2020, 15:08
(25.11.2020, 12:36)Daniel. Wrote: Have a look here
https://openrb.com/example-pid-thermostat-with-lm2/
Hi
I hae see and now i write this code is correct for 3 PID ?
Code:
-- PID VENTILAZIONE SERRA 7
-- init pid algorithm
if not p1 then
p1 = PID:init({
current = '32/1/22',
setpoint = '32/1/10',
-- VEDERE COSA FARE CON
-- USCITA PILOTA ENTRAMBI AEREOTERMO ?
output = '32/1/13',
min = 5,
max = 50,
manual = '32/1/19',
--inverted ='nn/n/nn',
kp = 1, -- BANDA PROPORZIONALE
ki = 10 -- INTEGRALE
--kd = 1 -- DERIVATIVA
})
end
-- run algorithm
p1:run()
-- PID VENTILAZIONE SERRA 8
-- init pid algorithm
if not p2 then
p2 = PID:init({
current = '32/1/23',
setpoint = '32/1/11',
-- VEDERE COSA FARE CON
-- USCITA PILOTA ENTRAMBI AEREOTERMO ?
output = '32/1/14',
min = 5,
max = 50,
manual = '32/1/20',
--inverted ='nn/n/nn',
kp = 1, -- BANDA PROPORZIONALE
ki = 10 -- INTEGRALE
--kd = 1 -- DERIVATIVA
})
end
-- run algorithm
p2:run()
-- PID VENTILAZIONE SERRA 9
-- init pid algorithm
if not p3 then
p3 = PID:init({
current = '32/1/24',
setpoint = '32/1/12',
-- VEDERE COSA FARE CON
-- USCITA PILOTA ENTRAMBI AEREOTERMO ?
output = '32/1/15',
min = 5,
max = 50,
manual = '32/1/21',
--inverted ='nn/n/nn',
kp = 0.5, -- BANDA PROPORZIONALE
ki = 10 -- INTEGRALE
--kd = 1 -- DERIVATIVA
})
end
-- run algorithm
p3:run()
Tank's