OMódulo Comparador Analógico consiste em um conjunto

Documentos relacionados
OMicrocontrolador PIC16F877A implementa um conversor

OMicrocontrolador PIC16F877A apresenta dois módulos

OMPLAB é um programa para PC, que roda sobre a

6. Estrutura do Programa em Assembly

BANKSEL ADCON1 clrf ADCON1 bsf ADCON1,ADFM ; seta AD para VCC, GND e entradas analogicas, setando o bit ADFM configura como justificado a direita

01. Identifique o conjunto de portas de entrada A e o conjunto de portas B na figura abaixo.

Sistemas Microcontrolados

Sistemas Digitais e Microcontrolados

Placa McLab1 Upgrade PIC16F84A p/ PIC16F62x

Sistemas Digitais e Microcontrolados

Microcontroladores: Programação em C

Marcelo Fernandes Valter Rodrigues de Jesus Junior. Thermal Control

Arquitetura de Computadores. Prof. João Bosco Jr.

1.1 Noções básicas sobre interrupções em Microcontroladores

Sequencial Supermáquina (TEMPORIZAÇÃO SIMPLES)

Sistemas Microcontrolados. Período Aula 6. 1 Saulo O. D. Luiz

Sistemas Digitais e Microcontrolados

Eder Terceiro. Programação C com o PIC16F628a. Eder Terceiro. 31 de Outubro de 2016

Utilize o programa fonte em linguagem assembly abaixo para responder as questões seguintes.

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

Objetivo Geral Compreender o funcionamento de uma lógica assembler que realiza a sequência de LED s.

Microcontrolador PIC 16F877

Sistemas Microcontrolados. Período Aula Saulo O. D. Luiz

Interrupção Externa. Capítulo 1. Noções básicas sobre interrupções em Microcontroladores PIC

Kit Clp Pic 40B Manual do usuário. Manual do usuário - Kit Clp Pic 40B v2.0. Copyright VW Soluções

Na figura abaixo é mostra os pinos do microcontrolador utilizado no montagem da placa, o PIC16F628A.

Comunicando com um teclado PS2 Vitor Amadeu Souza

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador

1.1. Microprocessadores e microcontroladores Sistemas genéricos e sistemas dedicados. 2. Microcontrolador PIC:

Palestra de Tecnologia. Assunto: Microcontroladores.

Manual do Usuário. McMaster Desenvolvimento de Sistemas com Microcontroladores PIC

Sistemas Microcontrolados. Período Aula 4. 1 Saulo O. D. Luiz

Circuito Eletrônico. Entendendo o circuito eletrônico na robótica. domingo, 28 de agosto de 11

Copyright 2014 VW Soluções

Microcontroladores PIC16 - XM 116 -

EXPLORANDO OS RECURSOS DO MICROCONTROLADOR PIC18F4550 E SEU USO EM PRÁTICAS DE LINGUAGEM C

Sistemas Microcontrolados. Período Aula 9. 1 Saulo O. D. Luiz

PIC32 Uma Nova Tecnologia

SEL0338 Tópicos Especiais em Sistemas Digitais

Objetivo Geral Compreender o funcionamento dos softwares de simulação Mplab e Proteus com um simples programa.

Suporta os microcontroladores: R. Leonardo da Vinci, Campinas/SP CEP F.: (19) Kit de Desenvolvimento ACEPIC 28

MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS DIRETORIA DE GRADUAÇÃO

ET53C - SISTEMAS DIGITAIS

Microcontroladores: Programação em C

C:\seminario\guiao_aluno\trab6\trab6.asm

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

Sistemas Microcontrolados

Objetivos MICROCONTROLADORES SOFTWARE PROGRAMAÇÃO (PARTE: 04) Programação em Linguagem C

Conhecendo o PIC24 e o mikropascal

LABORATÓRIO DE ARQUITETURA DE COMPUTADORES PREPARAÇÃO 02: DISPLAY DE 7 SEGMENTOS MICROCONTROLADO

Placa de desenvolvimento USB AFSmartBoard utiliza PIC18F4550 da Microchip, microcontrolador com o Flash 32kb, 2048 bytes de memória RAM

Jadsonlee da Silva Sá

INSTITUTO DE TECNOLOGIA EMERSON MARTINS

Manual do usuário. - Kit Clp Pic 40 v4.0. Manual do usuário. Copyright VW Soluções

Funções dos Microcontroladores Microcontroladores e Microprocessadores Especialização em Automação Industrial

Seqüencial de Leds utilizando o microcontrolador PIC16F628A Vitor Amadeu

Copyright 2013 VW Soluções

Microcontroladores PIC18 - XM 118 -

Instrumentação Eletrônica

V1 5V +V. (14)Vdd (6)RB0 PIC 16F628A. (16) Clk-out. C1 33pF. C2 33pF. Figura 1 Circuito pisca-pisca.

KIT DIDÁTICO PIC-2377

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento. Apostila de BASIC para PIC16F628A

Construção de Robôs Jogadores de Futebol (2ª Parte)

Objetivos MICROCONTROLADORES HARDWARE. Microcontroladores I. Prof. Mauricio. Micro-I Prof. Mauricio 1. Microcontroladores PIC. Requisitos de Hardware

SISTEMA NIVELADOR DE PENEIRAS AGRÍCOLAS 1. Jordan Passinato Sausen 2.

APRESENTAÇÃO DO KIT CPLD_EE01

INTRODUÇÃO: MICROCONTROLADORES

Plano de Trabalho Docente 2017 Ensino Técnico

ARQUITETURA DE PROCESSAMENTO

Introdução do Arduino para aquisição de dados e controle de instrumentos

Plano de Trabalho Docente 2017 Ensino Técnico

Palavras-chave: Controle de temperatura, microcontrolador, sistema didático

Pontifícia Universidade Católica do Paraná PUCPR Curso Engenharia de Computação. Fabio Eduardo Pereira José Roberto Wotecoski Pedro José F.

5. Conjunto de Instruções do MCU PIC

Microcontroladores. Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage:

Manual Técnico Driver Chopper 5A Para Motor de Passo

Curso de Microcontroladores PIC 16F84A

Faculdade de Tecnologia SENAI Pernambuco - Unidade Santo Amaro Curso de Tecnologia em Mecatrônica Industrial

Período Saulo O. D. Luiz

Aula 10 Microcontrolador Intel 8051 Parte 1

LBM-UMA PROPOSTA DE LINGUAGEM BÁSICA ESTRUTURADA PARA PROGRAMAÇÃO DE MICROCONTROLADORES NOS CURSOS DE ENGENHARIA.

Experiência. Montagem Kit Didático. 2. Turma: Nota: 5. MICRO-I Prof. Mauricio. Identificação dos Alunos:

2a Prova de ELT024 Programação para Sistemas Embarcados Prof. Rodrigo Maximiano Antunes de Almeida

Família de Microcontroladores AVR

Manual Técnico Módulo Ponte H 5A

Introdução à Plataforma ARDUINO

Copyright 2013 VW Soluções

Cerne Tecnologia e Treinamento

PLANO DE ENSINO CURSO SUPERIOR EM ENGENHARIA DE CONTROLE E AUTOMAÇÃO BACHARELADO

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

Sistemas Embarcados:

Servo-Motor. por. Nuno Monteiro & Gabriel Dinis Eng. Electrotécnica, UTAD Junho de nuno_monteiro@portugalmail.com gabrieldinis@portugalmail.

Conversor Analógico Digital do MSP430G2553

Programação Daniel Corteletti Aula 3 Parte III Página 1/7

Lista de Exercícios A2

Projeto de Sistemas Eletrônicos

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA CURSO DE ENGENHARIA DE COMPUTAÇÃO MICROPROCESSADORES II

Vitor Amadeu Souza. Enviando a medição de. Voltímetro. para uma conta do. Twitter. Com ESP8266 (NodeMCU) programado em Arduino

Programação em BASIC para o PIC Vitor Amadeu Souza

Transcrição:

Módulo Comparador Analógico Roteiro N o 05 Fundação Universidade Federal de Rondônia, Núcleo de Ciência e Tecnologia, Departamento de Engenharia - DEE Curso de Bacharelado em Engenharia Elétrica - Disciplina de Sistemas Microprocessados Elaboração: Ivan S. de Oliveira - Revisão: Prof. M.Sc. Ciro Egoavil Laboratório de Sistemas Microprocessados I. INTRODUÇÃO OMódulo Comparador Analógico consiste em um conjunto de dois comparadores analógicos internos, que podem ter suas entradas associadas aos pinos do PIC para fazer comparações de tensões analógicas externas entre si ou com a fonte de referência interna do chip. O módulo comparador permite a implementação de diversos circuitos, inclusive conversores A/D, como o de rampa ou conversores do tipo Delta-Sigma. O módulo possui apenas um registrador: CMCON responsável pela configuração e controle dos comparadores internos. O comparador pode operar em oito modos, neste roteiro será utilizados o modo com dois comparadores como quatro entradas multiplexadas, cuja configuração é apresentada na Figura 1. Neste modo de operação, os comparadores são configurados com a entrada não inversora conectada ao módulo de referência de tensão interna (V REF ). As entradas de cada comparador são multiplexadas cada uma entre duas possibilidades. A entrada inversora de C1 entre o pino RA0/AN0 (CIS= 0 ) ou o pino RA3/AN3 (CIS= 1 ). A entrada inversora de C2 entre o pino RA1/AN1 (CIS= 0 ) ou o pino RA2/AN2 (CIS= 1 ). O sinal de saída dos comparadores (C1OUT e C2OUT), bem como o bit CIS, pode ser encontrado no registrador CMCON. A tensão de referência utilizada nos comparadores é proveniente do módulo de referência interna de tensão (V REF ), que constitui basicamente num complemento ao módulo comparador analógico. Sua função básica é fornecer uma referência programável de tensão. O módulo de referência interna de tensão pode fornecer tensão na escala que vai de 0,25 VDD até 0,75 VDD, incrementados de VDD/32, ou na escala que vai de 0 V até 0,75 VDD, incrementados de VDD/24. A configuração deste módulo pode ser realizada no registrador especial CVRCON. II. OBJETIVOS Este trabalho, aborda a utilização dos módulos comparador analógicos de tensão e de referência interna de tensão aplicado ao acionamento de motor DC. III. SOFTWARES UTILIZADOS MPLAB CCS C Compiler PROTEUS Professional IV. CÓDIGO EM ASSEMBLY O módulo comparador analógico pode ser utilizado para acionar um motor DC conforme a tensão aplicada em um dos comparadores internos ao PIC. Para isto, na simulação, utiliza-se o esquema da Figura 2, onde um potenciômetro fornece a tensão entrada (Vin-) que será comparada com a tensão de referência interna (Vin+) e aciona o motor no sentido anti-horário, caso Vin+ < Vin-, ou sentido horário, caso Vin+ > Vin-. Neste projeto, foi necessário utilizar um circuito conhecido como Ponte H, que permite o acionamento de um motor DC nos dois sentidos de rotação: Horário e Anti-Horário, conforme se observa na Figura 2. Figura 1. Modo com dois Comparadores com quatro entradas Multiplexadas Figura 2. Esquema Elétrico do Circuito O código, escrito em Assembly, responsável por executar tal tarefa é apresentado a seguir:

#include <P16F877A.INC> CONFIG _CP_OFF&_PWRTE_OFF&_WDT_OFF& _XT_OSC #DEFINE BANCO0 BCF STATUS,RP0 #DEFINE BANCO1 BSF STATUS,RP0 ORG 0X0000 GOTO INICIO ORG 0X0004 RETFIE INICIO BANCO1 MOVLW B 00000011 MOVWF TRISA MOVLW B 00000000 MOVWF TRISC MOVLW B 10000000 MOVWF OPTION_REG MOVLW B 10001101 MOVWF ADCON1 MOVLW B 00000110 MOVWF CMCON MOVLW B 10001000 MOVWF CVRCON BANCO0 MOVLW B 00000000 MOVWF INTCON MOVLW B 01000000 MOVWF ADCON0 CLRF PORTA CLRF PORTC LOOP BANCO1 BTFSC CMCON,C1OUT GOTO GIRA_HORARIO GOTO GIRA_ANTIHORARIO GIRA_HORARIO BANCO0 BSF PORTC,1 BCF PORTC,2 GOTO LOOP GIRA_ANTIHORARIO BANCO0 BCF PORTC,1 BSF PORTC,2 GOTO LOOP END No programa, inicialmente realiza-se a configuração dos registradores que controlam o módulo comparador e o de referência interna de tensão. O módulo comparador é configurado conforme a Figura 1 e a referência interna de tensão é configurada para fornecer 2,5 V (Vin+ = 2,5V). O registrador CMCON é configurado da seguinte forma: C1INV = 0 - sinal de saída do comparador 1 não invertida; C1OUT = 0 - se Vin+ < Vin-; C1OUT = 1 - se Vin+ > Vin-; CIS = 0 - comparador 1 conectado ao pino RA0/AN0; CM2:CM0 = 110 - seleciona modo com dois comparadores com quatro entradas multiplexadas. O CVRCON é configurado da seguinte forma: VREN = 1 - módulo V REF ligado; VROE = 0 - saída V REF não conectada ao pino RA2; VRR = 0 - grande escala (de 0,25 VDD até 0,75 VDD), incrementos de VDD/32; VR3:VR0 = 1000 - configura o nível de tensão de saída do módulo para 2,5V, com VDD = 5V. No rótulo LOOP, o bit C1OUT do registrador CMCON é testado e caso seja igual a 1 (Vin+ > Vin-) o motor conectado através da Ponte H à PORTC é acionado no sentido horário, caso C1OUT seja igual a 0 (Vin+ < Vin-), motor é acionado no sentido anti-horário. Em outras palavras, o motor será acionado no sentido antihorário caso a tensão aplicada através do potenciômetro (no pino RA0) seja maior do que a tensão de referência interna, que é de 2,5V. E o motor irá girar no sentido horário caso a tensão aplicada através do potenciômetro seja menor do que a tensão de referência interna (V REF = 2,5V). V. RELATÓRIO - PARTE I Altere o programa anteriormente apresentado, em Assembly, para que o motor opere nas seguintes condições. Entrada Vin- < V REF = 1,25 V - motor deve girar no sentido horário. V REF = 1,25 V < Entrada Vin- < V REF = 2,50 V - motor desligado. Entrada Vin- > V REF = 2,50 V - motor deve girar no sentido anti-horário. VI. CÓDIGO EM C Na linguagem C, o comparador analógico e a referência interna de tensão podem ser programados de forma semelhante. Nesta parte do roteiro, o PIC será programado, em C, para que o motor opere nas seguintes condições: Entrada Vin- < V REF = 1,25 V - motor deve girar no sentido horário. V REF = 1,25 V < Entrada Vin- < V REF = 2,50 V - motor desligado. Entrada Vin- > V REF = 2,50 V - motor deve girar no sentido anti-horário. O esquema elétrico para simulação no PROTEUS é o da Figura 2 e o programa gravado no PIC é o apresentado a seguir:

#include <16f877a.h> #fuses xt, nowdt, noprotect, put, brownout #use delay(clock=4000000) void Inicializa(void); void main() Inicializa(); while(true) Setup_Vref(VREF_LOW 6); output_high(pin_c1); Setup_Vref(VREF_LOW 12); output_high(pin_c2); void Inicializa(void) Setup_ADC(ADC_OFF); Disable_Interrupts(GLOBAL); Setup_Comparator(A0_VR_A1_VR); Setup_Vref(VREF_LOW 0); O código é iniciado com as instruções reproduzidas abaixo: #include <16f877a.h> #fuses xt, nowdt, noprotect, put, brownout #use delay(clock=4000000) void Inicializa(void); Neste trecho, é realizada a inclusão do ficheiro com as características do PIC16F877A, microcontrolador utilizado no projeto, é declarada a função Inicializa(void), e, também, é efetuada a configuração dos fusíveis ou opções de gravação da seguinte forma: Oscilador externo tipo cristal (xt); Power-up timer (put) ligado; Código de Proteção (noprotect) desligado; WatchDog Timer (nowdt) desligado. Na função main é executada a função Inicializa() responsável por realizar a configuração inicial do PIC. Na função main, o comando while(true) cria um laço onde é realizado o teste do bit C1OUT do registrador CMCON. void main() Inicializa(); while(true) Setup_Vref(VREF_LOW 6); output_high(pin_c1); Setup_Vref(VREF_LOW 12); output_high(pin_c2); Inicialmente a tensão de referência interna V REF é configurada par 1,25 V, se a tensão aplicada (Vin-) no pino RA0 for menor que esta, o motor irá girar no sentido horário, se a tensão aplicada (Vin-) for maior que V REF = 1,25 V, então, a tensão de referência será configurada para V REF = 2,50 V e será testado será testado novamente o bit C1OUT, caso a tensão aplicada (Vin-) seja menor que V REF = 2,50 V, o motor é então desligado, caso a tensão aplicada (Vin-) seja maior que V REF = 2,50 V, o motor irá girar no sentido antihorário. Na função Inicializa(),é realizada a configuração inicial do PIC através das instruções mostradas abaixo: Setup ADC(ADC OF F ) - desliga o conversor A/D; Disable Interrupts(GLOBAL) - disabilita todas as interrupções; Setup Comparator(A0 V R A1 V R) - seleciona o pino RA0 (AN0) como entrada do comparador 1 e o pino RA1 (AN1) como entrada do comparador 2. E a tensão de referência será do módulo de referência interna de tensão. Setup V ref(v REF LOW 0) - ajusta a tensão do módulo de referência interna para zero. void Inicializa(void) Setup_ADC(ADC_OFF); Disable_Interrupts(GLOBAL); Setup_Comparator(A0_VR_A1_VR); Setup_Vref(VREF_LOW 0);

VII. RELATÓRIO - PARTE II Modifique o programa anterior, escrito em C, para que o motor opere nas seguintes condições: Entrada Vin- < V REF = 0,42 V - motor desligado. V REF = 0,42 V < Entrada Vin- < V REF = 1,25 V - motor deve girar no sentido anti-horário; V REF = 1,25 V < Entrada Vin- < V REF = 1,88 V - motor deve girar no sentido horário; V REF = 1,88 V < Entrada Vin- < V REF = 2,50 V - motor deve girar no sentido anti-horário; V REF = 2,50 V < Entrada Vin- < V REF = 3,13 V - motor deve girar no sentido horário; Entrada Vin- > V REF = 3,13 V - motor desligado; REFERÊNCIAS [1] Souza, Vitor Amadeu, Projetando com os microcontroladores da família PIC 18: Uma nova percepção, 1 a Ed., São Paulo: Ensino Profissional, 2007. [2] Souza, David José de, Desbravando o PIC: ampliado e atualizado para PIC 16F628A, 6 a Ed., São Paulo: Érica, 2003. [3] Pereira, Fábio, Micrcontroladores PIC: Técnicas Avançadas, 6 a Ed., São Paulo: Érica, 2007. [4] Apostila de Linguagem C para PIC16F877A com base no CCS - Cerne Tecnologia e Treinamento LTDA.

1 A - REGISTRADORES R/W - leitura/escrita R - somente leitura U - não implementado O valor após o traço é o valor inical, após reset. APÊNDICE 1 - CMCON bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 C2OUT C1OUT C2INV C1INV CIS CM2 CM1 CM0 R-0 R-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 Tabela I REGISTRADOR CMCON C2OUT - Bit indicativo do estado da saída do comparador 2; Caso C2INV = 0 ; 0 - Entrada Vin+ < Vin- 1 - Entrada Vin+ > Vin- Caso C2INV = 1 ; 0 - Entrada Vin+ > Vin- 1 - Entrada Vin+ < Vin- C1OUT - Bit indicativo do estado da saída do comparador 1; Caso C2INV = 0 ; 0 - Entrada Vin+ < Vin- 1 - Entrada Vin+ > Vin- Caso C2INV = 1 ; 0 - Entrada Vin+ > Vin- 1 - Entrada Vin+ < Vin- C2INV - Seleção de inversão do sinal de saída do comparador 2; 0 - Saída não invertida 1 - Saída invertida C1INV - Seleção de inversão do sinal de saída do comparador 1; 0 - Saída não invertida 1 - Saída invertida CIS - Seleção de entrada dos comparadores; CM2:CM0 - Seleção do modo de operação dos comparadores, conforme Figura 1;

2 Figura 1. Modos de Operação 2 - CVRCON bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 VREN VROE VRR - VR3 VR2 VR1 VR0 R/W-0 R/W-0 R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 Tabela II REGISTRADOR ADCON1 VREN - Ativação/desativação do módulo V REF ; 0 - Módulo desligado. 1 - Módulo ligado; VROE - Conexão de saída V REF conectada ao pino RA2; VRR - Seleção de escala de tensão; 0 - Grande escala ( de 0,25 VDD até 0,75 VDD), incrementos de VDD/32. 1 - Pequena escala ( de 0V até 0,75 VDD), incrementos de VDD/24.

3 VR3:VR0 - Seleção do nível de saída do módulo. Os valores da tabela são válidos para uma tensão VDD = 5V. VR3:VR0 VRR=1 VRR=0 0000 0,00V 1,25V 0001 0,21V 1,41V 0010 0,42V 1,56 0011 0,63V 1,72V 0100 0,83V 1,88V 0101 1,04V 2,03 0110 1,25V 2,19V 0111 1,46V 2,34V 1000 1,67V 2,50V 1001 1,88V 2,66V 1010 2,08V 2,81V 1011 2,29V 2,97V 1100 2,50V 3,13V 1101 2,71V 3,28V 1110 2,92V 3,44V 1111 3,13V 3,59V