Abstract:
An apparatus is provided that increases resolution of a resistance sensor. The apparatus may include a variable current source that produces a variable current in response to a current value. The apparatus may also include a variable resistance device that generates a variable voltage associated with the variable current. The variable resistance may have a low resistance value and a high resistance value. In addition, the apparatus may include a controller that receives a voltage value associated with the variable voltage and controls the current value in order to result in an increase in resolution of a range between the low resistance value and a high resistance value.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a Divisional of and claims the benefit of priority to U.S. patent application Ser. No. 14/041,149 filed on Sep. 30, 2013, now U.S. Pat. No. 9,429,606, which is incorporated by reference herein to the extent permitted by law. 
    
    
     FIELD OF THE INVENTION 
     This application relates generally to sensing a wide range of resistance based sensor values in building automation or industrial control applications. 
     BACKGROUND 
     Many building automation or industrial processes need to sense signals for a variety of process variable values within the controlled processes. Typically the sensed signal is converted by the sensing device into a voltage, current, resistance or other interface signal value and the signal value is typically proportional (linearly, nonlinearly, or other) to the sensed value. 
     Although there are numerous standard values used for voltage (such as 0-1V, 0-2V, 0-5V, 0-10V, 2-10V) and for current (0-1 mA, 0-2 mA, 0-10 mA, 0-20 mA, 4-20 mA), resistance values vary over a wide spectrum of values. Temperature sensors, such as a thermistor, for example may be 100 Ohm, 1,000 Ohm, 2,000 Ohm, 10,000 Ohm, and even 100,000 Ohm. Temperature sensors typically are specified at a reference resistance at a reference temperature and then supply the affect of changing temperature in equation form associated with resistance. A 100,000 ohm thermistor ranges from 33,000 to over 2,200,000 ohms depending on the sensor temperature. Additionally, many position sensors are basically a potentiometer (“pot” or variable resistance) where sensed motion changes the pot resistance. These sensors are typically 0-100 Ohm, 0-1,000 Ohm, 0-2,000 Ohm, 0-10,000 Ohm, 0-100,000 Ohm, or 0-1,000,000 Ohm but can be virtually any other beginning/ending value. Some sensors are non-linear meaning a fixed change in the sensed value at low and high ends of the sensor does not result in equal changes of resistance values. A design solution may use different input circuitry for each type of sensor range, but may expand the circuitry to allow multiple input types. Hardware, software, and or manually controlled switches may be employed to select/deselect various components or reference values. 
     When a circuit design uses techniques to allow a wider range of these resistance types, the result is typically a loss in the resolution of the sensed value for any/most/all of the individual ranges. That is, a single circuit for sensing 0-1000 and 0-2000 ohm values may use only half of the full scale range of the analog to digital converter verses the full range for the 0-2000 ohm sensor. 
     In view of the foregoing, there is an ongoing need for systems, apparatuses and methods for determining the resistance values over a wide resistance range without loss of sensed value resolution. 
     SUMMARY 
     In view of the above, a system is provided for maximizing the resolution of a resistance sensing sensor. A resistance value is changed in a variable resistor and the current passing through that resistance is converted to a voltage. The voltage is converted into a digital value via an analog-to-digital (A/D) converter that is processed by a controller. The controller also provides feedback to a digital-to-analog (D/A) converter that is able to adjust a variable current source in order to provide optimum accuracy and increased resolution, where the feedback may be accessed from a data structure stored in a memory. 
     Other devices, apparatus, systems, methods, features and advantages of the invention will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the accompanying claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. In the figures, like reference numerals designate corresponding parts throughout the different views. 
         FIG. 1  illustrates a block diagram of a processor-controlled variable current approach for maximizing the range of resistance based sensor values in accordance with an example implementation; 
         FIG. 2  illustrates a graph of the scale range of the A/D converter and relative resistance value of  FIG. 1 . 
         FIG. 3  illustrates the ranges of the A/D converter of  FIG. 1 . 
         FIG. 4 a    illustrates a block diagram of the variable resistor of  FIG. 1  having a traveler in accordance with an example implementation. 
         FIG. 4 b    illustrates examples of variable resistance devices. 
         FIG. 5  illustrates a circuit diagram of an example variable current source of  FIG. 1 . 
         FIG. 6  illustrates a flow diagram of the approach for maximizing the resolution of resistance sensing in accordance with an example implementation of the invention. 
         FIGS. 7 and 8  are perspective illustrations of examples of fume hoods in which example implementations for determining a sash-opening area may be implemented by sensing resistance as in  FIG. 1  in accordance with an example implementation; 
         FIG. 9  illustrates a perspective cut-away drawing of the fume hood with a resistance strip and traveler attached to the sash panel of  FIG. 7  in accordance with an example implementation; 
         FIG. 10  illustrates a block diagram of the control of the fume hood of  FIG. 7 ; and 
         FIG. 11  illustrates a flow diagram of the approach for maximizing the resolution of the sash opening. 
     
    
    
     DESCRIPTION 
     I. Resistance Sensing 
     In  FIG. 1 , a block diagram  100  of a processor-controlled variable current approach for maximizing the range of resistance based sensor values is illustrated. A variable resistance device, such as potentiometer  102  (commonly called a “pot”) is coupled to a variable current source  104  and the input of an analog-to-digital (A/D) converter  106 . A controller  108  is coupled to the output of the A/D converter  106  and the input of digital-to-analog (D/A) converter  110 . The output of D/A converter  110  is coupled to the input of the variable current source  104 . The variable current source  104  does, as its name implies, provides a current value into pot or variable resistor  102 . The current flowing through the pot  102  resistance causes a voltage to be developed across the pot resistance  102 . In accordance with Ohm&#39;s law, the voltage will be equal to the resistance of the pot  102  times the current flowing through the pot  102 . 
     The D/A converter  110  is shown supplying a set point value to the variable current source  104 , causing the output current to change proportional to the setpoint value. The D/A converter  110  may be of any bit resolution 6, 8, 10, 12, 14, 16 or other values which yields 64, 256, 1024, 4096, 16384, or 65356 current levels respectively. When a 10 bit D/A converter  110  is used in the current example, 1024 different current values may be employed by the variable current source  104  resulting in 1024 different currents being available from the variable current source  104 , and also resulting in 1024 different voltages across the pot  102 . The D/A converter  110  value may be set by an algorithm executed in the controller  108 . 
     For example, the algorithm when executed results in the 10 bit D/A converter  110  is configured to drive 1 micro Amp (uA) of current at the 0 count value and 1 additional micro Amp of current for each additional step, then current values of 1, 2, 3, 4, 5 . . . 1021, 1022, 1023 micro amps are possible and each current develops a different voltage across pot  102 . The algorithm may be implemented in controller  108  as a lookup table, mathematical mapping function, other data structure that results in similar input and output values for the controller  108 . 
     Also in  FIG. 1  is an A/D converter  106  that reads the voltage developed across pot  104 . The resultant voltage value is supplied to controller  108 . The controller  108  contains algorithms and/or data structures to determine if the incoming voltage value is within the desired range of the A/D converter  106  and to increase the current set point from the D/A converter  110  if the sensed voltage is too low or decrease the D/A converter  110  current value if the voltage is too high. It is desirable to not exceed the maximum voltage input of the A/D converter  106 . 
     When the voltage is within the desired range, the controller  108  may determine the current going through the pot  102  from the value commanded to the A/D controller  110  and determine the voltage across the pot  102  from the voltage reading in the desired range of the A/D converter  106 . Using Ohms law, the controller  108  may determine the resistance value of the pot  102 . 
     Turning to  FIG. 2 , a graph  200  of the scale range of A/D converter  202  and relative resistance value  204  of the A/D converter  106  and variable resistor  102  of  FIG. 1  is illustrated. There are numerous ways to implement the above approach, but the solutions fall into categories consisting of 1) is the maximum resistance known (yes/no) and 2) is reading to be “most accurate” or “most linear”. If maximum resistance is know (either by manually setting it or through activation of the pot), then the approach may calculate what current value is needed for the D/A converter  110 , the value may be sent to the D/A converter  110  and the A/D converter  106  reading may be made and resistance calculated. This results in the “most linear” result  206 . Optionally, as the resistance is reduced from the maximum, the D/A converter  110  may be commanded to higher current settings, resulting in more optimum A/D converter  106  readings. This option results in higher resolution of the resistance  208 , but does not have a constant rate of change of measured value for same change in number of A/D converter  106  counts (voltage value). The operational range of the A/D converter  106  may limit the linear scaling to an unusable range  210  and a useable range  212 . 
     If the maximum resistance value is not known, the D/A converter  110  may be commanded by the output of controller  108  to its minimum value and an A/D converter voltage value reading may be made. The present resistance value may be calculated from the D/A converter  110  current value and A/D converter  106  voltage values. A lookup table within the controller  108  may be used to convert A/D converter  106  voltage value (or resistance in other implementation) and determine the optimum D/A converter  110  current value setting for this resistance. That current value is commanded to the D/A converter  110  and a second reading may then be made at the optimum resolution. By keeping track of the maximum value found, the controller  108  may learn the maximum value and switch to “max value known” approach. 
     In  FIG. 3 , an illustration  300  of the ranges of the A/D converter  106  of  FIG. 1  is depicted. Many design considerations may affect where the desired voltage range is located within the overall A/D converter  106 . For example, placing the desired voltage band near the top  302  of the overall A/D converter  106  range maximizes the current flow through the sensing circuit thereby minimizing electrical noise. Placing the sense range in the middle  304  of the overall range gives a wider “recovery” range should the variable resistor  102  change values (due to sensed value/position changes). While placing the sense range at the bottom  306  provides the least range for the A/D converter  106 . 
     II. Potentiometer Sensing 
     Turning to  FIG. 4 a   , a block diagram of the variable resistor (resistive strip  402 ) having a traveler in accordance with an example implementation is illustrated. Here the resistive strip  402  may be moved by a traveler arm connected to ground and both “ends” of the resistive strip  402  and available for connection to two of the constant current sources. A second wiper  408  is shown as used in dual resistor sensors. In this case, the resistance from wiper  406  to end  412  of the resistive strip  402  may be measured by one current source and the resistance from wiper  408  to end  410  of the resistive strip  402  is measured by a second current source. The wipers  406  and  408  are both tied to ground so no resistance is sensed between  406  and  408 . Other configurations of sensor and reference connections offer more sensing options but are considered extensions of this basic concept. 
     III. Resistive Temperature Sensing 
     In  FIG. 4 b    examples diagrams  450  of other types of variable resistance devices is illustrated. The resistance device may be a potentiometer  452 , thermistor  454 , and resistive strip  402  of  FIG. 4 a   . Other types of variable resistors may also be used as a resistive device. Many types of resistive materials are sensitive to temperature change (such as thermistor  454 ) and as such many are used as temperature sensors. These devices are typically specified with a typical resistance value at a specific reference temperature, and an equation or graphic to define their change in resistance verses change in temperature. Measurement of resistance of these types of sensors is done with the disclosed approach by replacing pot  102  or resistive strip  402  with a single resistive temperature sensor  454 . The controller  108  may employ a lookup table for some sensor types to convert the resistance value into temperature. 
     Turning to  FIG. 5 , a circuit diagram of an example implementation for the variable current source  104  of  FIG. 1 . The current source  104  has a digital voltage output  502  and an analog voltage input  504 . In other implementations, other types of current sources may be employed. The variable current source  104  generates a variable current, where the variable current is a current that may change in relationship to the analog voltage input  504 . 
     In  FIG. 6 , a flow diagram  600  of the approach for maximizing the resolution of resistance sensing is illustrated. The D/A converter  110  may be set to 0 counts (current value) in step  602 . The voltage at the A/D converter  106  is converted to a voltage value in step  604 . The voltage value is then used by the controller  108  to access a value-to-resistance table stored in the controller&#39;s memory in step  606  to determine resistance. In step  608 , the resistance is used to look up the D/A setting (current value) in the resistance to D/A converter  110  setting table. The controller  108  may then set the current value for the D/A converter  110  in step  610 . The controller  108 , in step  612 , reads the voltage value from the A/D converter  106 . The controller  108  may then determine the maximum A/D converter counts per unit length (maximum resolution step value) in step  614 . In step  616 , the controller  108  is able to calculate the resistance as voltage value (derived from A/D  106 ) divided by current value (derived from D/A  110 ). If the “maximum” resistance is known by the controller, the controller may go directly to step  608   
     IV. Fume Hoods and Fume Hood Sashes 
     As used herein, the term “sash” refers to a movable panel or door positioned to cover a fume hood opening where movement of the sash varies the area of the fume hood opening. As used herein, the term “sash opening” refers to the fume hood opening defined by the position of the sash panel where the maximum area of the fume hood opening is defined by the area of the fume hood opening with the sash panels positioned at a maximum open position. 
       FIGS. 7 and 8  are perspective illustrations of examples of fume hoods in which example implementations of systems and methods for determining a sash-opening area may be implemented.  FIG. 7  shows a first fume hood  700  comprising an enclosure structure  702 , a work surface  704 , and a vertically movable sash panel  708 . The enclosure structure  702  encloses the area of the work surface  704  on which work involving toxic or noxious fumes, vapors, and/or dust may be performed. A hood opening  706  provides access to the work surface  704 . The hood opening  706  may be defined by a cutout in a front side or other side of the enclosure structure  702  having a vertical or longitudinal dimension of “y Max ” and a horizontal or latitudinal dimension of “x Max ” as shown in  FIG. 7 . The vertically movable sash panel  708  is used to open or close the hood opening  706 . In the example implementation shown in  FIG. 7  the sash panel  708  moves in a vertical direction such that the sash panel  708  is spaced above an edge  710  of the work surface  704  to form a sash opening  712  (as portion of hood opening  706 ) having a sash height H=y sash , which has a value within the range of 0 to y Max  for providing access to the work surface  704 . 
     The fume hood  700  is connected to an exhaust fan and damper arrangement by ductwork (not shown in the Figures). The exhaust fan serves to draw air from the room through the sash opening  712 , the interior of the enclosure structure  702 , the ductwork and the damper. The air is then vented outside of the building by the exhaust fan thereby removing fumes, vapors or dust. A fume hood controller (not shown in  FIGS. 7 and 8 ) may be included in or near the fume hood  700  to maintain the speed of the air (referred to herein as the face velocity) drawn through the fume hood  700  within a desired air speed range. If the face velocity is too low, there may be insufficient venting of the work surface  704 . If the face velocity is too high, undesirable air turbulence is generated, which may cause movement of the contaminants into a worker&#39;s breathing zone. An acceptable range for the face velocity may vary between approximately 80-120 feet per minute (fpm) depending on the type of hood and hazard. 
     The fume hood controller may be configured to control the exhaust fan or fans, and dampers to keep the face velocity in the proper range. Typically, the ventilation system for the fume hood may be integrated with the ventilation system of the building in which the fume hood is installed. In such implementations, the fume hood controller may control air valves or dampers to adjust the face velocity. The face velocity is affected by the area or size of the sash opening  712  and any pressure drop that may exist across the sash panel  708 . In order to maintain the face velocity within the desired range given that the sash panel  708  is movable, an air valve may be adjusted to take into account the current size of the sash opening  712 . For example, an air valve may be controlled to increase air flow as the size of the sash opening  712  is increased. Conversely, the air valve is controlled to decrease the air flow as the size of the sash opening  712  is decreased. Similarly, the air valve may be adjusted to take into account the size of the sash opening  712  for the configuration shown in  FIG. 7 . 
     The fume hood  820  shown in  FIG. 8  includes an enclosure structure  822  similar to that of the fume hood  700  in  FIG. 7 , and sash panels  828   a ,  828   b ,  828   c ,  828   d  that move horizontally to provide a sash opening  826  to access a work surface  824 . The first sash panel  828   a  is shown moved over to a position in which it is directly behind the second sash panel  828   b . The sash opening  826  shown in  FIG. 1B  has a width x sash  from 0 to x Max . The sash opening  826  has a fixed height of y Max . 
     The sash opening  126  may be located at different positions along the width of a hood opening, which is the total opening in the fume hood  820  when the sash panels  828   a ,  828   b ,  828   c ,  828   b  are removed. As noted above, the sash opening  826  is formed by positioning the first sash panel  828   a  to a position behind the second sash panel  828   b . The sash opening  826  may also be formed by moving the first and second sash panels  828   a &amp; b  over to the left-most side leaving the sash opening  826  to extend to the right to the third sash panel  828   c . The sash opening  826  may also be formed by moving the second sash panel  828   b  to the left and the third sash panel  828   c  to the right. The maximum width x Max  in the fume hood  820  in  FIG. 8  is the width of the hood opening (without sash panels) minus the width of one of the sash panels. In another implementation, the sash panels  828  et seq. may be moved to a position beyond the outermost edges of the hood opening (without sash panels). 
     The sash opening area may be determined for the sash openings in the fume hoods shown in  FIGS. 7 and 8  by determining an area of a rectangle formed by the edges around the sash opening shown in each drawing. The rectangle of the sash opening in each fume hood  700 ,  820  has an area A(x,y)−x sash ·y sash . Example implementations of systems and methods for determining the area of a sash opening using an emitter and sensor panel are described below. It is noted that the examples described below are for a fume hood similar to the fume hood  820  in  FIG. 8  in which horizontally movable sashes  828  et seq. are used to provide the sash opening  826 . Those of ordinary skill in the art will understand that the examples described herein may be similarly implemented in fume hoods having openings regardless of how they are formed. 
     In  FIG. 9 , is a perspective cut-away drawing  900  of the fume hood  700  illustrating the resistive strip  902  and traveler  904  attached to the sash panel  708  by an arm  906  in accordance with an example implementation. The sash panel  708  in the closed position seals near the work surface  704  in the current example. When the sash panel is an open position the arm  906  causes the traveler  904  to move upon the resistive strip  902 . In the current example the traveler  904  moves up with the sash  708  when it is being opened and down when the sash  708  is being closed. Thus the sash has a closed position, and an open position. The open position may be any opening created by the sash  708  with completely open being the maximum amount of opening that the sash  708  may create. As the traveler  904  moves it moves from a low resistance value to a resistance value that is identified as a maximum resistance value (maximum resistance is not a maximum of the resistive strip  902 , rather it is a maximum that is generated by the traveler  904  when the sash  708  is fully open). In other implementations, the resistive stripe by be inverted with closed is the maximum resistive value and opening reduces the resistance generated by the resistive strip  902 . The resistance from the resistive strip may have a current passed through it resulting in a voltage. As was explained above, the current may be generated by a variable current source that is adjusted to optimize the available resolution of the resistance value and A/D converter sensing range. 
     In  FIG. 10 , a block diagram  1000  of the control of the fume hood  700  of  FIG. 7  is illustrated. The controller  108  may have one or more modules, such as open area determining unit  1004 , ventilation control unit  1006 , sash position tracking unit  1008 , and memory  1010 . The controller  108  may be coupled to the user interface  1012  and the resistive strip  1020 . The ventilation control unit  1006  may be coupled to a ventilation/exhaust equipment interface  1030 . 
     The controller  108  may perform the function of tracking the sash position using the sash position tracking unit  1008  by receiving a digital signal from A/D converter  106 . The resolution of the digital signal is adjusted by the sash position tracking unit providing a digital signal that is converted by D/A  110  converter into an analog signal that is used to adjust the variable current source  104 . 
     The ventilation control unit  1006  uses the area of the sash opening to control the ventilation in the fume hood so that the face velocity is maintained within a desired range. The ventilation control unit  1006  may communicate with ventilation/exhaust equipment through a ventilation/exhaust equipment interface  1030  to adjust fans and dampers as determined by the ventilation control unit  1006 . The ventilation/exhaust equipment interface  1030  may also include connections to strategically placed pressure sensors to measure a pressure gradient between the inside of the fume hood and the outside of the fume hood. The actual algorithms for determining the proper settings of the fans and/or dampers for a desired range of face velocity are well known to those of ordinary skill in the art and, therefore, need not be discussed in any further detail. 
     The user interface  1012  coupled to the controller  108  may be used to initially set the values for the current source  104 . The initial setup values may include the initial current and maximum current. The initial setup values may be stored in memory  1010 . The initial setup values may be set during a calibration period or by having the controller  108  enter a calibration mode. 
     During normal operation, each sash position value is sensed thru the respective resistance sensor. The resistance is converted to a sash (window) position on the sash track, and that position converts to a 2 dimensional space blocked by the individual sash (window). Knowing the position of each sash (window) the controller calculates the open surface area of the front of fume hood. As shown in prior art, the open face area multiplied by the air flow rate results in the CFM of air going into the fume hood. As one or more sashes are moved by the user, the controller gathers the new sash positions, recalculates the CFM and commands the exhaust damper to open or close an amount to offset the change in CFM caused by the sash movements. This assures a near constant air inflow into the fume hood and assures the safety of the person/people using the fume hood. 
     In  FIG. 11 , a flow diagram  1100  of the approach for maximizing the resolution of the sash opening of a sash panel  708  is illustrated. The approach is employed during the configuration of the sash panel  708  by entering a calibration mode via the user interface in step  1102 . The calibration may start with the sash panel  108  in a maximum resistance position  1104  (fully open in the current example.) In other implementations, the maximum resistance may be entered manually. In step  1106 , the D/A converter  110  increases current so the sensed voltage is near the maximum rated voltage for A/D  106 . The value of the digital signal is then stored in memory  1010  as a first stored count value and first voltage value in step  1108 . In step  1110 , the sash panel  708  may then be repositioned to the minimum resistance point (sash panel  708  closed position.) The value of the D/A  110  is stored as the second stored value and second voltage value in step  1112 . The first and second stored values define the maximum A/D counts for a given opening size (best resolution possible). The maximum sensed voltage and maximum A/D counts per unit length is then determined  1114 . If more than one sash door is used on the fume hood  700 , then the process is repeated for that hood. Calibration mode is then exited via the user interface  1116 . 
     It will be understood and appreciated that one or more of the modules and steps described in connection with  FIGS. 6 and 11  may be performed by hardware, software, or a combination of hardware and software on one or more electronic or digitally-controlled devices. The software may reside in a memory in a suitable electronic processing component. The memory may include an ordered listing of executable instructions for implementing logical functions (that is, “logic” that may be implemented in digital form such as digital circuitry or source code, or in analog form such as an analog source such as an analog electrical, sound, or video signal). The instructions may be executed within a processing module, which includes, for example, one or more microprocessors, general purpose processors, combinations of processors, digital signal processors (DSPs), field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), or microcontroller. Further, the diagrams describe a logical division of functions having physical (hardware and/or software) implementations that are not limited by architecture or the physical layout of the functions. The example systems described in this application may be implemented in a variety of configurations and operate as hardware/software components in a single hardware/software unit, or in separate hardware/software units. 
     The executable instructions may be implemented as a computer program product having instructions stored there in which, when executed by a processing module of an electronic system, direct the electronic system to carry out the instructions. The computer program product may be selectively embodied in any non-transitory computer-readable storage medium for use by or in connection with an instruction execution system, apparatus, or device, such as a electronic computer-based system, processor-containing system, or other system that may selectively fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, computer-readable storage medium is any non-transitory means that may store the program for use by or in connection with the instruction execution system, apparatus, or device. The non-transitory computer-readable storage medium may selectively be, for example, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. A non-exhaustive list of more specific examples of non-transitory computer readable media include: an electrical connection having one or more wires (electronic); a portable computer diskette (magnetic); a random access, i.e., volatile, memory (electronic); a read-only memory (electronic); an erasable programmable read-only memory such as, for example, Flash memory (electronic); a compact disc memory such as, for example, CD-ROM, CD-R, CD-RW (optical); and digital versatile disc memory, i.e., DVD (optical). Note that the non-transitory computer-readable storage medium may even be paper or another suitable medium upon which the program is printed, as the program may be electronically captured via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner if necessary, and then stored in a computer memory or machine memory.