Jump to content

Component: Thermistor Template (Sensors): Difference between revisions

From Flowcode Help
No edit summary
m Text replacement - "width="90%" style="background-color:#D8C9D8; color:#4B008D;"" to "width="90%" class="mtx-class-macrohead""
 
(7 intermediate revisions by 2 users not shown)
Line 5: Line 5:
|-
|-
| width="20%" style="color:gray;" | Version
| width="20%" style="color:gray;" | Version
| 1.0
| 2.0
|-
|-
| width="20%" style="color:gray;" | Category
| width="20%" style="color:gray;" | Category
Line 15: Line 15:
Base component for creating thermistors.  Has no GUI - this would be added by concrete examples using this basem which may or may not expose the propertes.
Base component for creating thermistors.  Has no GUI - this would be added by concrete examples using this basem which may or may not expose the propertes.


==Component Source Code==
==Version information==
 
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_temp/Thermistor_base.fcfx FC_Comp_Source_temp/Thermistor_base.fcfx]


Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_temp/Thermistor_base.fcfx FC_Comp_Source_temp/Thermistor_base.fcfx]
Library Version, Component Version, Date, Author, Info
5, 2.0, 19-07-24, BR, Added compatibility for external ADC
5, 2.0, 19-07-24, BR, Allowed full bit depth usage of the internal ADC


==Detailed description==
==Detailed description==
Line 58: Line 58:
This example simply reads the value from the thermistor sensor component and outputs the value to an LCD as a temperature in degrees C.
This example simply reads the value from the thermistor sensor component and outputs the value to an LCD as a temperature in degrees C.
{{Fcfile|EBM003 - Test Program.fcfx|EBM003 Example}}
{{Fcfile|EBM003 - Test Program.fcfx|EBM003 Example}}




Line 68: Line 74:


===CalculateTemperature===
===CalculateTemperature===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CalculateTemperature'''
| width="90%" class="mtx-class-macrohead" | '''CalculateTemperature'''
|-
|-
| colspan="2" | Converts the input ADC value and returns the Temperature in tenths of degree C 
| colspan="2" | Converts the input ADC value and returns the Temperature in tenths of degree C 
Line 87: Line 93:


===GetADCValue===
===GetADCValue===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetADCValue'''
| width="90%" class="mtx-class-macrohead" | '''GetADCValue'''
|-
|-
| colspan="2" | Returns the Raw ADC value from the Analogue Channel 
| colspan="2" | Returns the Raw ADC value from the Analogue Channel 
Line 101: Line 107:


===GetIntegerTemperature===
===GetIntegerTemperature===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetIntegerTemperature'''
| width="90%" class="mtx-class-macrohead" | '''GetIntegerTemperature'''
|-
|-
| colspan="2" | Reads the ADC input and returns the calculated Temperature as Integer degrees C 
| colspan="2" | Reads the ADC input and returns the calculated Temperature as Integer degrees C 
Line 115: Line 121:


===GetRealTemperature===
===GetRealTemperature===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRealTemperature'''
| width="90%" class="mtx-class-macrohead" | '''GetRealTemperature'''
|-
|-
| colspan="2" | Reads the ADC input and Returns the calculated Temperature as Float value in degrees C 
| colspan="2" | Reads the ADC input and Returns the calculated Temperature as Float value in degrees C 
Line 124: Line 130:
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
===SetADCValue===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''SetADCValue'''
|-
| colspan="2" | Used to set the ADC value when an external ADC is being used. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | AdcValue
|-
| colspan="2" | Value of the external ADC. e.g. 0-255 for an 8-bit ADC 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}
Line 129: Line 154:


===SetChannel===
===SetChannel===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetChannel'''
| width="90%" class="mtx-class-macrohead" | '''SetChannel'''
|-
|-
| colspan="2" | Set the ADC Channel 
| colspan="2" | Set the ADC Channel 
Line 148: Line 173:


===SetTemperature===
===SetTemperature===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTemperature'''
| width="90%" class="mtx-class-macrohead" | '''SetTemperature'''
|-
|-
| colspan="2" | Simulation macro that sets the internal ADC value to the appropriate value for a given temperature.  This allows all internal systems of the sensor to be simulated. 
| colspan="2" | Simulation macro that sets the internal ADC value to the appropriate value for a given temperature.  This allows all internal systems of the sensor to be simulated. 
Line 164: Line 189:
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




==Property reference==
==Property reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" class="mtx-class-macrohead" | '''Properties'''
|-
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
| width="90%" | ADC Configuration
|-
|-
| colspan="2" |  
|-
|-
| width="10%" align="center" | [[File:Fc9-type-6-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-6-icon.png]]
| width="90%" | ADC Channel
| width="90%" | ADC Channel
|-
|-
| colspan="2" | The ADC channel to which the thermistor circuit is connected. It is assumed that the thermistor is connected between the ADC pin and 0V, with a fixed resistor connected between the ADC pin and +V. 
| colspan="2" | Analogue Input Channel - Which pin is the analogue input connected to? 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | VRef option
|-
| colspan="2" | 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. 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Conversion speed
|-
| colspan="2" | 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. 
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Acquisition cycles
|-
| colspan="2" | Number of micro seconds to wait for the ADC input to charge before starting the analogue sample. 
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
Line 185: Line 228:
|-
|-
| colspan="2" | Specifies the arrangement of the Thermistor and Fixed Resistor.  Pull Down - Thermistor connected between ADC pin and GND, fixed resistor between ADC pin and VCC. Pull Up - Thermistor connected between ADC pin and VCC, fixed resistor between ADC pin and GND. 
| colspan="2" | Specifies the arrangement of the Thermistor and Fixed Resistor.  Pull Down - Thermistor connected between ADC pin and GND, fixed resistor between ADC pin and VCC. Pull Up - Thermistor connected between ADC pin and VCC, fixed resistor between ADC pin and GND. 
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | ADC Bit Resolution
|-
| colspan="2" |  
|-
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
Line 230: Line 268:
|-
|-
| colspan="2" | Value in Ohms of the Thermistor at 125 deg C 
| colspan="2" | Value in Ohms of the Thermistor at 125 deg C 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Conversion speed
|-
| colspan="2" | 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. 
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Acquisition cycles
|-
| colspan="2" | Number of micro seconds to wait for the ADC input to charge before starting the analogue sample. 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | VRef option
|-
| colspan="2" | 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. 
|}
|}
==Component Source Code==
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Thermistor_base.fcfx FC_Comp_Source_Thermistor_base.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Thermistor_base.fcfx FC_Comp_Source_Thermistor_base.fcfx]

Latest revision as of 14:23, 13 July 2026

Author Matrix
Version 2.0
Category Sensors


Thermistor Template component

Base component for creating thermistors. Has no GUI - this would be added by concrete examples using this basem which may or may not expose the propertes.

Version information

Library Version, Component Version, Date, Author, Info
5, 2.0, 19-07-24, BR, Added compatibility for external ADC
5, 2.0, 19-07-24, BR, Allowed full bit depth usage of the internal ADC

Detailed description

No detailed description exists yet for this component

Examples

This example simply reads the value from the thermistor sensor component and outputs the value to an LCD as a temperature in degrees C. EBM003 Example







Macro reference

CalculateTemperature

CalculateTemperature
Converts the input ADC value and returns the Temperature in tenths of degree C 
- UINT ADCValue
ADC Reading to be converted 
- INT Return


GetADCValue

GetADCValue
Returns the Raw ADC value from the Analogue Channel 
- UINT Return


GetIntegerTemperature

GetIntegerTemperature
Reads the ADC input and returns the calculated Temperature as Integer degrees C 
- INT Return


GetRealTemperature

GetRealTemperature
Reads the ADC input and Returns the calculated Temperature as Float value in degrees C 
- FLOAT Return


SetADCValue

SetADCValue
Used to set the ADC value when an external ADC is being used. 
- UINT AdcValue
Value of the external ADC. e.g. 0-255 for an 8-bit ADC 
- VOID Return


SetChannel

SetChannel
Set the ADC Channel 
- INT ChannelID
 
- VOID Return


SetTemperature

SetTemperature
Simulation macro that sets the internal ADC value to the appropriate value for a given temperature. This allows all internal systems of the sensor to be simulated. 
- FLOAT Temperature
The temperature in C - restricted to -25 to +125 range 
- VOID Return


Property reference

Properties
ADC Configuration
 
ADC Channel
Analogue Input Channel - Which pin is the analogue input connected to? 
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. 
Wiring
Specifies the arrangement of the Thermistor and Fixed Resistor. Pull Down - Thermistor connected between ADC pin and GND, fixed resistor between ADC pin and VCC. Pull Up - Thermistor connected between ADC pin and VCC, fixed resistor between ADC pin and GND. 
Resistor Value
Value in Ohms of the pullup series resistor. i.e. The resistor is connected between the ADC pin and the positive supply rail. 
-25C Thermistor Value
Value in Ohms of the Thermistor at -25 deg C 
0C Thermistor Value
Value in Ohms of the Thermistor at 0 deg C 
25C Thermistor Value
Value in Ohms of the Thermistor at 25 deg C 
50C Thermistor Value
Value in Ohms of the Thermistor at 50 deg C 
75C Thermistor Value
Value in Ohms of the Thermistor at 75 deg C 
100C Thermistor Value
Value in Ohms of the Thermistor at 100 deg C 
125C Thermistor Value
Value in Ohms of the Thermistor at 125 deg C 

Component Source Code

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

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