Você está na página 1de 15

UNIVERSIDADE FEDERAL DO PARANÁ – UFPR

CHRISTIAN ALAIN CORAL - GRR20148507


ELIELTON MATIAS DA SILVA – GRR2014846396

RELATÓRIO DE PROJETO
TE311 - OFICINA DE PROJETOS EM ENGENHARIA ELÉTRICA

CURITIBA
2019
CHRISTIAN ALAIN CORAL - GRR20148507
ELIELTON MATIAS DA SILVA – GRR2014846396

RELATÓRIO DE PROJETO
TE311 - OFICINA DE PROJETOS EM ENGENHARIA ELÉTRICA

Proposta Inicial de Projeto a ser apresentado


como requisito parcial para obtenção de
aprovação na disciplina TE-311 – Oficina de
Projetos em Engenharia Elétrica no curso de
Engenharia Elétrica com Ênfase em Sistemas
Eletrônicos Embarcados (noturno), na
Universidade Federal do Paraná.

Prof. Dr. Marcos Vinicio Haas Rambo

CURITIBA
2019
LISTA DE ILUSTRAÇÕES
Figura 1: Sequência de Acionamento Controle Remoto IR.....................................................................4
Figura 2: Circuito – Acionamento Controle Remoto IR...........................................................................5
Figura 3: Circuito – Acionamento Bobinas Motor de Passo....................................................................6
Figura 4: Circuito – Circuito Controle IR com Motor de Passo................................................................7
SUMÁRIO
1 INTRODUÇÃO........................................................................................................4
2 DESENVOLVIMENTO.............................................................................................4
2.1 ETAPA 1.a..............................................................................................................4
2.2 ETAPA 1.b..............................................................................................................5

3 IMPLEMENTAÇÃO.................................................................................................6
3.1 Código e Circuito...................................................................................................6
3.2 Montagem e Testes.............................................................................................12

4 CONCLUSÃO........................................................................................................13
REFERÊNCIAS BIBLIOGRÁFICAS...........................................................................14
1 INTRODUÇÃO

A radiação é um dos meios mais poderosos de transmissão de energia, haja vista


que dispensa matéria para condução, tal como o ar. No espectro eletromagnético, com
faixa de comprimento de onda entre 10 -14m a 106m, se encontra, nas ondas com alta
frequência, os Raios Gama, seguido dos Raios-X, Raios UltraVioletas, Luz Visível
( 400nm a 700nm) seguido das ondas de baixa frequência que são as ondas
Infravermelhas, Micro-Ondas, e as Ondas de Rádio.

Neste projeto, propõe se estudar ondas Infravermelhas através do desenvolvimento


de uma aplicação desta , em um experimento com controle remoto, usada na maioria dos
televisores, home-theather, integrado com placa Arduino e com diversos componentes
acessórios ( LED’s, Resistores, CI’s).

2 DESENVOLVIMENTO

2.1 ETAPA 1.a

O projeto propõe o desenvolvimento de um projeto para controle de equipamentos (


que são originalmente controlados por infravermelho) passem a ser controlados por
computador. Desta forma, tem-se com objetivo receber uma mensagem em infravermelho,
em um dispositivo, receber no computador e repeti-la. Além disto, pretende-se armazenar
essas informações em memória EPROM, de forma que se evite a perda da informação
após desernegização da placa Arduino.

A sequência do processo deve seguir conforme Figura 1.

Figura 1: Sequência de Acionamento Controle Remoto IR

4
O projeto esquemático deve seguir conforme Figura 2

Figura 2: Circuito – Acionamento Controle Remoto IR

Os controles Remotos IR enviam uma sequência de pulsos em uma frequência


entre 36KHz e 40KHz. Será realizado, no código de programação do Arduino uma função
Loop que identificará se algum sinal foi IR foi recebido. Essa informação será memorizada
através da função StoreCode.

2.2 ETAPA 1.b

Como plano de testes, pretende-se realizar a escolha de algum componente


eletrônico (motor de passso) para fazer o acionamento pelo controle remoto.

Considerando que a maneira mais simples de fazer interface com um motor de


passo unipolar com Arduino é a utilização do chip ULN2003A, presente no driver
ULN2003. Este CI contém sete transistores Darlington e é como se houvesse sete
transistores TIP120 tudo em um pacote, suportando até 500 mA por canal e com uma
queda de tensão interna de cerca de 1V quando ligado.

Desta forma, é alimentado ao motor de passo +5V e o GND provenientes do


Arduino. O equema de ligação das bobinas segue conforme abaixo:

5
Figura 3: Circuito – Acionamento Bobinas Motor de Passo

Os pinos do motor de passo foram ligados conforme abaixo:

• N1 ao pino 4 do Arduino

• IN2 ao pino 5 do Arduino

• IN3 ao pino 6 do Arduino

• IN4 ao pino 7 do Arduino

3 IMPLEMENTAÇÃO

3.1 Código e Circuito

Para desenvolver este projeto, foram utilizados os seguintes componentes:

• 1 x Arduino UNO

• 1 x Kit controle remoto IR + Receptor IR

• 1 x Protoboard 830 pontos

• 1 x Led difuso verde

• 1 x Led difuso vermelho

• 1 x Led difuso amarelo

6
• 3 x Resistor 100 Ω

Para o plano de testes foi utilizado um motor de passo 28BYJ-48 com driver
ULN2003.

O circuito abaixo então ficou implementado conforme Figura 4.

Figura 4: Circuito – Circuito Controle IR com Motor de Passo

O código então ficou conforme abaixo:

#include <IRremote.h> // Biblioteca IRemote


#include <Stepper.h> // Biblioteca Motor de Passo

/********************************************************************************************/
// declarações:
const int stepsPerRevolution = 500;
int RECV_PIN = 4; // Arduino pino D11 conectado no Receptor IR
IRrecv irrecv(RECV_PIN); // criando a instância

7
decode_results results; // declarando os resultados
bool LED5, LED6, LED7 = false; // estado dos LEDs
int atraso = 250; // atraso após ligar LED
Stepper myStepper(stepsPerRevolution, 8,9,10,11); //ligacao ao motor

/********************************************************************************************/
void setup()
{
Serial.begin(9600); // Monitor velocidade 9600 bps
pinMode(10, OUTPUT); // LED vermelho no pino D05
pinMode(9, OUTPUT); // LED azul no pino D06
pinMode(8, OUTPUT); // LED verde no pino D07
irrecv.enableIRIn(); // Inicializa a recepção de códigos
myStepper.setSpeed(60); //Determina a velocidade inicial do motor
}
/********************************************************************************************/
// loops registradores
void loop()
{
results.value = 0; // zera os registradores
if (irrecv.decode(&results)) // se algum código for recebido
{
Serial.println(results.value, HEX); // imprime o HEX Code
irrecv.resume(); // reinicializa o receptor
}

switch(results.value)
{
case 0xFB004AB5: //botão 1
speedlow();
break;
case 0xFB000AF5://botão 2
speedmedium();
break;
case 0xFB0008F7:;//botão 3
speedhigh();
break;
}
}

8
/********************************************************************************************/
// fazer com que o motor de passo gire na velocidade intermediaria
void speedmedium()
{
//acionar o LED verde
{
digitalWrite(6, HIGH); // acende ou apaga LED verde (D06)
delay(atraso); // atraso de 250 ms
}
//Gira o motor na velocidade intermediaria
for (int i = 0; i<=2; i++)
{
myStepper.setSpeed(20);
myStepper.step(500);
delay(1000);
}
digitalWrite(6, LOW); // acende ou apaga LED verde (D05)
}
/********************************************************************************************/
// fazer com que o motor de passo gire na velocidade mais lenta
void speedlow()
{
//acionar o LED verde
{
digitalWrite(5, HIGH); // acende ou apaga LED verde (D05)
delay(atraso); // atraso de 250 ms
}
//Gira o motor na velocidade mais lenta
for (int i = 0; i<=2; i++)
{
myStepper.setSpeed(10);
myStepper.step(500);
delay(1000);
}
digitalWrite(5, LOW); // acende ou apaga LED verde (D05)
}
/********************************************************************************************/
// fazer com que o motor de passo gire na velocidade mais rápida
void speedhigh()

9
{
//acionar o LED verde
{
digitalWrite(7, HIGH); // acende ou apaga LED verde (D07)
delay(atraso); // atraso de 250 ms
}
//Gira o motor na velocidade mais lenta
for (int i = 0; i<=2; i++)
{
myStepper.setSpeed(30);
myStepper.step(500);
delay(1000);
}
digitalWrite(7, LOW); // acende ou apaga LED verde (D07)
}

O programa é iniciado com a declaração das bibliotecas:

• IRremote.h que é responsável por receber o sinal Infravermelho codificado.

• Stepper.h que é a biblioteca do motor de passo;

Em seguida, ocorre a etapa das declarações:

• stepsPerRevolution = 500 – quantidade de passos por revolução motor de passo;

Este valor foi obtido, tomando como base as engrenagens internas do motor:

Multiplicando-se as engrenagens maiores, se tem: 31 x 32 x 26 x 22 = 567.424

Multiplicando-se as engrenagens menores, se tem: 11 x 10 x 9 x 9 = 8910.

10
Dividindo-se o primeiro valor pelo segundo, tem-se: 63,6 = 64.

Ou seja, a redução ocorre numa razão de 64, ou seja, 1/64.

Para se ter a quantidade de passos por rotação, se multiplica (64 x 567424) / 8910,
obtendo então 4075 passos.

Isto é , são necessários aproximadamente 4075 passos no motor de passo interno,


para uma volta no eixo externo.

O RECV_PIN = 11, é a declaração do pino do Arduino que receberá o sinal do


controle. Em seguida é criada a instância IRrecv. Nessa parte, são setados os estados
dos LEDS.

É ainda atribuido um tempo de delay fixo de 0,250s.

No Loop dos registradores, então é feito uma condição que se houver o


recebimento de algum código então é feito a impressão do código na tela, em
hexadecimal. Em seguida, é utilizado o comado switch para os três casos:

• Botão 1 - caso seja recebido o valor 0xFB004AB5, então chama a função


speedlow();

• Botão 2 - caso seja recebido o valor 0xFB000AF5, então chama a função


speedmediumg;

• Botão 3 - caso seja recebido o valor 0xFB0008F7, então chama a função


speedhigh();

Cada uma das funções são listadas abaixo:

• A função speedlow, quando acionado o botão 1, é executada. Ela realiza o


acionamento do LED verde, e gira o motor no na velocidade mais lenta, por três
vezes (3 passos);

• A função speedmedium, quando acionado o botão 2, é executada. Ela realiza o


acionamento do LED amarelo e gira o motor no na velocidade intermediária, por
três vezes(3 passos);

11
• A função speedhigh, quando acionado o botão 3, é executada. Ela realiza o
acionamento do LED vermelho e gira o motor no na velocidade rápida, por três
vezes(3 passos);

3.2 Montagem e Testes.

Procedeu-se a montagem conforme o circuito planejado. Realizou-se os testes e o


motor acionou foi acionado perfeitamente.

Percebeu-se no entanto a sensibilidade do botão do controle nos acionamentos.


Diversas vezes o sinal recebido não corresponde ao código correto, mas FFFFFFFF, ou 0.

Além disto, obteve-se bastante dificuldade no cálculo de passos do motor, para que
o acionamento ( posição) ocorra conforme o planejado.

12
4 CONCLUSÃO

Neste experimento foi possível o estudo e a implementação de ondas


Infravermelhas, através de uma aplicação específica. Realizou-se a pesquisa sobre essa
tecnologia, em seguida o planejamento do código receptor desse tipo de onda, através da
placa Arduino Uno. Em seguida realizou a pesquisa sobre acionamento de motor de
passo, sendo que ainda foi possível integrar a utilização destas duas tecnologias.
As aplicações possíveis deste experimento pode ser em esteiras, acionadas por
controle remoto, controle de posição de antenas, de paineis solares, ou qualquer outro
equipamento que precisa se movimentar, mas que o acionamento precisa ser feito a
distância.
Concluindo, foi uma experiência interessante, já que possibilitou os acadêmicos
vivenciarem a prática de desenvolvimento de uma aplicação com o uso da plataforma
Arduino.

13
REFERÊNCIAS BIBLIOGRÁFICAS

Portal Vida de Silício. Disponível em <https://portal.vidadesilicio.com.br/controle-remoto-


e-modulo-receptor-infravermelho/. Acesso em 08/10/2019.

Portal Toda Matéria. Disponível em <https://www.todamateria.com.br/espectro-


eletromagnetico/. Acesso em 08/10/2019.

Portal Helios Quartz. Disponível em <https://www.heliosquartz.com/prodotti/tecnologia-


ir/?lang=pt-br. Acesso em 08/10/2019.

Filipe Flop. Disponível em <https://www.filipeflop.com/blog/controlando-um-motor-de-


passo-5v-com-arduino/>. Acesso em 27/11/2019.

Eletrogate. Disponível em <https://blog.eletrogate.com/guia-completo-do-motor-de-passo-


28byj-48-driver-uln2003/>. Acesso em 27/11/2019.

14

Você também pode gostar