Microprocessadores Tópicos Esp. em Eletrônica Industrial

Documentos relacionados
Microprocessadores Tópicos Esp. em Eletrônica Industrial

Microprocessadores Tópicos Esp. em Eletrônica Industrial

Microprocessadores Tópicos Esp. em Eletrônica Industrial

Microprocessadores Tópicos Esp. em Eletrônica Industrial

Microprocessadores Tópicos Esp. em Eletrônica Industrial

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

Sistemas Embarcados:

Plano de Aula. 1 o semestre. Aula número 010 Interrupções Internas Timers. Uso de interrupções internas produzidas pelos timers

Sistemas Digitais e Microcontrolados

Microcontroladores 2 EL08D Turma M12

Sistemas Digitais e Microcontrolados

Jadsonlee da Silva Sá

CONTROLE DE UM SERVO MOTOR

Departamento de Engenharia Elétrica SEL 384 Laboratório de Sistemas Digitais I PRÁTICA Nº5B

UTILIZAÇÃO DE MICROCONTROLADORES DE ALTA CAPACIDADE: Linha C2000 Texas Instruments

Interrupções do Interrupções Gabriel Kovalhuk. UTFPR DAELN - Tecnologia em Mecatrônica Industrial

CONTADORES DIGITAIS (Unidade 6)

Sistemas Digitais e Microcontrolados

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

Interrupções e Timers

FELIPE CAMPOS DE FREITAS CONFIGURAÇÃO E GERENCIAMENTO DO KIT EKI LM3S8962 PARA ACIONAMENTO E CONTROLE DE MÁQUINAS ELÉTRICAS

28/05/2017. Interface com Conversores A/D e D/A. Interface com Conversores A/D e D/A SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Introdução à Programação II. Nino Pereira

OS CONTADORES DIGITAIS

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores

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

Interface com A/D e D/A

RTC Real Time Counter e Pinos do JM60

Microcontroladores: Programação em C

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

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

CANAL ANALÓGICO

ELETRÔNICA DIGITAL APLICADA Aula 8- Registradores de deslocamento como contadores

Arquitetura PIC - PWM

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

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

Registradores de Deslocamentos.

Universidade Federal do ABC

Arduino. Aula 3 motores

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

Conversor Analógico Digital do MSP430G2553

Sistemas Microprocessados

Microcontroladores. Contadores e Temporizadores. Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão

Universidade Federal de Pernambuco

UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE CIÊNCIA E TECNOLOGIA ENGENHARIA ELÉTRICA

Sistemas de Controle 2

Aula 10 Microcontrolador Intel 8051 Parte 1

INTRODUÇÃO: MICROCONTROLADORES

Lista de Exercícios 1

FEI PROVA P1 SISTEMAS DIGITAIS II - NE /04/ TURMA A - Duração 80 min Sem Consulta Interpretação faz parte da prova. N.

Sistema Digitais. Bacharelado de Informática UEM DIN - Prof. Elvio 2017

Circuitos de Comunicação. Prática 1: PWM

CAPÍTULO 7 CONTADORES

Redes de Computadores I

Redes de Computadores

UNIVERSIDADE FEDERAL DO PARANÁ JOÃO PAULO CAMELO CUNHA MATEUS LOVATEL MATIAS INVERSOR PROJETO 1: CONTROLE DE CORRENTE NA CARGA (GRID-TIE)

Sistemas Microcontrolados

Eletrônica e Circuitos Digitais Aula 14 Contadores e Registradores. Daniel S Batista

Técnicas de Interface: conversor A/D e D/A

EL08D - MICROCONTROLADORES

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

Mapeamento de memória e conexões do Controlador CP-WSMIO2DI2DO

Lógica Reconfigurável

AULA 5 Aplicação com divisor de freqüência com o CI Livro Texto pág.197 a 200.

Eletrônica Digital para Instrumentação. Herman Lima Jr.

EPUSP PCS 2011/2305/2355 Laboratório Digital. Freqüencímetro

Sistemas Microcontrolados

Sistemas Microcontrolados

EXPERIÊNCIA 4: IMPLEMENTAÇÃO DE UM CRONÔMETRO

Eletrônica Digital II

Lista de Exercícios 2

Arquitetura PIC - Interrupções e timers + Motores de passo

PLANO DE ENSINO. Período Letivo:2016-1

NOTAS DE AULA NE7720 SISTEMAS DIGITAIS - II AULA

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

HardFlex 4VFI e 2 VFO

Parte II Arquitetura. professorferlin.blogspot.com. professorferlin.blogspot.com. Sociedade Paranaense de Ensino e Informática

Montagem do Robô. Especificações. domingo, 28 de agosto de 11

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

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

Ex.: Rotinas de tempo

Profª Danielle Casillo

TREINADOR LÓGICO. O treinador lógico destina-se ao desenvolvimento de experiências com circuitos digitais em Laboratório Convencional.

PROJETOS DE TÓPICOS ESPECIAIS 2º SEMESTRE 2015 Professor Dr. Amauri Amorin Assef. Iniciar enviando os caracteres para escrever UTFPR na tela do PC:

TIMER2 no ATMEL AT89S8252 TIMER 2 - CARACTERISTICAS TIMER 2 MODOS

Sistemas Digitais Módulo 10 Circuitos Sequenciais: Latches e Flip-Flops

UFJF FABRICIO CAMPOS

TABELA DO F/F. T Q n Q n+1

Prof. Gabriel Kovalhuk

Sistemas Microprocessados

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

MICROCONTROLADORES 2 EL08D - TURMA M12

INSTITUTO TECNOLÓGICO DE AERONÁUTICA DIVISÃO DE ENGENHARIA ELETRÔNICA DEPARTAMENTO DE ELETRÔNICA APLICADA TIMER 555

TABELA DO F/F. T Q n Q n+1

Mapeamento de memória e conexões do Controlador CP-WS12EX-32K/OEM

ENGC40 - Eletrônica Digital

Capítulo 3 Circuitos lógicos seqüenciais: flip-flops, latches, contadores e registradores

Transcrição:

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ - UTFPR DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA - DAELT CURSO DE ENGENHARIA INDUSTRIAL ELÉTRICA MESTRADO EM SISTEMAS DE ENERGIA - PPGSE Microprocessadores Tópicos Esp. em Eletrônica Industrial - amauriassef@utfpr.edu.br paginapessoal.utfpr.edu.br/amauriassef 1

Tiva C TM4C123GH6PM Módulo PWM (Pulse Width Modulation Modulação por Largura de Pulso) - pag. 1230 A modulação da largura do pulso (PWM) é uma técnica poderosa para a codificação digital dos níveis de sinal analógico Os contadores de alta resolução são usados para gerar uma onda quadrada, e o ciclo de funcionamento da onda quadrada é modulado para codificar um sinal analógico. As aplicações típicas incluem trocas de alimentação e controle do motor. 2

PWM digital Referencia Vo (desejada) Realimentação Vo (medida) Amplificador de erro + Amplificador - + Amplificador - Modulador Saída do controlador Forma de onda Triangular/Dente de serra 3

O TM4C123GH6PM contém 2 módulos PWM: Cada módulo com 4 blocos geradores PWM e um bloco de controle, para um total de 16 saídas PWM (3 blocos para um sistema trifásico) O bloco de controle determina a polaridade dos sinais PWM, e quais sinais são transmitidos para os pinos. Bloco 0 com geradores 0 a 3 Bloco 1 com geradores 0 a 3 Cada bloco gerador PWM produz dois sinais PWM que compartilham o mesmo temporizador e frequência e podem ser programados com ações independentes ou como um único par de sinais complementares com atrasos de tempo morto inseridos. Os sinais de saída, pwma e pwmb', dos blocos de geração PWM são gerenciados pelo bloco de controle de saída antes de serem passados para os pinos do dispositivo como MnPWM0 e MnPWM1 ou MnPWM2 e MnPWM3 e assim por diante. 4

Características Uma condição de falha (fault) de manuseio de entradas para fornecer rápido desligamento de baixa latência e evitar danos ao motor a ser controlado, para um total de duas entradas Um contador de 16 bits (máximo 65535) Funciona no modo decrescente ou crescente/decrescente Frequência de saída controlada por um valor de carga de 16 bits As atualizações do valor da carga podem ser sincronizadas Produz sinais de saída em zero e valor de carga O PWM tem duas opções de fonte de relógio: Clock do sistema Clock de sistema pré-dividido Dois comparadores PWM As atualizações do valor do comparador podem ser sincronizadas Produz sinais de saída na correspondência dos valores 5

Gerador de sinal PWM O sinal PWM de saída é construído com base em ações tomadas como resultado do contador e dos sinais de saída do comparador PWM Produz dois sinais PWM independentes Gerador de tempo morto Produz dois sinais PWM com atrasos programáveis de tempo morto adequados para controle de uma ponte-h Pode ser ignorado, deixando os sinais PWM de entrada não modificados Pode iniciar uma sequência de amostras do ADC Possui um bloco de controle que determina a polaridade dos sinais PWM e quais os sinais são passados para os pinos 6

O bloco de controle PWM possui as seguintes opções: Ativação de saída PWM de cada sinal PWM Inversão de saída opcional de cada sinal PWM (controle de polaridade) Manipulação de falhas (faults) opcional para cada sinal de PWM Sincronização de temporizadores nos blocos geradores PWM Sincronização de atualizações de temporizador / comparador em todos os blocos do gerador PWM Sincronização PWM estendida de atualizações de temporizador / comparador em todos os blocos do gerador PWM Sumário do estado de interrupção dos blocos do gerador PWM Gerenciamento de falhas PWM ampliado, com múltiplos sinais de falha, polaridades programáveis e filtragem Os geradores PWM podem ser operados independentemente ou sincronizados com outros geradores 7

Diagrama em blocos do módulo PWM Sinais complementares PWM 0 8

Diagrama em blocos do módulo gerador PWM 9

Pinos 10

Comparadores LOAD é o valor no registro PWMnLOAD COMPA é o valor no registro PWMnCMPA COMPB é o valor no registro PWMnCMPB load é o sinal interno que possui um pulso alto de largura de ciclo único do clock, quando o contador == ao valor da carga zero é o sinal interno que tem um pulso alto de largura do ciclo único do relógio quando o contador é zero cmpa é o sinal interno que possui um pulso alto de largura do ciclo único do clock, quando o contador é igual a COMPA cmpb é o sinal interno que possui um pulso alto de largura do ciclo único do clock, quando o contador é igual a COMPB dir é o sinal interno que indica a direção de contagem 11

Modo PWM decrescente Modo PWM crescente-descrescente 12

Gerador de tempo morto Os sinais pwma e pwmb produzidos por cada gerador PWM são passados para o gerador de tempo morto Se o gerador da banda morta estiver desativado, os sinais PWM simplesmente passam para os sinais pwma 'e pwmb' não modificados. Com o gerador habilitado, o sinal pwmb é perdido e dois sinais PWM são gerados com base no sinal pwma. O primeiro sinal PWM de saída, pwma, é o sinal pwma com borda de subida atrasada por um valor programável. O segundo sinal PWM de saída, pwmb ', é a inversão do sinal pwma com um atraso programável adicionado entre a borda de descida do sinal pwma e a margem ascendente do sinal pwmb '. 13

Condições de falha (fault) Uma condição de falha é aquela em que o controlador deve ser sinalizado para parar a função PWM normal e, em seguida, configure os sinais MnPWMn para um estado seguro. Duas situações básicas causam condições de falha: O microcontrolador está paralisado e não pode realizar a computação necessária no tempo necessário para o controle de movimento Um erro ou evento externo é detectado Cada gerador PWM pode usar as seguintes entradas para gerar uma condição de falha: Pino MnFAULTn Uma parada do controlador gerada pelo depurador O gatilho de um comparador digital ADC 14

Bloco de controle de saída O bloco de controle de saída cuida do condicionamento final dos sinais pwma 'e pwmb' antes de ir para os pinos como os sinais MnPWMn. Através de um único registro, o registro PWM Output Enable (PWNENABLE), o conjunto de sinais PWM efetivamente habilitados para os pinos podem ser modificados. Esta função pode ser usada, por exemplo, para executar a comutação de um motor CC sem escova com uma única gravação de registro (e sem modificar os geradores PWM individuais, que são modificados pelo loop de controle de feedback). Além disso, a atualização dos bits no registro PWMENABLE pode ser configurada para ser imediata ou localmente ou globalmente sincronizada para a próxima atualização síncrona usando o registro PWM Enable Update (PWMENUPD). 15

Métodos de sincronização Cada módulo PWM fornece quatro geradores PWM, cada um fornecendo duas saídas PWM que podem ser usadas em uma grande variedade de aplicações. De um modo geral, o PWM é usado em uma das duas categorias de operação: Não-sincronizado: O gerador PWM e seus dois sinais de saída são usados sozinhos, independentemente de outros geradores PWM Sincronizado: O gerador PWM e seus dois sinais de saídas são usados em conjunto com outros geradores PWM usando uma base de tempo comum e unificada. Se vários geradores PWM estiverem configurados com o mesmo valor de carga contador, a sincronização pode ser usada para garantir que eles também tenham o mesmo valor de contagem (os geradores PWM devem ser configurados antes de serem sincronizados). Com esta característica, mais de dois sinais MnPWMn podem ser produzidos com uma relação conhecida entre as bordas desses sinais porque os contadores sempre têm o mesmo valores. 16

Inicialização e configuração: O exemplo mostra como inicializar o PWM Generator 0 com uma frequência de 25 khz (clock do sistema de 20 MHz), duty cycle de 25% no pino MnPWM0 e duty cycle de 75% no pino MnPWM1. 1) Ative o relógio PWM escrevendo um valor de 0x0010.0000 para o registro RCGC0 no módulo de controle do sistema (p. 456). 2) Ative o relógio no módulo GPIO apropriado através do registro RCGC2 no módulo de Controle do Sistema (p. 464). 3) No módulo GPIO, habilite os pinos apropriados para sua função alternativa usando o registro GPIOAFSEL. Para determinar quais GPIOs devem ser configurados (p. 1344). 4) Configure os campos PMCn no registro GPIOPCTL para atribuir os sinais PWM aos pinos apropriados (consulte a p. 688). 5) Configure o registro de Configuração do Relógio de Modo de Corrida (RCC) no módulo de Controle do Sistema para usar a divisão PWM (USEPWMDIV) e o divisor (PWMDIV) para dividir por 2 (000). 17

6) Configure o gerador PWM para o modo de contagem regressiva com atualizações imediatas para os parâmetros. Escreva o registro PWM0CTL com um valor de 0x0000.0000. Escreva o registro PWM0GENA com um valor de 0x0000.008C. Escreva o registro PWM0GENB com um valor de 0x0000.080C. 7) Defina o período. Para uma frequência de 25 KHz, o período = 1 / 25,000 ou 40 µs. A fonte do relógio PWM é de 10 MHz; o relógio do sistema dividido por 2. Assim, existem 400 tiques do relógio por período Use este valor para configurar o registro PWM0LOAD. No modo contagem decrescente, defina o campo LOAD no registro PWM0LOAD no período solicitado menos um. Escreva o registro PWM0LOAD com um valor de 0x0000.018F = 399 18

8) Defina a largura de pulso do pino MnPWM0 para um ciclo de trabalho de 25% (na verdade 75% - cnt. decrescente). Escreva o registro PWM0CMPA com um valor de 0x0000.012B = 299 9) Defina a largura de pulso do pino MnPWM1 para um ciclo de trabalho de 75%. Escreva o registro PWM0CMPB com um valor de 0x0000.0063 = 99 10) Inicie os temporizadores no gerador PWM 0. Escreva o registro PWM0CTL com um valor de 0x0000.0001. 11) Ativar saídas PWM. Escreva o registro PWMENABLE com um valor de 0x0000.0003. 19

APIs do TivaWare Projeto Timer Incluir o arquivo pwm.h #include "driverlib/pwm.h" //************************************************************************* / / API Function prototypes //************************************************************************* extern void PWMGenConfigure(uint32_t ui32base, uint32_t ui32gen, uint32_t ui32config); extern void PWMGenPeriodSet(uint32_t ui32base, uint32_t ui32gen, uint32_t ui32period); extern uint32_t PWMGenPeriodGet(uint32_t ui32base, uint32_t ui32gen); extern void PWMGenEnable(uint32_t ui32base, uint32_t ui32gen); extern void PWMGenDisable(uint32_t ui32base, uint32_t ui32gen); extern void PWMPulseWidthSet(uint32_t ui32base, uint32_t ui32pwmout, uint32_t ui32width); extern uint32_t PWMPulseWidthGet(uint32_t ui32base, uint32_t ui32pwmout); extern void PWMDeadBandEnable(uint32_t ui32base, uint32_t ui32gen, uint16_t ui16rise, uint16_t ui16fall); 20

Exemplo: Frequencia de PWM de 250 Hz e duty de 0,01% (clock de 50MHz/4) void Init_PWM (void){ SysCtlPWMClockSet(SYSCTL_PWMDIV_4); //50/4 = 12,5MHz SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM1); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); GPIOPinConfigure(GPIO_PF1_M1PWM5); GPIOPinTypePWM(GPIO_PORTF_BASE, GPIO_PIN_1); PWMGenConfigure(PWM1_BASE, PWM_GEN_2,PWM_GEN_MODE_DOWN PWM_GEN_MODE_NO_SYNC); PWMGenPeriodSet(PWM1_BASE, PWM_GEN_2, 50000); PWMPulseWidthSet(PWM1_BASE, PWM_OUT_5, 50); IntMasterEnable(); PWMIntEnable(PWM1_BASE, PWM_INT_GEN_2); PWMGenIntTrigEnable(PWM1_BASE, PWM_GEN_2, PWM_INT_CNT_LOAD); IntEnable(INT_PWM1_2); PWMOutputState(PWM1_BASE, PWM_OUT_5_BIT, true); PWMGenEnable(PWM1_BASE, PWM_GEN_2); } 21

Interrupção do PWM //***************************************************************************** // // The interrupt handler for the for PWM1 interrupts. // //***************************************************************************** void PWM1_GEN2_IntHandler(void) { // Clear the PWM0 LOAD interrupt flag. PWMGenIntClear(PWM1_BASE, PWM_GEN_2, PWM_INT_CNT_LOAD); // If the duty cycle is less or equal to 75% then add 0.1% to the duty // cycle. Else, reset the duty cycle to 0.1% cycles. Note that 50 is // 0.01% of the period (50000 cycles). } if((pwmpulsewidthget(pwm1_base, PWM_OUT_5) + 50) <= ((PWMGenPeriodGet(PWM1_BASE, PWM_GEN_2) * 3) / 4)) { PWMPulseWidthSet(PWM1_BASE, PWM_OUT_5, PWMPulseWidthGet(PWM1_BASE, PWM_OUT_5) + 50); } else { PWMPulseWidthSet(PWM1_BASE, PWM_OUT_5, 50); } 22

Referências Main page: www.ti.com/launchpad Tiva C Series TM4C123G LaunchPad: http://www.ti.com/tool/ek-tm4c123gxl TM4C123GH6PM folder: http://www.ti.com/product/tm4c123gh6pm LaunchPad Wiki: www.ti.com/launchpadwiki Valvano, Jonathan. Embedded Systems (Introduction to Arm\xae Cortex\u2122-M Microcontrollers) (p. 260). Jonathan Valvano. E Microcontroladores ARM7 (Philips - Família LPC213x) : O poder dos 32 Bits - teoria e prática / Daniel Rodrigues de Sousa Microcontroladores ARMTM CortexTM-M3 (família LPC175x/6x da NXP) : Programação em linguagem C / Alberto Noboru Miyadaira Introdução aos microcontroladores ARM Cortex-M4 Tiva C Series da Texas Instruments, Stéfano Andrade de Souza, Março de 2015 23