Buona sera
vorrei intraprendere un nuovo progetto per il controllo della temperatura della mia caldaia a legna con 5 sensori pt100.
Le mie domande da porre sono le seguenti:
1° per il mio progetto basta usare arduino uno oppure devo utilizzare 5 arduini nano e 1 arduino uno?
2° per la comunicazione tra i sensori PT100 e arduino cosa posso utilizzare dato che la distanza è di 5 mt?
Premetto che la temperatura da misurare sui vari sensori va da 0 a 150 C°
Accetto consigli
Grazie mille
simone
Un sensore PT100 può misurare temperature da -200° a +850° ed è in sostanza una resistenza che cambia il suo valore in funzione della temperatura. Arduino dovrà quindi essere programmato per misurare la variazione di una resistenza. Come si legge qui la misura va poi linearizzata secondo la prescrizione dell'International Temperature Standard lì citata.
Ti inviterei a leggere il documento per le avvertenze che contiene sulla difficoltà di effettuazione di una misurazione precisa della resistenza e sui cavi di connessione sensibili ai disturbi elettromagnetici.
Poi a tutto ci può essere rimedio, specialmente se le misure non devono essere di precisione.
Ciao,
P.
Per risparmiarti un po' di calcoli, visto che qualcuno in un altro topic ha chiesto delle termocoppie, potresti forse usare anche una di quella volendo.
C'è una cosa di QUESTO tipo che potrebbe interessarti ad esempio.
Utilizza il MAX6675
Piccolo Esempio
Spero di esserti stato di aiuto.
Grazie mille per le risposte
ho studiato un po e la soluzione data da PGIAGNO la trovo molto utile, ma non saprei dove iniziare con la realizzazione.
La soluzione di As_Needed è molto buona ma ho dei dubbi sul questo dispositivo
http://www.ebay.it/itm/Modulo-MAX6675-Termocoppia-Tipo-K-per-la-temperatura-ARDUINO-0-800-AE-055-/182265416441?_trksid=p2141725.m3641.l6368
Dato che la termocoppia deve andare a contatto con una superfice e la distanza da arduino e la fonte di calore raggiunge i 5 mt posso utilizzare questo dispositivo,
e interfacciare arduino e termocoppia con
http://www.ebay.it/itm/Arduino-MAX6675-Type-K-Thermocouple-Temperature-Sensor-Module-SPI-Interface-CF-/272369800743?hash=item3f6a815627:g:zXsAAOSwvzRX0jGc
per il tutto con 5 sensori basta arduino uno?
grazie mille
Simone
Quel dispositivo che ti ho linkato si può usare solo con le termocoppie in particolare quelle di tipo K, quindi non con termoresistenze. Dovrebbe bastare Arduino uno. Per la lunghezza dovresti trovare una termocoppia con cavo 5m
SE, hai dubbi sull SPI guarda QUI

Buongiorno As_Needed
ho fatto un po di considerazioni e ho scelto di usare per il mio progetto le termocoppie di tipo k
http://www.ebay.it/itm/Modulo-MAX6675-Termocoppia-Tipo-K-per-la-temperatura-ARDUINO-0-800-AE-055-/182265416441?hash=item2a6fdd8af9:g:SXgAAOSw8w1X6VWn
Quindi utilizzerò un Arduino Nano e 6 termocoppie, il mio dubbio ora è per lo sketch, dato che devo comprare tutto per realizzare il progetto.
// Sample Arduino MAX6675 Arduino Sketch
#include "max6675.h"
int AktcSO = 3;
int BktcSO = 4;
int CktcSO = 5;
int DktcSO = 6;
int EktcSO = 7;
int FktcSO = 8;
int ktcCS = 9;
int ktcCLK = 10;
MAX6675 Aktc(ktcCLK, ktcCS, AktcSO);
MAX6675 Bktc(ktcCLK, ktcCS, BktcSO);
MAX6675 Cktc(ktcCLK, ktcCS, CktcSO);
MAX6675 Dktc(ktcCLK, ktcCS, DktcSO);
MAX6675 Ektc(ktcCLK, ktcCS, EktcSO);
MAX6675 Fktc(ktcCLK, ktcCS, FktcSO);
void setup() {
Serial.begin(9600);
// give the MAX a little time to settle
delay(500);
}
void loop() {
// basic readout test
Serial.println("SENSORE >>A<< C = ");
Serial.println(Aktc.readCelsius());
Serial.println("SENSORE >>B<< C = ");
Serial.println(Bktc.readCelsius());
Serial.println("SENSORE >>C<< C = ");
Serial.println(Cktc.readCelsius());
Serial.println("SENSORE >>D<< C = ");
Serial.println(Dktc.readCelsius());
Serial.println("SENSORE >>E<< C = ");
Serial.println(Ektc.readCelsius());
Serial.println("SENSORE >>F<< C = ");
Serial.println(Fktc.readCelsius());
delay(5000);
}
Puo andare?
simone
Strano come quella libreria sembra non usi l'interfaccia SPI... In ogni caso non penso tu possa usare lo stesso SS per tutti i dispositivi, però forse potresti usare l'SCK per tutti i dispositivi, in teoria dovrebbe essere così se il modulo usa il bus SPI, non capisco questa cosa della libreria che pare non usarlo.
Infatti è come dice @As_Needed, il chip è SPI, quindi vanno differenziati i CS e messi in comune le uscite dati (SO)
#include "max6675.h"
int ktcCSA = 3; // CS primo MAX6675
int ktcCSB = 4; // CS secondo MAX6675
int ktcCSC = 5;
int ktcCSD = 6;
int ktcCSE = 7;
int ktcCSF = 8; // CS sesto MAX6675
int ktcSO = 9; // pin SO max6675
int ktcCLK = 10; // pin CLK max6675
MAX6675 Aktc(ktcCLK, ktcCSA, ktcSO);
MAX6675 Bktc(ktcCLK, ktcCSB, ktcSO);
MAX6675 Cktc(ktcCLK, ktcCSC, ktcSO);
MAX6675 Dktc(ktcCLK, ktcCSD, ktcSO);
MAX6675 Ektc(ktcCLK, ktcCSE, ktcSO);
MAX6675 Fktc(ktcCLK, ktcCSF, ktcSO);
Non ti seguo, forse troppo complicato per me. Mi puoi fare uno sketch con due dispositivi.
Grazie mille
Simone
Brunello ha capito quello che volevo dire e ti ha fatto lo sketch per le definizioni. L'unica nota che la Nano ha l'SCK sul pin 13, quindi in teoria questo
int ktcCLK = 10; // pin CLK max6675
deve essere così
int ktcCLK = 13; // pin CLK max6675
E considerando sempre il DATASHEET
SO è il MISO perciò andrebbe al pin 12 sulla Nano
Ovvero
int ktcSO = 12; // pin SO max6675
Grazie mille As_Needed e Brunello
quindi con questo sketch metto in parallelo gli SCK e SO e il tutto dovrebbe funzionare.
Grazie mille a tutti
I CS ovviamente no. 
Prego comunque, come dico sempre per chi non conosce i karma, un karma è sempre gradito 
Ciao.