Sistemas Digitais e Microcontrolados

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

Sistemas Digitais e Microcontrolados

Sistemas Digitais e Microcontrolados

OMicrocontrolador PIC16F877A apresenta dois módulos

Arquitetura PIC - PWM

Sistemas Microcontrolados

Interrupções e Timers

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

OMódulo Comparador Analógico consiste em um conjunto

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

Microcontroladores: Programação em C

Sistemas Embarcados:

Sistemas Microcontrolados

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

Jadsonlee da Silva Sá

1.2 Registradores relacionados as Interrupções. 3. TOSE Sentido da transição da borda do sinal aplicado am TMR0

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

Sistemas Microcontrolados

Microcontroladores PIC

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

Temporizadores e Contadores

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

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

Portas de entrada e saída; Interrupções; Interrupções externas; Temporizadores Contadores; Interface Serial

Temporizadores e Contadores (Timer/Counter)

OMicrocontrolador PIC16F877A implementa um conversor

ENG-1450 Microcontroladores e Sistemas Embarcados. Lab02 Apresentação Kit PicGenios Interrupção e Timers

Microcontroladores PIC. Interrupções e Timers

CONTROLE DE UM SERVO MOTOR

Implementando PWM por soft - um método simples. Por Renie S. Marquet reniemarquet.sites.com.br - versão

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

Microcontroladores 2 EL08D Turma M12

Curso de Microcontroladores PIC 16F84A

Sistemas Microcontrolados

Microcontroladores e Robótica - FACAPE

THIAGO BITTENCOURT DE MORAES MATEUS LEITE INVERSOR PUSH-PULLMICROCONTROLADO MODULADO EM SPWM

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

Sistemas Microcontrolados

AAAA AAAA SEL Aplicação de Microprocessadores I. Aula 5 Temporização e Interrupção. Marcelo Andrade da Costa Vieira

MICROCONTROLADORES PIC

Sistemas Digitais e Microcontrolados

Sistemas Microprocessados

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

Sistemas Microcontrolados

INTRODUÇÃO: MICROCONTROLADORES

Microcontroladores e FPGAs

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

Placa McLab1 Upgrade PIC16F84A p/ PIC16F62x

Conversor Analógico Digital do MSP430G2553

Registros do 16F628A. Prof. Luiz Antonio Vargas Pinto Prof. Vargas

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

Introdução ao Microcontrolador PIC

PMR5229 Projeto de Sistemas Mecatrônicos com Microprocessadores. Jun Okamoto Jr.

Microprocessadores. Cap. 4 Assembly

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SERGIPE COORDENADORIA DE ELETRÔNICA CIRCUITOS OSCILADORES. Experimentos de Osciladores

Temporização Interrupções. Prof: Evandro L. L. Rodrigues. Rotinas de Atraso

Programação Ladder. Douglas Wildgrube Bertol DEE - Engenharia Elétrica CCT

LÓGICA DIGITAL CONCEITOS DE CLOCK RELÓGIOS (CLOCK) Prof. Celso Candido ADS / REDES / ENGENHARIA

Sequencial Supermáquina (TEMPORIZAÇÃO SIMPLES)

UTFPR Departamento Acadêmico de Eletrônica Curso Técnico em Eletrônica Microcontroladores 1 - Prof. Cion nov/2010 (atualizado em jul 2015)

O Pino P2.7 não está sendo usado e cada Display mostrará valores de 0 a 9.

Experimento 6 Conversor analógico digital e comunicação serial

Hardware Parte I. Fábio Rodrigues de la Rocha

Prof. Adilson Gonzaga

Usando Display Gráfico com C18 e C30

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

6. Estrutura do Programa em Assembly

Prof. Adilson Gonzaga

- Familiarizar com circuito gerador de PWM; - Verificar o funcionamento de um gerador de PWM (Modulação por Largura de Pulso).

MODULAÇÃO DE UM SINAL ANALÓGICO

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

Microcontrolador 8051:

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

Eletrônica Digital. Circuitos Lógicos Sequenciais PROF. EDUARDO G. BERTOGNA UTFPR / DAELN

Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina. Temporização Interrupções Rotinas de Atraso

Aula 14. Contadores Assíncronos. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Lista de Exercícios 2

Sistemas Embarcados:

CONTADORES DIGITAIS (Unidade 6)

9/3/2009. Aula 4. Engenharia de Sistemas Embarcados. Cenário: Sistema de Controle de LEDs

Transcrição:

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA CURSO DE ENGENHARIA INDUSTRIAL ELÉTRICA TECNOLOGIA EM AUTOMAÇÃO INDUSTRIAL Sistemas Digitais e Microcontrolados - PIC16F877A amauriassef@utfpr.edu.br 1

Características dos módulos CCP 2 módulos Capture/Compare/PWM CCP1 CCP2 Capture Registro de 16 bits Resolução máxima de 12,5 ns Compare Registro de 16 bits Resolução máxima de 200 ns PWM (Pulse Width Modulation) Modulação por largura de pulso Resolução máxima de 10 bits 2

Recurso dos Timers Capture No modo de Captura, os registros CCPR1H:CCPR1L capturam o valor de 16 bits do par de registradores TMR1 (Timer 1) quando um evento ocorre no pino RC2/CCP1 Um evento é definido como: Cada borda de descida Cada borda de subida Cada 4ª borda de subida Cada 16ª borda de descida 3

Compare No modo de Comparação, os registros CCPR1H:CCPR1L são constantemente comparados com o par de registradores TMR1 (Timer 1). Quando os valores coincidem o pino RC2/CCP1 pode ser: Setado Resetado Permanecer inalterado 4

PWM (Pulse Width Modulation) No modo PWM modulação por largura de pulso o pino CCPx gera uma saída PWM com resolução de 10 bits Como o CCP1 é multiplexado como o latch de dado do PORTC, o registro TRISC, bit 2, deve ser zerado para configurar o pino RC2/CCP1 como saída 5

Registrador de configuração do módulo CCPx CCPxX:CPxY: Bits LSB do PWM Utilizado somente no modo PWM CCPxM3:CCPxM0: Modo de seleção dos CCPx 0000 CCP desabilitado 0100 Capture a cada borda de descida 0101 - Capture a cada borda de subida 0110 - Capture a cada 4ª borda de subida 0111 - Capture a cada 16ª borda de subida 1000 Compare, seta saída 1001 Compare reseta saída 1010 Compare gera interrupção sem afetar o pino 1011 Compare trigger de evento especial (A/D) 11xx - PWM 6

Diagrama em blocos simplificado do PWM 7

Cálculo do período PWM O período do PWM é especificado escrevendo no registro PR2 O período pode ser calculado através da seguinte equação: Período PWM = [(PR2) + 1)]. 4. Tosc. TMR2 Prescaler Tosc é o período do oscilador (clock) 8

Exemplo de cálculo do período PWM Parâmetros Período de 50 μs (f = 20 khz) Frequência do cristal de 8 MHz (Tosc = 125 ns) Prescaler do Timer 2 igual a 1:1 Calcular o valor de carga do registro PR2 (banco 1) Período PWM = [(PR2) + 1)]. 4. Tosc. TMR2 Prescaler 50 μs = [(PR2 + 1)]. 4. 125ns. 1 PR2 = 99 9

Cálculo do duty cycle O duty cycle do PWM é especificado através da escrita nos registradores CCPR1L concatenado com o CCP1CON, bits 5 e 4, com resolução de 10 bits O duty cycle pode ser calculado através da seguinte equação: Duty Cycle PWM = (CCPR1L: CCP1CON <5:4>). Tosc. TMR2 Prescaler Tosc é o período do oscilador (clock) 10

Configuração do Timer 2 TOUTPS3:TOUTPS0: Seleção do postscale do Timer 2 0000 1:1... 1111 1:16 TMRON2: Bit para ligar o Timer 2 0 Timer 2 desligado 1 Timer 2 ligado T2CKPS1:T2CKPS0: Seleção do prescaler do Timer 2 00 1:1 01 1:4 1x 1: 16 11

Exemplo de hardware 12

Exemplo: 1) Escrever o firmware para gerar um sinal PWM no pino RC2/CCP1 com frequência de 20 khz (período = 50 μs)e duty cycle inicial de 20% (50 μs. 0,2 = 10 μs): 13

Programa principal (Assembly): INICIO Configura o PIC16F877A BANK1 MOVLW 0X00 MOVWF TRISC ; CONFIGURA PORTC COMO SAÍDA MOVLW B'00000000' ; TIMER 0 -> PRESCALER DE 1:2 MOVWF OPTION_REG BANK0 BANK1 MOVLW D'99' ; VALOR PARA PERÍODO DE 50us (20kHz) MOVWF PR2 BANK0 MOVLW D'20' ; 80/4 = 20%, PARA NÃO UTILIZAR 2 BITS MOVWF CCPR1L ; DA PARTE BAIXA 14

Continuação: CLRF TMR2 MOVLW B'00000100' ; -> T2CKPS0 - PRESCALE - 00 = 1:1 ; --> T2CKPS1 ; ---> TMR2ON ; ----> TOUTPS0 - POSTSCALE - 0000 = 1:1 ; -----> TOUTPS1 ; ------> TOUTPS2 ; -------> TOUTPS3 ; --------> NÃO IMPLEMENT. MOVWF T2CON MOVLW B'00001100' ; CONTROLE DO PWM ; -> CCP1M0 - SELEÇÃO DE MODO DO CCP1-11XX PARA PWM ; --> CCP1M1 ; ---> CCP1M2 ; ----> CCP1M3 ; -----> CCP1Y - PINOS LSB DO DUTY CYCLE DO PWM ; ------> CCP1X ; -------> NÃO IMPLEMENT. ; --------> NÃO IMPLEMENT. MOVWF CCP1CON GOTO $ END 15

Programa principal (C): unsigned short i; void main() { TRISC = 0x00; // PORTC COMO SAÍDA PORTC = 0x00; // VALOR INICIAL = 00 Pwm_Init(20000); Pwm_Start(); while(1) { for (i = 0; i <= 255; i++) { Pwm_Change_Duty(i); Delay_ms(5); } } } // INICIALIZA O MODULO PWM COM 20kHz // INICIA PWM // INCREMENTA O DUTY CYCLE A CADA 10ms 16