Hi,
In main program I have many pause command, if I use
pidout:
high pidoutause (error*100):low pidout: (pause error*50)
goto pidout
the work very slow and unstable.I must use gosub adread in loops(for/next) becouse loops are 1-180min.When I use that sample (pidout) pic work unstable(slow).
Timed out must be like this:
----_______-------------_______--------____-----___----__--_-____
~~!~~~~~~~~~~~ Error ~ ~~~~~~~~~~~~~~~~~~~~~~~!Set Point
main:
gosub button
gosub adread
high portc.2 : pause 2000
gosub adread
high portc.4 : pause 1000
gosub adread
low portc.2 : pause 2000
gosub adread
for x
gosub adread
next x
gosub lcd: gosub lcd
goto main
adread:
adcin 0,read1 : pauseus 16 : adcin 0,read2 : pauseus 16
adcin 0,read3 : pauseus 16 : adcin 0,read4 : pauseus 16
readt = (read1 + read2 + read3 + read4 ) / 4
z = ( readt*40 )/130
error = t -z
....... PID calculation+ PID controlled out
return
lcd:...........return
loop:........return
button:....return
end
Bookmarks