Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Trabalho de hardware (1), Trabalhos de Engenharia Elétrica

Trabalho de Hardware FAST-PWM

Tipologia: Trabalhos

2016

Compartilhado em 09/06/2016

marina-nunes-8
marina-nunes-8 🇧🇷

3 documentos

1 / 5

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
CENTRO DE EDUCAÇÃO SUPERIOR DE BRASÍLIA – CESB
INSTITUTO DE EDUCAÇÃO SUPERIOR DE BRASÍLIA – IESB
TRABALHO
DE
HARDWARE
Alunos:
Arthur Martins Carvalho – 1012081049
Caio Lucas Martins Vieira Barbosa – 1012081001
Julio César Cruz de Freitas Borges -1012081032
Marina Nunes P. de Araujo – 1012081018
Objetivo:
Desenvolver um controle remoto da velocidade de um motor/intensidade de
uma lâmpada em 20 níveis usando FAST-PWM.
Dois botões devem ser utilizados para gerar interrupções para incrementar ou
decrementar o nível. O nível atual deve ser mostrado em displays de 7 segmentos.
Display(s) e botões ligados ao microcontrolador 1.
O valor de nível selecionado deve ser enviado ao microcontrolador remoto
ao se pressionar um terceiro botão.
Sendo que todos os botões devem ser interfaceados utilizando interrupções
externas.
O segundo microcontrolador estará conectado apenas ao microcontrolador
1 e ao motor/lâmpada
Materiais utilizados:
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe Trabalho de hardware (1) e outras Trabalhos em PDF para Engenharia Elétrica, somente na Docsity!

CENTRO DE EDUCAÇÃO SUPERIOR DE BRASÍLIA – CESB

INSTITUTO DE EDUCAÇÃO SUPERIOR DE BRASÍLIA – IESB

TRABALHO

DE

HARDWARE

Alunos:

Arthur Martins Carvalho – 1012081049 Caio Lucas Martins Vieira Barbosa – 1012081001 Julio César Cruz de Freitas Borges - Marina Nunes P. de Araujo – 1012081018

Objetivo:

Desenvolver um controle remoto da velocidade de um motor/intensidade de uma lâmpada em 20 níveis usando FAST-PWM. Dois botões devem ser utilizados para gerar interrupções para incrementar ou decrementar o nível. O nível atual deve ser mostrado em displays de 7 segmentos. Display(s) e botões ligados ao microcontrolador 1. O valor de nível selecionado deve ser enviado ao microcontrolador remoto ao se pressionar um terceiro botão. Sendo que todos os botões devem ser interfaceados utilizando interrupções externas. O segundo microcontrolador estará conectado apenas ao microcontrolador 1 e ao motor/lâmpada

Materiais utilizados:

  • Arduíno UNO

-Display de sete segmentos

  • Chave on/off
  • Resistores de 220 Ω
  • Fios
  • Protoboard

PWM:

A técnica conhecida como PWM ( Pulse Width Modulation,ou modulaçao de largura em pulso), serve para controlar a velocidade dos motores de corrente contínua, e assim controlando a velocidade dos mesmos, mantendo o torque ainda que em baixas velocidades, garantindo partidas suaves mesmo quando há uma carga maior sobre os motores. Um motor de corrente contínua converte energia elétrica em energia mecânica, como qualquer motor, mas deve ser alimentado em tensão contínua por meio de baterias ou pilhas. O esquemático de um PWM seria assim:

Quando se tem uma interrupção, isso significa que é basicamente uma pausa no programa, enquanto o processador trata de outra coisa mais importante. O interruptor estando aberto não há corrente na carga e a potência aplicada é nula, já estando fechada, a carga recebe a tensão total da fonte e a potência aplicada é máxima. Esse interruptor é de ação muito rápida e uma carga que deve ser controlada, assim, pressionando e soltando o interruptor um grande número de vezes por segundo, de tal forma que metade do tempo ele fica ligado e metade desligado, o resultado seria uma onda quadrada.

CLEARBIT(EICRA, ISC00); //HABILITANDO INTERRUPCAO EM BORDA DE

DESCIDA PARA INTERRUPCAO 0

SETBIT(EICRA, ISC11); //HABILITANDO INTERRUPCAO EM BORDA DE

DESCIDA PARA INTERRUPCAO 1

CLEARBIT(EICRA, ISC10); //HABILITANDO INTERRUPCAO EM BORDA DE

DESCIDA PARA INTERRUPCAO 1

SETBIT(EIMSK,INT0);//HABILITANDO A INTERRUPCAO 0

SETBIT(EIMSK,INT1);//HABILITANDO A INTERRUPCAO 1

/*--------------------------- FIM BLOCO DE CONFIGURACAO DE

INTERRUPCOES---------------*/

//OCR1A=0;

void loop (){ //NIVEL DE TEMPO EM ALTA/VARIADO A CADA VALOR SE INCREMENTADO

/if(OCR1A == 252){ while(OCR1A != 0){ OCR1A-=12 ; delay(50); Serial.println(OCR1A); } } else{ OCR1A+=12; delay(50); Serial.println(OCR1A); }/ }

ISR(INT0_vect){ //interrupcao para ligar led

SETBIT(PORTB,PORTB5);

if(OCR1A<252){ OCR1A+=12; delay(50); Serial.println(OCR1A); } }

ISR(INT1_vect){ //interrupcao para desligar led

CLEARBIT(PORTB,PORTB5);

if(OCR1A >0){ OCR1A-=12 ; delay(50); Serial.println(OCR1A); } }

Conclusão: A realização desse trabalho desenvolveu e aprimorou o conhecimento na parte de desenvolvimento de software e na construção do hardware externo utilizando arduíno.