1045 User Guide: Difference between revisions

From Phidgets Support
No edit summary
 
(17 intermediate revisions by 5 users not shown)
Line 1: Line 1:
__NOINDEX__
<metadesc>The PhidgetTemperatureSensorIR measures the temperature of an object at a distance and it plugs directly into a USB port.</metadesc>
[[Category:UserGuide]]
[[Category:UserGuide]]
{{UserguideTOC|1045.jpg|1045}}
==Getting Started==
==Getting Started==
{{UGIntro|1045}}
*[{{SERVER}}/products.php?product_id=1045 1045 PhidgetTemperatureSensor IR]
*USB cable and computer


===Checking the Contents===
{{UGbox|
'''You should have received:'''
* A PhidgetTemperatureSensor IR
* A Mini-USB cable
|
'''In order to test your new Phidget you will also need:'''
* A source of heat
||}}


===Connecting the Pieces===
Next, you will need to connect the pieces:
{{UGbox|
[[Image:1045_0_Connecting_The_Hardware.jpg|500px|right|link=]]
Connect the PhidgetTemperatureSensor IR to your computer using the Mini-USB cable.
# Connect the PhidgetTemperatureSensor IR to your computer using the USB cable.
|
[[File:1045_0_Connecting_The_Hardware.jpg|400px|link=]]
||}}


===Testing Using Windows 2000 / XP / Vista / 7===
<br clear="all">
{{UGIntroDone|1045}}


{{UGwin}}
==Using the 1045==
{{UGcontrolpanel|1045}}


===Running Phidgets Sample Program===
{{ugTemperatureSensorIR|1045}}


{{UGwin2|'''TemperatureSensor-full'''}}
{{ugTemperatureSensorIC|1045|, labelled ''Temperature Sensor (IC)'', |(IC)}}


{{UGbox|
{{ugAddressingInformation}}
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the Phidget Temperature Sensor IR is properly attached  to your PC.
|[[File:1045_0_ControlPanel.jpg|400px|link=]]
|
# Double Click on Phidget Temperature Sensor IR in the Phidget Control Panel to bring up TemperatureSensor-full and check that the box labelled Attached contains the word True.
# Place a source of heat in front of the sensor.  The object temperature is displayed in degrees centigrade.
# You can adjust the temperature sensitivity by moving the slider. We have set the sensitivity at 0.5 degree.
# The board temperature is displayed in this box
|[[File:1045_0_TemperatureSensor_Screen.jpg|400px|link=]]


}}
{{ugUsingYourOwnProgram|1045}}
 
===Testing Using Mac OS X===
 
{{UGmac|Phidget Temperature Sensor IR|TemperatureSensor-full}}
 
===Using Linux===
 
{{UGlinux}}
 
===Using Windows Mobile / CE 5.0 / CE 6.0===
 
{{UGce}}


==Technical Details==
==Technical Details==
===Measured Temperatures===
===Measured Temperatures===
The 1045 is factory calibrated in wide temperature ranges: -40°C to 125°C for the ambient temperature and -70°C to 382.2°C for the object temperature.


The 1045 is factory calibrated in wide temperature ranges: -40 to 125 °C for the ambient temperature and -70 to 382.2 °C for the object temperature.
To get an accurate reading, it is important that the object being measured occupies the sensor's full field of view of the sensor while not making physical contact with the sensor. Since an infrared sensor measures temperature based on what the object is emitting, there is theoretically no limit to the range of such a sensor, except that the further away from the sensor the object is, the larger the area of detection is. If the object being measured doesn't occupy the full area, the emissions of other objects could reduce the accuracy of the reading. In addition, the temperature of the object and of the environment also affect the overall accuracy. The highest degree of accuracy is ±0.5°C when both the ambient temperature and the object temperature are between 0°C and 50°C. As either temperature changes, the accuracy can decrease to up to ±4°C.  
 
To get an accurate reading, it is important that the object being measured occupies the full field of view of the sensor while not making physical contact with the sensor. Since an infra-red sensor measures temperature based on what the object is emitting, there is theoretically no limit to the range of such a sensor, except that the further away from the sensor the object is, the larger the area of detection is. If the object being measured doesn't occupy the full area, the emissions of other objects could reduce the accuracy of the reading. In addition, the temperature of the object and of the environment also affect the overall accuracy. The highest degree of accuracy is +/- 0.5 degrees Celsius when both the ambient temperature and the object temperature are between 0 and 50 degrees Celsius. As either temperature changes, the accuracy can decrease to up to +/- 4 degrees Celsius.  


The measured value is the average temperature of all objects in the 10° Field Of View of the sensor.
The measured value is the average temperature of all objects in the sensor's 10° field of view.  
 
The sensor is configured to continuously transmit the temperature of the measured object every 32ms.


===Board Temperature===
===Board Temperature===
It is very important to understand that the specifications are only guaranteed and achievable when the sensor is in thermal equilibrium and under isothermal conditions (i.e. there are no temperature differences across the sensor package board). The accuracy of the 1045 can be influenced by temperature differences in the board. These differences can be caused by the following:
*hot electronics behind the sensor.
*heaters/coolers behind or beside the sensor.
*hot/cold objects very close to the sensor that not only heat the sensing element in the 1045 but also the 1045 PCB.


It is very important to understand that these accuracies are only guaranteed and achievable when the sensor is in thermal equilibrium and under isothermal conditions (there are no temperature differences across the sensor package board. The accuracy of the thermometer can be influenced by temperature differences in the board induced by causes like (among others): Hot electronics behind the sensor, heaters/coolers behind or beside the sensor or by a hot/cold object very close to the sensor that not only heats the sensing element in the thermometer but also the 1045 board.
The 1045 assumes that the ambient temperature has settled to a constant temperature. If the surrounding temperature is constantly changing, or if there is a difference of temperature across the sensor package, additional infrared radiation will be sensed which can result in temperature errors outside of the calibrated errors.  
 
The 1045 assumes that the ambient temperature has settled to a constant temperature. If the surrounding temperature is constantly changing, or if there is a difference of temperature across the sensor package, additional infra-red radiation will be sensed which can result in temperature errors outside of the calibrated errors.  


===Emissivity===
===Emissivity===
In order to measure temperature using infrared radiation, it is absolutely essential to know the emissivity of the surface being measured.  Emissivity is a measure of how effective a surface is at radiating energy.  An emissivity of 1 is the most effective radiator - for a given temperature, it will radiate the most heat.  The 1045 assumes that the surface being measured has an emissivity of 1.  If the 1045 is used to measure a surface with an emissivity of 0.5, the measured temperature will be 50% of the difference in temperature between the board and object.   
In order to measure temperature using infrared radiation, it is absolutely essential to know the emissivity of the surface being measured.  Emissivity is a measure of how effective a surface is at radiating energy.  An emissivity of 1 is the most effective radiator - for a given temperature, it will radiate the most heat.  The 1045 assumes that the surface being measured has an emissivity of 1.  If the 1045 is used to measure a surface with an emissivity of 0.5, the measured temperature will be 50% of the difference in temperature between the board and object.   


A few examples of some materials with a large difference in emissivity are aluminum, with a typical value of 0.18, and plastics, which can have a value ranging from 0.85 to 0.95.  The visible colour of the object does not necessarily mean it has a higher emissivity value. A heavily oxidized aluminum object has an emissivity value of around 0.3, even though it looks very dark. The closer the value is to 1, the better the object is at emitting radiation.
A few examples of some materials with a large difference in emissivity are aluminum, with a typical value of 0.18, and plastics, which can have a value ranging from 0.85 to 0.95.  The visible colour of the object does not necessarily mean it has a higher emissivity value. A heavily oxidized aluminum object has an emissivity value of around 0.3, even though it looks very dark. The closer the value is to 1, the better the object is at emitting radiation.


The 1045 is calibrated for an object emissivity of 1.  
The 1045 is calibrated for an object emissivity of 1.  
Line 82: Line 53:
Surface Temperature = (Sensor Temperature - Ambient Temperature) * Emissivity + Ambient Temperature
Surface Temperature = (Sensor Temperature - Ambient Temperature) * Emissivity + Ambient Temperature


A good resource of emissivity values of different materials can be found on [http://www.monarchinstrument.com/pdfs/TableofEmissivity.pdf this site].
A good resource of emissivity values of different materials can be found on [http://www.monarchinstrument.com/pdfs/TableofEmissivity.pdf here].


Emissivity is a complicated topic, as it can vary depending on the temperature of the material.  For precise measurements, you may have to calculate the emissivity of your material by comparing the reported Sensor Temperature to the actual surface temperature measured with a contact thermocouple.
Emissivity is a complicated topic, as it can vary depending on the temperature of the material.  For precise measurements, you may have to calculate the emissivity of your material by comparing the reported Sensor Temperature to the actual surface temperature measured with a contact thermocouple.
Line 88: Line 59:
IR measurements are true surface temperature measurements. For example, when measuring the temperature of a person, the actual temperature measured by an IR thermometer will be temperature of the clothing and not the skin temperature. Emissivity of the clothes is another issue that has to be considered.
IR measurements are true surface temperature measurements. For example, when measuring the temperature of a person, the actual temperature measured by an IR thermometer will be temperature of the clothing and not the skin temperature. Emissivity of the clothes is another issue that has to be considered.


===Sumlight Immunity===
===Sunlight Immunity===
 
The Temperature Sensor also contains a built-in optical filter to cut off the visible spectra and increase immunity against errors introduced by any surrounding light sources.  
The Temperature Sensor also contains a built-in optical filter to cut off the visible spectra and increase immunity against errors introduced by any surrounding light sources.  


The wavelength pass band of this optical filter is from 5.5 to 14μm.
The wavelength pass band of this optical filter is from 5.5μm to 14μm.
 
==API==
{{UGapih}}
 
===Functions===
 
{{UGapi|int TemperatureInputCount () [get] : Constant <nowiki>=</nowiki> 1
|Returns the number of temperature inputs (IR Sensors) that can be read by the PhidgetTemperatureSensor.
}}
 
{{UGapi|double Temperature (int Index) [get] : °C
|Returns the temperature measured by the IR sensor. This value is returned in degrees Celsius but can easily be converted into other units. This value will always be between TemperatureMin and TemperatureMax. Please refer to the device specifications for noise and accuracy details.
}}
 
{{UGapi|double TemperatureMax (int Index) [get] : Constant <nowiki>=</nowiki> 380°C
|Returns the maximum temperature that can be returned by an IR Sensor input.
}}


{{UGapi|double TemperatureMin (int Index) [get] : Constant, <nowiki>=</nowiki> -70°C
===Maximum effective distance===
|Returns the minimum temperature that can be returned by an IR Sensor input.
In order to determine the maximum distance the 1045 can be effective at we first need to understand how the sensor measures temperature. The 1045 takes in IR radiation in a conical pattern from directly in front of the black canister mounted on the board. The field of view (FOV) of the device is rated at 10°, to illustrate:
}}


{{UGapi|double TemperatureChangeTrigger(int Index) [get,set] : °C
[[File:1045_FOV.png|link=|600px|center]]
|Sets / gets the change trigger for an input. This is the amount by which the sensed temperature must change between TemperatureChangeEvents. By default this is set to 0.1. Setting TemperatureChangeTrigger to 0 will cause all temperature updates to fire events. This is helpful for applications that are implementing their own filtering.
}}


{{UGapi|double AmbientTemperature () [get] : °C
The 1045 measures temperature by averaging the temperature of all points inside it's FOV.  This means that if the surface you are trying to measure the temperature of doesn't occupy the entire FOV, the average will be thrown off by the temperature of the surrounding surfacesIdeally then the surface you are measuring should be close enough to cover the entire 10° arc:
|Returns the temperature of the 1045 board, measured at the base of the IR Sensor. This temperature is used as a reference for IR sensor temperature measurementThis value will always be between getAmbientTemperatureMin and getAmbientTemperatureMax.
}}


{{UGapi|double AmbientTemperatureMax () [get] : Constant <nowiki>=</nowiki> 125°C
[[File:1045_FOV_Occupancy.png|link=|600px|center]]
|Returns the maximum temperature that can be returned by the ambient sensor.
}}


{{UGapi|double AmbientTemperatureMin () [get] : Constant <nowiki>=</nowiki> -40°C
This means that the theoretical maximum distance you can get accurate readings from is the distance at which a circle that is the base of a 10° cone has a radius equal to the surface being measured:
|Returns the minimum temperature that can be returned by the ambient sensor.
}}


===Events===
[[File:1045_equation.png|link=|600px|center]]


{{UGapi|OnTemperatureChange(int ProbeIndex, double Temperature) [event]
Note that this means that you can measure the temperature of objects from ''any'' distance provided the object is of sufficient size.  This is a bit counter-intuitive but true.  You could measure the temperature of the sun from 7.9 million kilometers away though the data would admittedly be about 26 seconds old.
|Event that fires whenever the temperature measured by the IR sensor changes by more than the TemperatureChangeTrigger.  
}}


{{UGapi|OnError(int code, String description) [event]
|PhidgetTemperatureSensor returns EEPHIDGET_OUTOFRANGE when an input goes out of the range specified by TemperatureMin-TemperatureMax. The event is reported once per input per out-of-range type, until the value has gone back into range. The description specifies the input, the type of out-of-range error and the out of range value that was read.
}}


==Product History==
{{UGnext|}}
{{UGhist}}
{{UGrow2|1045_0|February 2011 |0|100|Product Release}}
{{UGrow2|1045_0|May 2011      |0|101|getLabelString fix for lables > 7 characters}}
{{UGrow2|1045_1|September 2012|1|101|ICs put on reverse side to reduce error from self-heating}}

Latest revision as of 16:10, 17 October 2019


Getting Started

Welcome to the 1045 user guide! In order to get started, make sure you have the following hardware on hand:


Next, you will need to connect the pieces:

1045 0 Connecting The Hardware.jpg
  1. Connect the PhidgetTemperatureSensor IR to your computer using the USB cable.


Now that you have everything together, let's start using the 1045!

Using the 1045

Phidget Control Panel

In order to demonstrate the functionality of the 1045, the Phidget Control Panel running on a Windows machine will be used.


The Phidget Control Panel is available for use on both macOS and Windows machines.

Windows

To open the Phidget Control Panel on Windows, find the Ph.jpg icon in the taskbar. If it is not there, open up the start menu and search for Phidget Control Panel

Windows PhidgetTaskbar.PNG

macOS

To open the Phidget Control Panel on macOS, open Finder and navigate to the Phidget Control Panel in the Applications list. Double click on the Ph.jpg icon to bring up the Phidget Control Panel.


For more information, take a look at the getting started guide for your operating system:


Linux users can follow the getting started with Linux guide and continue reading here for more information about the 1045.

First Look

After plugging the 1045 into your computer and opening the Phidget Control Panel, you will see something like this:

1045 Panel.jpg


The Phidget Control Panel will list all connected Phidgets and associated objects, as well as the following information:

  • Serial number: allows you to differentiate between similar Phidgets.
  • Channel: allows you to differentiate between similar objects on a Phidget.
  • Version number: corresponds to the firmware version your Phidget is running. If your Phidget is listed in red, your firmware is out of date. Update the firmware by double-clicking the entry.


The Phidget Control Panel can also be used to test your device. Double-clicking on an object will open an example.

TemperatureSensor (IR)

Double-click on the Temperature Sensor object, labelled Temperature Sensor (IR), in order to run the example:

1045 TemperatureSensorIR Example.jpg


General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • Modify the change trigger and/or data interval value by dragging the sliders. For more information on these settings, see the data interval/change trigger page.
  • The measured temperature can be seen next to the Temperature label. Point the IR aperature towards a warm object to see the temperature quickly rise.


Temperature Sensor (IC)

Double-click on the Temperature Sensor object , labelled Temperature Sensor (IC), in order to run the example:

1045 TemperatureSensorIC Example.jpg


General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • Modify the change trigger and/or data interval value by dragging the sliders. For more information on these settings, see the data interval/change trigger page.
  • The measured temperature can be seen next to the Temperature label. Cover the board with your hands to see the temperature quickly rise.


Finding The Addressing Information

Before you can access the device in your own code, and from our examples, you'll need to take note of the addressing parameters for your Phidget. These will indicate how the Phidget is physically connected to your application. For simplicity, these parameters can be found by clicking the button at the top of the Control Panel example for that Phidget.

The locate Phidget button is found in the device information box

In the Addressing Information window, the section above the line displays information you will need to connect to your Phidget from any application. In particular, note the Channel Class field as this will be the API you will need to use with your Phidget, and the type of example you should use to get started with it. The section below the line provides information about the network the Phidget is connected on if it is attached remotely. Keep track of these parameters moving forward, as you will need them once you start running our examples or your own code.

All the information you need to address your Phidget

Using Your Own Program

You are now ready to start writing your own code for the device. The best way to do that is to start from our Code Samples.

Select your programming language of choice from the drop-down list to get an example for your device. You can use the options provided to further customize the example to best suit your needs.

Code Sample Choose Language.png


Once you have your example, you will need to follow the instructions on the page for your programming language to get it running. To find these instructions, select your programming language from the Programming Languages page.

Technical Details

Measured Temperatures

The 1045 is factory calibrated in wide temperature ranges: -40°C to 125°C for the ambient temperature and -70°C to 382.2°C for the object temperature.

To get an accurate reading, it is important that the object being measured occupies the sensor's full field of view of the sensor while not making physical contact with the sensor. Since an infrared sensor measures temperature based on what the object is emitting, there is theoretically no limit to the range of such a sensor, except that the further away from the sensor the object is, the larger the area of detection is. If the object being measured doesn't occupy the full area, the emissions of other objects could reduce the accuracy of the reading. In addition, the temperature of the object and of the environment also affect the overall accuracy. The highest degree of accuracy is ±0.5°C when both the ambient temperature and the object temperature are between 0°C and 50°C. As either temperature changes, the accuracy can decrease to up to ±4°C.

The measured value is the average temperature of all objects in the sensor's 10° field of view.

Board Temperature

It is very important to understand that the specifications are only guaranteed and achievable when the sensor is in thermal equilibrium and under isothermal conditions (i.e. there are no temperature differences across the sensor package board). The accuracy of the 1045 can be influenced by temperature differences in the board. These differences can be caused by the following:

  • hot electronics behind the sensor.
  • heaters/coolers behind or beside the sensor.
  • hot/cold objects very close to the sensor that not only heat the sensing element in the 1045 but also the 1045 PCB.

The 1045 assumes that the ambient temperature has settled to a constant temperature. If the surrounding temperature is constantly changing, or if there is a difference of temperature across the sensor package, additional infrared radiation will be sensed which can result in temperature errors outside of the calibrated errors.

Emissivity

In order to measure temperature using infrared radiation, it is absolutely essential to know the emissivity of the surface being measured. Emissivity is a measure of how effective a surface is at radiating energy. An emissivity of 1 is the most effective radiator - for a given temperature, it will radiate the most heat. The 1045 assumes that the surface being measured has an emissivity of 1. If the 1045 is used to measure a surface with an emissivity of 0.5, the measured temperature will be 50% of the difference in temperature between the board and object.

A few examples of some materials with a large difference in emissivity are aluminum, with a typical value of 0.18, and plastics, which can have a value ranging from 0.85 to 0.95. The visible colour of the object does not necessarily mean it has a higher emissivity value. A heavily oxidized aluminum object has an emissivity value of around 0.3, even though it looks very dark. The closer the value is to 1, the better the object is at emitting radiation.

The 1045 is calibrated for an object emissivity of 1.

For an arbitrary emissivity, the measured temperature can be converted to the surface temperature using this formula:

Surface Temperature = (Sensor Temperature - Ambient Temperature) * Emissivity + Ambient Temperature

A good resource of emissivity values of different materials can be found on here.

Emissivity is a complicated topic, as it can vary depending on the temperature of the material. For precise measurements, you may have to calculate the emissivity of your material by comparing the reported Sensor Temperature to the actual surface temperature measured with a contact thermocouple.

IR measurements are true surface temperature measurements. For example, when measuring the temperature of a person, the actual temperature measured by an IR thermometer will be temperature of the clothing and not the skin temperature. Emissivity of the clothes is another issue that has to be considered.

Sunlight Immunity

The Temperature Sensor also contains a built-in optical filter to cut off the visible spectra and increase immunity against errors introduced by any surrounding light sources.

The wavelength pass band of this optical filter is from 5.5μm to 14μm.

Maximum effective distance

In order to determine the maximum distance the 1045 can be effective at we first need to understand how the sensor measures temperature. The 1045 takes in IR radiation in a conical pattern from directly in front of the black canister mounted on the board. The field of view (FOV) of the device is rated at 10°, to illustrate:

1045 FOV.png

The 1045 measures temperature by averaging the temperature of all points inside it's FOV. This means that if the surface you are trying to measure the temperature of doesn't occupy the entire FOV, the average will be thrown off by the temperature of the surrounding surfaces. Ideally then the surface you are measuring should be close enough to cover the entire 10° arc:

1045 FOV Occupancy.png

This means that the theoretical maximum distance you can get accurate readings from is the distance at which a circle that is the base of a 10° cone has a radius equal to the surface being measured:

1045 equation.png

Note that this means that you can measure the temperature of objects from any distance provided the object is of sufficient size. This is a bit counter-intuitive but true. You could measure the temperature of the sun from 7.9 million kilometers away though the data would admittedly be about 26 seconds old.


What to do Next

  • Programming Languages - Find your preferred programming language here and learn how to write your own code with Phidgets!
  • Phidget Programming Basics - Once you have set up Phidgets to work with your programming environment, we recommend you read our page on to learn the fundamentals of programming with Phidgets.