HS10X - Um osciloscópio DIY para todos

Os instrumentos de medição em uma bancada são de extrema importância para o desenvolvimento e entendimento dos circuitos eletrônicos. Dentre os principais instrumentos, podemos destacar o multímetro e o tão desejado osciloscópio, talvez um dos mais desejados, desde o estudante de eletrônica, passando pelo maker até o profissional.

 

Infelizmente nem sempre são dispositivos acessíveis para nossa realidade ou para quem está começando a entrar no mundo da eletrônica.

 

Felizmente, nos últimos anos o mercado foi inundado por instrumentos mais acessíveis, desde multímetros até alguns osciloscópios portáteis. Alguns desses osciloscópios são bastante atraentes, com firmwares abertos e displays de lcd colorido, mas confesso que ainda não tive coragem de comprar um destes dispositivos.

 

Indo na vertente DIY (faça você mesmo) muitos já devem ter visto aplicativos que tornam o celular em um “osciloscópio” através da entrada de microfone, mas não é um “arranjo técnico” que me agrade muito, além das limitações inerentes.

 

Nessas procuras me deparei com o App HScope (Play Store) que permite conectar alguns osciloscópios USB ao smartphone. Já era um passo interessante, mas mesmo esses dispositivos USB costumam não ser baratos no Brasil.

 

Para nossa felicidade o seu criador também desenvolveu e disponibilizou o firmware e hardware básico para um Osciloscópio USB baseado na famosa placa Blue Pill que utiliza um STM32F103C8 (ARM Cortex M3). Ou seja, com uma Blue Pill, alguns componentes passivos, um cabo OTG e um smartphone você tem em mãos um instrumento bastante versátil.

 

O firmware vem recebendo constantes modificações e upgrades que ampliaram bastante o sample-rate do dispositivo. Infelizmente o firmware é fechado, mas dá para imaginar o trabalho envolvido em controlar os ADCs, DMA e o envio dos dados pela USB com um resultado tão interessante (como verão mais a frente).

 

A versão gratuita do App é limitada a 1 canal com apenas alguns sample-rates, mas já é mais que o suficiente para que você possa avaliar o conjunto e comprar a licença para a versão desejada caso tenha interesse.

 

Instalando o App e gravando o Firmware

 

O App HScope deve ser baixado diretamente na Play Store e instalado em seu Smartphone, um ponto interessante, talvez você possa aproveitar aquele smartphone que tem parado, desde que possua compatibilidade com OTG.

 

Para gravar o firmware na Blue Pill você tem duas opções, baixar o .bin no Github do desenvolvedor e gravar com um ST-Link, ou então, utilizar o App STM32 Utils (do mesmo desenvolvedor) junto com um conversor USB-Serial.

 

Eu utilizei a segunda versão pela praticidade. O STM32 Util permite gravar firmwares no formato .bin e .hex além de contar com diversos exemplos, incluindo o firmware do HScope10x.

 

Conecte o conversor USB-serial da seguinte maneira.

Blue Pill

Conversor USB-Serial

5V

5V (Vbus)

PA9

RX

PA10

TX

GND

GND

 

É importante que os jumpers da placa estejam na posição para gravação do firmware, conforme na figura a seguir (“1” e “0”, de cima para baixo):

 

Gravando o Firmware - Posição dos Jumpers
Figura 01 - Gravando o Firmware - Posição dos Jumpers

 

Conecte o conversor no cabo OTG e no smartphone, então, abra o STM32 Utils. Clique em “Init Chipset” (dependendo do caso pode ser necessário resetar a placa). Agora clique no cubo azul no canto superior direito e procure na lista por “HS10X Oscilloscope”, selecione e clique em “Flash FW” para gravar o firmware.

 

Iniciando o Chipset e gravando o firmware
Figura 02 - Iniciando o Chipset e gravando o firmware

 

Após a gravação a mensagem “Firmware running” é apresentada no prompt do app. Feche o aplicativo. Volte o jumper para a posição normal (“0” e “0”).

 

Agora, conecte um cabo USB a Blue Pill e depois ao cabo OTG. Abra o App HScope e seus osciloscópio DIY será detectado como HS101 Leitura (parte inferior da tela). Através das configurações você pode modificar o range de entrada de acordo com o front-end que você montar entre outras características (nem todas estão disponíveis na versão free). Antes de começar a conectar sinais, indico que configure para o tipo de entradas “±5V” e monte o front-end mais básico, para depois se aventurar em outras versões.

 

O Front-end básico

 

O desenvolvedor fornece algumas soluções para os front-ends , para um primeiro teste indico o esquema “1 - Simple Solution” que utiliza apenas alguns componentes passivos (resistores e diodos), conforme a figura a seguir.

 

Front-End Básico
Figura 03 - Front-End Básico

 

Apesar da simplicidade é uma montagem bastante efetiva. Este circuito atenua sinais no range de ±5 V (10 Vpp) para que se enquadre no range de 3,3 V do conversor ADC do STM32, além disso adiciona um offset DC de aproximadamente Vcc/2 (1,65 V), permitindo sinais bipolares na entrada. Os diodos atuam como proteções contra sobre tensão e tensão reversa na entrada analógica.

 

Note que são resistores de relativo baixo valor, a impedância vista pela fonte de sinal será de aproximadamente 5,2 kΩ, ou seja, caso conectado em fontes de sinal com impedância elevada o sinal será atenuado.

 

Agora basta conectar o sinal DC ou AC na entrada do front-end e se divertir com seu osciloscópio DIY de baixo custo.

 

A seguir vou apresentar alguma imagens da versão de 2 canais funcionando. É um instrumento bastante versátil e que se for montado em uma pequena caixa, pode ser carregado na bolsa para um uso no dia a dia, afinal, quem nunca precisou de um osciloscópio fora da bancada?

 

HS102 - Senoide 1Vp 1kHz, Onda quadrada 1Vp 2kHz
Figura 04 - HS102 - Senoide 1Vp 1kHz, Onda quadrada 1Vp 2kHz
HS102 - Senoide 1Vp 10kHz, Onda quadrada 1Vp 10kHz
Figura 05 - HS102 - Senoide 1Vp 10kHz, Onda quadrada 1Vp 10kHz
HS102 - Senoide 1Vp/100kHz, Onda quadrada 1Vp/100kHz
Figura 06 - HS102 - Senoide 1Vp/100kHz, Onda quadrada 1Vp/100kHz
HS102 - Senoide 1Vp/500kHz, Onda quadrada 1Vp/100kHz
Figura 07 - HS102 - Senoide 1Vp/500kHz, Onda quadrada 1Vp/100kHz

 

Como o app permite interpolação Sinc conseguimos onda senoidais muito interessante mesmo com uma onda de 500 kHz utilizando o sample-rate de 2 Msps. Além disso, é interessante notar não houve atenuação do sinal nesta banda e sample-rate.

 

HS102 - Senoide 1Vp/20kHz, Senoide 1Vp/200kHz
Figura 08 - HS102 - Senoide 1Vp/20kHz, Senoide 1Vp/200kHz
HS102 - FFT canal 1 - Onda quadrada 10kHz
Figura 09 - HS102 - FFT canal 1 - Onda quadrada 10kHz

 

Pessoalmente achei este dispositivo muito versátil e útil. Com melhorias no front-end (ou com as versões mais completas) creio ser possível melhores resultados com relação ao ruído e neste ponto vale ressaltar que os testes foram realizados através da montagem do front-end em uma protoboard+jumpers o que por si só é um prato cheio para ruídos e comportamentos inesperados.

 

Até o próximo artigo.

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Haroldo Amaral
Doutorando em Eng. Elétrica pela Poli-USP, mestre em Eng. Elétrica pela UNESP-Bauru e graduado em Tecnologia em Sistemas Biomédicos pela FATEC-Bauru.Um apaixonado por eletrônica que adora passar seu tempo "queimando alguns componentes" e escovando alguns bits. Entre outras paixões estão a música, uma boa reunião com os amigos, papear sobre tecnologia e afins.

3
Deixe um comentário

avatar
 
2 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
ElibertoHaroldo AmaralFábio Souza Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Eliberto
Visitante
Eliberto

Interessante.

Fábio Souza
Visitante

Muito bacana Haroldo! Já vou montar o meu e deixar na mochila. Parabéns pelo artigo.