Sensore di temperatura DS18x2x.

Figura 1
Descrizione del sensore.
- Intervallo: -55..125 °C.
- Precisione: ±0.5°C nel campo -10°C..85°C.
- Alimentazione: 3-5,5 V.
- Corrente assorbita: 1mA
- Interfaccia di comunicazione: 1-Wire (OneWire).
- Alloggiamento: 3-Pin TO-92(a), 8-Pin SO(b), 8-Pin µSOP(c), versione sigillata(d) (Figura 2).

Figura 2
Per mantenere stabile il trasferimento dei dati, dovrai collegare il resistore di pull-up da 4,7kΩ tra i pin di segnale (DQ) e di alimentazione (VDD). Un resistore di pull-up è strettamente necessario e viene installato vicino all'output del microcontrollore (Figura 3).

Figura 3
Un progetto può implementare più bus OneWire, a ogni bus si possono collegare più dispositivi. Nella finestra di dialogo delle impostazioni del blocco, è necessario specificare il bus OneWire a cui è collegato il sensore (il pin), l'indirizzo del sensore e il tipo di sensore (Figura 4).

Figura 4
L'indirizzo e il tipo di sensore possono essere trovati utilizzando lo strumento "Scanning the OneWire bus". Preferisco usare questo metodo per specificare separatamente l'indirizzo per ciascun sensore (facendo un segno su ciascun sensore). Inserendo manualmente l'indirizzo nelle impostazioni o da file salvati in precedenza. C'è una seconda opzione che è descritta di seguito.
La seconda opzione per specificare l'indirizzo e il tipo di sensore consiste nell'utilizzare un array. Questo metodo è conveniente se utilizzato in combinazione con il blocco "Scanning the bus OneWire" (Figura 5).

Il blocco viene utilizzato per scansionare il bus OneWare e salvare i dati ricevuti in un array, per un ulteriore utilizzo di questi array nei blocchi sensore DS18x2x. Il blocco può essere parametrizzato nella finestra di modifica del blocco (Figura 6).

Figura 6
Qui possiamo creare, selezionare da già esistenti, eliminare un array. Creeremo un array di tipo Byte con una dimensione di 9 elementi. I primi otto elementi contengono l'indirizzo del sensore, il nono elemento è il suo tipo (Figura 7).

Figura 7
La scansione avviene sul fronte di salita dell'impulso all'ingresso "En". Dopo la scansione, se il sensore viene trovato, un livelo logico alto appare all'output dell'array corrispondente (Figura 8).

Figura 8
Utilizzando lo stesso array in entrambi i blocchi, è possibile determinare automaticamente l'indirizzo e il tipo dell'array.
Selezionando l'opzione "Array" e premendo il pulsante "Choose" nelle impostazioni del sensore, selezioniamo l'array creato per questo sensore. Qui possiamo anche creare un nuovo array premendo il pulsante "Create" (Figura 9).

Figura 9
Quando la casella "The error output of the survey" è selezionata, l'output "Error" apparirà sul blocco e quando si verifica un errore di interrogazione del sensore, l'output sarà a livello logico alto. Selezionando la casella "Enable input of the poll" attiviamo l'input "En" che controllare l'interrogazione del sensore, il sensore verrà interrogato solo se è presente un livello logico alto a questo input. Qui puoi anche determinare la frequenza di interrogazione
del sensore, scegliendo tra ogni ciclo (sconsigliato) o periodicamente indicando il tempo nel campo sottostante.
La casella "Parasite power".

Figura 10
Collegare il sensore DS18B20 secondo lo schema di alimentazione "Parasite power"
utilizzando circuiti esterni, tale schema funziona in modo più stabile del precedente (Figura 11).

Figura 11
È meglio non utilizzare inutilmente la modalità "Parasite power", poiché le prestazioni e la stabilità potrebbero risentirne.
File FLPRog.