Hi,
This is my first post and I am ready to accept even the most severe criticism.I will try to explain
problem as short as possible...
This project will be my first "real" project
(like a step out of "blinking LEDs" to next level of education).
Project in general is quite simple: there are
two independent heating systems joined into one -
pellet furnace and solar (heat) collector (actually three of them). At this point this
system is managed manually, a.k.a. by hand both furnace and solar collector(s). System also has one water pump (0.1kW single-phase induction motor).
Mechanically system is ready. What has to be done is:
1) valves (5 of them) that control water flow have to be changed to solenoid valves;
2) motor commutation have to be changed from circuit beaker to contactor;
3) temperature sensors (6 of them) has to be deployed all over the system:
• 3 on solar panels;
• 1 at the outlet of furnace;
• 1 in hot water boiler;
• 1 in one (metric) ton water buffer to store excess energy;
4) all have to be driven by µC with user-friendly interface.
SYSTEM REQUIREMENTS:1)
temperature resolution: 0.5°C at worse case scenario;
2)
temperature readings: slow... like, very slow ... like
once 30 seconds would be fine;
3)
temperature range: from
+10°C to +70°C with good precision, but
full range should be
from -1°C to +85°C;
4)
measurement distance: up to (about) 30m (100ft);
5)
working conditions: while µC will be safe and sound, sensors that measure temperature,
should be able to withstand temperature range
from -30°C to +250°C submersed under max pressure of 15 bar.
... this is where PT100 comes into play;
Tools I figured I might use:
1) µC in use:
ATmega164A-PU or
ATmega164PA-PU (first one simply because it has more features to play with)2) platinum PT100 sensors
3) JN12864J 128x64 pixel panel for GUI
(ueses ST7920 controller)This is short story of what I want to do.
Here comes question part:
Question #1:
How to read temperature from PT100?How to get out most of it (in means of precision)?
Most probably there are going to be some people screaming behind the screen, like "Google it, God d**m it!", but this is a question Google could not answer me...I have seen several solutions, starting from 2 op-amps (one for constant 1mA current source, other for amplifying signal) ending with instrumental amplifiers in combination with analog switches for multiplexing several PT100s to sigma-delta 24bit ADC.
Though three things I understood:
1) I don't need (nor want) external ADC, I want to try get along with in-built 10bit ADC in ATmega
IF it is possible with requirements I gave;
(Of course, if it is necessary, I am ready to use external ADC.)2) 4-wire solution - got it!
3) self-heating in not going to be an issue as PT100s will be either cooled or heated by constant water flow, or it will have to detect quite high temperatures where self-heating will be irrelevant.
Question #2:
What is the best way to transmit one analog signal (value) in house from multiple places?Trouble is there are going to be (at least) 6 sensors measuring temperature all around the house. If You think about it, this is 4 wire cable all over the place. If not esthetics's, such amount of wire will cost more than everything else together! Doesn't sound pleasant... but if there is no other solutions, I will go with that!
Then i noticed this little guy:
nRF24L01.
Is this plausible solution?
Question #3:
... not really question, but ...Any suggestions?
Maybe I am missing something from picture I should see?
__________________________________________
Little background here: I am a master's student of industrial automation, so I have a quite strong background of C/C++ programing, power electronics (by that I meant that I understand difference between 5VDC and 230VAC) blah, blah, blah... If You feel that it is easier for You to use very complicated technical language - go for it, I will get it! Simply (as Dave once mentioned) although I have theoretical background of what I am asking here, "university doesn't teach You a lot about what You really need to know". Well, they taught me how to program PLC's (like, Siemens, ABB or funky Unitronics), but they missed out the most interesting stuff - µCs & µelectronics! 