Sensor DHT22

Version 3 (Marina de Freitas, 06/10/2021 11:59)

1 1
h1. Sensor DHT22
2 1
3 1
{{toc}}
4 1
5 1
h2. Especificações do fabricante
6 1
7 1
O DHT é um sensor digital que realiza medidas de temperatura e umidade relativa do ar. Por ser digital, a resposta enviada por ele já vem com as respectivas unidades. Quando o sensor não está devidamente conectado a resposta será "NA", de "not a number", que significa, do inglês, "não é um número". Para usar o DHT é necessário usar bibliotecas, como as encontradas no "repositório da adafruit":https://github.com/adafruit/DHT-sensor-library . Neste repositório também é encontrado _firmwares_ de teste que ajudam a compreender o funcionamento do DHT.
8 1
9 1
O "datasheet":https://www.sparkfun.com/datasheets/Sensors/Temperature/DHT22.pdf disponibilizado pela SparkFun, também disponível "aqui":http://cta.if.ufrgs.br/attachments/4533/DHT22.pdf , descreve as seguintes especificações:
10 1
11 1
||Umidade Relativa do Ar| Temperatura|
12 1
|Faixa de operação|0-100%|-40~80°C|
13 3 Marina de Freitas
|Exatidão/Accuracy |+-2%(Max +-5%) (25°C)| <+-0.5Celsius|
14 1
|Resolução ou sensividade|0.1%| 0.1°C|
15 1
|Repetibilidade| +-1%|+-0.2°C|
16 1
|Histerese da umidade|+-0.3%|
17 1
|Estabildiade a longo termo|+-0.5%/Ano|
18 1
19 1
20 1
O DHT também é nomeado AM2302. Segundo o _datasheet_, cada sensor deste modelo tem uma compensação e calibração de temperatura feita numa câmera de precisão. O coeficiente de calibração é salvo em uma programa na memória OTP, logo, não necessita de componentes extras.. Quando o sensor está em funcionamento, irá citar o coeficiente da memória. Ele mede umidade relativa e temperatura, por um sinal digital. O sensor de humidade é capacitivo.
21 1
Pode ser usado para transmissões de longa distância (20m) e possui um baixo consumo de potência, além de ser estável a longo termo.
22 1
Seus elementos sensitivos estão conectados com um chip de 8 bits, sua saída é um sinal digital single-bus.
23 1
O período de cada medição é, em média, 2 segundos. Após a tensão ser aplicado, é sugerir esperar 1 segundo para realizar a medição. É também sugerido colocar um capacitor de 100nF entre o VDD e o GND para filtrar. É sugerido não soldar o sensor em temperaturas maiores do que 260 celsius, o que provavelmente significa que a solda usada deve ser bem fina.
24 1
25 3 Marina de Freitas
A exatidão referente a umidade relativa do ar é valida para medidas a 25°C. A figura abaixo mostra o erro do sensor como uma função da faixa de operação.
26 1
27 1
28 3 Marina de Freitas
Para umidade, entre 0 e 10% Rh e entre 90 e 100% o erro sobe para 4%.  Pra a temperatura, entre 0 e -120°C e entre 60 e 80°C o erro sobre para 0.4°C
29 3 Marina de Freitas
30 3 Marina de Freitas
Recomendações de armazenamento:
31 3 Marina de Freitas
Temperatura: 10 ~ 40 °C
32 3 Marina de Freitas
Umidade: 60% RH ou menos
33 3 Marina de Freitas
34 3 Marina de Freitas
Exposição prolongada a luz e radiação ultravioleta podem danificar o sensor.
35 3 Marina de Freitas
36 3 Marina de Freitas
Fabricante: "Aosong":http://www.aosong.com/
37 3 Marina de Freitas
38 1
h2. Caracterização do sensor
39 1
40 1
Será que a exatidão e precisão informadas pelo fabricante refletem  comportamento do DHT22? Motivadas por isso, foi feita uma caracterização do DHT analisando os dados de 10 dias de medida de 7 DHTs em equilíbrio térmico. O valor de referência, de comparação, usado como o valor "real" foi a média dos valores medidos pelo sensor. 
41 3 Marina de Freitas
42 1
Começamos olhando o comportamento dos sensores, segue a média por dia dos valores de temperatura e umidade relativa do ar.
43 1
44 1
!http://cta.if.ufrgs.br/attachments/5481/temp-med-dia-linha.jpeg!
45 1
46 1
!http://cta.if.ufrgs.br/attachments/5476/umirelar-med-dia-linha.jpeg!
47 1
48 1
Então surge o questionamento, qual a diferença entre o valor medida por cada sensor e o valor de referência?
49 1
50 1
!http://cta.if.ufrgs.br/attachments/5477/temp-dif-dia-linha.jpeg!
51 1
52 1
!http://cta.if.ufrgs.br/attachments/5476/umirelar-med-dia-linha.jpeg!
53 1
54 1
Esses gráficos apenas nos ajudam a entender o comportamento dos sensores. Para a caracterização, será analisado o comportamento destes sensores conjuntamente, sem distingui-los. Os histogramas abaixo mostram a frequência de cada valor de diferença entre quantidade medida e a quantidade real do mesmo instante.
55 1
56 1
!http://cta.if.ufrgs.br/attachments/5499/temp_hist_min_todos.jpeg!
57 1
58 1
!http://cta.if.ufrgs.br/attachments/5498/umirelar_hist_min_todos.jpeg!
59 1
60 1
Como essas distribuições não são gaussianas, o valor de desvio padrão mostrado na imagem não faz sentido, não é aplicável. É possível então comparar este comportamento com esperado.
61 1
62 1
h3. Exatidão
63 1
64 1
Exatidão, ou _accuracy_, é a capacidade medir uma quantidade próxima ao valor real, uma característica chamada de _"trueness"_. Efeitos estatísticos e aleatórios também influenciam na exatidão. 
65 2 Marina de Freitas
Para temperatura, a exatidão/accuracy esperada é de +- 0.5°C. Isso significa que espera-se que os valores medidos se distanciem apenas 0.5°C do valor "real". No histograma é possível ver que todas as medidas se concentram na faixa de - 0.5°C e 0.5°C. Isso indica que a exatidão especificada está sendo reproduzida pelos DHTs analisados. 
66 2 Marina de Freitas
No caso da umidade relativa do ar, a exatidão esperada é de +- 2%, com um alcance máximo de +- 5%. Pelo histograma é possível concluir que este comportamento não foi reproduzido pelos sensores analisados. Um parte significativa dos dados se concentram entre - 2% e 2%, mas outra parte significativa se concentram entre - 6% e - 2% e outra entre - 4% e - 8%. Este comportamento indica que os sensores analisados não seguem o comportamento especificado pelo fabricante.
67 1
68 1
h3. Repetibilidade
69 1
70 1
Precisão, ou repetibilidade, é capacidade de medir o mesmo valor em várias medidas. Está associada com efeitos aleatórios, estatísticos. Está mais associada a reprodutibilidade de uma medida. É o quanto medidas repetidas sobre as mesas condições resultam no mesmo valor. A precisão de uma média é igual ao desvio padrão dividido pela raiz quadrada do número de observações.
71 2 Marina de Freitas
É esperado que as medidas feitas sob as mesmas condições fiquem numa mesma faixa, de +- 0.2°C para temperatura, e +- 1% para umidade relativa do ar. É fácil concluir que esta condição não é satisfeita para o conjunto de sensores. Porém, se analisarmos o comportamento de cada sensor separadamente, a conclusão será diferente.
72 1
Como a distribuição de diferenças de cada sensor segue uma distribuição aproximadamente gaussiana, a medida do desvio padrão pode ser usada. Considerando que os valores de cada sensor caem, com 95% de confiança, dentro de um intervalo de +- 2 desvios padrões, espera-se que este valor seja próximo a repetibilidade especificada.
73 1
74 1
75 1
Para temperatura:
76 1
77 1
|-|A|B|C|D|E|F|G|
78 1
|Média (°C)| -0.03 |0.05|0.13 |-0.36 |0.30 | -0.25| 0.16|
79 1
|Desvio Padrão (°C)| 0.03 | 0.03 | 0.03 | 0.03 | 0.04 | 0.03 |0.03 |
80 1
|2*DP (°C)| 0.06 | 0.06 | 0.06 | 0.06 | 0.08 | 0.06 |0.06 |
81 1
82 1
!http://cta.if.ufrgs.br/attachments/5494/temp_hist_dif_min_transparencia.jpeg!
83 1
84 1
Para a umidade relativa d ar:
85 1
86 1
|-|A|B|C|D|E|F|G|
87 1
|Média (%)|   -4.08  |   0.17 |    1.18  |   0.32 |    6.23   | -3.51   | -0.31 |
88 1
|Desvio Padrão -+(%)| 0.26  |0.23  |0.18  |0.28 | 0.32 | 0.42 | 0.30 |
89 1
|2*DP (%)| 0.52  |0.46  |0.36  |0.56 | 0.64 | 0.84 | 0.60 |
90 1
 
91 1
92 1
!http://cta.if.ufrgs.br/attachments/5495/umirelar_hist_dif_min_transparencia.jpeg!
93 1
94 1
Nos dois casos, todos os valores de 2 desvios padrões eram menores do que a repetibilidade especificada (+-0.2°C para temperatura, e +-1% para umidade relativa do ar). *Isso indica que os sensores DHT não apresentam a repetibilidade especificada entre si, mas que cada um apresenta a repetibilidade especificada.*
95 1
96 1
Importante atentar que o valor de referência usado é a médias dos valores desses DHTs, e que uma caracterização mais completa usaria um sensor padrão, de maior confiança, como referência.
97 1
98 1
h2. Calibração
99 1
100 1
Pode ser desejado que a exatidão do DHT seja melhorada, para isso, é necessário fazer uma calibração. No caso, será descrito a adição de um _offset_,  um valor que vai deslocar os valores medidos para mais próximo do valor "real". Em 2018 a colaboradora Marina realizou diversas pesquisas sobre abrigos meteorológicos usando o DHT22, mais detalhes desta pesquisa podem ser encontrados na página sobre "Abrigos Meteorlógicos":http://cta.if.ufrgs.br/projects/estacao-meteorologica-modular/wiki/Abrigo_Meteorol%C3%B3gico   . Durante esta pesquisa, realizou a calibração desse sensor. o caderno de laboratório desta pesquisa pode ser encontra nesta "tarefa":http://cta.if.ufrgs.br/issues/527 . 
101 1
102 1
Alguém pode se perguntar: "Por que calibrar, se o DHT já vem calibrado?" Bom, veja os seguintes histogramas:
103 1
104 1
!http://cta.if.ufrgs.br/attachments/5499/temp_hist_min_todos.jpeg!
105 1
106 1
Ou, quem sabe, esse aqui:
107 1
108 1
!http://cta.if.ufrgs.br/attachments/5498/umirelar_hist_min_todos.jpeg!
109 1
110 1
Esses são histogramas das diferenças entre a medida realizada em cada minuto por um DHT e a medida de referência. Essas medidas foram realizadas num período de 10 dias, com 7 DHTs em equilíbrios térmico. Idealmente, o histograma deveria se concentrar em torno do zero, indicando que a diferença entre a medida de referencia, a medida "real", e a medida de cada sensor é próxima a zero. Ao invés, é possível notar que existem vários picos de medidas, existem "ilhas" de concentração  - o desvio padrão mostrado na figura não faz sentido, já que os histogramas não seguem uma distribuição normal. Isso indica que existe uma diferença sistemática entre a medida de referência e a medida feita pelo sensor.
111 1
Nesta outra figura, é possível ver as mesmas medidas de temperatura, mas discriminadas por sensor e por hora (são a média por hora de todos os 10 dias). 
112 1
113 1
!http://cta.if.ufrgs.br/attachments/5482/temp-med-hora-linha.jpeg!
114 1
115 1
Nesta é possível notar que os sensores apresentam o mesmo comportamento, mas estão deslocados uns dos outros de algumas dezenas de grau. Por isso, adicionar um _offset_ para cada sensor é importante para aproximar a medida da medida real. 
116 1
117 1
Bom, mas qual é o _offset_ que deve ser aplicado? Nada mais é do que a média dessas diferenças. As tabelas abaixo mostram as médias de cada sensor, nomeados de A, B, C, D, E, F e G, e em seguida o histograma dessas diferenças, discriminando as diferenças entre a referência e as mediadas de cada sensor..  
118 1
119 1
Para temperatura:
120 1
121 1
|-|A|B|C|D|E|F|G|
122 1
|Média (°C)| -0.03 |0.05|0.13 |-0.36 |0.30 | -0.25| 0.16|
123 1
|Desvio Padrão (°C)| 0.03 | 0.03 | 0.03 | 0.03 | 0.04 | 0.03 |0.03 |
124 1
|2*DP (°C)| 0.06 | 0.06 | 0.06 | 0.06 | 0.08 | 0.06 |0.06 |
125 1
126 1
!http://cta.if.ufrgs.br/attachments/5494/temp_hist_dif_min_transparencia.jpeg!
127 1
128 1
129 1
Para a umidade relativa do ar:
130 1
131 1
|-|A|B|C|D|E|F|G|
132 1
|Média (%)|   -4.08  |   0.17 |    1.18  |   0.32 |    6.23   | -3.51   | -0.31 |
133 1
|Desvio Padrão -+(%)| 0.26  |0.23  |0.18  |0.28 | 0.32 | 0.42 | 0.30 |
134 1
|2*DP (%)| 0.52  |0.46  |0.36  |0.56 | 0.64 | 0.84 | 0.60 |
135 1
136 1
137 1
!http://cta.if.ufrgs.br/attachments/5495/umirelar_hist_dif_min_transparencia.jpeg!
138 1
139 1
O _offset_ aplicado, as médias das diferenças, foi subtraído de todos as medidas de cada sensor. O resultado foi o esperado, histogramas centralizados em 0.
140 1
141 1
Temperatura:
142 1
143 1
144 1
|  |Offset| Novas Médias |Novos DP|
145 1
|A  |-0.03|      -0.0032     |0.03|
146 1
|B   |0.05 |     -0.0015     |0.03|
147 1
|C   |0.13  |     0.0029    | 0.03|
148 1
|D  |-0.36   |    0.0007   |  0.03|
149 1
|E  | 0.30    |   0.0041  |   0.04|
150 1
|F | -0.25     | -0.0033 |    0.03|
151 1
|G|   0.16      | 0.0004|     0.03|
152 1
153 1
!http://cta.if.ufrgs.br/attachments/5509/temp_offset_hist_dif_min.jpeg!
154 1
155 1
Todas as médias e desvio padrão estão bem abaixo da resolução do sensor, e também da repetibilidade, o que é o esperado.  Inclusive, é bem tranquilo afirmar que essas médias são iguais a zero, já que estão muito atrás do último algoritmo significativo - a resolução do sensor é de 0.1°C e 0.1%.
156 1
Esses novo conjunto de dados está calibradíssimo. 
157 1
158 1
Umidade Relativa do Ar:
159 1
160 1
| | Offset| Novas Médias| Novos DP|
161 1
|A|  -4.08      |-0.0010|     0.26|
162 1
|B |  0.17     | -0.0043 |    0.23|
163 1
|C  | 1.18    |   0.0007  |   0.18|
164 1
|D   |0.32   |    0.0021   |  0.28|
165 1
|E|   6.23  |     0.0026    | 0.32|
166 1
|F | -3.51 |      0.0032     |0.42|
167 1
|G  |-0.31|      -0.0034    | 0.30|
168 1
169 1
!http://cta.if.ufrgs.br/attachments/5510/umirelar_offset_hist_dif_min.jpeg!
170 1
171 1
O mesmo já não pode ser afirmado sobre o a umidade relativa do ar. Um desvio padrão já é maior do que a resolução, dois então. . . Isso já era esperado, dado que a calibração, a adição de um _offset_, deveria melhorar a _accuracy_, não a precisão/repetibildade.
172 1
173 1
174 1
Note que esta calibração serve para os sensores testados, os valores de _offset_ usados não podem ser aplicados para qualquer DHT. É sugerido repetir este mesmo processo no caso de novos DHTs. Os códigos R usados para a calibração descrita se encontram no "repositório git":https://git.cta.if.ufrgs.br/mfreitas/AbrigoMeteorologico/tree/master/Aquisicao%20de%20dados/Calibra%C3%A7%C3%A3o
175 1
176 1
h2. Experiências e comentários de uso
177 1
178 1
Como descrito no _datasheet_, o DHT é sensível a temperaturas muito altas, por isso o solda deve ser feita com cuidado. Uma sugestão é soldar o fio a algum barramento, e encaixar o DHT no barramento. O DHT pode ser firmado ao barramento com fita isolante ou termoretrátil. 
179 3 Marina de Freitas
Durante o desenvolvimento da germinadora/incubadora/estufa, a colaboradora Marina notou que a resposta do DHT a mudanças de temperatura é bem lenta. 
180 3 Marina de Freitas
181 3 Marina de Freitas
h2. Outras pesquisas
182 3 Marina de Freitas
183 3 Marina de Freitas
O casal Kimberly e Robert andaram realizam boas caracterizações do sensor DHT22. 
184 3 Marina de Freitas
185 3 Marina de Freitas
* "Calibração do DHT22 e outros":http://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_many.html
186 3 Marina de Freitas
187 3 Marina de Freitas
* "Calibração do DHT22":http://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_dht22.html
188 3 Marina de Freitas
189 3 Marina de Freitas
A Marina registrou suas conclusões sobre estes trabalhos na tarefa #531