1046 User Guide: Difference between revisions

From Phidgets Support
 
(35 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NOINDEX__
__NOTOC__
<metadesc>The PhidgetBridge 4-Input measures the output from a load cell and connects to a USB port. You can connect up to 4 load cells or strain gauges. </metadesc>
[[Category:UserGuide]]
[[Category:UserGuide]]
{{UserguideTOC|1046.jpg|1046}}
==Part 1: Setup==
==Getting Started==
<div class="phd-deck-sequence">
{{PT1_1046_CHOOSE}}
{{PT1_1046_WIN}}{{PT1_1046_MAC}}{{PT1_1046_LNX}}
</div>


===Checking the Contents===
== Part 2: Using Your Phidget ==
{{UGbox|
'''You should have received:'''
* A PhidgetBridge 4-Inputs
* A Mini-USB cable
|
'''In order to test your new Phidget you will also need:'''
* A wheatstone bridge based sensor
||}}


===Connecting the Pieces===
===About===
{{UGbox|
The PhidgetBridge reads up to four load cells, strain gauges or Wheatstone Bridge-based sensors. The Phidget reports results as a voltage ratio. To convert from voltage ratio to a quantity like weight or force, see the '''Calibration Guide''' in the Advanced Topics section.
#Connect the load cell to the PhidgetBridge - use bridge 0. We are using a 3133 - Micro Load Cell (0-5kg) - CZL635. Connect the red wire to 5V, the green wire to +, the white wire to -, and the black wire to G. If your Load Cell is not documented, refer to the [[#Technical_Details|technical section]] of this page for instructions on how to connect it.
# Connect the PhidgetBridge to your computer using the  Mini-USB cable.


|[[File:1046_0_Connecting_The_Hardware.jpg|400px|link=]]
===Explore Your Phidget Channels Using the Control Panel===
||}}


===Testing Using Windows 2000 / XP / Vista / 7===
You can use your Control Panel to explore your Phidget's channels.


{{UGwin}}
'''1.''' Open your Control Panel, and you will find the following channels:


===Running Phidgets Sample Program===
[[Image:1046_Panel.jpg|link=|center]]


{{UGwin2|'''Bridge-full'''}}
'''2.''' Double click on a channel to open an example program. Each channel belongs to the '''Voltage Ratio Input''' channel class:
{{UGC-Start}}


{{UGbox|
{{UGC-Entry|Voltage Ratio Input (Bridge Input):| Read data from a load cell
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the '''PhidgetBridge 4-input''' is properly attached  to your PC.
|[[File:1046_0_Control_Panel_Screen.jpg|400px|link=]]
|
|
# Double Click on '''PhidgetBridge 4-input''' in the Phidget Control Panel to bring up Bridge-full and check that the box labelled Attached contains the word True.
In your Control Panel, double click on "Bridge Input":
# If you have connected your device to the same bridge as we did, select bridge 0.
[[Image:1046-VoltageRatio.jpg|800px|center|link=]]}}
# Click to enable the bridge.
# Click on the Start Calibration Button.  Enter 0 for Value 1 (no weight on the load cell).  Put a known weight on the load cell and enter the number in Value 2 box.  The calibration formula is displayed in the formula box.  If your sensor is not a load cell, you can still use the Calibration functionality - you just need two known values for your sensor.
# Put a different weight on the load cell and the bridge value gets converted using the calibration formula.
# You can use the slider to adjust the data rate from 8ms to 1000ms in increments of 8ms.
# You can set the gain to 1, 8, 16, 32, 64, 128; in general a higher gain value gives you lower noise and higher resolution.
|[[File:1046_0_Bridge_Screen.jpg|400px|link=]]


}}
{{UGC-End}}


===Testing Using Mac OS X===
{{UG-Part3}}


{{UGmac|PhidgetBridge 4-input|Bridge-full}}
== Part 4: Advanced Topics and Troubleshooting ==


===Using Linux===
{{UGC-Start}}
{{UGC-Graphing}}
{{UGC-DataInterval}}
{{UGC-Addressing}}
{{UGC-Firmware}}
{{UGC-Entry|Connecting Your Strain Gauge or Load Cell|
|
Load cells are force sensors that can be used with the 1046. To get useful data from load cells, they will need to be calibrated. Fortunately this is a simple process outlined in our guide on [[Calibrating Load Cells]]


{{UGlinux}}
For more information, see our [[Load Cell Guide]].


===Using Windows Mobile / CE 5.0 / CE 6.0===
If no documentation is available for your strain gauge, it’s possible to use a multimeter to determine how to connect it, provided there are no electronics in the sensor. First, measure resistance between the 4 wires.  There are 6 combinations - two combinations will have a resistance 20-40% higher than the other four.  Choose one of these high-resistance combinations, and wire it into 5V and G on the 1046. Connect the other two wires into +/-. Apply a load, if the V/V responds in the opposite way to your expectations, flip the +/- wires.}}


{{UGce}}
{{UGC-Entry|Measuring RTDs|
|
While we used to recommend using this product to measure RTDs, we now recommend using the {{ProductListLink|TMP1200|RTD Phidget}}.
}}


==Technical Details==
{{UGC-Entry|Calibration|
|
We have observed a 1.5% difference between a 1x gain and an 8x gain. This may require that each system (1046 and sensors) be calibrated as a whole. For maximum accuracy, decide on, and keep with a chosen gain before calibrating the system.


===How to Calibrate the Bridge===
Expensive sensors will ship with a certificate of calibration specifying, often in mv/V, how the sensor responds to stimulus. Less expensive will have to be calibrated.


We have observed a 1.5% difference between gain=1 and gain=8.  This may require that each system (PhidgetBridge + sensors) are calibrated as a whole.  For maximum accuracy, decide on and keep with a chosen gain before calibrating the system.
For sensors with a linear response, like load cells, look at our guide on [[Calibrating Load Cells]].
 
}}
Expensive sensors will ship with a certificate of calibration specifying, often in mv/V, how the sensor responds to stimulus.  Less expensive will have to be calibrated, which requires having at least two points where you know accurately what is being measured. In the case of weight measurement, this would be a known force or weight. 
{{UGC-Entry|Choosing a Gain Value|
 
|
Record the output from the PhidgetBridge at one known point, and at a second known point.  It helps if the two values are reasonably far apart.  Use the values to make a linear equation to convert the PhidgetBridge output in mV/V (called X) to the appropriate unit you are measuring (called Y).  Two calibration coefficients (a,b) set the slope and offset for the calibration:  (Y = aX + b).  It’s possible to use more than two points, if available. 
We report the measured voltage in a ratiometric unit known as V/V. This is how the maximum range of sensors that use strain gauges is usually specified. V/V is the output value in V of the measured sensor, scaled for a 1V sensor supply voltage. This value will correspond to the physical quantity that the sensor is measuring, regardless of the actual voltage supplied to the sensor.
 
The C# Bridge-full example shows how to do a 2-point calibration and apply the coefficients programmatically. 
 
===Gain Setting vs. Resolution===
 
We report the measured voltage in a ratiometric unit known as mv/V. This is how the maximum range of sensors that use strain gauges is usually specified. mV/V is the output value in mV of the measured sensor, scaled for a 1V sensor supply voltage. This value will correspond to the physical quantity that the sensor is measuring, regardless of the actual voltage supplied to the sensor.
 
 
{| style="border:1px solid darkgray;" cellpadding="7px;"
|-style="background: #f0f0f0" align=center
! Gain || Resolution || Range
|-
|style="background: #F8F8F8" align=left| 1
|style="background: #F8F8F8" align=left| 119 nV/V
|style="background: #F8F8F8" align=left| ± 1000 mV/V
|-
|style="background: #F8F8F8" align=left| 8
|style="background: #F8F8F8" align=left| 14.9 nV/V
|style="background: #F8F8F8" align=left| ± 125 mV/V
|-
|style="background: #F8F8F8" align=left| 16
|style="background: #F8F8F8" align=left| 7.45 nV/V
|style="background: #F8F8F8" align=left| ± 62.5 mV/V
|-
|style="background: #F8F8F8" align=left| 32
|style="background: #F8F8F8" align=left| 3.72 nV/V
|style="background: #F8F8F8" align=left| ± 31.25 mV/V
|-
|style="background: #F8F8F8" align=left| 64
|style="background: #F8F8F8" align=left| 1.86 nV/V
|style="background: #F8F8F8" align=left| ± 15.625 mV/V
|-
|style="background: #F8F8F8" align=left| 128
|style="background: #F8F8F8" align=left| 0.93 nV/V
|style="background: #F8F8F8" align=left| ± 7.8125 mV/V
|}
 
 
When choosing the Gain setting, it’s best to use the highest gain possible that can still measure the full range of your sensor.  For an individual unit, you can apply the maximum stimulus to the sensor, and ensure the BridgeValue reported is well within the range for the Gain setting you have chosen.  If many units are being deployed, it’s best to consult the data sheet for the strain gauge and look for maximum offset.
 
Some wheatstone bridges - most often those produced from silicon and used in pressure sensors, will have a very wide offset, and large manufacturing variation in the offset.  This will restrict the gain to lower settings, particularly if the application must support a number of deployed systems with the expected variation.  Fortunately, the very high precision electronics used in the PhidgetBridge means that in many application, higher gain is not necessary to get adequate accuracy and resolution.
 
===Connecting your Strain Gauge/Load Cell===
 
If no documentation is available for your strain gauge, it’s possible to use a multimeter to determine how to connect it, provided there are no electronics in the sensor.  First, measure resistance between the 4 wires.  There are 6 combinations - two combinations will have a resistance 20-40% higher than the other four.  Choose one of these high-resistance combinations, and wire it into 5V and G on the PhidgetBridge. Connect the other two wires into +/-.  Apply a load - if the mV/V responds in the opposite way to your expectations, flip the +/- wires.
 
===Measurement Considerations===
The PhidgetBridge is designed to measure voltages as a ratio of the supply voltage - it’s not practical to make measurements of absolute voltages with this product.
 
For maximum accuracy, all wires from the PhidgetBridge to the sensor should be the same length and thickness. Changes in temperature will change the resistance of the wires - if they are all the same, the errors will cancel out.
 
Each bridge input can be powered down, reducing power consumption with Bridge-Sensors, and useful for reducing heating of sensors, which can introduce errors.
 
===Changing the Data Rate===


Using a slower sampling rate will reduce the noise in the measurements dramatically.  The noise figures are specific to individual applications and sensors.  The lowest noise level achievable is 5nV/V RMS.


===Measuring Resistive Thermal Devices (RTD)===
{{1046-Gain-table}}


====Using a Wheatstone Bridge====


[[File:1046 0 WheatstoneRTD.jpg|thumb|400px|link=|This diagram shows how to connect the RTD to a Wheatstone bridge, and then to a PhidgetBridge 4-Input.]]
When choosing the Gain setting, it's best to use the highest gain possible that can still measure the full range of your sensor. For an individual unit, you can apply the maximum stimulus to the sensor, and ensure the voltage ratio reported is well within the range for the gain setting you have chosen. If many units are being deployed, it’s best to consult the data sheet for the strain gauge and look for maximum offset.
A Wheatstone bridge is the classic method of measuring unknown resistances, and requires three resistors of known values.  It uses the current in each leg of the bridge to create a voltage differential between both voltage dividers.  Using the voltage differential and the three known resistors, the resistance of the fourth resistor can be determined.  


To determine the resistance of the RTD, the following formula can be used:


 
Some wheatstone bridges, most often those produced from silicon and used in pressure sensors, will have a very wide offset, and large manufacturing variation in the offset. This will restrict the gain to lower settings, particularly if the application must support a number of deployed systems with the expected variation. Fortunately, the very high precision electronics used in the 1046 means that in many application, higher gain is not necessary to get adequate accuracy and resolution.
:<math>
R_{RTD} = \frac{R_3 \times [R_2 + V_B \times (R_1 + R_2)]}{R_1 - (R_1 + R_2) \times V_B }
</math>
 
 
Where <math>V_B</math> is the Bridge Value given by the PhidgetBridge (in mV/V) , and <math>R_1</math>, <math>R_2</math> and <math>R_3</math> are the resistances of the known resistors.
 
<br clear=all>
 
====Using a Voltage Divider====
The alternate method requires only two resistors.  This reduces the amount of error that can be introduced into the system due to resistor tolerances.  A voltage is applied to the two resistors and the RTD in series.  The voltage drop across the RTD is measured.  Using the voltage drop and the values of the two resistors, the resistance of the RTD can be determined.  
 
[[File:1046 0 Diagram.jpg|thumb|400px|link=|This diagram illustrates how to connect the RTD to the PhidgetBridge with a voltage divider cirtuit.]]
 
To determine the resistance of the RTD, the following formula can be used:
 
 
:<math>
R_{RTD} = (R_1 + R_2) \times \frac{V_B}{1 - V_B}
</math>
 
 
Where <math>V_B</math> is the Bridge Value given by the PhidgetBridge (in mV/V) , and <math>R_1</math> and <math>R_2</math> are the resistances of the known resistors.
<br clear=all>
 
====Getting Higher Accuracy====
 
In order to get the highest accuracy from the RTD, consider the following:
 
* Use resistors with a high degree of tolerance.  There will be less variability in the manufacturing of 0.1% resistors when compared to 1% resistors.
* Measure the known resistors with an ohmmeter.  By obtaining the most accurate measurements for the known resistances, the formula will result in a more accurate measurement of the RTD.
* Use a moving average when obtaining the Bridge Value to reduce the amount of noise in the measured signal.
* Estimate or Measure the resistance of the +5V and GND wires between the RTD and the 1046 PhidgetBridge.  Add this resistance to the two resistors.
* Turn off the power to the RTD (by disabling the channel on the PhidgetBridge) to reduce self-heating of the RTD.
* By using higher resistor values (> 1 Kilo ohm), there will be less self-heating of the RTD, but the resolution of the measurement will be reduced somewhat.  We recommend 1 Kilo Ohm resistors as a reasonable trade off.
 
==API==
{{UGapih}}
 
===Functions===
 
{{UGapi|int InputCount [get] : Constant <nowiki>=</nowiki> 4
|Returns the number of bridges supported by this PhidgetBridge.
}}
}}


{{UGapi|double BridgeValue(int index) [get]
{{UGC-Entry|Measurement Considerations|
|Returns the value of the selected input, in mV/V. If the input is not enabled, this will throw an EPHIDGET_UNKNOWNVAL exception. If the bridge is saturated, this will be equal to BridgeMax or BridgeMin and an error event will be fired - in this case, gain should be reduced.
|
}}
The 1046 is designed to measure voltages as a ratio of the supply voltage - it’s not practical to make measurements of absolute voltages with this product.


{{UGapi|double BridgeMax(int index) [get]
|Returns the maximum value that the selected Bridge can measure, in mV/V. This value will depend on the selected gain. At a gain of 1, BridgeMax <nowiki>==</nowiki> 1000mV/V.
}}


{{UGapi|double BridgeMin(int index) [get]
For maximum accuracy, all wires from the 1046 to the sensor should be the same length and thickness. Changes in temperature will change the resistance of the wires - if they are all the same, the errors will cancel out.
|Returns the minimum value that the selected Bridge can measure, in mV/V. This value will depend on the selected gain. At a gain of 1, BridgeMin <nowiki>==</nowiki> -1000mV/V.
}}


{{UGapi|boolean Enabled(int index) [get,set]
|Gets / Sets the enabled state of a Bridge. This applies power between +5v and Ground and starts measuring the differential on the +/- pins. By default, all Bridges are disabled, and need to be explicitly enabled on startup.
}}


{{UGapi|Gains Gain(int index) [get,set]
Each bridge input can be powered down, reducing power consumption with 1046 sensors, and useful for reducing heating of sensors, which can introduce errors. }}
|Gets / Sets the gain for a selected bridge. Supported gains are 1, 8, 16, 32, 64 and 128. Note that increasing the gains will reduce the measurable voltage difference by the gain factor, with +-1000mV/V being the maximum, with no gain.
}}


{{UGapi|int DataRate [get,set]
{{UGC-Entry|The number I’m getting back from the 1046 is really small|
|Gets / Sets the data rate, in ms. Data rate applies to all 4 bridges simultaneously. Setting a slower data rate will reduce noise at the cost of sample time. Also note that each bridge is being sampled only 1/4 of the time - this is probably ok for very stable signals, but for changing signals, it’s may be best to set a higher sampling rate and do averaging in software.Data rate must be a multiple of 8ms. Trying to set something between multiples of 8 will cause an EPHIDGET_INVALIDARG exception to be thrown.
|
}}
Load cells output a small voltage proportional to the amount of strain they are currently experiencing. The rated output for most load cells at full load is in the order of millivolts, so when you’re only straining the load cell at a fraction of its full load, you will get very small values. In order to convert to meaningful units like grams or newtons, you need to [[Calibrating_Load_Cells|calibrate]] the load cell.}}


{{UGapi|int DataRateMax [get] : Constant <nowiki>=</nowiki> 8
{{UGC-Entry|The DataInterval doesn't match the actual rate of incoming data|
|Gets the maximum supported data rate, in ms.
|
Due to limitations in the hardware, the actual DataInterval must be a multiple of 8. If you try to set a DataInterval that isn't a multiple of 8, the library will automatically round down to the nearest multiple of 8. So if you set DataInterval to 31, you'll end up with an actual interval of 24ms.  
}}
}}


{{UGapi|int DataRateMin [get] : Constant <nowiki>=</nowiki> 1000
{{UGC-Entry|I'm getting an "Invalid" error if I try to get data right after opening the channel|
|Gets the minimum supported data rate, in ms.
|
}}
The 1046_1 has an improved calibration routine which takes approximately 3 seconds to complete when the channel is first opened. You should have your program wait a few seconds before polling for data, or you can catch the exception and retry until the request succeeds. If you want to get data as early as possible, use an [[Using Events|event handler]] instead of polling.
 
===Events===
{{UGapi|OnBridgeData(int index, double value) [event]
|An event that is issued at the specified DataRate, for each enabled bridge. Value is the bridgeValue, in mV/V.
}}
}}
{{UGapi|OnError(int ErrorCode, String ErrorDescription)
|The PhidgetBridge will throw error events under certain circumstances:
}}
:{{UGapi|ErrorCode <nowiki>=</nowiki> EEPHIDGET_OUTOFRANGE
|
::A bridge input has gone out of range. This indicates either an overrange or underrange condition. If possible, gain should be reduced.


::See the ErrorDescription string for specific error details.
{{UGC-End}}
}}
==Product History==
{{UGhist}}
{{UGrow|May 2011|0|100|Product Release}}

Latest revision as of 14:43, 2 August 2023


Part 1: Setup

PhidgetTemperatureSensor - Select OS

PhidgetBridge

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

  • a 1046 PhidgetBridge
  • a USB cable and computer
  • a load cell or other sensor to connect to the 1046

Select your Operating System:

«
»

PhidgetBridge - Windows

Step 1: Install Phidgets Library

Step 2: Connect Devices

Step 3: Verify Connection

Step 1: Install Phidgets Library

Before you begin using your Phidgets, you will need to install the Phidget Library.

1. Download the installer for your system:

● 32-bit Installer Download

● 64-bit Installer Download

If you're unsure which one you should get, press ⊞ WIN + Pause/Break:

Before installing our libraries, be sure to read our Software License.

Step 1: Install Phidgets Library

2. Open the download. If it asks you for permission, select Run

Step 1: Install Phidgets Library

3a. Select Next

Step 1: Install Phidgets Library

3b. Read the Licence Agreement. Select Next.

Step 1: Install Phidgets Library

3c. Choose Installation Location. Select Next.

Step 1: Install Phidgets Library

3d. Confirm Install

Step 1: Install Phidgets Library

3e. Wait for Installation to complete. This should only take a few moments.

Step 1: Install Phidgets Library

3f. Installation Complete. Close installation Window.

Step 2: Connect Devices

● Connect USB Cable to your computer and PhidgetBridge

● Connect a load cell or other wheatstone bridge sensor to the PhidgetBridge

Step 3: Verify Connection

1. Open the Phidgets Control Panel:

If your Control Panel does not open, look in your taskbar. Double click the Phidget Icon.

Step 3: Verify Connection

2. If connected, your Phidgets will appear in the Phidget Control Panel.

Done!

If you're able to see and interact with your devices in the Phidget Control Panel, you're done with the Setup part of this guide.

Scroll down to Part 2: Using Your Phidget for the next step.


For more help installing in Windows (e.g. manual install, using a VM, etc.), visit this page:

Windows Advanced Information

«
»

PhidgetInterfaceKit 8/8/8 - MacOS

Step 1: Install Phidgets Library

Step 2: Connect Devices

Step 3: Verify Connection

Step 1: Install Phidgets Library

Before you begin using your Phidgets, you will need to install the Phidget Library.

1. Download the installer for your system:

● OS X 10.11+: Installer Download

● Mac OS X 10.7 - OS X 10.10: Installer Download

● Mac OS X 10.5 - OS X 10.6: Installer Download


Before installing our libraries, be sure to read our Software License.

Step 1: Install Phidgets Library

2. Open the download and double click on Phidgets.pkg

Step 1: Install Phidgets Library

3a. Select Continue

Step 1: Install Phidgets Library

3b. Read and continue. Read the License and click Agree.

Step 1: Install Phidgets Library

3c. Here, you have the option to select the installation location. Select Install to continue.

Step 1: Install Phidgets Library

3d. MacOS may ask for permission to install. Enter your username and password and Install Software.

Step 1: Install Phidgets Library

3e. Wait for Installation to complete. This should only take a few moments.

Step 1: Install Phidgets Library

3f. You may see a message that the extension has been blocked. Select Open Security Preferences.

Step 1: Install Phidgets Library

3g. Beside the message for Phidgets Inc, Click Allow.

Step 1: Install Phidgets Library

3h. Installation Complete, Click Close.

Step 1: Install Phidgets Library

3i. To delete the installer, click Move to Trash.

Step 2: Connect Devices

● Connect USB Cable to your computer and PhidgetBridge

● Connect a load cell or other wheatstone bridge sensor to the PhidgetBridge

Step 3: Verify Connection

1. Open the Phidgets Control Panel:

Step 3: Verify Connection

2. If connected, your Phidgets will appear in the Phidget Control Panel.

Done!

If you're able to see and interact with your devices in the Phidget Control Panel, you're done with the Setup part of this guide.

Scroll down to Part 2: Using Your Phidget for the next step.


For more info installing in MacOS (e.g. developer tools, driver extension, etc.), visit this page:

MacOS Advanced Information

«
»

PhidgetBridge - Linux

Step 1: Install Phidgets Library

Step 2: Connect Devices

Step 3: Verify Connection

Step 1: Install Phidgets Library

1. First, you need to install the libusb-1.0 development libraries. For example, in Debian based distributions:

apt-get install libusb-1.0-0-dev


You’ll also need a C compiler and builder, if you don’t already have one installed.

apt-get install gcc
apt-get install make

Step 1: Install Phidgets Library

2. Next, download and unpack the Phidgets library:

libphidget22

Step 1: Install Phidgets Library

3. Use the following commands in the location you unpacked to install the library:

./configure
make
sudo make install

Step 1: Install Phidgets Library

4. (Optional) You can also download and unpack the following optional packages:

phidget22networkserver - Phidget Network Server, which enables the use of Phidgets over your network

phidget22admin - Admin tool to track who is connected to your Phidgets when using the network server

libphidget22extra - Required for phidget22networkserver and phidget22admin

libphidget22java - The Java libraries for Phidget22


For installation instructions for these packages, see the README file included with each one.

Step 2: Connect Devices

● Connect USB Cable to your computer and PhidgetBridge

● Connect a load cell or other wheatstone bridge sensor to the PhidgetBridge

Step 3: Verify Connection

1. The easiest way to verify that your libraries are working properly is to compile and run an example program. Download and unpack this C example that will detect any Phidget:

HelloWorld C Example

Step 3: Verify Connection

2. Next, open the terminal in the location where you unpacked the example. Compile and run using:

gcc HelloWorld.c -o HelloWorld -lphidget22
sudo ./HelloWorld

ou should receive a “Hello” line for each Phidget channel that is discovered:

I don’t see any Phidgets show up in the HelloWorld example

You need to run it with sudo in order to be able to access USB devices. In order to use Phidgets without sudo, you need to set your udev rules. See the Advanced Information page on the final slide of this guide for details.

Done!

If you're able to see your devices in the Hello World example, you're done with the Setup part of this guide.

Scroll down to Part 2: Using Your Phidget for the next step.


For more info installing in Linux (e.g. Udev rules, old versions, etc.), visit this page:

Linux Advanced Information

«
»

Part 2: Using Your Phidget

About

The PhidgetBridge reads up to four load cells, strain gauges or Wheatstone Bridge-based sensors. The Phidget reports results as a voltage ratio. To convert from voltage ratio to a quantity like weight or force, see the Calibration Guide in the Advanced Topics section.

Explore Your Phidget Channels Using the Control Panel

You can use your Control Panel to explore your Phidget's channels.

1. Open your Control Panel, and you will find the following channels:

1046 Panel.jpg

2. Double click on a channel to open an example program. Each channel belongs to the Voltage Ratio Input channel class:

Expand All
Voltage Ratio Input (Bridge Input): Read data from a load cell

In your Control Panel, double click on "Bridge Input":

1046-VoltageRatio.jpg

Part 3: Create your Program

Part 4: Advanced Topics and Troubleshooting

Expand All
How can I plot or record sensor data?

Note: Graphing and logging is currently only supported in the Windows version of the Phidget Control Panel.

In the Phidget Control Panel, open the channel for your device and click on the Plot.jpg icon next to the data type that you want to plot. This will open up a new window:

Plot2.jpg

If you need more complex functionality such as logging multiple sensors to the same sheet or performing calculations on the data, you'll need to write your own program. Generally this will involve addressing the correct channel, opening it, and then creating an Event Handler and adding graphing/logging code to it.

The quickest way to get started is to download some sample code for your desired programming language and then search google for logging or plotting in that language (e.g. "how to log to csv in python") and add the code to the existing change handler.

Filtering

You can perform filtering on the raw data in order to reduce noise in your graph. For more information, see the Control Panel Graphing page.

Graph Type

You can perform a transform on the incoming data to get different graph types that may provide insights into your sensor data. For more information on how to use these graph types, see the Control Panel Graphing page.

Setting the Change Trigger and Data Interval

The Change Trigger is the minimum change in the sensor data needed to trigger a new data event.

The Data Interval is the time (in ms) between data events sent out from your Phidget.

The Data Rate is the reciprocal of Data Interval (measured in Hz), and setting it will set the reciprocal value for Data Interval and vice-versa.

You can modify one or both of these values to achieve different data outputs. You can learn more about these properties here.

How do I know what channel, serial number, or hub port to use in my program?

Before you open a Phidget channel in your program, you can set these properties to specify which channel to open. You can find this information through the Control Panel.

1. Open the Control Panel and double-click on the red map pin icon:

The locate Phidget button is found in the device information box

2. The Addressing Information window will open. Here you will find all the information you need to address your Phidget in your program.

All the information you need to address your Phidget


See the Phidget22 API for your language to determine exact syntax for each property.

Upgrading or Downgrading Device Firmware

Firmware Upgrade

MacOS users can upgrade device firmware by double-clicking the device row in the Phidget Control Panel.

Linux users can upgrade via the phidget22admin tool (see included readme for instructions).

Windows users can upgrade the firmware for this device using the Phidget Control Panel as shown below.

ControlpanelFWup.jpg

Firmware Downgrade

Firmware upgrades include important bug fixes and performance improvements, but there are some situations where you may want to revert to an old version of the firmware (for instance, when an application you're using is compiled using an older version of phidget22 that doesn't recognize the new firmware).

MacOS and Linux users can downgrade using the phidget22admin tool in the terminal (see included readme for instructions).

Windows users can downgrade directly from the Phidget Control Panel if they have driver version 1.9.20220112 or newer:

ControlpanelFWdown.jpg

Firmware Version Numbering Schema

Phidgets device firmware is represented by a 3-digit number. For firmware patch notes, see the device history section on the Specifications tab on your device's product page.

FWversion.jpg

  • If the digit in the 'ones' spot changes, it means there have been bug fixes or optimizations. Sometimes these changes can drastically improve the performance of the device, so you should still upgrade whenever possible. These upgrades are backwards compatible, meaning you can still use this Phidget on a computer that has Phidget22 drivers from before this firmware upgrade was released.
  • If the digit in the 'tens' spot changes, it means some features were added (e.g. new API commands or events). These upgrades are also backwards compatible, in the sense that computers running old Phidget22 drivers will still be able to use the device, but they will not be able to use any of the new features this version added.
  • If the digit in the 'hundreds' spot changes, it means a major change has occurred (e.g. a complete rewrite of the firmware or moving to a new architecture). These changes are not backwards compatible, so if you try to use the upgraded board on a computer with old Phidget22 drivers, it will show up as unsupported in the Control Panel and any applications build using the old libraries won't recognize it either. Sometimes, when a Phidget has a new hardware revision (e.g. 1018_2 -> 1018_3), the firmware version's hundreds digit will change because entirely new firmware was needed (usually because a change in the processor). In this case, older hardware revisions won't be able to be upgraded to the higher version number and instead continue to get bug fixes within the same major revision.
Connecting Your Strain Gauge or Load Cell

Load cells are force sensors that can be used with the 1046. To get useful data from load cells, they will need to be calibrated. Fortunately this is a simple process outlined in our guide on Calibrating Load Cells

For more information, see our Load Cell Guide.

If no documentation is available for your strain gauge, it’s possible to use a multimeter to determine how to connect it, provided there are no electronics in the sensor. First, measure resistance between the 4 wires. There are 6 combinations - two combinations will have a resistance 20-40% higher than the other four. Choose one of these high-resistance combinations, and wire it into 5V and G on the 1046. Connect the other two wires into +/-. Apply a load, if the V/V responds in the opposite way to your expectations, flip the +/- wires.

Measuring RTDs

While we used to recommend using this product to measure RTDs, we now recommend using the TMP1200 - RTD Phidget.

Calibration

We have observed a 1.5% difference between a 1x gain and an 8x gain. This may require that each system (1046 and sensors) be calibrated as a whole. For maximum accuracy, decide on, and keep with a chosen gain before calibrating the system.

Expensive sensors will ship with a certificate of calibration specifying, often in mv/V, how the sensor responds to stimulus. Less expensive will have to be calibrated.

For sensors with a linear response, like load cells, look at our guide on Calibrating Load Cells.

Choosing a Gain Value

We report the measured voltage in a ratiometric unit known as V/V. This is how the maximum range of sensors that use strain gauges is usually specified. V/V is the output value in V of the measured sensor, scaled for a 1V sensor supply voltage. This value will correspond to the physical quantity that the sensor is measuring, regardless of the actual voltage supplied to the sensor.


Gain Resolution Range
1 119 nV/V ± 1000 mV/V
8 14.9 nV/V ± 125 mV/V
16 7.45 nV/V ± 62.5 mV/V
32 3.72 nV/V ± 31.25 mV/V
64 1.86 nV/V ± 15.625 mV/V
128 0.93 nV/V ± 7.8125 mV/V


When choosing the Gain setting, it's best to use the highest gain possible that can still measure the full range of your sensor. For an individual unit, you can apply the maximum stimulus to the sensor, and ensure the voltage ratio reported is well within the range for the gain setting you have chosen. If many units are being deployed, it’s best to consult the data sheet for the strain gauge and look for maximum offset.


Some wheatstone bridges, most often those produced from silicon and used in pressure sensors, will have a very wide offset, and large manufacturing variation in the offset. This will restrict the gain to lower settings, particularly if the application must support a number of deployed systems with the expected variation. Fortunately, the very high precision electronics used in the 1046 means that in many application, higher gain is not necessary to get adequate accuracy and resolution.

Measurement Considerations

The 1046 is designed to measure voltages as a ratio of the supply voltage - it’s not practical to make measurements of absolute voltages with this product.


For maximum accuracy, all wires from the 1046 to the sensor should be the same length and thickness. Changes in temperature will change the resistance of the wires - if they are all the same, the errors will cancel out.


Each bridge input can be powered down, reducing power consumption with 1046 sensors, and useful for reducing heating of sensors, which can introduce errors.

The number I’m getting back from the 1046 is really small

Load cells output a small voltage proportional to the amount of strain they are currently experiencing. The rated output for most load cells at full load is in the order of millivolts, so when you’re only straining the load cell at a fraction of its full load, you will get very small values. In order to convert to meaningful units like grams or newtons, you need to calibrate the load cell.

The DataInterval doesn't match the actual rate of incoming data

Due to limitations in the hardware, the actual DataInterval must be a multiple of 8. If you try to set a DataInterval that isn't a multiple of 8, the library will automatically round down to the nearest multiple of 8. So if you set DataInterval to 31, you'll end up with an actual interval of 24ms.

I'm getting an "Invalid" error if I try to get data right after opening the channel

The 1046_1 has an improved calibration routine which takes approximately 3 seconds to complete when the channel is first opened. You should have your program wait a few seconds before polling for data, or you can catch the exception and retry until the request succeeds. If you want to get data as early as possible, use an event handler instead of polling.