1046 User Guide: Difference between revisions
(3 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 | 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 92: | Line 93: | ||
| | | | ||
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
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:
2. Double click on a channel to open an example program. Each channel belongs to the Voltage Ratio Input channel class:
In your Control Panel, double click on "Bridge Input":
Part 3: Create your Program
Part 4: Advanced Topics and Troubleshooting
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 icon next to the data type that you want to plot. This will open up a new window:
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.
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.
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:
2. The Addressing Information window will open. Here you will find all the information you need to address your Phidget in your program.
See the Phidget22 API for your language to determine exact syntax for each property.
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.
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:
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.
- 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.
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.
While we used to recommend using this product to measure RTDs, we now recommend using the TMP1200 - RTD Phidget.
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.
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.
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.
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.
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.
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.