1046 User Guide: Difference between revisions

From Phidgets Support
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 40: Line 40:
{{UGC-DataInterval}}
{{UGC-DataInterval}}
{{UGC-Addressing}}
{{UGC-Addressing}}
{{UGC-Firmware}}
{{UGC-Entry|Connecting Your Strain Gauge or Load Cell|
{{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]]
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 Primer]].
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.}}
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.}}
Line 60: Line 61:


For sensors with a linear response, like load cells, look at our guide on [[Calibrating Load Cells]].
For sensors with a linear response, like load cells, look at our guide on [[Calibrating Load Cells]].
 
}}
{{UGC-Entry|Choosing a Gain Value|
{{UGC-Entry|Choosing a Gain Value|
|
|
Line 87: Line 88:
{{UGC-Entry|The number I’m getting back from the 1046 is really small|
{{UGC-Entry|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 [[Calibrating_Analog_Sensors|calibrate]] the load cell.}}
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.}}


{{UGC-Entry|The DataInterval doesn't match the actual rate of incoming data|
{{UGC-Entry|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.  
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.  
}}
{{UGC-Entry|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 [[Using Events|event handler]] instead of polling.
}}
}}


{{UGC-End}}
{{UGC-End}}

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.