Hi everyone.
My solar panel heating system has a temperature sensor based on NTC10K thermistor. The sensor is connected to the solar panel controller in order to display the water temperature on the controller display.
I would like to read the thermistor value from Arduino using an analog IN. That shouldn't be too difficult.
However I'd like to pass through the thermistor resistance value to the solar panel controller.
Any idea if this can be done?
Thanks in advance.
Gab
However I'd like to pass through the thermistor resistance value to the solar panel controller.
Any idea if this can be done?
We don't know anything about your solar panel controller... Do you know anything about it?
- I'd like to pass through *the thermistor resistance value to the solar panel controller.
Last time I checked "pass through" is not an electronics term.
Thermisters are resistors, so why does your solar panel controller want that information and how would it know
how to process it ?
Did it ask you for the resistance value ?
With no information on your solar panel controller , I don't see how we can answer the question.
Are you asking us how to measure the thermister resistance ?
I apologise for not being an expert and for not using the correct "electronic terms", I thought forums where intended to provide help to non expert people, but you might prove me wrong.
I'll try to provide the maximum of the information I have but unfortunately the solar controller is a black box, I have the instruction booklet but it doesn't show any schematic. So I can only assume the controller is measuring the resistance of the thermistor and mapping it to a temperature value.
What is not very clear to me is if it's possible to read 1 sensor value from 2 different sources (in my case the solar panel controller and Arduino), or if there's some other clever way to do that.
I attach the only image I found relevant in the instruction booklet. The thermistor is connected to the T1 input.
Thanks for your help.
Gab

Here's a picture of the controller:

What you might be able to do is measure the voltage across the thermistor and use that to get the temperature, but there's no guarantee it will work. If all the controller does is pass some current through the thermistor and measure the resulting voltage then you just need to measure the voltage, however you will have to experiment to find out. Measure the voltage across the thermistor at different temperatures and work out what voltage corresponds to what temperature.
I think your 'pass through' idea is a non-stater as too difficult to emulate the the thermistor looking into the controller.
If it were me I'd forget reading the existing thermistor and put my own temperature sensor along side it.
PerryBebbington:
If it were me I'd forget reading the existing thermistor and put my own temperature sensor along side it.
Thank you @PerryBebbington, unfortunately that's not an option as the sensor is phisically installed inside the water tank and it can only be replaced, no space for a second sensor. But I get your point.
I'll try to do what you suggest and build a sort of mapping table between temperature and voltage and see if that works out well enough.
Thanks again for your input.
Gab
Do you know what an op-amp does? You need to place as little load as possible on the circuit when you measure the voltage, otherwise you will disturb the calibration. An op-amp will do this for you.
https://forum.arduino.cc/index.php?topic=724288.0
(Note that tutorial is not finished yet)
After several projects gone bad, I made a rule for myself:
If I do not know exactly what it is and exactly how it works,
I will not mess with it!
herbschwarz:
After several projects gone bad, I made a rule for myself:
If I do not know exactly what it is and exactly how it works,
I will not mess with it!
That's how you learn! (Just make sure it doesn't kill you)
Your image in post #3 reflects connections to T1, T2 and T3 and what I can gather from the manual, converting it to English is:
T1 is for a PT100 thermistor used to measure reflector temperature of the reflector.
T2 and T3 are for a NTC 10K thermistors used for measuring tank temperature.
Most hand held voltmeters offer a high (10 Meg Ohm) input impedance to reduce loading. Using a good voltmeter you can measure across T1, T2 and T3. Depending on how T2 and T3 are placed you should see about the same voltage. That is where I would start. You can use a lookup table for a NTC 10K thermistor. They tell you b = 3950 for the factory thermistors. Anyway, I would start by getting some voltages and see how they come up against temperatures.
Ron
Input sensor terminals
Endssensor l of entryto T1: For Pt100 sensor 0, used to measure the
collector temperature.
Input sensor terminal T2 and T3: For NTC10K, B = 3950 sensors, used for
measure the tank temperature.
Ron_Blain:
Your image in post #3 reflects connections to T1, T2 and T3 and what I can gather from the manual, converting it to English is:
T1 is for a PT100 thermistor used to measure reflector temperature of the reflector.
T2 and T3 are for a NTC 10K thermistors used for measuring tank temperature.
Ron
Thanks Ron,
I was indeed wrong, the sensor I want to read with Arduino is not the thermistor connected to T1 but the one connected to T2 which is a NTC 10K.
I'll follow your suggestion as soon as the new panel installation is completed, I'll check the voltage with my handheld voltmeter and then I'll start experimenting with Arduino.
I don't need a super accurate reading, I just need to create a rough threshold value around 60 C to activate and electric valve. It can be plus or minus 10 degrees, so I'll see what I can achieve with Arduino.
Thanks for your help,
Gab
I don't need a super accurate reading, I just need to create a rough threshold value around 60 C to activate and electric valve.
Then all you need is an op-amp configured as a comparator and with a bit of hysteresis, see the tutorial I linked to by @johnerrington.
So, let's see if I got it right. Forgive the inaccurate terms.
The op-amp configured as comparator essentially converts the analog input into a digital input comparing the voltage at the thermistor with a given threshold. Hysteresis is adding an upper threshold and a lower one to avoid continuous changes of the digital out in case the analog input is very close to the specified threshold.
Now, if the above is correct, what's the advantage of using this op-amp configuration rather than implementing the same logic using arduino code?
Thanks for the answers.
Gab
As to discrete components you can use a comparator or op-amp configured as a comparator. Amplifiers as comparators is a brief read on the subject. You can also use an Arduino uC, ATTiny uC or a host of others. Either will give you what you want. You do want a little hysteresis in there and either will do that, an op-amp with a feedback resistor or included in the code with a uC.
I would first see what voltage(s) you have to work with.
Ron
gabric098:
So, let's see if I got it right. Forgive the inaccurate terms.
The op-amp configured as comparator essentially converts the analog input into a digital input comparing the voltage at the thermistor with a given threshold. Hysteresis is adding an upper threshold and a lower one to avoid continuous changes of the digital out in case the analog input is very close to the specified threshold.
Now, if the above is correct, what's the advantage of using this op-amp configuration rather than implementing the same logic using arduino code?
Thanks for the answers.
Gab
Yes, you got it.
Simplicity, if all you want to do is compare a varying voltage to a fixed voltage with no frills then a comparator will do this for you. However, you might enjoy the challenge of writing code to do it, you might want to add features later that a comparator won't give you.
Some micro-controllers even have one or more built in comparators.
PerryBebbington:
However, you might enjoy the challenge of writing code to do it, you might want to add features later that a comparator won't give you.
It might be actually more challenging for me the discrete component way. Given my background I'm more comfortable in writing code than using electronic components. Anyway, I'll start by measuring the voltage as Ron_Blain suggests just to understand if it's something Arduino can handle. Unfortunately the panels are still under repair. Hopefully by monday I'll have some data.
Thanks everyone for the help.
Gab
instruction booklet
Do you have a link to it ?
What are the "T" terminals for ? (thermisters ?)
If they are for thermisters then you connect the thermister to the controller and read the voltage across it with
an arduino using two analog inputs (or one if one side of the thermister is 0V), as long as the voltage is <5v.
The challenge is that you do not know how the resistance is being measured, or how the internal circuit is connected. So for example could the thermistors have a common connection to mains live.
So FIRST you need to use your meter to check voltage between each thermistor terminal and ground.
IF (as I would hope and expect) at least one end is at ground potential there is a practical way forward.
Then use your meter to measure the voltage across the thermistor.
Report your findings and we can proceed to the next step.
raschemmel:
Do you have a link to it ?
What are the "T" terminals for ? (thermisters ?)
If they are for thermisters then you connect the thermister to the controller and read the voltage across it with
an arduino using two analog inputs (or one if one side of the thermister is 0V), as long as the voltage is <5v.
Yes, T1, T2 and T3 are thermistors. T1 is reflector temperature and T2 and T3 are tank temperature.
Ron
There are no vacant T terminals.
How can you add a thermister ?