Introdução
Não, o título deste artigo não está errado. Nós realmente vamos ler sinais analógicos com o analisador lógico e isso é muito prático, pois, ao mesmo tempo que conseguimos capturar diversos sinais digitais, também podemos analisar, por exemplo, a tensão de fontes de alimentação ou o sinal analógico entrando no pino ADC do seu microcontrolador, tudo na mesma tela ao mesmo tempo!
Atenção: Seu analisador lógico precisa suportar leituras analógicas para os testes deste artigo. Como dito no artigo “Analisador lógico: Analisando sinais digitais”, o analisador lógico da Saleae Logic 8 que utilizo para escrever estes artigos, conta com 8 canais que podem efetuar leituras digitais ou analógicas entre 0-5v com 10-bit resolução.
Até agora nós vimos que grande parte do trunfo do analisador lógico é contar com muitos canais para analisar diversos sinais simultaneamente, o que acontece então se juntarmos leituras analógicas a isso? Temos uma ferramenta muito, mas muito legal!
Além de analisar os valores analógicos da tensão, é claro que podemos adicionar um resistor shunt e medir corrente, deixando a história ainda mais legal. Podemos ao mesmo tempo que lemos diversos sinais digitais, medir a tensão da fonte de alimentação para verificar se há picos de consumo ou alguma instabilidade e também a corrente que o circuito consome, tudo isso sendo salvo para analisarmos com calma já que temos um grande buffer a disposição (nosso computador).
Atenção: Caso você não consiga ler os detalhes dentro das imagens (valores, medições, tempos, etc), clique com o botão direito do mouse em cima da imagem e clique em “Abrir imagem em uma nova aba” ou “Open image on new tab”. Assim você poderá visualizar a imagem inteira e dar zoom pelo navegador.
Bancada de teste #1
Para o primeiro teste, vamos analisar um microcontrolador gerando 3 ondas diferentes via DAC (8-bit): Senoidal, dente de serra e triangular.
Como esperado de uma onda gerada via DAC, devemos ser capazes de ver os níveis e tempo de cada tensão gerada. Ou seja, veremos ondas levemente “quebradas” em minúsculas partes.
Ao analisar uma das ondas senoidais de perto, podemos observar cada degrau do DAC e também a duração de cada degrau. Adicionamos 8 marcadores temporais (tabela à direita da figura 4 acima) e podemos ver que o último degrau (topo da senoide) durou 13.93ms.
Ao analisar uma das ondas dente de serra de perto, também podemos observar cada degrau do DAC e a duração de cada degrau. Adicionamos 6 marcadores temporais (tabela à direita da figura 6 acima) e podemos ver que todos degraus estão com duração de aproximadamente 1ms.
Ao analisar uma das ondas triangulares de perto, também podemos observar cada degrau do DAC e a duração de cada degrau. Adicionamos 6 marcadores temporais (tabela à direita da figura 8 acima) e podemos ver que todos degraus estão com duração de aproximadamente 1ms.
O analisador lógico conseguiu capturar todos os sinais para teste sem problemas. Também conseguimos medir o tempo de cada degrau para cada onda e fazer qualquer outro tipo de análise que desejarmos, no entanto, só estamos interessados em ver as formas de onda e os degraus do DAC por enquanto.
Bancada de teste #2
Agora para complementar a grande utilidade das leituras analógicas integradas no mesmo software do analisador lógico, vamos analisar um ESP32 efetuando comunicação UART e 1-wire (DS18B20), enviando/recebendo dados via WiFi e também as tensões de alimentação 5V e 3.3V para verificar se estão estáveis ou não durante os picos de consumo do WiFi.
As imagens falam por si próprias, podemos ver os níveis de tensão, duração e medições apenas olhando as imagens abaixo, evitando a necessidade de textos explicativos. Não se esqueça de ampliar as imagens para uma boa visualização dos valores e detalhes.
Ao dar zoom nos canais analógicos (figuras 11, 12 e 13), podemos observar que a linha de alimentação 3.3v está bem mais estável que a 5v. Isso se deve ao fato da linha de 5v utilizar uma fonte chaveada e conseguimos ver seu Ripple de aproximadamente 50mV.
É possível observar que depois do rádio WiFi ser ligado (figuras 14, 15 e 16), houve pequenas oscilações na alimentação (tanto 3v3 quanto 5v) em intervalos fixos de aproximadamente 100ms. Isso é justamente o intervalo padrão dos beacons utilizado pelo WiFi. Podemos ver que há uma queda de ~25mV e depois um aumento de ~20mV na linha de 3v3 até estabilizar novamente. Essa queda é aceitável para o circuito em questão e não necessita correções, porém, é muito comum ver projetos com ESP32 que ficam instáveis e até reiniciando durante o uso do WiFi por causa do Brownout detector (BOD) que detecta quando a tensão fica abaixo de 2.8v (valor do BOD é selecionável) e reinicia o microcontrolador.
Para finalizar, podemos ver a queda de tensão após a remoção da fonte de alimentação do circuito, onde o microcontrolador demorou 13.25ms para que as GPIOs desligassem.
Com a análise acima, podemos concluir que as fontes estão bem dimensionadas para o circuito e inclusive não há grandes oscilações mesmo durante o pico de consumo do WiFi. O DS18B20 efetuou todas as conversões com sucesso e não causou nenhuma alteração na alimentação durante o funcionamento visto que seu consumo é baixo. Analisando o log serial (UART) do ESP32 também não houve prints indicando erros, lembrando que o canal de UART e 1-wire estão com os decodificadores de protocolos ativados, então os dados já estão prontos para visualizarmos de forma fácil.
Conclusão
Com os canais digitais e analógicos no mesmo produto, podemos fazer muita coisa legal que vai da imaginação e necessidade de cada um. Analisar fontes de alimentação, sinais analógicos que chegam no ADC do microcontrolador, sensores analógicos, medidores de corrente (via resistor shunt) e até analisar a forma de onda de sinais digitais com longos cabos, por exemplo.








