In the accompanying drawings, reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale; emphasis has instead been placed upon illustrating the principles of the invention. Of the drawings:
a-3c illustrates an operational flow of the system in
In some aspects and in some circumstances the temperature sensor 81 and the acceleration sensors 82, 83 are integrated into the same component package. An example of a suitable accelerometer and temperature sensor integrated into the same component package includes the MXD2020EL—dual axis accelerometer, made by MEMSIC Inc. of North Andover, Mass.
The power conditioning circuit 73 converts the voltage applied to the apparatus via the power connection 31 and the ground connection 30 to a voltage and current usable by the apparatus circuitry. In some instances and in some circumstances the applied voltage is between 9 volts and 60 volts and the converted voltage is between 2.5 volts and 6 volts.
The CPU 70 monitors the acceleration sensor(s) 82, 83 and the periodically monitors the temperature sensor 81. In some aspects and is some circumstances the periodicity of the temperature sensor monitoring is about once a second. The CPU 70 applies predetermined temperature dependant acceleration correction factors that are either stored in memory 72 or calculated based on the current temperature reading to the acceleration reading. The CPU 70 uses the corrected acceleration measurement to determine the absolute tilt of the apparatus in one or two axes with respect to a plane horizontal to the earth either by calculation or accessing a lookup table in memory 72. The CPU 70 subtracts a reference angle(s) for either one or two axes from the determined absolute tilt angle(s) to determine the tilt of the apparatus relative to its reference plane stored in non-volatile memory 72. The CPU 70 compares the relative tilt to the X-axis and/or Y-axis threshold (trip) angle(s) stored in non-volatile memory 72. The CPU 70 averages the relative tilt angle(s) for an amount of time determined by the time constant stored in non-volatile memory 72. If the average relative tilt angle(s) exceeds the trip angle(s) the CPU 70 determines an alarm condition exists.
Optionally the CPU 70 provides visual warnings that the tilt angle has exceeded a significant percentage of the trip angle(s) by lighting optional warning LED(s) 20. In some instances and some circumstances the warning is lighted when the tilt angle exceeds 75 percent of the trip angle(s). Additionally the warning LED(s) 20 is arranged in such a fashion as to inform an observer as to which way the apparatus is being tilted.
The CPU 70 is connected to and controls a current source 84 and a current sink 85, which are both connected to the alarm output 32. When the CPU 70 determines an alarm condition exists it generates an alarm output 32 per the configuration stored in non-volatile memory (EEPROM) 72. The alarm output 32 is configured to source current (source) or sink current (sink) either while an alarm condition exists (normal open) or while no alarm condition exists (normal closed). There are four different configurations possible: (1) normal open, source; (2) normal open, sink; (3) normal closed, source, (4) normal closed, sink. For example consider the apparatus with the alarm output 32 configured to be normal closed, source. While the alarm condition does not exist, the alarm output 32 is sourcing current. When the apparatus is tilted such that an alarm condition exists, the alarm output 32 discontinues sourcing current.
Once an alarm condition has occurred it is continued until the average relative tilt angle(s) falls below the threshold angle(s) by the hysteresis angle(s) stored in non-volatile memory 72.
The CPU 70 monitors the communication port 91 for any attempted communication. If an external device, such as a computer connected via an RS-232 cable, initiates communication over the communication port 91, the apparatus enters a programmable mode of operation (program mode). While in program mode the apparatus can be reconfigured. Parameters that are programmed in this mode include but are not limited to: the reference plane, X-axis threshold (trip) angle; X-axis hysteresis angle; Y-axis trip angle; Y-axis hysteresis angle; Time constant (delay); alarm configuration of normally open or normally closed, and source or sink current.
Upon entering program mode the CPU 70 halts measurement operation, sends instructions for modifying the apparatus configuration parameters then continuously monitors the communication port 91 and responds to requests.
Upon receiving the command to quit the CPU 70 exits program mode and resumes normal operation using the updated stored parameters for operation.
a, 3b, 3c illustrate an operational flow 1000 of the apparatus circuitry 60.
With reference to
At step 105106107 in
Continuing at step 125 the CPU 70 checks the apparatus configuration to determine if it is a single axis or dual axis configuration. If it is a single axis configuration, flow continues at step 147. Otherwise the apparatus is determined to be a dual axis device and measurement of the Y-axis commences at step 127. The CPU 70 reads the Y-axis acceleration sensor, corrects the measurement for predetermined temperature dependencies and calculates or looks up in memory 72 the absolute tilt angle corresponding to the corrected acceleration measurement. The corrected measurement is stored in RAM 71 for averaging with preceding and subsequent Y-axis tilt angle measurements. If enough measurements have not been made to fulfill the time constant requirements determined by the time constant execution loops back to step 103. If enough measurements have been made the CPU 70 averages the measured Y-axis tilt angles stored in RAM 71 to determine the average absolute Y-axis tilt of the apparatus. At step 135 the CPU 70 checks to see if a Y-axis alarm condition previously existed. If it did the Y-axis hysteresis angle is added to the result, otherwise nothing is added. The CPU 70 then subtracts the stored Y-axis reference angle from the result and compares it to the Y-axis trip angle retrieved earlier from EEPROM 72. If the resultant angle is greater than the trip angle the CPU 70 sets the Y-axis alarm flag. If the resultant angle is less than the trip angle it clears the Y-axis alarm flag and optionally lights the warning indicator LED(s) 20 if the result is greater than a warning threshold which is a predetermined percentage of the trip angle.
At this point the apparatus has made enough measurements to fulfill the averaging requirements set by the time constant and execution continues at step 147. The CPU 70 checks to see if either alarm flag (X or Y) have been set at either step 117 or 139. If so, the CPU 70 generates the alarm output by checking the configuration as to be normal open or normal closed and source or sink (steps 148-154). If neither flag is set the CPU 70 clears the alarm output and determines if the optional zero indicator LED 21 should be lit (steps 155-164).
Now the CPU 70 checks to see if the auto-zero switch 92 has been pressed making an auto-zero request. If an auto-zero request was made the auto-zero routine 500 is called. The auto-zero routine 500 stores the current temperature corrected X-axis tilt angle as the reference angle and if the apparatus is configured to be dual axes it also stores the current temperature corrected Y-axis tilt angle as the reference angle. The routine then returns to step 167 where the CPU 70 checks to see if communication via the communication port 91 has been attempted. If no communication was attempted execution continues at step 103 where the process loop starts again. If communication was attempted the Parameter adjustment routine 400 is called thereby entering program mode of operation.
In
The CPU 70 now monitors the communication port 91 and waits for a value to be received. Once a value is received the CPU 70 checks at step 409 to see if it is a valid value for the parameter being modified. If not the CPU 70 sends “Invalid Entry, try again”, and resumes execution at step 408. Once a valid entry is received step 410 is executed where the value is written into EEPROM 72 and now becomes the parameter for future operation until it is updated again via this same routine. The CPU 70 sends the value back over the communication port 91 so that the user can verify that it has been updated to the correct value. This routine continues until a quit command is received or power is removed from the device.
When the quit command is received the execution is returned to step 171, which in turn loops back to step 102 and the apparatus begins again as if it were just powered on so that all the updated parameters are read from EEPROM 72 and are used for operation.
While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.