Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Esteira com 8051 
 
 
 
Alan Vieira Giávera | RA 19160-1 
Carlos Eduardo Buffo | RA 19173-4 
Gustavo Sartori Martins | RA 19266-6 
Haroldo Thales de Lima | RA 19268-2 
Helton Possidonio Viola | RA 19501-6 
Jander Rogero Policani | RA 18356-6 
Wagner Fraga Lameu | RA 19366-4 
 
 
 
São João da Boa Vista 
06/2015 
2 
 
Sumário 
1 INTRODUÇÃO ................................................................................................................... 3 
2 OBJETIVO GERAL E ESPECÍFICO.................................................................................. 3 
3 REFERENCIAL TEÓRICO ................................................................................................ 4 
3.1 ESTEIRA TRANSPORTADORA ............................................................................... 4 
3.2 MOTOR / REDUTOR .................................................................................................. 5 
3.3 CHAVE FIM DE CURSO ............................................................................................ 5 
3.4 FAMÍLIA 8051 ............................................................................................................. 6 
3.4.1 ARQUITETURA ................................................................................................... 6 
3.4.2 PINAGEM ............................................................................................................. 7 
4 DIAGRAMA ........................................................................................................................ 9 
5 LINGUAGEM DE PROGRAMAÇÃO ............................................................................. 10 
5.1 ASSEMBLY ............................................................................................................... 10 
5.2 CÓDIGO FONTE ....................................................................................................... 10 
6 CIRCUITO ELÉTRICO ..................................................................................................... 13 
7 BIBLIOGRAFIA ................................................................................................................ 14 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3 
 
1 INTRODUÇÃO 
O projeto visa à otimização do tempo gasto no processo geral da produção industrial, 
especificamente nas indústrias do ramo de embalagem de materiais como economia de tempo 
gasto no processo além de ser uma questão econômica, pois procura incluir a tecnologia para 
facilitar os processos na área. 
A temática da realização da esteira também pensa em questões econômicas, pois um 
processo automatizado oferece mais eficiência, reduz mão de obra e o tempo gasto assim 
aumentando o lucro obtido no final da produção. O projeto facilita o empacotamento de 
produtos em sua embalagem de forma automatizada, então a esteira foi pensada para tornar os 
processos mais eficientes, seguros, rápidos e econômicos, pois o tempo gasto em um sistema 
automatizado é bem menor do que aquele que é realizado por manufatura. 
A ideia da realização da esteira também surgiu pensando na segurança do operador, 
pois durante a realização do processo automatizado o operador fica livre de acidentes, pois o 
mesmo praticamente não terá contato com o produto, impossibilitando o risco de cair algo 
sobre ele e também o movimento repetitivo, que é um dos principais fatores de afastamento de 
trabalho. 
A realização desta esteira também nos permitiu aprender como montar e realizar a 
automatização de determinado processo, além dos elementos necessários para o controle deste 
processo como microprocessador 8051, linguagem de programação Assembly, sensores, 
componentes elétricos e uma ideia básica em projetos mecânicos. 
 
2 OBJETIVO GERAL E ESPECÍFICO 
O principal objetivo deste projeto foi desenvolver e automatizar uma esteira 
transportadora utilizada para a contagem de embalagem de produtos. Para isso, será utilizado 
um microcontrolador da Família 8051, um motor monofásico, uma chave fim de curso, duas 
4 
 
switchs e um display de sete segmentos. Foi utilizada para a programação do microcontrolador 
a linguagem Assembly. 
O objetivo específico foi montar um circuito no qual faça um controle da contagem 
embalagens de produto, aumentando a produtividade e diminuir o esforço humano, 
desenvolvendo um programa de controle utilizando a linguagem Assembly e Projetando um 
sistema de controle através de uma esteira transportadora, no qual possui um motor elétrico 
que movimenta a esteira a partir de um comando do operador, que utiliza um fim de curso para 
a contagem de cinco produtos, após essa contagem a esteira para por cinco segundos e reinicia 
sua lógica novamente. 
 
 
3 REFERENCIAL TEÓRICO 
3.1 ESTEIRA TRANSPORTADORA 
 Geralmente uma esteira transportadora consiste em duas ou mais polias que 
movimentam uma superfície em que determinados materiais ou objetos são transportados. É 
muito utilizada no ramo industrial. Cada componente tem um desempenho importante no 
funcionamento do transportador. 
 Os sistemas de esteiras transportadoras existem desde 1919, e servem para redução de 
tempo e custos nas indústrias, eles podem ser automatizados ou não, dependendo da aplicação 
que cada projeto necessita. 
A composição da esteira utilizada no projeto: 
1. Estrutura física de sustentação foi fabricada em aço carbono e pintura em esmalte 
sintético azul. 
2. Duas polias sincronizadas com rolamento, sendo uma fixa (mancal e fixação do eixo 
de rotação) e a outra móvel (para ajuste de tensionamento da correia). 
3. Correia sincronizada (utilizada como meio de transporte dos objetos). 
5 
 
3.2 MOTOR / REDUTOR 
Os motores de corrente contínua (CC) ou motores DC (Direct Current), como também 
são chamados, são dispositivos que operam aproveitando as forças de atração e repulsão 
geradas por eletroímãs e imãs permanentes. 
Microredutor com motor de 24V. O eixo de saída pode ser fornecido no comprimento 
que desejar. Pode ser fixado através dos prisioneiros ou dos ressaltos roscados. 
O motor utilizado no projeto possui tensão nominal de 24V e corrente média de 0,1 A, 
equipado com um redutor da marca Merkle-Korff Industries Mod. KF. 
3.3 CHAVE FIM DE CURSO 
A Chave fim de curso é um termo genérico usado para referir-se a um comutador 
elétrico que é capaz de ser atuado por uma força física muito pequena. Ela é muito comum 
devido ao seu pequeno custo e extrema durabilidade, normalmente maior que um milhão de 
ciclos e acima de dez milhões de ciclos para modelos destinados a aplicações pesadas. Possui 
um contanto normal fechado, que quando a extremidade e tocada, comuta o contato, evitando 
a passagem da corrente ou permitindo a passagem da corrente variando de acordo com sua 
conexão. 
Foi escolhida para nosso projeto uma chave fim-de-curso da marca KAP modelo MV5, 
este dispositivo possui 2 contatos, COM (Comum), NO (Normalmente aberto) e NC 
(Normalmente fechado). O mesmo suporta uma corrente máxima de 10 A e uma tensão 
máxima de 250V ~. 
 
 
 
6 
 
3.4 FAMÍLIA 8051 
O microcontrolador 8051 é um componente que possui, num único chip, além de uma 
CPU, elementos tais como memórias ROM e RAM, temporizadores/contadores, PWM, 
conversor AD, canais de comunicação e conversores analógico-digitais. Esta característica 
diferencia os sistemas baseados em microcontroladores daqueles baseados em 
microprocessadores, onde normalmente se utilizam vários componentes para implementar 
essas funções. 
Com isso, os microcontroladores permitem a implementação de sistemas mais compactos e 
baratos do que aqueles baseados em microprocessadores. 
3.4.1 ARQUITETURA 
A arquitetura do 8051 é disposta da seguinte maneira: 
 Memória de programa e memória de dados; 
 Portas de I/O; 
 Comunicação Serial; 
 Contadores/ “Timers”; 
 Lógica para Controle de Interrupção; 
 Conversores A/D eD/A 
 CPU de 8 bits otimizado para aplicações de controle 
 Capacidade de processamento booleano (lógica de um único bit) 
 64 Kbytes de espaço de memória de programa 
 64 Kbytes de espaço de memória de dados 
 Kbytes de espaço de memória de programa “on chip” 
7 
 
 
 
3.4.2 PINAGEM 
O aspecto externo do 8051 é o da figura 0.4. Os pinos com nomes da forma P0.0, P0.1, 
P0.2 e P0.3, correspondem às quatro portas de E/S (P0 a P3). Note a dupla utilidade das portas 
P0 e P2, que ficam comprometidas com o uso de memória externa, assim como os pinos P3.6 
e P3.7. O sinal ALE (Address Latch Enable) permite fazer descriptografia dos dados e 
endereços na porta P0, conforme mostra o esquema da figura 1.4. Através do sinal PSEN 
(program storage enable), o controlador informa o mundo externo se a operação em 
andamento é uma leitura de instrução (acesso à memória de programa) ou um acesso à 
memória de dados. Este sinal permite que o processador tenha duas regiões distintas de 
memória externa, uma para armazenar código e outra para dados. Ambas ocupam os 
endereços de 0 a FFFFH (64 kB), num total de 128 kB. P3.0 - RxD/data - recepção serial 
assíncrona ou E/S de dados síncronos; 
8 
 
 
 
O pino EA é um sinal de entrada, através do qual o usuário escolhe se será utilizada a 
memória ROM interna ou se todo o programa será armazenado externamente. Os pinos da 
porta P3 também são utilizados para realizar certas funções especiais: 
 P3.1 - TxD/clock - transmissão porta serial assíncrona ou saída de clock p/ 
dados síncronos; 
 P3.2 - INT0 - entrada da interrupção 0 ou bit de controle para 
otemporizador/contador 0; 
 P3.3 - INT1 - entrada da interrupção 1 ou bit de controle para 
temporizador/contador ; 
 P3.4 - T0 - entrada de clock externo para o temporizador/contador 0; 
 P3.5 - T1 - entrada de clock externo para o temporizador/contador 1; 
 P3.6 - WR - sinal de escrita na memória de dados externa; 
 P3.7 - RD - sinal de leitura na memória de dados externa. A alimentação 
(5V) é feita pelo pino 40 e o GND é o pino 20; o cristal para o oscilador interno é 
conectado aos pinos 18 e 19. Finalmente, o pino 9, RST/VPD, é a entrada de reset; 
 
 
 
 
 
 
 
9 
 
4 DIAGRAMA 
 Podemos visualizar no diagrama a lógica utilizada para o funcionamento do projeto. 
 
10 
 
 
5 LINGUAGEM DE PROGRAMAÇÃO 
5.1 ASSEMBLY 
Assembly ou linguagem de montagem é uma notação legível por humanos para o 
código de máquina que uma arquitetura de computador específica usa. A linguagem de 
máquina, que é um mero padrão de bits, torna-se legível pela substituição dos valores em 
bruto por símbolos chamados mnemônicos. É utilizada em geral para programação em baixo 
nível de máquina (mais próxima do nível do hardware), sendo que cada família de 
processadores (Ex. X86, ARM, SPARC, MIPS) possui sua própria linguagem assembly, já 
que cada processador possui seu próprio conjunto de instruções embutidas. 
Muitos dispositivos programáveis (como microcontroladores) ainda são programados 
diretamente em assembly apesar de que a partir da década de 1970 muitos dispositivos 
passaram a ser programados em C. 
5.2 CÓDIGO FONTE 
 Abaixo podemos visualizar o código criado para nosso projeto: 
 
 SJMP INICIANDO 
 ;--------------------------------------------------------------------------------------- 
 ; FUNCAO INTERRUPCAO EXTERNA EMERGENCIA 
 ;--------------------------------------------------------------------------------------- 
 ORG 013H ; posição da memória da interrupção de memória 
 CLR P1.1 ;desliga o rele do motor 
 CLR P1.2 ;desliga o led 
 MOV P2, #11111001b ; exibe o valor E no display 
 EMERGENCIA: JNB P3.3, EMERGENCIA ; while=1 loop eterno 
 JB P1.0, NAOLIGA ; if(p1.0)=0 não liga o rele e o led 
 SETB P1.1 ; liga o rele do motor 
11 
 
 SETB P1.2 ; liga o led 
 NAOLIGA: ; função que pula o acionamento após a interrupção ter sido chamada 
 MOV P2, #00000000b ; inicia com display apagado 
 RETI ; função retorna especial da interrupção.. volta de onde foi chamada 
 
INICIANDO: ; função criada para pular a parte da interrupção 
ORG 048H ;inicia o programa na posição de memória 48 
CLR P1.1 ;desliga portas p1.1, por padrão o 8051 liga c/ todas em alto 
CLR P1.2 ;desliga portas p1.2 
MOV P2, #00111111b ; inicia o display com o numero 0 
SETB EA ; habilita todas as interrupções 
SETB EX1 ; habilita interrupção externa 1, que possui inicio na posição de memória 013h 
 
 MAIN: ; cria a função principal que vai ficar em loop infinito 
 JB P1.0, DESLIGATUDO ; if(p1.0)=0 , chama a função DESLIGATUDO 
 SWITCH: JB P1.0, SWITCH ; while(p1.0)=0 loop infinito 
 SETB P1.1 ; liga o rele do motor 
 SETB P1.2 ; liga o led 
 SJMP CHAVEFIMDECURSO ; chama função CHAVEFIMDECURSO 
 ;após rodar todas as funções retorna aqui, e faz o main novamente com a função abaixo 
 SJMP MAIN ;loop infinito do main 
 
 ;--------------------------------------------------------------------------------------- 
 ; FUNCAO CHAVEFIMDECURSO - DEPOIS DE CHAMADA 5 VEZES CHAMA 
DELAY 
 ;--------------------------------------------------------------------------------------- 
 CHAVEFIMDECURSO: 
 ; esperando caixa numero 1 
 CONTACAIXA: JNB P3.4, CONTACAIXA ; while(p3.4)=0 loop infinito 
 VOLTACHAVE: JB P3.4, VOLTACHAVE ; while(p3.4)=1 loop infinito 
 MOV P2, #00000110b ; exibe no display o valor 1 
 
 ; esperando caixa numero 2 
 CONTACAIXA1: JNB P3.4, CONTACAIXA1 
 VOLTACHAVE1: JB P3.4, VOLTACHAVE1 
 MOV P2, #01011011b ; valor 2 
 
 ; esperando caixa numero 3 
 CONTACAIXA2: JNB P3.4, CONTACAIXA2 
 VOLTACHAVE2: JB P3.4, VOLTACHAVE2 
 MOV P2, #01001111b ; valor 3 
12 
 
 
 ; esperando caixa numero 4 
 CONTACAIXA3: JNB P3.4, CONTACAIXA3 
 VOLTACHAVE3: JB P3.4, VOLTACHAVE3 
 MOV P2, #01100110b ; valor 4 
 
 ; esperando caixa numero 5 
 CONTACAIXA4: JNB P3.4, CONTACAIXA4 
 VOLTACHAVE4: JB P3.4, VOLTACHAVE4 
 MOV P2, #01101101b ; valor 5 
 
 CLR P1.1 ; desliga a esteira 
 JB P1.0, DESLIGATUDO ; if(p1.0)=0 , chama a função DESLIGATUDO 
 SJMP DELAY ; chama o delay de 5 segundos 
 RET ; Retorna para onde foi chamada 
 
 
 ;--------------------------------------------------------------------------------------- 
 ; FUNCAO DELAY - 5 SEGUNDOS 
 ;--------------------------------------------------------------------------------------- 
 DELAY: 
 MOV R0, #04Eh ; repete o tempo 78 vezes = 5000041 ciclos 
 SJMP TEMPO ; chama a função tempo 
 RET 
 
 
 ;--------------------------------------------------------------------------------------- 
 ; FUNCAO TEMPO - GERA DELAYS DE 64 ms 105us CADA VEZ QUE RODAR O R0 
 ;--------------------------------------------------------------------------------------- 
 TEMPO: ; Função que realmente da o delay 
 MOV TMOD,#00000001b ; Liga o timer 0 no modo 1 (16 bits) 
 MOV TH0,#005h ; joga p o mais significativo o valor 05h = 5d 
 MOV TL0,#0A5h ; joga p o menos significativo o valor A5h = 165d 
 SETB TR0 ; inicia o contador TR0 
 PARA: JNB TF0, PARA ; quando o contador chegar aos 64105 ciclos gera overflow e sai 
do loop 
 CLR TR0 ; Para o timer 0 
 CLR TF0 ; limpa o TF0 
 DJNZ R0, TEMPO ; while(R0!=0) repete a função tempo e joga R0-1 
 RET ; Retorna para onde foi chamada 
 
13 
 
 
 ;--------------------------------------------------------------------------------------- 
 ; FUNCAO DESLIGA PORTAS 
 ;--------------------------------------------------------------------------------------- 
 DESLIGATUDO: ; Função que desliga as portas do rele e led 
 CLR P1.1 ; desliga o rele do motor 
 CLR P1.2 ; desliga o led 
 RET 
 
 
 
6 CIRCUITOELÉTRICO 
 
Software utilizado: ISIS Proteus 8 
 
14 
 
 
7 BIBLIOGRAFIA 
 Chave fim de curso. Disponível em: 
 http://www.newadu.com.br/#!fim-de-curso/c1wrc. Acessado em 29 de maio de 2015 
 Esteira transportadora. Disponível em: 
 http://pt.wikipedia.org/wiki/Esteira_transportadora. Acessado em 29 de maio de 2015 
 Como funciona o motor de corrente contínua. Disponível em: 
http://www.newtoncbraga.com.br/index.php/como-funciona/3414-art476a. Acessado em 
29 de maio de 2015 
 Apostila HARI Microcontrolador 8051. Disponível em: 
http://user.das.ufsc.br/~werner/eel7030/8051/Apostila8051Hari.pdf Acessado em 29 de 
maio de 2015 
 Introdução às Linguagens de Programação/Assembly. Disponível em: 
http://pt.wikiversity.org/wiki/Introdu%C3%A7%C3%A3o_%C3%A0s_Linguagens_de_Pr
ograma%C3%A7%C3%A3o/Assembly Acessado em 02 de junho de 2015 
http://www.newadu.com.br/#!fim-de-curso/c1wrc
http://pt.wikipedia.org/wiki/Esteira_transportadora
http://www.newtoncbraga.com.br/index.php/como-funciona/3414-art476a
http://user.das.ufsc.br/~werner/eel7030/8051/Apostila8051Hari.pdf
http://pt.wikiversity.org/wiki/Introdu%C3%A7%C3%A3o_%C3%A0s_Linguagens_de_Programa%C3%A7%C3%A3o/Assembly
http://pt.wikiversity.org/wiki/Introdu%C3%A7%C3%A3o_%C3%A0s_Linguagens_de_Programa%C3%A7%C3%A3o/Assembly

Mais conteúdos dessa disciplina