Laboratorio: 1-Wire

Tre sensori 1-wire ed Arduino Nano

In fase di sviluppo In preparazione In fase di sviluppo

Il circuito della figura di apertura mostra un Arduino Nano collegato a tre sensori di temperatura appartenenti alla famiglia DS18B20. Sono visibili:

La piedinatura della scheda di breakout è mostrata di seguito e, stranamente, non segue quella del circuito integrato. Da notare che è necessario utilizzare anche l'alimentazione VCC a causa della presenza sulla scheda di un LED che assorbe una corrente non compatibile con un'alimentazione Parasite Power.

Per il test è stata utilizzata la libreria OneWire, da installarsi tra le librerie predefinite, ed il programma di esempio DS18x20_Temperature. L'output è mostrato di seguito nel caso in cui la microLAN è formata da tre sensori.

Attività 1

Collegare ad Arduino uno o più sensori 1-wire, visualizzare i segnali trasmessi ed effettuare la decodifica. Il segnale seguente mostra, per esempio, un frame in cui il master interroga uno dei dispositivi per leggere i dati in esso contenuto.

Possiamo osservare:

Altri tipi di frame, non mostrati, sono (nota 1):

Per chi non dispone di un oscilloscopio, a fondo pagina sono presenti alcuni esempi.

Attività 2

Utilizzare gli stessi sensori con Rapsberry Pi

Segnali esemplificativi

Il file 1-wire.zip contiene alcuni segnali da utilizzare con la versione demo di Picoscope. Il codice in esecuzione è DS18x20_Temperature.

  1. L'intera durata di loop() con tre sensori collegati, come nell'immagine di apertura. Per ciascun sensore sono mostrati una serie di frame (nota 2):
    • Frame di ricerca dell'indirizzo di uno dei dispositivi
    • Frame con il comando di avvio della misura di temperatura (nota 3)
    • Frame con cui il master legge la temperatura ed altri dati, dopo circa un secondo dal passo precedente
  2. Lettura dello scratchpad di uno dei sensori (nota 4)
  3. Avvio della conversione della temperatura per uno dei sensori  (nota 4)
  4. Ricerca degli indirizzi (a cui segue un altro frame, solo parzialmente mostrato (nota 4)
  5. Il dettaglio dell'inizio di uno dei frame (nota 4)

Il file di testo mostra l'output del programma.

 

Note

  1. L'elenco dei codici e dei comandi di questo integrato è disponibile sui fogli tecnici
  2. Il tempo di campionamento è troppo piccolo per poter decodificare il segnale seriale
  3. Nel primo evento ricerca ed avvio della misura sono uno immediatamente di seguito all'altro, come mostrato nel file di esempio 1-wire-4-psdata
  4. Per la corretta decodifica occorre impostare la voce all'interno dello strumento di decodifica seriale Sample Time From Falling Edge a 20 µs


Pagina creata nell'aprile 2022
Ultima modifica: 4 maggio 2022


Licenza "Creative Commons" - Attribuzione-Condividi allo stesso modo 3.0 Unported


Pagina principaleAccessibilitàNote legaliPosta elettronicaXHTML 1.0 StrictCSS 3

Vai in cima