Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 7: Sensores e Transdutores Alunos: Matrícula: Prof. Dr. José Wilson Lima Nerys Goiânia, 2º semestre de 2017
Laboratório de Microprocessadores e Microcontroladores 2 SUMÁRIO 1 Introdução... 3 2 Transdutores/Sensores Digitais... 4 2.1 Sensor Ultrassônico... 4 2.2 Medição Digital de Velocidade... 5 3 Atividades do Experimento 7... 7 3.1 Medição de Distância... 7 3.2 Medição Digital de Velocidade de um Motor CC... 8
Laboratório de Microprocessadores e Microcontroladores 3 1 Introdução O objetivo do presente experimento é estudar o uso de alguns sensores e transdutores com sistemas baseados em microcontroladores. Os termos sensor e transdutor muitas vezes se confundem e são usados como sendo equivalentes, mas, de um modo geral, um sensor é um elemento que converte uma grandeza física em sinal elétrico, por exemplo: sensor de temperatura LM35 (Figura 1), que apresenta uma variação de 10 mv/ o C na saída. Um transdutor é normalmente composto apenas por um sensor, um sensor e um circuito de condicionamento de sinal (que ajusta o sinal de saída à entrada do equipamento de leitura) e, ainda, um sensor, um circuito condicionador de sinal e um circuito transmissor. Exemplo de transdutor: transdutor de corrente de efeito Hall HA55 (Figura 2), que apresenta na saída uma corrente de 1 ma para cada 1 A no circuito primário. (a) (b) (c) Figura 1 LM35 conectado para uma saída de 2 o C a 150 o C. (a) vista inferior; (b) conexão básica; (c) característica de saída + HA55 - M saída +12V a +15V -12V a -15V V out (0,1V/A) RM 100 Ω 5 3 1 V out (V) 10 30 50 I p (A) (a) (b) (c) Figura 1 HA55 conectado para uma saída de -50A a 50A. (a) vista frontal; (b) conexão básica com RM = 100Ω; (c) característica de saída: 0,1V/A O sensor e o transdutor apresentados nas Figuras 1 e 2 são analógicos e, assim, precisam de um conversor analógico/digital para serem lidos por um microcontrolador. No presente experimento são apresentados dois transdutores analógicos e dois transdutores digitais. Nas seções seguintes são apresentados dois transdutores/sensores com saídas digitais.
Laboratório de Microprocessadores e Microcontroladores 4 2 Transdutores/Sensores Digitais 2.1 Sensor Ultrassônico A Figura 3 mostra o sensor ultrassônico HC-SR04, utilizado para medir distâncias de 2 cm a 4 m. Esse módulo da figura inclui um circuito transmissor de ultrassom e um circuito receptor. Figura 3 Sensor ultrassônico HC-SR04 O princípio básico de operação do sensor HC-SR04 é: (1) Envia-se um sinal de nível alto de, pelo menos 10 µs, para o pino de Trigger Trig ; (2) O módulo automaticamente (após o trigger) envia 8 pulsos de 40 khz, através da unidade transmissora (T) e detecta se há retorno do sinal, através da unidade receptora (R); (3) Se o sinal retornar (presença de obstáculo), com nível lógico alto, o tempo de duração de sinal alto (no pino Echo) corresponde ao tempo de envio e retorno do sinal. Utiliza-se, então, a expressão a seguir, para obter a distância do obstáculo que provocou o retorno do sinal (a velocidade do som no ar é 340 m/s): d = (intervalo de tempo de sinal alto velocidade do som) 2 Aplicando-se a expressão mostrada, chega-se ao valor de 5.882 µs para cada metro de distância detectada, ou 58,82 µs para cada centímetro. A Figura 4 mostra o diagrama de temporização do módulo. Recomenda-se um ciclo de medida a cada 60 ms, no mínimo, para prevenir a interferência do sinal de trigger no sinal de retorno. Esse módulo opera em uma faixa de operação de 15º. Fig. 4: Diagrama de temporização do módulo HC-SR04
Laboratório de Microprocessadores e Microcontroladores 5 2.2 Medição Digital de Velocidade Estão disponíveis no laboratório dois tipos de fotosensores: um com nível lógico normalmente alto e outro com nível lógico normalmente baixo. Os dois modelos são mostrados na Figura 5. O primeiro tipo foi montado com um circuito auxiliar modulador que diminui a influência da luz ambiente sobre o fotosensor. Esse circuito emite uma luz de cerca de 1 khz, que ao ser refletida satura o fototransistor. É utilizado o decodificador de frequência NE567. O segundo modelo não usa circuito modulador. (a) (b) Figura 5: Sensor de presença com circuito auxiliar modulador e sem circuito modulador A diferença básica entre os modelos usados, além do circuito de modulação, está no encapsulamento. Em um deles (Figura 6a) o encapsulamento faz com que o fototransistor fique normalmente cortado (sem presença de luz); ele entra em saturação quando a luz do LED é refletida em um obstáculo. Assim, o sinal de saída V o passa de nível lógico alto para baixo, na presença de um obstáculo. No outro tipo de encapsulamento (Figura 6b) a luz do LED incide diretamente sobre o fototransistor, fazendo com que ele fique normalmente saturado, ou seja, o sinal de saída V o fica inicialmente em nível lógico baixo; na presença de um obstáculo entre os dois componentes o fototransistor é levado ao corte e o sinal de saída vai para o nível lógico alto. (a) (b) Figura 6: (a) fototransistor normalmente cortado e (b) fototransistor normalmente saturado Pode-se fazer uso do fotosensor da Figura 6(b) para medir a velocidade de um motor de forma digital, associando-se ao fotosensor uma roda com 60 furos (Fig. 7).. Figura 7: conjunto fotosensor/roda de 60 furos
Laboratório de Microprocessadores e Microcontroladores 6 O sinal resultante do fotosensor, com a rotação da roda de 60 furos, é uma onda quadrada (Figura 8). Esse sinal pode ser conectado a um dos dois pinos de interrupção do microcontrolador 8051. A interrupção deve ser configurada para atuar por transição (na passagem de nível lógico 1 para 0). A cada interrupção o registrador usado para a contagem dos pulsos é incrementado em 1. Figura 8: Sinal de saída do sensor de velocidade A medição de velocidade é feita estabelecendo-se um tempo de amostragem, ou seja, um tempo fixo em que o registro de pulsos é lido. Mostra-se a seguir que o fato de ter 60 furos na roda faz com que o número de pulsos registrados por segundo (frequência) seja correspondente à velocidade em rotações por minuto (rpm). 1 rotação/segundo 60 furos/segundo 1 rotação/segundo 60 rotações/minuto 60 rpm 60 furos/s X (rpm) X (furos/s) ω (rpm) f (Hz) Um tempo de amostragem menor que 1 segundo pode ser adotado, e é aconselhável em muitas aplicações. Sendo assim, deve-se fazer a devida transformação de número de furos lidos no tempo de amostragem para rotações por minuto.
Laboratório de Microprocessadores e Microcontroladores 7 3 Atividades do Experimento 7 Os programas das tarefas a seguir devem ser digitados e compilados em um simulador digital e executados APENAS no kit didático real do microcontrolador 8051. 3.1 Medição de Distância O programa a seguir faz a leitura da distância de obstáculos a partir de sensor ultrassônico e mostra o resultado em um display LCD. No método utilizado o timer 0 gera pulsos aproximadamente a cada 58 µs, que corresponde a 1 cm de deslocamento do som. Tabela 1: Programa que faz a leitura de um sensor ultrassônico Linha Label Instruções Linha Label Instruções 1 trigger BIT P2.0 69 INICIA_LCD: MOV A,#38H 2 echo BIT P2.1 70 LCALL INSTR_WR 3 LCD EQU P0 71 MOV A,#38H 4 EN BIT P3.7 72 LCALL INSTR_WR 5 RW BIT P3.6 73 MOV A,#0EH 6 RS BIT P3.5 74 LCALL INSTR_WR 7 Offset EQU 10h 75 MOV A,#06H 8 DISTANCIA EQU 11H 76 LCALL INSTR_WR 9 77 MOV A,#01H 10 ORG 00H 78 LCALL INSTR_WR 11 LJMP INICIO 79 RET 12 80 13 ORG 30H 81 INSTR_WR: SETB EN 14 INICIO: MOV SP,#2FH 82 CLR RW 15 CLR trigger 83 CLR RS 16 MOV R0,#10 84 MOV LCD,A 17 MOV TMOD,#00010010B 85 LCALL ATRASO_LCD 18 MOV TL0,#201 86 CLR EN 19 MOV TH0,#201 87 RET 20 LCALL ATRASO_LCD 88 21 LCALL INICIA_LCD 89 TEXTO_WR: SETB EN 22 LCALL ATRASO_LCD 90 CLR RW 23 MOV OFFSET,#0 91 SETB RS 24 MOV DPTR,#MSG1 92 MOV LCD,A 25 LCALL LINHA1 93 CLR EN 26 LCALL ATRASO_LCD 94 LCALL ATRASO_LCD 27 LCALL ATRASO_LCD 95 RET 28 MOV DPTR,#MSG2 96 29 LCALL LINHA2 97 LINHA2: MOV A,#192 30 98 LCALL INSTR_WR 31 LOOP: LCALL SENSOR 99 LCALL ATRASO_LCD 32 LCALL Mostra 100 33 LCALL ATRASO500MS 101 LINHA1: MOV A,Offset 34 SJMP LOOP 102 MOVC A,@A+DPTR 35 103 CJNE A,#0FFH,ENVIA 36 SENSOR: MOV DISTANCIA,#00 104 MOV Offset,#00 37 SETB TRIGGER 105 RET 38 LCALL DELAY1 106 39 CLR TRIGGER 107 ENVIA: LCALL TEXTO_WR 40 JNB ECHO,$ 108 INC OFFSET 41 CLR TF0 109 SJMP LINHA1 42 SETB TR0 110 43 REPETE: JNB TF0,$ 111 ATRASO_LCD: MOV R4,#10 44 CLR TF0 112 V6:MOV R5,#80 45 MOV A,DISTANCIA 113 DJNZ R5,$ 46 ADD A,#01 114 DJNZ R4,V6 47 DA A 115 RET 48 MOV DISTANCIA,A 116 49 JB ECHO,REPETE 117 DELAY1: MOV R6,#4D 50 CLR TR0 118 LABEL1: DJNZ R6, LABEL1 51 RET 119 RET
Laboratório de Microprocessadores e Microcontroladores 8 52 120 53 MOSTRA: MOV A,#203 121 ATRASO500MS: MOV TH1,#HIGH(19455) 54 LCALL INSTR_WR 122 MOV TL1,#LOW(19455) 55 LCALL ATRASO_LCD 123 SETB TR1 56 MOV A,#0f0h 124 JNB TF1,$ 57 ANL A,Tempo 125 CLR TF1 58 SWAP A 126 DJNZ R0,ATRASO500MS 59 ORL A,#30H 127 MOV R0,#10 60 LCALL TEXTO_WR 128 CLR TR1 61 LCALL ATRASO_LCD 129 RET 62 130 63 MOV A,#0fh 131 64 ANL A,Tempo 132 65 ORL A,#30H 133 MSG1: DB 'Sensor Ultrassom', 0ffh 66 LCALL TEXTO_WR 134 MSG2: DB 'Distancia: cm', 0ffh 67 LCALL ATRASO_LCD 135 68 RET 136 END Questão 1: Coloque um obstáculo em 3 diferentes distâncias, até 20 cm, e anote na tabela a distância escolhida e a leitura no LCD. Distância escolhida Leitura no LCD Distância 1 Distância 2 Distância 3 Questão 2: Explique o funcionamento da subrotina Sensor, da Linha 36 à Linha 51. Questão 3: A recarga do temporizador zero, no modo 2, é 201. Explique o porquê dessa escolha. 3.2 Medição Digital de Velocidade de um Motor CC O programa a seguir faz a leitura digital da velocidade de um motor, em rotações por minuto, e mostra o resultado em um display LCD. No método utilizado o timer 0 é usado como gerador do tempo de amostragem, de 1 s, para leitura do registrador que guarda a velocidade. Tabela 2: Programa que faz a leitura digital de velocidade de um motor Linha Label Instruções Linha Label Instruções 1 LCD EQU P0 69 INICIA_LCD: MOV A,#38H 2 EN BIT P3.7 70 LCALL INSTR_WR 3 RW BIT P3.6 71 MOV A,#38H 4 RS BIT P3.5 72 LCALL INSTR_WR 5 OFFSET EQU 14h 73 MOV A,#0EH 6 RPM_L EQU 10h 74 LCALL INSTR_WR 7 RPM_H EQU 11H 75 MOV A,#06H 8 76 LCALL INSTR_WR 9 ORG 00H 77 MOV A,#01H 10 LJMP INICIO 78 LCALL INSTR_WR 11 79 RET 12 ORG 0BH 80 13 LJMP AMOSTRA 81 TEXTO_WR: SETB EN 14 82 CLR RW
Laboratório de Microprocessadores e Microcontroladores 9 15 ORG 13H 83 SETB RS 16 LJMP VELOCIDADE 84 MOV LCD,A 17 85 CLR EN 18 ORG 30H 86 LCALL ATRASO_LCD 19 INICIO: MOV SP,#2FH 87 RET 20 MOV IE,#10000110B 88 21 MOV TCON,#04H 89 LINHA1: MOV A,OFFSET 22 MOV IP,#00000100B 90 MOVC A,@A+DPTR 23 MOV TMOD,#01H 91 CJNE A,#0FFH,ENVIA 24 MOV TH0,#HIGH(19455) 92 MOV Offset,#00 25 MOV TL0,#LOW(19455) 93 RET 26 MOV R0,#20 94 27 LCALL ATRASO_LCD 95 ENVIA: LCALL TEXTO_WR 28 LCALL INICIA_LCD 96 INC OFFSET 29 LCALL ATRASO_LCD 97 SJMP LINHA1 30 MOV DPTR,#MSG1 98 31 LCALL LINHA1 99 MOSTRA: MOV A,#198 32 LCALL ATRASO_LCD 100 LCALL INSTR_WR 33 SETB TR0 101 LCALL ATRASO_LCD 34 SJMP $ 102 MOV A,#0f0h 35 103 ANL A,RPM_H 36 AMOSTRA: CLR EA 104 SWAP A 37 MOV TH0,#HIGH(19455) 105 ORL A,#30H 38 MOV TL0,#LOW(19455) 106 LCALL TEXTO_WR 39 DJNZ R0,SAI2 107 LCALL ATRASO_LCD 40 MOV R0,#20 108 41 LCALL MOSTRA 109 MOV A,#0fh 42 MOV RPM_L,#0 110 ANL A,RPM_H 43 MOV RPM_H,#0 111 ORL A,#30H 44 SAI2: SETB EA 112 LCALL TEXTO_WR 45 RETI 113 LCALL ATRASO_LCD 46 114 47 VELOCIDADE: MOV A,RPM_L 115 MOV A,#0f0h 48 ADD A,#1 116 ANL A,RPM_L 49 DA A 117 SWAP A 50 MOV RPM_L,A 118 ORL A,#30H 51 JNC SAI 119 LCALL TEXTO_WR 52 120 LCALL ATRASO_LCD 53 MOV A,RPM_H 121 54 ADD A,#1 122 MOV A,#0fh 55 DA A 123 ANL A,RPM_L 56 MOV RPM_H,A 124 ORL A,#30H 57 SAI: NOP 125 LCALL TEXTO_WR 58 RETI 126 LCALL ATRASO_LCD 59 127 RET 60 INSTR_WR: SETB EN 128 61 CLR RW 129 ATRASO_LCD: MOV R4,#10 62 CLR RS 130 V6: MOV R5,#80 63 MOV LCD,A 131 DJNZ R5,$ 64 LCALL ATRASO_LCD 132 DJNZ R4,V6 65 CLR EN 133 RET 66 RET 134 67 135 MSG1: DB 'Velocidade (rpm)', 0ffh 68 136 END Questão 4: Varie a tensão de alimentação do motor de corrente contínua e, para três valores diferentes de tensão (até 12 V), registre a frequência do sinal no osciloscópio e a leitura no LCD. Tensão no motor CC Frequência do sinal Leitura no LCD Caso 1 Caso 2 Caso 3
Laboratório de Microprocessadores e Microcontroladores 10 Questão 5: Explique o funcionamento da subrotina VELOCIDADE, da Linha 47 à Linha 58. Questão 6: Explique o funcionamento da subrotina AMOSTRA, da Linha 36 à Linha 45..