Universidade Federal do Pará Laboratório de Sensores e Sistemas Embarcados (LASSE) Sistemas de Aquisição de Dados Baseado em Microcontroladores Rodrigo Williams Rodrigues Ataíde rodrigowra@ufpa.br 26 de janeiro de 2012 Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 1 / 27
Sumário 1 Introdução 2 Transdutores Sensores e Atuadores Sensores Analógicos x Digitais 3 Condicionamento de Sinal Condicionamento de Sinal Principais Elementos Exemplos 4 Conversor Analógico-Digital Definições 5 Microcontroladores Microcontroladores Arduino Exemplos 6 Referências Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 2 / 27
Introdução Sistemas de Aquisição de Dados É o processo pelo qual um fenômeno físico real é transformado num sinal elétrico proporcional e convertido num formato digital para posterior visualização, armazenamento, processamento e análise. Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 3 / 27
Transdutores Sensores e Atuadores Transdutores Transdustor: Um transdutor é um dispositivo que converte uma forma de energia em outra. Sensor: É um dispositivo que transforma uma grandeza fisica em uma grandeza elétrica. Ex:Sensor de temperatura, humidade. Atuador: É um dispositivo que converte energia elétrica, hidráulica ou pneumática, em potência mecânica. Ex: Motores,Relés. Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 4 / 27
Transdutores Sensores Analógicos x Digitais Sensores Analógicos x Digitais Sensores Analógicos: Frequentemente necessitam de circuitos de condicionamento de sinal. Sensores Digitais: Necessitam de interfaces para a comunicação digital. Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 5 / 27
Condicionamento de Sinal Condicionamento de Sinal Condicionamento de sinal Condicionar um sinal significa adequar o sinal elétrico de saída de um sensor com as necessidades do próximo bloco, que é o conversor analógico-digital. Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 6 / 27
Condicionamento de Sinal Condicionamento de Sinal Tipos de condicionamento de sinais Existem vários tipos de condicionamentos que podem ser utilizados: Alteração de nível de sinal Conversão de grandezas Filtragem Casamento de impedância Isolação Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 7 / 27
Condicionamento de Sinal Principais Elementos Transistores Simbologia e Circuitos de Polarização: Algumas aplicações: Amplificador de pequenos sinais Chave Digital Casamento de Impedância Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 8 / 27
Condicionamento de Sinal Principais Elementos Filtros RC Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 9 / 27
Condicionamento de Sinal Principais Elementos Amplificadores Operacionais Algumas configurações: Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 10 / 27
Condicionamento de Sinal Exemplos Condicionamento para o LM35 O sensor de temperatura LM35 é um transdutor usado para medir a temperatura ou às variações de temperatura. O LM35 tem em sua saída 10 mv para cada Grau Celsius de temperatura, a sua escala total de amplitude de temperatura varia de -55 C a +150 C. Abaixo o circuito para aumentar o nível do sinal, com isso, o sinal fica mais adequado para o conversor analógico-digital. Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 11 / 27
Condicionamento de Sinal Exemplos Pré-amplificador de Áudio Este circuito pode ser usado para reforçar o sinal antes do processo de amostragem em um conversor A/D ou para ser capaz de excitar um amplificador, tais como microfones de baixa e média impedância, captadores de violão e guitarra, etc. Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 12 / 27
Condicionamento de Sinal Exemplos Acionamento de Motor DC Sem reversão: Com reversão: Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 13 / 27
Condicionamento de Sinal Exemplos Extensômetro Extensômetro é um transdutor capaz de medir deformações de corpos. Quando um material é deformado sua resistência elétrica é alterada, a fração de mudança na resistência é proporcional a fração de mudança no comprimento do material. O condicionamento abaixo é adequado para o extensômetro de 120Ω, sendo necessário para converter os valores de resistência em tensão e aumentar o nível de tensão. Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 14 / 27
Conversor Analógico-Digital Conversor analógico-digital O conversor analógico-digital ou, como é mais comumente conhecido ADC (Analog/Digital Converter), é o elemento responsável por traduzir o sinal elétrico da saída do circuito condicionador em uma representação numérica compatível com o processamento digital posterior. Principais características: Taxa de amostragem Número de bits Número de canais e tipos de canais Interface de comunicação Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 15 / 27
Conversor Analógico-Digital Definições Definições: Resolução: É a mínima mudança na tensão necessária para garantir uma alteração no nível de código de saída, essa mudança é denominada de bit menos significativo(lsb) de tensão. A resolução é especificada pelo número de bits do conversor. Por exemplo, um ADC com uma resolução de 8 bits pode codificar uma entrada analógica para um em 256 níveis diferentes(2 8 = 256). A resolução R de um ADC é igual a sua escala total da faixa de tensão, dividido pelo número de intervalos discretos de tensão: R = E FSR N Onde: E FSR é a escala total da faixa de tensão. N é o numero de intervalos de tensão, dado por 2 M, onde M é o número de bits do ADC. (1) Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 16 / 27
Conversor Analógico-Digital Definições Cont. Taxa de amostragem: O sinal analógico é contínuo no tempo, ao convertê-lo em um fluxo de valores digitais, é necessário definir a taxa em que novos valores digitais serão amostrados a partir do sinal analógico. A taxa dos novos valores é chamada de taxa de amostragem ou frequência de amostragem do conversor. Erro de quantização ou ruído de quantização: É a diferença entre o sinal original e o sinal digitalizado, quanto maior for o número de bits do conversor A/D menor será o erro de quantização. O erro de quantização ocorre devido à resolução finita da representação digital do sinal, e é uma imperfeição inevitável em todos os tipos de ADCs. Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 17 / 27
Conversor Analógico-Digital Definições Cont. Filtro anti-aliasing: De acordo com o Teorema da amostragem, a taxa de amostragem, deve ser maior que o dobro da maior frequência contida no sinal a ser amostrado, para que possa ser reproduzido integralmente sem erro de aliasing. A metade da frequência de amostragem é chamada frequência de Nyquist e corresponde ao limite máximo de frequência do sinal que pode ser reproduzido. Como não é possível garantir que o sinal não contenha sinais acima deste limite, é necessário filtrar o sinal com um filtro passa-baixa com frequência de corte igual (ou menor) a frequência de Nyquist, esse filtro pode ser denominado de anti-aliasing. Oversampling: Consiste em amostrar o sinal com uma frequência muito maior do que a frequência de Nyquist. Essa técnica é utilizada quando se deseja aumentar a resolução de um conversor A/D ou para aumentar razão sinal/ruído(snr). Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 18 / 27
Microcontroladores Microcontroladores Microcontroladores A representação numérica obtida na saída do conversor deve ser processada para permitir sua análise, armazenamento e apresentação. Este processamento pode ser executado por um microcontrolador. Microcontrolador É um microprocessador programado para funções específicas, composto por uma CPU e periféricos(memória flash, memória RAM, UART, SPI, timer, PWM, conversor analógico-digital(adc) e outros). AVR É o nome de uma família de microcontroladores de 8 bits comercializada pela ATMEL. Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 19 / 27
Microcontroladores Arduino Arduino Arduino é uma plataforma de hardware(baseada nos microcontroladores da familia AVR) e software livres que simplifica a criação e prototipagem de projetos de eletrônica. É possível controlar LEDs, motores, eletrodomésticos, comunicar-se com computadores, smartphones, carros, dentre muitas outras possibilidades. O controle é feito através de instruções programadas utilizando Wiring, uma linguagem baseada em C/C++, e sua extensa biblioteca padrão. Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 20 / 27
Microcontroladores Exemplos Aquisição de dados para o sensor DHT11 O Sensor DHT11 é utilizado para a medição de humidade e temperatura, possui um chip interno que faz a conversão analógica para digital e disponibiliza um sinal digital de temperatura e humidade. O sinal digital é bastante fácil de ler usando o Arduino. Especificações: Baixo custo Alimentação: 3 a 5.5 V DC Escala da medida da humidade: 20 a 90%RH, com precisão de medição: ±5%RH Escala da medida da temperatura: 0 a 50 C, com precisão de medição: ±2 C Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 21 / 27
Microcontroladores Exemplos Código para a aquisição #i n c l u d e " dht.h" #d e f i n e DHTPIN 2 #d e f i n e DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE) ; 5 v o i d s e t u p ( ) { S e r i a l. b e g i n ( 9600) ; S e r i a l. p r i n t l n ( " DHTxx test!" ) ; dht. b e g i n ( ) ; } 0 v o i d l o o p ( ) { f l o a t h = dht. r e a d H u m i d i t y ( ) ; f l o a t t = dht. readtemperature ( ) ; i f ( i s n a n ( t ) i s n a n ( h ) ) { S e r i a l. p r i n t l n ( " Failed to read from DHT " ) ; 5 } e l s e { S e r i a l. p r i n t ( " Humidity : " ) ; S e r i a l. p r i n t ( h ) ; S e r i a l. p r i n t ( " %\t" ) ; S e r i a l. p r i n t ( " Temperature : " ) ; 0 S e r i a l. p r i n t ( t ) ; S e r i a l. p r i n t l n ( " *C" ) ; } } Obs: Mais informações e o código acima(com a biblioteca dht.h) no site: http://www.ladyada.net/learn/sensors/dht.html Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 22 / 27
Microcontroladores Exemplos Aquisição de dados para o sensor PIR O Sensor PIR permite detectar movimento, muito utilizado para detectar se algo se moveu dentro ou fora da faixa do sensor. Eles são de baixo custo, baixa potência, fácil de usar e não se desgastam. Por isso eles são comumente encontrados em aparelhos e dispositivos utilizados em residências ou empresas. Especificações: Alimentação: 4.5 a 20 V DC Alcance: 7m Ângulo de detecção: 100 Tensão de saída: 3.3v(high), 0(low) Tempo de disparo: 5 a 200 s Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 23 / 27
Microcontroladores Exemplos Código para a aquisição i n t ledpin = 13; // choose the pin f o r the LED i n t inputpin = 2 ; // choose the input pin ( f o r PIR sensor ) i n t p i r S t a t e = LOW; // we s t a r t, assuming no motion d e t e c t e d i n t v a l = 0 ; // v a r i a b l e f o r r e a d i n g t h e p i n s t a t u s 5 v o i d s e t u p ( ) { pinmode ( l e d P i n, OUTPUT) ; // d e c l a r e LED as output pinmode ( i n p u t P i n, INPUT) ; // d e c l a r e s e n s o r as i n p u t S e r i a l. b e g i n ( 9600) ; } 0 v o i d l o o p ( ) { v a l = d i g i t a l R e a d ( i n p u t P i n ) ; // r e a d i n p u t v a l u e i f ( v a l == HIGH) { // check i f t h e i n p u t i s HIGH d i g i t a l W r i t e ( l e d P i n, HIGH) ; // t u r n LED ON i f ( p i r S t a t e == LOW) { 5 S e r i a l. p r i n t l n ( " Motion detected!" ) ; p i r S t a t e = HIGH ; } } e l s e { d i g i t a l W r i t e ( l e d P i n, LOW) ; // t u r n LED OFF 0 i f ( p i r S t a t e == HIGH) { S e r i a l. p r i n t l n ( " Motion ended!" ) ; p i r S t a t e = LOW; } } 5 } Obs: Mais informações e o código acima no site: http://www.ladyada.net/learn/sensors/pir.html Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 24 / 27
Microcontroladores Exemplos Aquisição de dados para o sensor SRF05 SRF05 é um sensor de distancia por ultra-som, capaz de detectar objetos e calcular a distância que se encontra em uma faixa de 3 a 450 cm. Especificações: Alimentação: 5 V DC Resolução: 1 cm Pulso de eco: Sinal TTL positivo, proporcional à distância do obstáculo Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 25 / 27
Microcontroladores Exemplos Código para a aquisição #i n c l u d e " Ultrasonic.h" #i n c l u d e <L i q u i d C r y s t a l. h> L i q u i d C r y s t a l l c d ( 1 1, 10, 9, 4, 5, 6, 7) ; U l t r a s o n i c u l t r a s o n i c ( 1 2, 1 3 ) ; 5 v o i d s e t u p ( ) { l c d. b e g i n ( 1 6, 2) ; l c d. p r i n t ( " testing... " ) ; } 0 v o i d l o o p ( ) { l c d. c l e a r ( ) ; l c d. s e t C u r s o r ( 0, 0) ; 5 l c d. p r i n t ( u l t r a s o n i c. Ranging (CM) ) ; l c d. p r i n t ( "cm" ) ; } d e l a y (100) ; Obs: Mais informações e o código acima(com a biblioteca Ultrasonic.h) no site: http://iteadstudio.com/application-note/ arduino-library-for-ultrasonic-ranging-module-hc-sr04/ Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 26 / 27
Referências Referências Saber Eletrônica, Aquisição de Dados. [internet] [acesso em 16 Jan 2012] Disponível em : http://www.sabereletronica.com.br/secoes/leitura/831 Circuit Lake, Interfacing SRF05 with AVR ATmega32. [internet] [acesso em 17 Jan 2012] Disponível em : http://www.circuitlake.com/interfacing-srf05-with-avr-atmega32.html Ladyada, DHTxx Sensors. [internet] [acesso em 17 Jan 2012] Disponível em : http://www.ladyada.net/learn/sensors/dht.html Arduino cc, Hardware. [internet] [acesso em 17 Jan 2012] Disponível em : http://arduino.cc/en/main/hardware Newton C. Braga, Pré-amplificador de áudio. [internet] [acesso em 17 Jan 2012] Disponível em : http://www.newtoncbraga.com.br/index.php/mini-projetos/ 184-mini-projetos-efeitos-sonoros/4415-min064.html MSPC, Transistores I00 - Alguns parâmetros e circuitos básicos. [internet] [acesso em 17 Jan 2012] Disponível em : http://www.mspc.eng.br/eletrn/transistor100.shtml Rodrigo W. R. Ataide (UFPA) 26 de janeiro de 2012 27 / 27