Jump to content

Component: Potentiometer (Analog Input): Difference between revisions

From Flowcode Help
 
(5 intermediate revisions by 2 users not shown)
Line 57: Line 57:


{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}
===Using Fixed Voltage Reference===
An example of a 0 to 1023 mV meter with a resolution of 1mv.
{{Fcfile|ADC_using_FVR_16F15324.fcfx|ADC using FVR}}
A PIC16F15324 is used since it has a Fixed Voltage Reference (FVR) register.
Bit0 and bit1 determine what the FVR is set at.
A line of C code is added to set the FVR to a gain of x1 = FVR of 1.024V:
'''FVRCON = 0b11000001;'''
With this setting, the Int value from ADC directly proportional voltage in mV.
E.g. a value of 732 = 732mV
Binary is used to make reading values a lot easier.
From the datasheet:
[[File:PIC16F1532x FVRCON.png]]
If you wanted to change the fixed voltage reference to 2.048V
Then change bit0 and bit1 of the C code to '''FVRCON = 0b11000010;'''


===Filtering ADC Inputs===
===Filtering ADC Inputs===
Line 71: Line 107:
===Analogue Inputs Window===
===Analogue Inputs Window===


The [[Analog_Window|Analogue inputs window]] available from the View menu allows you to see the values for all of the analogue inputs which are active in your program. They can also be manually altered by dragging the mouse along one of the sliders.
The [[Analog_Window|Analogue inputs window]] available from the View ribbon, allows you to see the values for all of the analogue inputs which are active in your program. They can also be manually altered by dragging the mouse along one of the sliders.
 
 
===Data Recorder===
 
An ADC based component will automatically add a trace to the [[Using_the_Data_Recorder|data recorder]] window allowing you to get a view of the analogue data over time during simulation.
 
[[File:Data_Recorder1.png]]


==Macro reference==
==Macro reference==

Latest revision as of 14:14, 28 May 2025

Author Matrix TSL
Version 1.0
Category Analog Input


Potentiometer component

Component Source Code

Please click here to download the component source project: FC_Comp_Source_Potentiometer.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_Potentiometer.fcfx

Detailed description

No detailed description exists yet for this component

Examples

A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.

Potentiometer Example


Using Fixed Voltage Reference

An example of a 0 to 1023 mV meter with a resolution of 1mv.

ADC using FVR

A PIC16F15324 is used since it has a Fixed Voltage Reference (FVR) register.

Bit0 and bit1 determine what the FVR is set at.

A line of C code is added to set the FVR to a gain of x1 = FVR of 1.024V:

FVRCON = 0b11000001;

With this setting, the Int value from ADC directly proportional voltage in mV.

E.g. a value of 732 = 732mV


Binary is used to make reading values a lot easier.

From the datasheet:

If you wanted to change the fixed voltage reference to 2.048V

Then change bit0 and bit1 of the C code to FVRCON = 0b11000010;



Filtering ADC Inputs

Simple example which uses a filtering technique to provide a digital low pass filter on the ADC readings. The output of the filter is 50% the ADC reading and 50% the previous reading.

LPFilter

In this example the output of the filter is 25% the ADC reading and 75% the previous reading.

LPFilter2


Analogue Inputs Window

The Analogue inputs window available from the View ribbon, allows you to see the values for all of the analogue inputs which are active in your program. They can also be manually altered by dragging the mouse along one of the sliders.


Data Recorder

An ADC based component will automatically add a trace to the data recorder window allowing you to get a view of the analogue data over time during simulation.

Macro reference

GetAverageByte

GetAverageByte
Read the ADC as a byte 
- BYTE NumSamples
 
- BYTE DelayUs
 
- BYTE Return


GetAverageInt

GetAverageInt
Read the ADC at full bit depth 
- BYTE NumSamples
 
- BYTE DelayUs
 
- UINT Return


GetByte

GetByte
Read the ADC as a byte 
- BYTE Return


GetInt

GetInt
Read the ADC at full bit depth 
- UINT Return


GetString

GetString
Reads the ADC as a direct voltage 
- STRING Return


GetVoltage

GetVoltage
Reads the ADC as a direct voltage 
- FLOAT Return


Property reference

Properties
Connections
Channel
Analogue Input Channel - Which pin is the analogue input connected to? 
Settings
VRef voltage
Used by the GetVoltage or GetString component macros to take an ADC reading and convert it into a Voltage. +VRef voltage x 10mV Default 500 = 5.0V  
VRef option
Defines what is used as the ADC maximum reference. ADC Range = GND to VRef Voltage VDD - Defines the microcontrollers power supply pin as the max reference, VREF+ Pin - Dedicated pin on the microcontroller to allow for a variable reference voltage. 
Conversion speed
Clock setting to select how fast the ADC peripheral will perform an ADC conversion. The FRC setting is based on a RC time base and so will vary with temperature and pressure. Other settings are generally based on divisions of the master clock. 
Acquisition cycles
Number of micro seconds to wait for the ADC input to charge before starting the analogue sample. 
Bit Depth
Maximum number of digital bits the ADC can sample. 8 bit = ADC range 0 - 255 10 bit = ADC range 0 - 1023 12 bit = ADC range 0 - 4095 
Retain Value
 
Appearance
Component Label
 
LabelColour
 
Show Connection Label
 
Show Pin Value
 
Colour Style
 
Fill
 
Frame Outline
 
Frame Fill
 
Pointer Outline
 
Pointer Fill
 
Text
 
Tick Mark Outline
 
Tick Mark Fill
 
Cap Outline
 
Cap Fill
 
Main Image
 
Cap Image
 
Style
 
Type
 
Simulation
Scope Traces
Selects if the scope traces are automatically generated or not