In this video we’ll use the GS4’s Sleep mode 3 with a Forward acting PID loop.
That controls the motor by watching the sensor feedback signal – or Process Variable – to
decide when to turn the motor on and off.
Forward acting means as the motor runs and the water rises, the sensor value also rises,
and that PID will automatically control the motor speed for us.
Reverse acting is when the sensor value goes down the water level rises.
We will do an example of Reverse acting in the next video.
We are using the exact same hardware, motor parameters and analog setup as in the previous
videos.
The first video in the series explains all of that, so we won’t repeat it here.
Please remember that sleep mode requires firmware version 1.30 or later.
Keep in mind, this isn’t really your typical PID thing, is it?
Normally, PID is used to get a process to some level and automatically hold it there
regardless of load.
We’re not doing that.
Instead, we’re just going to leverage the PID function to automatically control how
the motor operates while it’s filling the tank.
That is, when Sleep Mode enables the frequency output to the motor, PID will see that the
water level is way off and will automatically try to get the water level back to the setpoint
as quickly and efficiently as possible.
But, sleep mode will cut the motor off before it gets there.
So, we are just using the PID function to automatically control the motor speed while
filling the tank.
These are the PID parameters we are using.
This is where we tell the drive this is a forward acting system, using the analog input,
and that for this demo we’ll only enable PID in Remote mode.
The keypad is the default setpoint source, I’m showing it here as a reminder.
There’s a separate video showing how I came up with these PID Coefficients and why we
are using this Independent PID mode, so we won’t repeat that here.
Look for the GS4 PID video on tank filling to see how I did that.
Now we just set the sleep mode parameters.
First, we need to tell sleep mode to use the process variable - or sensor feedback - to
make its decisions.
This is important to understand: In sleep mode 3, the sleep and wake levels are NOT
absolute – they are a percentage of the setpoint.
So, if we set the sleep level at 95%, that means the drive will turn the motor off when
the water level reaches 90% OF THE SETPOINT, not the tank level.
Same for the wake-up level, this is 50% of the SETPOINT, not the tank level.
That’s really cool, because if we change the setpoint, the sleep and wake levels will
automatically adjust relative to that new setpoint.
Which means we don’t have to adjust the sleep and wake levels each time we adjust
the setpoint.
There is just one more thing to do.
When the drive turns the motor off and the water level falls, the PID algorithm hasn’t
gone away – it’s still trying to get the water level to the setpoint.
It can’t because sleep mode turned the motor off.
Which means, the integral term will grow the entire time the drive output is sleeping.
So, when sleep mode wakes the motor up to start pumping again, it’s going to take
a long time for PID to settle out because it has to wait for the integral to settle
out.
This parameter lets you put a cap on how big that integral term can get.
Now, how bad that gets depends on your system configuration.
The default value we have here works fine for this system, so we’ll just leave it
there.
I just wanted to make sure you knew you had that option available to you if you needed
to use it.
We’ll come back to these guys later.
Just note that the delays are at the default of 0 seconds and the min drive speed is set
to 30 Hz.
Well great, PID is setup to control the tank filling and sleep mode is setup to cycle the
motor on and off at these levels.
Let’s bring up Gsoft2 scope function and set our potentiometer values to mark the sleep
level at 90% of our 95% set point which is 85.5%, and the 50% wake level which is 47.5%.
So now we can see if things change when we expect them to on the GSOFT2 scope.
By the way, you CAN show this LCD setpoint in percent using parameter group 8 if you
want to.
We are not going to take the time to do that but you can do it if you want to.
Make sure the drive is in remote mode since we told the drive to only do sleep mode while
in remote mode back in parameter 7.00, Turn on our water level LEDs to make that easier
to see, and hit RUN.
The water tank is starting empty, PID sees that and automatically increases the blue
output frequency to the max 60Hz to start filling the tank as quickly as possible.
But, before PID can reach the 95% setpoint, the yellow water level – or process variable
- hits the red sleep level and sleep mode disables the drives output frequency which
ramps back to 0 Hz at the deceleration rate we set.
Let’s open the valve to simulate demand.
We see the yellow process variable fall which tells us the water level is falling.
When it hits the wakeup level PID kicks in and cranks up the blue drive output frequency
to fill the tank back up.
I closed the drain valve to speed things up a little bit.
When sleep mode sees this yellow process variable - or sensor feedback - reach the sleep level,
it turns the output frequency off, which ramps down at the deceleration rate we set.
If I open the valve again to let the water level fall, the process repeats.
This will now run over and over again simply because we turned on sleep mode by setting
the sleep and wake levels.
Not bad at all.
Remember we said the sleep and wake levels are RELATIVE to the setpoint right?
Let’s change the setpoint to 80% and see what happens.
I’m going to leave these cursors at the 95% setpoint values so we can see the difference.
Hit run, and sure enough, sleep occurred at 90% of 80 percent setpoint and wake up occurred
at 50% of the 80% setpoint.
Exactly what we expect.
You can also delay wake and sleep to make sure the process variable is really past the
level before sleep acts.
Let’s add a 2 second delay to sleep and let’s add a 2 second delay to wake up.
Sure enough, wakeup was delayed by 2 seconds and uh-oh, what happened here?
Well, sleep kicked in immediately, but it held at this minimum drive speed while it
waited for the 2 second delay before shutting down.
That’s so YOU can control the drive speed while you’re waiting for the delay to time
out.
When the delay was zero, there was no wait time so the drive went directly to zero.
That’s why you didn’t see this before.
Did you notice that PID is pushing the drive really hard to get the tank filled back up?
What if you don’t want the motor to run at the full 60Hz?
Well, just set the PID output frequency limit to whatever you want.
Let’s set it to 75% and hit run.
Sure enough, the motors output frequency is limited to 75% of the full 60 Hz and it takes
longer for the tank to fill.
Exactly what we expect.
Well, that ought to be more than enough to get you going with sleep more 3 with a forward
acting sleep mode.
In the next video, we’ll do the exact same example, but for a reverse acting system – that
is, the sensor value goes down, as the water level rises.
Click here to learn more about the GS4 Drive.
Click here to learn all about AutomationDirect’s free support options.
Click here to subscribe to our YouTube channel so you will be notified when we publish new
videos.