TCC - Desenvolvimento De Um Osciloscópio Digital Com O Raspberry Pi - V2

Transcription

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁDEPARTAMENTO ACADÊMICO DE ELETRÔNICACURSO DE ENGENHARIA ELETRÔNICAALISON MICHEL FERNANDESDESENVOLVIMENTO DE UM OSCILOSCÓPIO DIGITAL COM ORASPBERRY PITRABALHO DE CONCLUSÃO DE CURSOCURITIBA2020

ALISON MICHEL FERNANDESDESENVOLVIMENTO DE UM OSCILOSCÓPIO DIGITAL COM ORASPBERRY PITrabalho de Conclusão de Curso deGraduação, apresentado à disciplina deTCC2, do curso de Engenharia Eletrônica doDepartamento Acadêmico de Eletrônica(DAELN) da Universidade TecnológicaFederal do Paraná (UTFPR), como requisitopara a obtenção do grau de Bacharel emEngenheira Eletrônica.Orientador: Prof. Dr. Luciano ScandelariCURITIBA2020

ALISON MICHEL FERNANDESDESENVOLVIMENTO DE UM OSCILOSCÓPIO DIGITAL COM ORASPBERRY PIEste Trabalho de Conclusão de Curso de Graduação foi apresentado como requisitoparcial para obtenção do título de Engenheiro Eletrônico, do curso de EngenhariaEletrônica do Departamento Acadêmico de Eletrônica (DAELN) outorgado pelaUniversidade Tecnológica Federal do Paraná (UTFPR). O aluno foi arguido pelaBanca Examinadora composta pelos professores abaixo assinados. Apósdeliberação, a Banca Examinadora considerou o trabalho aprovado.Curitiba, 19 de agosto de 2020.Prof. Dr. Robinson Vida NoronhaCoordenador de CursoEngenharia EletrônicaProfª. Drª. Carmen Caroline RaseraResponsável pelos Trabalhos de Conclusão de Cursode Engenharia Eletrônica do DAELNBANCA EXAMINADORAProf. Dr. Luciano ScandelariProf. Dr. Guilherme de Santi PeronUniversidade Tecnológica Federal do ParanáUniversidade Tecnológica Federal do ParanáOrientadorProf. Dr. Rubens Alexandre de FariaUniversidade Tecnológica Federal do ParanáA folha de aprovação assinada encontra-se na Coordenação do Curso de Engenharia Eletrônica.

Aos familiares e amigos, pelo incentivo e apoio nesta incríveltrajetória.

AGRADECIMENTOSEm primeiro lugar, agradeço a Deus pela vida e por iluminar meu caminhodurante esta longa caminhada.A todos os professores que me acompanharam durante a graduação, emespecial ao orientador desta dissertação, Prof. Dr. Luciano Scandelari, por suadedicação e suporte.Aos professores da banca avaliadora Dr. Guilherme de Santi Peron e Dr.Rubens Alexandre de Faria, por apontarem os erros e sugestões que resultaram namelhoria do trabalho.Aos meus amigos e familiares por dedicarem o tempo, dedicação e porestarem sempre me apoiando nos momentos mais difíceis.Por fim, a todos os profissionais da Universidade Tecnológica Federal doParaná que em algum momento me auxiliaram nesta esplêndida trajetória.

Nossas virtudes e nossos defeitos são inseparáveis, assim comoa força e a matéria. Quando se separam, o homem deixa deexistir. (TESLA, Nikola)

RESUMOFERNANDES, Alison M. Desenvolvimento de um osciloscópio digital com oRaspberry Pi. 81 f. Trabalho de Conclusão de Curso (Graduação) – EngenhariaEletrônica, Universidade Tecnológica Federal do Paraná, Curitiba, 2020.Este trabalho aborda o desenvolvimento de um osciloscópio digital com o RaspberryPi. Para o desenvolvimento das aplicações serão apresentados conceitos a respeitodo conversor analógico digital, bem como informações referentes a taxa deamostragem, protocolos de comunicação de rede e ferramentas de desenvolvimento.No que diz respeito à aquisição dos dados será utilizado o microcontrolador STM32F4bem como suas características de operação. Um circuito de condicionamento de sinalserá elaborado com o intuito de preservar os limites de tensão suportados pelas placasde desenvolvimento. Com base nas simulações e nos resultados obtidos através deexperimentos realizados, verifica-se que o osciloscópio digital fundamentado emplacas de baixo custo se apresenta como alternativa para o estudo do comportamentode circuitos eletrônicos.Palavras-chave: Raspberry Pi. STM32F4. Osciloscópio Digital. Conversor AnalógicoDigital. Comunicação Serial Síncrona. Protocolo TCP/IP.

ABSTRACTFERNANDES, Alison M. Development of a digital oscilloscope with the RaspberryPi. 81 f. Conclusion Work of Course (Graduation) – Electronic Engineering, FederalUniversity of Technology – Paraná, Curitiba, 2020.This work deals with the development of a digital oscilloscope with the Raspberry Pi.For the development of applications, concepts about the analog to digital converter willbe presented, as well as information about the sampling rate, network communicationprotocols and development tools. With regard to data acquisition, the STM32F4microcontroller will be used as well as its operating characteristics. A signalconditioning circuit will be developed in order to preserve the voltage limits supportedby development boards. Based on the simulations and the results obtained throughexperiments carried out, it’s appears that the digital oscilloscope based on low costplates is an alternative for studying the behavior of electronic circuits.Keywords: Raspberry Pi. STM32F4. Digital Oscilloscope. Analog to Digital Converter.Synchronous Serial Communication. TCP/IP Protocol.

LISTA DE SIGLASADCAnalog to Digital Converter (Conversor Analógico Digital)APIApplication Programing Interface (Interface de Programação deAplicativos)CPOLClock Polarity (Polaridade de Clock)CPHAClock Phase (Fase de Clock)DACDigital to Analog Converter (Conversor Digital Analógico)DMADirect Access Memory (Acesso Direto à Memória)DFTDiscrete Fourier Transform (Transformada Discreta de Fourier)IDEIntegrated Development Environment (Ambiente de DesenvolvimentoIntegrado)IPInternet Protocol (Protocolo de Internet)I2CInter-Integrated Circuit (Circuito Inter-Integrado)FFTFast Fourier Transform (Transformada Rápida de Fourier)QtSoftware de desenvolvimento embarcadoSARSuccessive Approximation Register (Registrador de AproximaçõesSucessivas)SPISerial Peripheral Interface (Interface Periférica Serial)UARTUniversal Asynchronous Receiver/Transmitter (Receptor/TransmissorUniversal Assíncrono)

LISTA DE FIGURASFigura 1 - Diagrama do osciloscópio digital . 21Figura 2 - Meio ciclo de uma senóide . 22Figura 3 - Formas de onda sem e com trigger. 24Figura 4 - Representação Fasorial da DFT . 26Figura 5 - Estrutura Matricial da DFT . 26Figura 6 - Matriz da DFT Reorganizada. 27Figura 7 - Algoritmo FFT . 28Figura 8 - Fluxograma Direct Access to Memory – DMA . 29Figura 9 - Conexão SPI . 31Figura 10 - Conexão de múltiplos escravos - linha SS . 32Figura 11 - Conexão de múltiplos escravos – linha SS compartilhada . 32Figura 12 - Conexão de processo TCP/IP . 37Figura 13 - Buffers de envio e recebimento . 37Figura 14 - Primeira Versão do Raspberry Pi . 39Figura 15 - Pinout Raspberry Pi 3 B . 40Figura 16 - Placa STM32F407 Discovery e diagrama de blocos . 41Figura 17 - Configuração ADC . 43Figura 18 - Configuração de clock . 44Figura 19 – Função de callback . 45Figura 20 – Função HAL SPI . 45Figura 21 – Função Time Start. 46Figura 22 - Função de callback do temporizador. 46Figura 23 - IRQ do temporizador. 46Figura 24 - Recursos do Qt Designer . 47Figura 25 - Exemplos de gráficos QCustomplot . 47Figura 26 - Fluxograma Geral . 48Figura 27 – Biblioteca SPI de aquisição de dados . 49Figura 28 - Interface do osciloscópio . 50Figura 29 – Função de aquisição de pontos . 50Figura 30 – Função de leitura de parâmetros elétricos . 51Figura 31 - Função de trigger . 52Figura 32 - Trigger do canal 1 ativado . 53Figura 33 - Fluxograma Trigger. 53Figura 34 - Operações Matemáticas . 54Figura 35 - Código de operações. 55

Figura 36 - Gráfico da FFT . 56Figura 37 - Código da FFT . 56Figura 38 - Código referente a função de relatórios . 57Figura 39 - Código para salvar forma de onda . 58Figura 40 - Menu de opções . 58Figura 41 - Interface do aplicativo no Android . 60Figura 42 - Função de comunicação TCP/IP . 61Figura 43 - Socket para recebimento . 61Figura 44 - Cliente - Janela de configuração de IP. 62Figura 45 - Layout do aplicativo . 62Figura 46 - Trigger do canal 1 ativado . 63Figura 47 - Seleção de posição de eixos . 63Figura 48 - Circuito de condicionamento de sinal . 64Figura 49 - Placa de condicionamento de sinal . 68Figura 50 - Diagrama de ligação . 69Figura 51 - Gerador de sinais NE555 . 70Figura 52 - Osciloscópio Digital em operação . 75

LISTA DE TABELASTabela 1 – Modos SPI . 33Tabela 2 - Tensão de referência . 35Tabela 3 - Tabela de dados 1 . 71Tabela 4 - Tabela de dados 2 . 71Tabela 5 - Tabela de dados 3 . 71Tabela 6 - Tabela de dados 4 . 72Tabela 7 - Tabela de dados 5 . 72Tabela 8 - Tabela de dados 6 . 72Tabela 9 - Tabelas de dados Tektronix 1 . 73Tabela 10 - Tabelas de dados Tektronix 2 . 73Tabela 11 - Tabelas de dados Tektronix 3 . 73Tabela 12 - Tabelas de dados Tektronix 4 . 74Tabela 13 - Tabelas de dados Tektronix 5 . 74Tabela 14 - Tabelas de dados Tektronix 6 . 74

SUMÁRIOINTRODUÇÃO . 151.1 TEMA . 151.1.1 Delimitação do Tema . 161.2 PROBLEMAS E PREMISSAS . 161.3 OBJETIVOS . 171.3.1 Objetivo Geral . 171.3.2 Objetivos Específicos . 171.4 JUSTIFICATIVA . 181.5 PROCEDIMENTOS METODOLÓGICOS . 181.6 ESTRUTURA DO TRABALHO . 19FUNDAMENTAÇÃO TEÓRICA . 202.1 INTRODUÇÃO . 202.2 OSCILOSCÓPIO DIGITAL . 202.2.1 Período . 222.2.2 Frequência . 222.2.3 Tensão Média. 222.2.4 Tensão RMS . 232.2.5 Tensão de pico a pico . 232.2.6 Trigger . 232.2.7 FFT – Fast Fourier Transform . 252.3 DMA – Acesso Direto à Memória . 282.4 COMUNICAÇÃO SERIAL SÍNCRONA. 302.4.1 Múltiplos escravos . 322.4.2 Polaridade de Clock e Polaridade e Fase . 332.5 CONVERSOR ANALÓGICO DIGITAL . 332.5.1 Resolução . 342.5.2 Tempo de Conversão . 342.5.3 Tensão de referência. 34

2.5.4 Saída de dados digital . 352.5.5 Canais de entrada analógicos . 352.5.6 Aproximações Sucessivas. 362.6 PROTOCOLO TCP/IP . 362.6.1 Buffer de envio e recebimento. 372.6.2 Servidor . 382.6.3 Cliente . 382.7 PLACA DE DESENVOLVIMENTO RASPBERRY PI . 392.8 PLACA DE DESENVOLVIMENTO STM32F407 DISCOVERY . 41DESENVOLVIMENTO DO OSCILOSCÓPIO DIGITAL . 433.1 INTRODUÇÃO . 433.2 STM32F407 – COMUNICAÇÃO ADC DMA SPI . 433.3 CONTAGEM DE PULSOS . 463.4 QT CREATOR E QCUSTOMPLOT . 473.5 INTERFACE GRÁFICA DO OSCILOSCÓPIO . 483.5.1 Aquisição de Dados. 493.5.2 Display de Leitura . 513.5.3 Trigger . 523.5.4 Controles Horizontais e Verticais . 543.5.5 Operações Matemáticas. 543.5.6 Transformada de Fourier . 553.5.7 Menu de opções – Salvar e Carregar dados . 573.5.8 Funções adicionais . 593.6 APLICATIVO PARA CELULAR . 593.6.1 Protocolo de Comunicação TCP/IP . 603.6.2 Servidor . 603.6.3 Cliente . 61PLACA DE CONDICIONAMENTO DE SINAL E RESULTADOS . 644.1 INTRODUÇÃO . 644.2 PROJETO DO CIRCUITO DE CONDICIONAMENTO DE SINAL . 64

4.3 EQUACIONAMENTO DO CIRCUITO . 654.4 FILTRO PASSA-BAIXA . 674.5 MONTAGEM DE PLACA DE CONDICIONAMENTO . 684.6 CONEXÕES ENTRE AS PLACAS . 694.7 CIRCUITO DE TESTE. 704.8 ANÁLISE DOS RESULTADOS . 75CONCLUSÃO . 77REFERÊNCIAS. 79

15INTRODUÇÃO1.1 TEMAA tecnologia desempenha papel fundamental na sociedade, atualmentetemos equipamentos que auxiliam o modo de vida, seja um celular, computador ouaté mesmo consoles de videogame. Apesar de todas as vantagens que essesaparelhos proporcionam, quando estes apresentam defeito em seu funcionamento sefaz necessário identificá-los, para este propósito foi criado o osciloscópio que temcomo finalidade representar sinais elétricos em formas de ondas. Com esteequipamento se permite identificar de forma rápida e precisa qual componente queapresenta mau funcionamento apenas observando o formato da forma de ondaexibida na tela.O osciloscópio se tornou também um equipamento essencial na análise desinais transitórios (não periódicos), como por exemplo observar o comportamento deum sensor de posição ou até mesmo para análise de vibrações de um motor nomomento da partida.Com a possibilidade de identificar como serão apresentadas as formas deonda, visualizando-as de forma gráfica na tela de um instrumento, o osciloscópio setornou uma poderosa ferramenta de diagnóstico de defeitos e mesmo de projetos. Issosignifica que as ondulações não podem ser vistas nem sentidas, mas podem servisualizadas, ou seja, através de um “retrato” (BRAGA,2014).Assim, com esta nova ferramenta se tornou possível observar ocomportamento dos sinais elétricos envolvidos no circuito como o período, frequênciae tensão média.

161.1.1 Delimitação do TemaOs osciloscópios utilizados para representação e medição sofreramevoluções ao longo dos anos, desde os primeiros equipamentos analógicos queutilizavam tubos de raios catódicos até os digitais que são utilizados atualmente.Neste trabalho pretende-se criar um osciloscópio digital utilizando a placaRaspberry Pi em conjunto com ferramentas de criação como o Qt. Por conta de seuprocessador de arquitetura de 64 bits e das ferramentas existentes que possibilitamsua programação de forma rápida e confiável, se torna possível desenvolveraplicações gráficas orientadas à comunicação com o usuário.Para a recepção dos dados provenientes dos circuitos de medição seráutilizada uma placa de suporte a STM32F407 Discovery, pois como o Raspberry Pinão dispõe em sua arquitetura de um conversor analógico digital, se faz necessário autilização de uma placa que possua ADC integrado. Como será visto nos capítulosexpostos neste trabalho, a comunicação deverá ocorrer de forma rápida, assim osdados recebidos pela STM32F407 Discovery deverão utilizar o acesso direto àmemória (DMA).1.2 PROBLEMAS E PREMISSASConhecer e dominar os equipamentos eletrônicos de forma correta éprimordial para os profissionais que atuam na área de eletrônica. Criar ferramentasque possibilitem a interação de forma rápida e segura é sem dúvida um dos grandesdesafios existentes hoje na engenharia. Porém estes equipamentos muitas vezes nãosão acessíveis fora do ambiente acadêmico devido ao seu alto custo.Assim uma maneira de contornar este problema é com a criação de umosciloscópio digital de baixo custo que atenda a maioria das necessidades do usuárioe que possa garantir confiabilidades nos dados coletados e exibidos.

17Para garantir também uma interação a nível de usuário bastante responsivaexiste o Qt, uma IDE open source que fornece ferramentas de criação e manipulaçãode interface gráfica, facilitando a manipulação de estruturas de dados.O desenvolvimento do osciloscópio permitirá compreender como os sinaiselétricos se comportam e seus parâmetros que podem variar em um circuito eletrônico.1.3 OBJETIVOS1.3.1 Objetivo GeralA proposta do referido projeto se baseia em desenvolver um osciloscópiodigital utilizando os recursos da placa Raspberry Pi, com a finalidade de representarum osciloscópio existente, incluindo a placa de condicionamento de sinal e softwareembarcado.1.3.2 Objetivos Específicos Desenvolver uma interface de aquisição de dados; Permitir a interação do usuário com controle da interface; Salvar formas de onda em dispositivos portáteis; Guardar informações de dados coletados através de relatórios; Representar as formas de onda no domínio da frequência e do tempo; Desenvolver aplicativo para celular.

181.4 JUSTIFICATIVAEm geral, os osciloscópios digitais comercializados no Brasil apresentamum custo relativamente elevado, com o osciloscópio proposto neste projeto o custoinicial será bastante reduzido, fazendo sua implementação se tornar viável eacessível.Em relação ao desempenho, o Raspberry Pi é uma das placas existentesno mercado que possuem melhor performance por conta de sua memória RAM de1Gb e seu processador de 64 bits, deste modo é possível representar um grandenúmero de amostras na tela e garantir versatilidade em qualquer aplicação.E por último, o sistema operacional padrão do Raspberry Pi possui umainterface a nível de usuário bastante intuitiva e amigável, desta forma mesmo usuáriosiniciantes não terão problemas para utilizá-lo.Com essas funcionalidades é possível obter leituras e ajustes fidedignosem relação a qualquer outro osciloscópio. Outro fator interessante do projeto é apossibilidade de gerar relatórios de dados a partir da interface gráfica implementada,se apresentando desta forma como uma boa alternativa.1.5 PROCEDIMENTOS METODOLÓGICOSPara o desenvolvimento deste trabalho foram realizadas pesquisas emteses e dissertações sobre o funcionamento e operação do osciloscópio digital.Também foram estudadas as especificações técnicas das placas de desenvolvimentoRaspberry Pi 3 Model B e STM32F407 Discovery, bem como a forma decomunicação entre as placas que será efetuada pelo protocolo serial síncrono e adocumentação existente do Qt, que será o software utilizado para a criação dainterface gráfica.Após compreender as formas de comunicação entre as placas baseadasem seus respectivos manuais técnicos, foram realizadas novas pesquisas para acompreensão do funcionamento do osciloscópio que estão disponíveis na literatura,

19como a função do trigger que permite a visualização da formas de ondas de formaestática, ou seja, em sincronia para que a visualização e medição da forma de ondaseja realizada de maneira mais precisa.Assim foi possível manipular os dados e criar um dispositivo mais próximodo que é utilizado atualmente.1.6 ESTRUTURA DO TRABALHOEste trabalho está dividido em 5 capítulos: No Capítulo 1, como já visto, foi descrita a proposta do trabalho, o objetivogeral, o problema e a metodologia de pesquisa; No Capítulo 2 será abordado as definições do escopo do projeto, bem como ofuncionamento do osciloscópio. Também estarão explicadas as característicasdas placas de desenvolvimento Raspberry Pi 3 Model B e STM32F407Discovery. No final do capítulo será discutido as formas de comunicação entreas placas; O Capítulo 3 apresenta o programa com a interface gráfica, explicando seufuncionamento, a entrada de dados e as variáveis de saída do programa, comotambém a manipulação das estruturas de dados permitidas. Neste mesmocapítulo também será apresentado o processo de criação do aplicativo paracelular; No Capítulo 4 será apresentado o processo de desenvolvimento do circuito decondicionamento de sinal e também são descritos os testes realizados com oscircuitos eletrônicos, bem como os resultados obtidos; No Capítulo 5 são apresentadas as conclusões finais do trabalho e sugestõespara estudos futuros.

20FUNDAMENTAÇÃO TEÓRICA2.1 INTRODUÇÃODesde muito tempo a eletrônica tem usado equipamentos na manutençãoou projeto de equipamentos eletrônicos, umas destas ferramentas é o osciloscópio,que se constitui como uma das principais ferramentas para testes, projetos emedições de circuitos eletrônicos.Neste capítulo será abordado seu princípio de funcionamento, bem comoas especificações técnicas das placas de desenvolvimento, processos decomunicação entre as mesmas e algumas definições envolvendo o conversoranalógico digital.2.2 OSCILOSCÓPIO DIGITALDe acordo com HICKMAN (1997), os osciloscópios digitais surgiram a partirda década de 70 e apresentam algumas similaridades com os osciloscópiosanalógicos. Desde seu advento os osciloscópios aumentaram sua taxa deamostragem chegando a tax

IP Internet Protocol (Protocolo de Internet) I2C Inter-Integrated Circuit (Circuito Inter-Integrado) FFT Fast Fourier Transform (Transformada Rápida de Fourier) Qt Software de desenvolvimento embarcado SAR Successive Approximation Register (Registrador de Aproximações Sucessivas) SPI Serial Peripheral Interface (Interface Periférica Serial) .