Jump to content

Component: Thermistor (Environmental): Difference between revisions

From Flowcode Help
No edit summary
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(14 intermediate revisions by 2 users not shown)
Line 5: Line 5:
|-
|-
| width="20%" style="color:gray;" | Version
| width="20%" style="color:gray;" | Version
| 1.1
| 2.0
|-
|-
| width="20%" style="color:gray;" | Category
| width="20%" style="color:gray;" | Category
Line 15: Line 15:
A generic thermistor component that can be used to simulate and create code for any thermistor with a known temperature/resistance curve.  Thermistor is connected in a simple potential divider circuit - thermistor between ADC input and 0V, and a fixed resistor between ADC and the positive supply.  Default calibration is for the EBM003 module.
A generic thermistor component that can be used to simulate and create code for any thermistor with a known temperature/resistance curve.  Thermistor is connected in a simple potential divider circuit - thermistor between ADC input and 0V, and a fixed resistor between ADC and the positive supply.  Default calibration is for the EBM003 module.


==Component Source Code==
==Version information==


Please click here for the component source code: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_Thermistor.fcfx FC_Comp_Source_Thermistor.fcfx]
Library Version, Component Version, Date, Author, Info
9, 2.0, 19-07-24, BR, Added compatibility for external ADC
9, 2.0, 19-07-24, BR, Allowed full bit depth usage of the internal ADC


==Detailed description==
==Detailed description==




Line 38: Line 48:


==Examples==
==Examples==




Line 55: Line 73:


''<span style="color:red;">No additional examples</span>''
''<span style="color:red;">No additional examples</span>''




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


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===CalculateTemperature===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''CalculateTemperature'''
|-
| colspan="2" | Converts the input ADC value and returns the Temperature in tenths of degree C&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetIntegerTemperature'''
|-
|-
| colspan="2" | Reads the ADC input and returns the calculated Temperature as Integer degrees C&nbsp;
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | ADCValue
|-
|-
| colspan="2" | ADC Reading to be converted&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
Line 72: Line 106:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===GetADCValue===
{| 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" | '''GetADCValue'''
|-
|-
| colspan="2" | Set the ADC Channel&nbsp;
| colspan="2" | Returns the Raw ADC value from the Analogue Channel&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | ChannelID
|-
| colspan="2" | &nbsp;
|-
| 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''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===GetIntegerTemperature===
{| 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;" | '''SetMinMax'''
| width="90%" class="mtx-class-macrohead" | '''GetIntegerTemperature'''
|-
|-
| colspan="2" | Set the minimum and maximum temperature values that can be shown and set on the thermometer readout.&nbsp;
| colspan="2" | Reads the ADC input and returns the calculated Temperature as Integer degrees C&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | Min
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
===GetRealTemperature===
{| class="mtx-class-macrotable wikitable"
|-
|-
| colspan="2" | Minimum Value&nbsp;
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''GetRealTemperature'''
|-
|-
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
| colspan="2" | Reads the ADC input and Returns the calculated Temperature as Float value in degrees C&nbsp;
| width="90%" | Max
|-
|-
| colspan="2" | Maximum Value&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| 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''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetADCValue===
{| 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" | '''SetADCValue'''
|-
|-
| colspan="2" | Reads the ADC input and Returns the calculated Temperature as Float value in degrees C&nbsp;
| colspan="2" | Used to set the ADC value when an external ADC is being used.&nbsp;
|-
|-
| 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&nbsp;
|-
|-
| 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-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetChannel===
{| 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" | '''SetChannel'''
|-
|-
| colspan="2" | Sends the given temperature to the display, and calculates the internal values used by the simulated read macros.&nbsp;
| colspan="2" | Set the ADC Channel&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | Temperature
| width="90%" | ChannelID
|-
|-
| colspan="2" | Zero to one value - representing min-max of the sensor.&nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 144: Line 186:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetMinMax===
{| 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" | '''SetMinMax'''
|-
|-
| colspan="2" | Converts the input ADC value and returns the Temperature in tenths of degree C&nbsp;
| colspan="2" | Set the minimum and maximum temperature values that can be shown and set on the thermometer readout.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="90%" | Min
|-
|-
| colspan="2" | Minimum Value&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="90%" | ADCValue
| width="90%" | Max
|-
|-
| colspan="2" | ADC Reading to be converted&nbsp;
| colspan="2" | Maximum Value&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
| 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''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetTemperature===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''SetTemperature'''
|-
| colspan="2" | Sends the given temperature to the display, and calculates the internal values used by the simulated read macros.&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetADCValue'''
|-
|-
| colspan="2" | Returns the Raw ADC value from the Analogue Channel&nbsp;
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="90%" | Temperature
|-
|-
| colspan="2" | Zero to one value - representing min-max of the sensor.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| 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''
|}
|}




==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="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
|-
|-
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" class="mtx-class-propfolder" | ADC Properties
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | ADC Properties
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | ADC Configuration
|-
| colspan="2" | &nbsp;
|-
|-
| 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.&nbsp;
| colspan="2" | Analogue Input Channel - Which pin is the analogue input connected to?&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
Line 198: Line 255:
|-
|-
| 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.&nbsp;
| 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.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | ADC Bit Resolution
|-
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
Line 214: Line 266:
| colspan="2" | Number of micro seconds to wait for the ADC input to charge before starting the analogue sample.&nbsp;
| colspan="2" | Number of micro seconds to wait for the ADC input to charge before starting the analogue sample.&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Thermistor Properties
| width="90%" class="mtx-class-propfolder" | Thermistor Properties
|-
|-
|-
|-
Line 263: Line 315:
| colspan="2" | Value in Ohms of the Thermistor at 125 deg C&nbsp;
| colspan="2" | Value in Ohms of the Thermistor at 125 deg C&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
| width="90%" class="mtx-class-propfolder" | Simulation
|-
|-
|-
|-
Line 287: Line 339:
| colspan="2" | Number of numbered divisions shown on the thermometer scale.&nbsp;
| colspan="2" | Number of numbered divisions shown on the thermometer scale.&nbsp;
|}
|}
==Component Source Code==
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Thermistor.fcfx FC_Comp_Source_Thermistor.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Thermistor.fcfx FC_Comp_Source_Thermistor.fcfx]

Latest revision as of 14:37, 13 July 2026

Author Matrix TSL
Version 2.0
Category Environmental


Thermistor component

A generic thermistor component that can be used to simulate and create code for any thermistor with a known temperature/resistance curve. Thermistor is connected in a simple potential divider circuit - thermistor between ADC input and 0V, and a fixed resistor between ADC and the positive supply. Default calibration is for the EBM003 module.

Version information

Library Version, Component Version, Date, Author, Info
9, 2.0, 19-07-24, BR, Added compatibility for external ADC
9, 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

No additional examples







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


SetMinMax

SetMinMax
Set the minimum and maximum temperature values that can be shown and set on the thermometer readout. 
- FLOAT Min
Minimum Value 
- FLOAT Max
Maximum Value 
- VOID Return


SetTemperature

SetTemperature
Sends the given temperature to the display, and calculates the internal values used by the simulated read macros. 
- FLOAT Temperature
Zero to one value - representing min-max of the sensor. 
- VOID Return


Property reference

Properties
ADC 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. 
Thermistor Properties
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 
Simulation
Label
A text label to help you identify the component on the panel. 
Min. Temp.
Minimum termperature that can be set or displayed on the thermometer slider. 
Max. Temp.
Maximum termperature that can be set or displayed on the thermometer slider. 
Scale divisions
Number of numbered divisions shown on the thermometer scale. 

Component Source Code

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

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