Feedback control

  •    The Feedback control option (channel 2 only) lets you use the principle of negative feedback to control an external variable (such as temperature, flow rate, etc.).  The computer reads an input channel to get the current condition of the variable, compares it to a user-defined set point, and adjusts the output voltage to the effector (a device -- such as a heater or flow control valve -- that influences the variable of interest).  Note that the current condition and the set point are in converted units (degrees C, ml/min, etc.) -- not 'raw' voltages.

    The main advantage of using the feedback control routines is flexibility and precision: you can specify a series of set points (up to 100) that occur at different times.  This allows pre-programmed control of complex experimental conditions.  It also helps insure that identical protocols are used in repeated experiments, which is critical in maintaining consistency.

     However, you need to remember that feedback control is abolished when LabHelper is not running. More importantly, if the computer is unattended and a malfunction occurs, the feedback mechanism will fail, leaving the effector in an unpredictable condition.  In some circumstances this could have very serious consequences. For example, you don't want to leave a high-wattage heating unit in an unregulated condition unless you are willing to risk overheating or even a fire. 

    Accordingly, feedback control should always be used with caution, and whenever possible, with safety back-ups that are independent of the computer (for example, thermal cut-offs for emergency temperature control).

    Two additional caveats to keep in mind:

    • The feedback routine uses analog output channel 2; you cannot use this channel for feedback control and a voltage output script simultaneously (you'll get a warning message if such a conflict exists).

    • The computer can supply a low-current control voltage only. 

    Top of page

    To set up a feedback control system, you need to tell the computer what's being regulated and how it should handle the regulation.  As you enter data, the script is shown graphically (see the example below).  For the script as a whole, you need to set:

    • The slope of the feedback system (negative or positive).  Note that a positive slope does not indicate positive feedback.  It simply means that the signal to the effector must increase when the regulated variable exceeds set point.  For example, the output of a cooling unit must increase if temperature is above set point, and this would require a positive slope setting (in contrast, the output of a heater must increase if temperature is below set point, and this would require a negative slope setting).

    • the regulated channel (the input channel that shows the current condition of the regulated variable)

    • the ending condition (at the end of the script sequence, at marker 'x', etc.)

    • the post-run set point (the set point after the script stops).  Click the 'enter values as the end state' button to set the post-run conditions equal to the currently visible data.  At any time you can click the 'show' button to view the post-run conditions.

    • the 'update interval', or how frequently the program checks and updates feedback control.  This interval can range from 0.25 to 30 seconds and is selected from the pop-up menu at the bottom of the window.

    • Feedback scripts may loop back upon themselves, in which case they will run indefinitely unless interrupted by an ending condition or by the conclusion of sampling.  A loop can return to any step in the script using the 'loop to step' button. 

    For each step you need to specify:

    • the set point and precision (± range) for the variable of interest

    • the maximum control voltage (the highest voltage that should be presented to the effector; 0 to 5 volts)

    • the minimum control voltage (the lowest voltage that should be presented to the effector; 0 to 5 volts)

    • the duration of the step (any duration may be entered, but time is measured in units of 1/60 second so no step can be shorter than this). 

    When these data are entered, press the 'enter these values as a new step' button to append the step to the script.  As steps are added or modified, the computer shows a graphical display of the current script.

    You can modify a feedback script by first indicating the step to be changed ('edit step' button).  You can then edit the step (by changing the set point, etc.  and then clicking the 'modify as above' button) or remove the step ('delete' button).  You can also remove the entire script ('clear' button).

    You can store and retrieve output scripts using the Open and Save selections in the D-A menu.

    • CAUTION:  using feedback may slightly reduce the maximum possible sampling rate.  At less than maximal rates, it has little or no effect on acquisition speed. 

    Top of page

    A typical feedback setup is shown at right:

    In this example, we are using negative-slope feedback to control temperature (channel 4).  This means that as temperature falls below the set point, an increasing control voltage is sent to the effector (here, a heater).

    The feedback script contains series of decreasing temperature set points, starting at 20 C and eventually declining to -6 C before returning to 15 C.  Each set point is maintained for several minutes and has a precision of ± 1 C and a regulatory voltage range of 0 to 5 volts.  This means that when the temperature is exactly equal to (or higher than) the set point, a control signal of 0 volts will be sent to the effector.  As temperature falls below set point, the control voltage to the effector increases.  When temperature is more than 1 C below set point, the maximum control voltage (5 volts) is sent to the effector.

    This script loops back to step 2 at the conclusion of the last step (step 6); it will stop when the 'q' key is struck.  When not gathering data, LabHelper will check and update the feedback condition every second.

  •    OPEN AO DATA...     Loads a stored script file into memory.  After loading the script, the program checks to see if a script sequence exists for either of the AO channels.  If a script does exist, that channel's menu selection is highlighted with a check-mark.

  •    SAVE AO DATA...     Saves an existing script file to disk (these files have special icons, shown at right; these icons may appear different depending on which version of macOS is in use).  The saved file contains complete data for both AO channels and for feedback control.


    go to: