Différences entre versions de « Linux sunxi armbian w1 »

De The Linux Craftsman
Aller à la navigation Aller à la recherche
Ligne 1 : Ligne 1 :
 
!!WIP!!
 
!!WIP!!
  
= Partie électronique =
+
= Introduction =
== Le composant ==
+
Nous allons utiliser le protocole OneWire sur une platine Sunxi (ARM AllWinner) OrangePi Zero. Le composant choisi est le thermomètre DS18B20 de la firme Dallas qui utilise ce protocole.
 +
== Le DS18B20 ==
 
Le DS18B20 peut être trouvé au format '''TO-92''' ou déjà monté sur une platine.
 
Le DS18B20 peut être trouvé au format '''TO-92''' ou déjà monté sur une platine.
 
{|align=center
 
{|align=center
Ligne 10 : Ligne 11 :
 
|align=center| Format '''TO-92''' ||align=center| Sur une platine avec la résistance de ''pull-up''
 
|align=center| Format '''TO-92''' ||align=center| Sur une platine avec la résistance de ''pull-up''
 
|}
 
|}
Ce composant utilise le protocole 1-Wire propriétaire à Dallas, la firme qui le fabrique. L'avantage de ce protocole est de n'utiliser qu'un fil pour la communication (avec la masse) et que sur ce fil peuvent être connectées plusieurs sondes de la marque Dallas (jusqu'à 127 exactement).
+
L'avantage du protocole OneWire est de n'utiliser qu'un fil pour la communication (avec la masse) et que sur ce fil peuvent être connectées plusieurs sondes de la marque Dallas (jusqu'à 127 exactement).
  
 
Un autre avantage est que ce composant possède un registre qui permet de modifier la précision de la valeur renvoyée.
 
Un autre avantage est que ce composant possède un registre qui permet de modifier la précision de la valeur renvoyée.
Ligne 24 : Ligne 25 :
 
|align=center| 12 bits ||align=center|0.0625°C ||align=center|750 ms
 
|align=center| 12 bits ||align=center|0.0625°C ||align=center|750 ms
 
|}
 
|}
 +
 
= Activation du protocole OneWire =
 
= Activation du protocole OneWire =
 
Il faut spécifier au système d'exploitation la broche sur laquelle on souhaite activer le protocole OneWire. Cela se fait en ajoutant les lignes suivante dans le fichier ''/boot/armbianEnv.txt'':
 
Il faut spécifier au système d'exploitation la broche sur laquelle on souhaite activer le protocole OneWire. Cela se fait en ajoutant les lignes suivante dans le fichier ''/boot/armbianEnv.txt'':

Version du 16 juillet 2020 à 13:58

!!WIP!!

Introduction

Nous allons utiliser le protocole OneWire sur une platine Sunxi (ARM AllWinner) OrangePi Zero. Le composant choisi est le thermomètre DS18B20 de la firme Dallas qui utilise ce protocole.

Le DS18B20

Le DS18B20 peut être trouvé au format TO-92 ou déjà monté sur une platine.

DS18B20.jpg
DS18B20 mounted.jpg
Format TO-92 Sur une platine avec la résistance de pull-up

L'avantage du protocole OneWire est de n'utiliser qu'un fil pour la communication (avec la masse) et que sur ce fil peuvent être connectées plusieurs sondes de la marque Dallas (jusqu'à 127 exactement).

Un autre avantage est que ce composant possède un registre qui permet de modifier la précision de la valeur renvoyée.

Mode Résolution Temps de conversion
9 bits 0.5°C 93.75 ms
10 bits 0.25°C 187.5 ms
11 bits 0.125°C 375 ms
12 bits 0.0625°C 750 ms

Activation du protocole OneWire

Il faut spécifier au système d'exploitation la broche sur laquelle on souhaite activer le protocole OneWire. Cela se fait en ajoutant les lignes suivante dans le fichier /boot/armbianEnv.txt:

param_w1_pin=PA10
param_w1_pin_int_pullup=1

Cela permet de spécifier la broche PA10 comme étant celle utilisée et activer la résistance de pullup. Il faudra ensuite modifier la directive overlays pour y charger le protocole OneWire:

overlays=w1-gpio

Il ne reste plus qu'à redémarrer le système pour appliquer les modifications.

Affichage des périphérique

listage

lecture

Utilisation en C