1054 User Guide: Difference between revisions

From Phidgets Support
No edit summary
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOINDEX__
<metadesc>The PhidgetFrequencyCounter measures a signal's frequency and powers small devices like Hall Effect sensors, flow rate sensors, and tachometers.</metadesc>
[[Category:UserGuide]]
[[Category:UserGuide]]
{{UserguideTOC|1054.jpg|1054}}
==Getting Started==
==Getting Started==
{{UGIntro|1054}}
*[{{SERVER}}/products.php?product_id=1054 1054 Frequency Counter Phidget]
*USB cable and computer
*something to use with the 1054 (e.g. a device with a frequency/pulse output)


===Checking the Contents===
{{UGbox|
'''You should have received:'''
* A PhidgetFrequencyCounter
* A Mini-USB cable
|
'''In order to test your new Phidget you will also need:'''
* A Frequency producing device such as a flow meter or tachometer
||}}


===Connecting the Pieces===
Next, you will need to connect the pieces:
{{UGbox|
[[Image:1054_0_Connecting_The_Hardware.jpg|500px|right|link=]]
# Connect your sensor to the PhidgetFrequencyCounter channel 0. We are using a Flow Meter that requires an external +12V power supply.  The ground of the power supply, sensor and 1054 are all connected together.   If your sensor requires +5V, it can be powered directly by the 1054.
# Connect your pulse output device to the Frequency Counter Phidget. Connect the power wire to 5V, the ground wire to G, and the positive and negative data lines to '+' and '-'. If there is only one data line, connect it to '+' if it's a PNP sensor, and '-' if it's NPN.
# Connect the PhidgetFrequencyCounter to your computer using the Mini-USB cable.
# Connect the 1054 to your computer using the USB cable.
|
[[File:1054_0_Connecting_The_Hardware.jpg|400px|link=]]
||}}


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


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


===Running Phidgets Sample Program===
{{ugFrequencyCounter|1054}}
*Modify the data interval value by dragging the slider. For more information on this setting, see the [[Data_Rate_and_Change_Trigger|data interval]] page.
*Enter a filter type from the Filter Type drop-down menu. A Logic Level signal goes from alternates between 0 and VCC. A Zero Crossing signal goes from -VCC to VCC.
*Toggle the Enabled checkbox to enable/disable the 1054.


{{UGwin2|'''FrequencyCounter-full'''}}
{{ugAddressingInformation}}


{{UGbox|
{{ugUsingYourOwnProgram|1054}}
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the '''PhidgetFrequencyCounter''' is properly attached  to your PC.
|[[File:1054_0_Control_Panel_Screen.jpg|400px|link=]]
|
# Double Click on '''PhidgetFrequencyCounter''' in the Phidget Control Panel to bring up FrequencyCounter-full and check that the box labelled Attached contains the word True.
# Select channel 0.
# Click in the box to enable the device.
# Select Logic Level or Zero Crossing, depending on your sensor.  See the Technical Section for help.
# The Timeout default of 1000 ms is fine for most applications.
# Count Events shows the number of pulses in the last measurement interval.
# Frequency is calculated from the number of pulses in the last measurement interval.
# Total count is the total number of pulses counted since the application started or the 1054 reset.
# Total Time is the elapsed time since the application started or the 1054 reset.
|[[File:1054_0_FrequencyCounter_Screen.jpg|400px|link=]]
}}
 
===Testing Using Mac OS X===
 
{{UGmac|PhidgetFrequencyCounter|FrequencyCounter-full}}
 
===Using Linux===
 
{{UGlinux}}
 
===Using Windows Mobile / CE 5.0 / CE 6.0===
 
{{UGce}}


==Technical Details==
==Technical Details==
 
===General===
The PhidgetFrequencyCounter contains two channels to sense two different inputs. Each channel has two different circuits to sense for logic level-frequencies or zero-centered frequencies. The measurable frequency is accurate to 0.25% up to 1MHz. The Frequency Counter may measure frequencies past 1 Mhz, but the input voltage specifications will not hold. The PhidgetFrequencyCounter can measure frequencies down to ~ 0.01Hz. However the response time of these measurements is directly related to the frequency, thus it could take 1 or 2 periods(100-200s) to detect the input frequency.  
The 1054 contains two channels to sense two different inputs. Each channel has two different circuits to sense for logic level-frequencies or zero-centered frequencies. The measurable frequency is accurate to 0.25% up to 1MHz. The 1054 may measure frequencies past 1MHz, but the input voltage specifications will not hold. The 1054 can measure frequencies down to ~0.01Hz. However the response time of these measurements is directly related to the frequency, thus it could take 1 or 2 periods(100-200s) to detect the input frequency.  


===Logic-Level Frequencies===
===Logic-Level Frequencies===
 
The logic-level sensing circuit has a hysteresis range from 0.9V to 2.4V.  This will allow the circuit to count both 3.3V and 5V logic levels. In addition to logic-level signals, this will also accept the pulses from sensors with open collector outputs. When the input signals are either 3.3V or 5V, the maximum sensed frequency is 1.5MHz. Most digital sensors that are powered from a signal positive power supply will output a logic-level frequency.
The logic-level sensing circuit has a hysteresis range from 0.9V to 2.4V.  This will allow the circuit to count both 3.3V and 5V logic levels. In addition to logic-level signals, this will also accept the pulses from sensors with open collector outputs. When the input signals are either 3.3V or 5V, the maximum sensed frequency is 1.5Mhz. Most digital sensors that are powered from a signal positive power supply will output a logic-level frequency.


===Zero-Centered Frequencies===
===Zero-Centered Frequencies===
The zero-centered sensing circuit can be used for input signals where you want to count as it crosses zero volts. A hysteresis of 30mVpp filters noise. At maximum frequency (1Mhz), a signal of 400mVPP is required for reliable counting. A common application that uses a zero centered frequency output is a simple magnetic tachometer, which produces a sine wave around 0 volts.
The zero-centered sensing circuit can be used for input signals where you want to count as it crosses zero volts. A hysteresis of 30mVpp filters noise. At maximum frequency (1MHz), a signal of 400mVPP is required for reliable counting. A common application that uses a zero centered frequency output is a simple magnetic tachometer, which produces a sine wave around 0 volts.


===Differential Inputs===
===Differential Inputs===
The PhidgetFrequencyCounter uses differential inputs - that is, the voltage being compared is the difference between the (+) and (-) inputs.  If your application has a slightly different ground from your USB ground, the common mode rejection in the 1054 will handle small differences in ground. For many applications, the signal being measured is single ended - that is, your sensor outputs only one signal, and you can directly connect the ground of the sensor to the ground of the 1054. In this case, ensure the (-) input is tied to ground.  Never allow either input to be left unconnected.
The 1054 uses differential inputs, that is, the voltage being compared is the difference between the '''+''' and '''-''' inputs.  If your application has a slightly different ground from your USB ground, the common mode rejection in the 1054 will handle small differences in ground. For many applications, the signal being measured is single ended, that is, your sensor outputs only one signal, and you can directly connect the ground of the sensor to the ground of the 1054. In this case, ensure the '''-''' input is tied to ground.  Never allow either input to be left unconnected.


===Output Voltage===
===Output Voltage===
USB Voltage is passed directly to the +5V terminal on the green blocks
USB Voltage is passed directly to the +5V terminal on the green blocks.
 
==API==
{{UGapih}}
 
===Enums===
{{UGapi|
'''enum <nowiki>{</nowiki>'''
::'''ZERO_CROSSING <nowiki>=</nowiki> 1,'''
::'''LOGIC_LEVEL'''
'''<nowiki>}</nowiki> FilterType'''
|Determines the signal type that the PhidgetFrequencyCounter responds to.
}}
===Functions===
 
{{UGapi|double Frequency(int ChannelIndex) [get]
|Gets the last calculated frequency on the specified channel, in Hz. This function will return 0 if The Timeout value elapses without detecting a signal. Frequency is recalculated up to 31.25 times a second, depending on the pulse rate.
}}
 
{{UGapi|int64 TotalCount(int ChannelIndex) [get]
|Gets the total number of pulses detected on the specified channel since the Phidget was opened, or since the last reset.
}}
 
{{UGapi|int64 TotalTime(int ChannelIndex) [get]
|Gets the total elapsed time since Phidget was opened, or since the last reset, in microseconds. This property complements the TotalCount property.
}}
 
{{UGapi|int Timeout[get,set]
|Gets or set the Timeout value, in microseconds. This value is used to set the time to wait without detecting a signal before reporting 0 Hz.  The valid range in 0.1 - 100 seconds (100,000 - 100,000,000 microseconds). 1/Timeout represents the lowest frequency that will be measurable.
}}
 
{{UGapi|int Filter(int ChannelIndex, FilterType filter) [get, set]
|Gets or set the channel filter mode. This controls the type of signal that the frequency counter will respond to - either a zero-centered signal, or a logic level signal.
}}
 
{{UGapi|bool Enabled(int ChannelIndex) [get, set]
|Gets or sets the enabled state on the specified channel. When a channel is disabled, it will no longer register counts. TotalTime and TotalCount properties will not be incremented until the channel is re-enabled.
}}
{{UGapi|void reset(int ChannelIndex)
|Resets the TotalCount and TotalTime counters to 0 for the specified channel.  For best precision/reliability, this should be called when the channel is disabled.
}}
===Events===
 
{{UGapi|Count(int ChannelIndex, int time, int counts) [event]
|An event that is issued whenever some counts have been detected. This event will fire at up to 31.25 times a second, depending on the pulse rate. The time is in microseconds and represents the amount of time in which the number of counts occurred. This event can be used to calculate frequency independently of the phidget21 library frequency implementation.


:This event will fire with a count of 0 once, after the Timeout time has elapsed with no counts for a channel, to indicate 0Hz.
{{UGnext|}}
}}
==Product History==
{{UGhist}}
{{UGrow|May 2011|0|100|Product Release}}
{{UGrow|May 2011|0|101|getLabelString fixed for labels longer than 7 characters}}

Latest revision as of 16:13, 17 October 2019


Getting Started

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


Next, you will need to connect the pieces:

1054 0 Connecting The Hardware.jpg
  1. Connect your pulse output device to the Frequency Counter Phidget. Connect the power wire to 5V, the ground wire to G, and the positive and negative data lines to '+' and '-'. If there is only one data line, connect it to '+' if it's a PNP sensor, and '-' if it's NPN.
  2. Connect the 1054 to your computer using the USB cable.


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

Using the 1054

Phidget Control Panel

In order to demonstrate the functionality of the 1054, 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 1054.

First Look

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

1054 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.

Frequency Counter

Double-click on the Frequency Counter object in order to run the example:

1054 FrequencyCounter 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:

  • Frequency: the average frequency calculated from the pulses in the event so far.
  • Total Count: the total number of pulses since opening the example.
  • Total Time: the total time in milliseconds that has elapsed since opening this example.
  • Enter a cutoff frequency in the Frequency Cutoff(Hz) textbox and the 1054 will ignore frequencies below the specified value.
  • Modify the data interval value by dragging the slider. For more information on this setting, see the data interval page.
  • Enter a filter type from the Filter Type drop-down menu. A Logic Level signal goes from alternates between 0 and VCC. A Zero Crossing signal goes from -VCC to VCC.
  • Toggle the Enabled checkbox to enable/disable the 1054.

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

General

The 1054 contains two channels to sense two different inputs. Each channel has two different circuits to sense for logic level-frequencies or zero-centered frequencies. The measurable frequency is accurate to 0.25% up to 1MHz. The 1054 may measure frequencies past 1MHz, but the input voltage specifications will not hold. The 1054 can measure frequencies down to ~0.01Hz. However the response time of these measurements is directly related to the frequency, thus it could take 1 or 2 periods(100-200s) to detect the input frequency.

Logic-Level Frequencies

The logic-level sensing circuit has a hysteresis range from 0.9V to 2.4V. This will allow the circuit to count both 3.3V and 5V logic levels. In addition to logic-level signals, this will also accept the pulses from sensors with open collector outputs. When the input signals are either 3.3V or 5V, the maximum sensed frequency is 1.5MHz. Most digital sensors that are powered from a signal positive power supply will output a logic-level frequency.

Zero-Centered Frequencies

The zero-centered sensing circuit can be used for input signals where you want to count as it crosses zero volts. A hysteresis of 30mVpp filters noise. At maximum frequency (1MHz), a signal of 400mVPP is required for reliable counting. A common application that uses a zero centered frequency output is a simple magnetic tachometer, which produces a sine wave around 0 volts.

Differential Inputs

The 1054 uses differential inputs, that is, the voltage being compared is the difference between the + and - inputs. If your application has a slightly different ground from your USB ground, the common mode rejection in the 1054 will handle small differences in ground. For many applications, the signal being measured is single ended, that is, your sensor outputs only one signal, and you can directly connect the ground of the sensor to the ground of the 1054. In this case, ensure the - input is tied to ground. Never allow either input to be left unconnected.

Output Voltage

USB Voltage is passed directly to the +5V terminal on the green blocks.

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.