curso de tecnologia em mecatrÔnica...
TRANSCRIPT
_____________________________________________________________________________
Faculdade de Tecnologia de Garça “Deputado Julio Julinho Marcondes de Moura”
CURSO DE TECNOLOGIA EM MECATRÔNICA INDUSTRIAL
MARIANI CARBONIERI
AUTOMAÇÃO APLICADA A UMA MESA DE COORDENADAS DE DOIS
GRAUS DE LIBERDADE
Garça 2015
_____________________________________________________________________________
Faculdade de Tecnologia de Garça “Deputado Julio Julinho Marcondes de Moura”
CURSO DE TECNOLOGIA EM MECATRÔNICA INDUSTRIAL
AUTOMAÇÃO APLICADA A UMA MESA DE COORDENADAS DE DOIS
GRAUS DE LIBERDADE.
Artigo Científico apresentado à Faculdade de Tecnologia de Garça – FATEC, como requisito para conclusão do Curso de Tecnologia em Mecatrônica Industrial, pela
seguinte comissão de professores:
Data 22 de junho de 2015.
_____________________________
Prof.º Orientador Ms. Ildeberto de Genova Bugatti.
Fatec Garça
_____________________________
Prof.º Ms. Edson Detregiachi Filho
Fatec Garça
_____________________________
Prof.º Edson Mancuzo
Fatec Garça
Garça 2015
1
AUTOMAÇÃO APLICADA À UMA MESA DE COORDENADAS DE DOIS
GRAUS DE LIBERDADE
Mariani Carbonieri1
E-mail: [email protected]
Prof.º Orientador Ms. Ildeberto de Genova Bugatti2
E-mail: [email protected]
Resumo - O trabalho agrega conceitos e técnicas de projeto para construir
mesas de coordenadas XY automatizadas. O protótipo construído é controlado por uma lógica implementada em linguagem C, para validar os estudos realizados, e ser utilizada como base para diversos sistemas ou aplicações automatizados. Dentre as aplicações do protótipo proposto podem ser incluídos: impressora 3D, insersora de fios, máquinas de solda, furadeiras de precisão para circuitos eletrônicos, fresas, cortes de tecidos na indústria de vestuário, cortes a laser, entre outras. Palavras – chave: Mesa XY. Mesa de Coordenadas. Automação.
Abstract – The work adds concepts and design techniques for building
automated XY coordinate tables. The prototype built is controlled by a logic implemented in C language, to validate the studies, and be used as a basis for various system or automated applications. Among the applications of the proposed prototype can be included: 3D printer, inserter wires, welding machines, precision drills for electronic circuits, milling, and tissue sections in the clothing industry, laser cuts, among others. Key word: XY Table. Coordinates table. Automation.
1 INTRODUÇÃO E OBJETIVOS
1 Aluna do curso de Tecnologia Mecatrônica Industrial Fatec Garça.
2 Docente da Faculdade de Tecnologia Garça
2
Os conceitos de produção na indústria transformam-se com intuito de
adequar os processos de manufatura às exigências de um mercado
globalizado. A necessidade de gerar produtos com alta qualidade, aliados ao
conceito de custo-benefício e capacidade competitiva para atender demandas
e exigências dos mercados internos e externos, direciona e motiva o setor
produtivo a utilizar de forma intensa a automação em seus processos
industriais.
Um dos objetivos da automação é aperfeiçoar a linha de produção para
atender critérios de qualidade, eficiência e capacidade competitiva. Com o
propósito de atender demandas de mercado. Para satisfazer esses critérios,
as empresas geralmente precisam substituir equipamentos existentes em
suas linhas de produção por outros com maior grau de automação.
Geralmente são substituídos equipamentos que possuam controle
analógico, elétricos, mecânicos ou hidráulicos, por versões com controle
digital automatizado e integrado o todo o sistema fabril, através de redes
industriais, possibilitando maior versatilidade dos processos de produção.
Com uma proposta de incremento na produção em escala, uma mesa
de coordenadas ou mesa de posicionamento XY automatizada, que realiza
deslocamentos de uma estrutura móvel, para efetuar tarefas específicas em
sistemas de manufatura, é vista como opção em situações de elevado volume
na produção (ROSÁRIO, 2009).
Diversos sistemas de controle para mesas de coordenadas têm sido
aplicados. O desenvolvimento de controladores compactos e de elevado
desempenho para as mesas XY de máquinas CNC tem sido uma área
importante às pesquisas (GOTO et al., 1996; KUNG; LI, 2010).
Segundo Menezes Filho (2010), as mesas de coordenadas são
utilizadas nas indústrias de máquinas ferramentas, robôs industriais, dosadores
de fluído, fabricação de placas de circuitos impressos, entre outros. Os
componentes que constituem uma mesa de coordenadas são os seguintes:
fusos, correias, castanhas de fixação de peças, guias lineares, rolamentos,
componentes eletromecânicos, motores, amplificadores, sensores e atuadores,
3
sistema de controle, peças móveis, ferramentas, entre outros. Um controle de
execução que permita uma operação conjunta desses componentes deve
considerar fatores de precisão, eficiência e confiabilidade.
A função de uma mesa de coordenadas é conter uma peça que deve ser
manufaturada e realizar a movimentação e posicionamento dessa peça em um
plano de coordenadas XY, com precisão, eficiência e robustez. Mesas de
coordenadas podem ser utilizadas tanto de forma isolada, para realizar
atividade específica; quanto de forma sincronizada em equipamentos de maior
complexidade. O desempenho eficiente de uma mesa de coordenadas contribui
com a contínua e crescente busca por obter equipamentos que contribuam com
a flexibilidade, rapidez e exatidão em processos de manufatura, visando
alcançar metas de qualidade e competitividade industrial (MARIANO et al.,
2006).
O objetivo do trabalho foi estudar as características construtivas,
mecanismos de deslocamento, formas de programação e controle aplicados
para mesas de coordenadas já existentes, possibilitando projetar e construir um
protótipo que utilizou um programa desenvolvido em linguagem de
programação de médio nível (linguagem C) gravado em um microcontrolador
PIC 16F877A, permitindo execução do controle da mesa de coordenadas.
Destinado à área de produção em escala este protótipo vêm como uma
proposta de uma mesa de coordenadas em dois eixos, XY que procura uma
determinação precisa na posição e adequada trajetória para execução do
processo de produção.
2 PRINCIPIOS E TÉCNICAS CONSTRUTIVAS DE MESA DE
COORDENADAS
Para o desenvolvimento do projeto de uma mesa de coordenadas, é
preciso dominar conceitos mecânicos, eletrônicos, princípios de funcionamento
e características de materiais relacionados ao propósito desse projeto. O texto
4
subsequente relaciona e descreve: tipos de mecanismo; movimentação sobre o
eixo; princípios de funcionamento e o controle dos motores de passo.
2.1 REVISÃO DE LITERATURA
2.1.1 Transmissões do Movimento – Fusos com esferas recirculares
Um fuso é essencialmente uma barra cilíndrica rosqueada. O princípio
de funcionamento consiste em promover a transmissão de potência através de
um parafuso de rosca trapezoidal, no qual há a transformação de um
movimento circular (rotação) em movimento linear (deslocamento). No
protótipo, as barras roscadas foram utilizadas na construção de sua estrutura
mecânica, com finalidade de transmissão do movimento. Sua aplicação é vista
em: tornos mecânicos, parafusos para morsas, prensas e macacos (SHIGLEY
et al., 2011).
Nos deslocamentos de carros em ferramentas e máquinas CNC as
transmissões do movimento por fusos são realizadas através de um movimento
rotacional em uma barra cilíndrica rosqueada, gerando um deslocamento de
translação linear na porca. A cada volta completa do cilindro, ocorre um avanço
(distância percorrida pelo ponto) o qual se nomeia passo e o percurso descrito
no cilindro por esse ponto denomina-se hélice (LYRA, 2010).
As máquinas operatrizes no processo de usinagem possuem um sistema
de transmissão para deslocamento de peças, ferramentas e carros. A
movimentação pode ser executada por um sistema de fuso e porca, mostrado
na Figura 1, que possui distorções (redução) da precisão no processo de
usinagem em decorrência de significativos atritos durante o movimento entre as
roscas do parafuso e da porca provocando uma torção no parafuso, gerando
um comprometimento no avanço repentino, com presença de solavancos e
velocidade reduzida entre as partidas e paradas dos carros (BIGATON, 2006).
5
Figura 1 – Sistema parafuso porca
Fonte: http://info.tolomatic.com/linear-actuator-blog/bid/76200/Slideshow-Selecting-the-right-screw-type-for-your-linear-actuator
Segundo Queiroz (2007) há uma transformação da velocidade angular
em linear nos fusos de esferas recirculares, que foram desenvolvidos com um
intuito de aumentar a eficiência do sistema parafuso-porca. Na Figura 2 tem-se,
em destaque, um fuso de esferas. Cada grau de liberdade utiliza um desses
fusos. As esferas que circulam dentro dele servem para reduzir o atrito entre o
eixo e a porca do fuso.
Figura 2 - Corte de um fuso de esferas recirculantes, ao lado o desenho da porca do fuso utilizado na mesa.
Fonte: QUEIROZ, M.T. DE (2007).
Segundo BIGATON, (2006) as máquinas automáticas devem poder
realizar acelerações e desacelerações consideráveis e rápidas, bem como
deslocamentos regulares às velocidades lentas, por isso os sistemas parafuso-
porca clássico (folga e atrito) são excluídos dos sistemas de comandos das
máquinas CNC.
2.1.2 Métodos de Guia Linear
Definidas como elementos estruturais, as guias lineares possibilitam ao
carro de deslocamento um deslizamento retilíneo alinhado ao do trajeto de
deslocamento, com um restrito grau de liberdade. Com uma constituição rígida
o suficientemente para que as variações de forma que se originam da ação de
6
forças estáticas e dinâmicas, ou dos movimentos, não venham a exceder
limites estabelecidos, prejudicando tanto a exatidão geométrica quanto
dimensional (STOETERAU, 2004).
As guias cilíndricas são as formas mais simples de guias lineares,
mostradas na Figura 3, e encontram em várias aplicações em mecânica de
precisão, tais como unidades de disco flexíveis, impressores e outros
periféricos de computadores, bem como em máquinas-ferramentas e sistemas
de medição. No protótipo as guias cilíndricas utilizadas foram desenvolvidas a
partir do reaproveitamento de materiais, barras em alumínio de uma antena e
atenderam ao propósito de guiar o carro de deslocamento.
Figura 3 – Guias cilíndricas retificadas
Fonte: CLARO, J.P.M.(2012).
2.1.3 Tipos de mesas XY
Variações entre mesas XY incluem o seu mecanismo de acionamento
em relação ao deslocamento horizontal da base do movimento ao longo dos
eixos X e Y, portanto as mesas de coordenadas podem ser classificadas em
dois grupos que são: mesas acionadas por fusos de esferas recirculares ou
correias sincronizadas.
A mesa acionada por fusos de esferas recirculares, Figura 4, devido ao
seu alto rendimento, próximo de 95%, é o mais indicado para fornecer o
posicionamento de alto desempenho ao longo do eixo múltiplo, com baixo
desgaste e uma velocidade máxima de 3 m/s (KASSOUF, 2003).
7
Figura 4 - Mesa de Coordenadas acionada por fusos de esferas recirculares
Fonte: QUEIROZ, M.T. DE (2007).
Na Figura 5, uma mesa de coordenadas acionada por correias
sincronizadas. Neste sistema são duas correias que se cruzam fora do carro, e
suas quatro pontas são fixadas no carro.
Figura 5 - Mesa de Coordenadas acionada por correias sincronizadas
Fonte: CLARO, J.P.M.(2012).
As mesas fabricadas com correias sincronizadas são mais velozes
(podendo chegar a 5 m/s) e são mesas nas quais conseguimos altas
acelerações e desacelerações, podem ser uma solução vantajosa e ideal para
aplicações em sistemas de montagens de componentes e furação de placas de
circuito impresso (KASSOUF, 2003).
2.1.3 Princípios de funcionamento e controle do Motor de Passo
Segundo Santos Filho (2002), o motor de passo é um dispositivo atuador
incremental empregado na conversão de pulsos elétricos em movimentos
angulares discretos. Ele é composto basicamente de duas partes: o rotor e o
8
estator. Sendo o rotor, um conjunto eixo-imã com um giro justaposto a parte
móvel do motor e o estator, local onde as bobinas se enrolam.
Na figura 6 podem ser visualizados o motor de passo e suas partes. Se
apresentando com duas ou quatro bobinas (fases) internas que, ao serem
energizadas adequadamente, permitem fazer o controle dos movimentos
discretos do rotor.
Figura 6 - Componentes básicos de um motor de passo
Fonte: MINEBEA TECHNOLOGIES CORPORTION, s.d.
Segundo STOETERAU (2004), os motores de passo são classificados
quanto às formas construtivas, em:
Motores à relutância variável;
Motores a imã permanente;
Motores híbridos.
O motor de passo é um transdutor que converte energia elétrica,
recebida na forma de um trem de pulsos de entrada, em energia mecânica na
forma de movimento rotacional discreto, sendo alimentado de sinais digitais o
que acomoda vantagens sobre outros tipos de motores elétricos. Ao processar
a informação digital na unidade de controle realiza um movimento angular de
acordo com as instruções digitais, a cada pulso é feito um incremento rotativo
(passo). Cada passo é só uma porção de uma rotação completa, mostrado na
Figura 7. Portanto, vários pulsos podem ser aplicados para alcançar uma
quantia desejada de rotação do eixo, fazendo o motor girar em um determinado
ângulo (VIVALDINI, 2009).
9
Figura 7 – Pulso de acionamento para o incremento rotativo (passo) em um motor de passo.
Fonte: LOPES, C.B; SILVA, R.H.DA (2013).
Motores de passo são comuns e tem uma exatidão de 1.8 (ou 200 passos
por volta), assim podem ser posicionados precisos e repetidamente,
apresentando uma excelente característica de parada, partida e reversão, pois
os motores respondem a pulsos digitais de entrada e podem ser controlados
por malhas abertas de controle. Entretanto os motores de passo podem ter
dificuldades de operar com velocidades extremante elevadas e apresentam
ressonâncias, caso o controle não seja adequado (PAIVA, 2008).
Para um melhor controle e precisão em nosso protótipo, utilizamos
motores de passo hibrido para movimentar os dispositivos transladados da
mesa móvel, mostrado na figura 8. As especificações técnicas e pinos de
conexão do motor de passo Nema 17 se encontra no anexo 1.
Figura 8 – Motor de passo Nema 17 utilizado no projeto
Fonte: Mult Comercial Ltda. s.d.
Os motores de passo também podem ser classificados quanto a sua forma
de alimentação; bipolares quando requerem duas fontes de alimentação ou
uma fonte de alimentação de polaridade comutável; ou unipolares, quando
requerem apenas uma fonte de alimentação. Em ambos os casos as fontes
utilizadas são de tensão contínua e necessitam de um circuito digital que
10
produza as sequências de passos para gerar movimento de rotação do motor.
(QUEIROZ, R. A. DE A. 2002).
Um controlador digital tem função de gerenciar o acionamento das
bobinas junto a um circuito amplificador de potência (driver de potência)
dimensionado de acordo com as especificações de tensão e corrente do
motor, o qual será responsável por aperfeiçoar o desempenho do motor de
passo.
2.1.4 Microcontrolador
Segundo SOUZA (2011), o microcontrolador é definindo como um
componente eletrônico, possuindo inteligência programável, aplicável em
controle de processos lógicos. Tem como característica a atuação em controle
de periféricos tais como: diodos de emissão de luz (LED), botões, displays de
sete segmentos e de cristal liquido (LCD), resistências, relês, sensores
diversos (ópticos, pressão, temperatura), motores e entre outros. Seu sistema
operacional se baseia em ações lógicas, sendo executado de acordo com o
estado dos periféricos de entrada e/ou saída.
A empresa Microchip Technology fabrica os microcontroladores da família
PIC (controlador de interface programável) que são divididos em series. Com
características semelhantes, cada serie contém dezenas de modelos de
microcontroladores (ZANCO, 2010).
Segundo o catalogo técnico (Data sheet) da empresa Microchip (2015) as
especificações o microcontrolador PIC16F877A, que faz parte da família PIC,
sua abordagem neste decorre de sua utilização no protótipo. Suas principais
características são o baixo custo, facilidade de programação, memória flash
(permitindo gravá-lo várias vezes), grande número de entradas e saídas entre
outros. Pode se destacar algumas especificações do PIC16F877A:
Frequência de Operação: DC – 20 MHz;
8 Kbytes de memória flash (14 bits);
Memória de dados (RAM): 368;
256 Bytes de memória EEPROM interna;
14 Interrupções;
11
05 grupos de portas de entradas/ saídas digitais (33 pinos);
3 Timers;
2 Módulos Captura, Comparador ou PWM;
Comunicação Serial MSSP e USART;
Comunicação Paralela PSP;
08 canais de entrada analógica de 10 bits de resolução;
35 instruções de programação.
Na Figura 9 é mostrado um diagrama de seus pinos do microcontrolador PIC
16F877A, de acordo com informações pesquisadas em seu Data-sheet,
fornecido pelo fabricante, Microchip Technology.
Figura 9 – Diagrama de Pinos PIC 16F877A
Fonte: Microchip Technology Inc. (2015).
2.1.5 Programação de controle
O desenvolvido de um código, escrito em linguagem C deve ser armazenado
na memória de programa do microcontrolador para um controle dos periféricos.
Em um PC, o software de programação deve ser escrito, testado e compilado e
então o código de máquina pode ser transferido à memória de programa
(memória FLASH) no microcontrolador. Na família PIC, o desenvolvimento da
12
programação nos microcontroladores, pode ser realizado com auxílio do
ambiente MPLab - IDE.
Na página www.microchip.com, o software é disponibilizado gratuitamente
para download. Através dele é possível programar em linguagem de alto nível,
permitindo uma elevada eficiência pela economia da memória de programação
do PIC, visto que ao programar uma pequena tarefa há uma redução da
geração de inúmeras linhas do programa e diminuição do trabalho do
programador.
Criada por Dennis M. Ritchie no inicio da década de 1970, a linguagem C foi
desenvolvida por programadores para programadores tendo como meta
características de flexibilidade e portabilidade. As vantagens na utilização da
linguagem C vêm de sua facilidade de interpretação, aliado a uma portabilidade
maior, podendo ser executada em varias plataformas com poucas
modificações. Em geral, a programação torna-se mais fácil por causa do maior
ou menor grau de estruturação de suas linguagens (ZANCO, 2010).
2.2 METODOLOGIA E PROCESSO DE DESENVOLVIMENTO
A pesquisa sobre a automação de uma mesa de coordenadas XY
proposta é aplicada a construção do protótipo, tendo por finalidade o estudo
teórico-experimental.
2.2.1 Desenvolvimento do Protótipo
No desenvolvimento do projeto do protótipo, foram realizadas as
seguintes atividades: levantamento de requisitos, levantamento de
informações sobre diversos equipamentos similares existentes no mercado e,
características básicas necessárias ao um desempenho otimizado para uma
mesa de coordenadas XY.
Sendo a função de uma mesa de coordenadas, posicionar e prender a peça
para que esta seja manufaturada, durante a realização dos movimentos da
plataforma de posicionamento dessa peça, em um plano de coordenadas XY.
O protótipo gerado pode ser descrito em dois módulos distintos. Um dos
módulos consiste na estrutura mecânica da mesa de coordenadas, outro
13
descreve o funcionamento da estrutura de controle. Para o esclarecimento
funcional da mesa de coordenadas utiliza os seguintes itens:
-Bloco de sustentação mecânica, onde todos os componentes utilizados
estão fixados, possibilitando movimentos com dois graus de liberdade;
-Bloco de controle, composto por um programa desenvolvido em
linguagem C e executado pelo microcontrolador PIC16F877A;
-Bloco de interface de potência, formado por oito circuitos amplificadores
que geram sinais para dois motores de passo e que faz parte do bloco de
controle.
A descrição dos aspectos construtivos do projeto e o modelo de automação
adotado estão descritas nos itens que seguem.
2.2.2 Estrutura Mecânica da mesa de coordenadas
Para gerar o projeto mecânico do protótipo da mesa de coordenadas foram
utilizados materiais reciclados, tais como: madeira de pallets e tubo em
alumínio de antenas. Além de motores e componentes dimensionados e
adquiridos especificamente ao projeto. Tais como: motores de passo, sensores,
atuadores, rolamentos, barras roscadas, parafusos, porcas, rolamentos e entre
outros.
A madeira foi à opção escolhida, pela facilidade em seu manuseio e
disponibilidade do material. As dimensões desta estrutura foram determinadas
pela capacidade do motor de passo em realizar os deslocamentos ortogonais
entre eixo.
A figura 10 mostra a configuração da mesa de coordenadas XY, que possui
eixos de deslocamento “X” e “Y” representados na forma de duas estruturas
bases, uma inferior e outra superior. Cada estrutura é composta por um
sistema parafuso porca (barra roscada1/4) como eixo de transmissão de
movimento, caracterizando a mesa de coordenadas acionada por fuso.
14
Figura 10 – A estrutura do protótipo, construída em madeira.
Fonte: Próprio Autor (2015)
A figura 11 mostra a estrutura mecânica da mesa de coordenadas
utilizada no protótipo, no destaque se veem as guias cilíndricas adaptadas,
confeccionadas em tubo de alumínio, reaproveitada de uma antena, que
permite o deslizamento retilíneo guiado do carro móvel (estrutura central
móvel) tem furações passantes em dois pontos laterais ao eixo central (barra
roscada).
Figura 11– O posicionamento das Guias Cilíndricas Lineares no carro móvel
Fonte: Próprio Autor (2015)
O fuso é o eixo central, mostrado na figura 12, tem finalidade de
transmissão do movimento, feito através com uma barra roscada de 1/4” e uma
15
porca, que foi prensada no centro do carro com propósito de realizar o
movimento linear da mesa de coordenadas.
Figura 12– O fuso com barra roscada de ¼” e porca prensada no carro móvel
Fonte: Próprio Autor (2015)
O movimento rotacional dos fusos é realizado por acionamento dos motores
de passo conectados através de um conjunto acoplador, mostrado na figura 13.
O conjunto acoplador utilizado no protótipo foi feito com um pedaço de
mangueira de combustível, para ligação do eixo de movimento (barra roscada)
ao eixo do motor de passo, a fixação foi feita por braçadeiras colocadas de
maneira a balancear o peso na estrutura.
Figura 13 – Conjunto acoplador fuso – motor de passo
Fonte: Próprio Autor (2015)
Após a conclusão da confecção da estrutura mecânica e a realização de
testes de deslocamentos da mesa XY acionados pelo o motor de passo para
determinação de um sistema de monitoramento (sensores) adequado visando
à precisão do posicionamento desta mesa, principalmente na sua finalização
de trajetória.
16
2.2.3 Estrutura de Controle da Mesa de Coordenadas
Para executar o programa de controle gerado foram utilizados três módulos
de eletrônica da empresa FESTO, que equipam o laboratório de eletrônica da
FATEC-Garça. No projeto foi utilizado o Kit Multidisciplinar eletrônico da
empresa Festo disponível no laboratório da faculdade contendo uma placa que
possui um microcontrolador PIC16F877A, fabricado pela empresa Microchip
Technology Inc.
A figura 14 mostra os três módulos utilizados na implementação do projeto
de controle para a mesa de coordenadas. Foram utilizados os seguintes
módulos:
- Unidade principal;
- Módulo do microcontrolador PIC 16F877A;
- Módulo de automação 8I8O.
Figura 14 - Kit didático da Festo
Fonte: Kit multidisciplinar de eletrônica – Módulos portáteis de ensino (2015).
O Kit Multidisciplinar Eletrônico Festo possui características que atendem ao
propósito do protótipo. Em seu conjunto, a Unidade Principal, é um gabinete
onde podem ser instalados os dois módulos que servem ao protótipo, além de
disponibilizar uma fonte de tensão 12V, chaves liga/desliga e interfaces de
comunicação.
O módulo PIC ao ser instalado na unidade principal permite a gravação de
programas através das conexões disponíveis, sem a necessidade do uso de
17
um gravador externo, já que o módulo possui um circuito de gravação de
programas, feita através de uma interface serial RS-232. Este módulo contêm
um microcontrolador PIC 16F877A, de 8 bits, com memória interna de
programa do tipo Flash, não volátil e permitiu armazenar e executar o programa
desenvolvido especificamente para operacionalizar a automação da mesa de
coordenadas. Para acesso a sinais de dispositivos externos a comunicação foi
efetivada por bornes e conectores disponíveis no módulo.
O módulo de automação 8I8O possui 8 interfaces para sinais digitais de
entrada e 8 interfaces para sinais digitais de saída, todas com isolação através
de acopladores ópticos, permitindo a conversão entre sinais digitais de
diferentes níveis e de nível TTL.
Para atender o controle do motor de passo, com a devida isolação do
circuito do microcontrolador, o módulo de automação 8I8O foi utilizado como
um driver de potência. O driver de potência consiste num circuito
amplificador de potência com finalidade de acionar motor de passo com
especificações (tensão e corrente) superiores ao do microcontrolador.
O esquemático do circuito amplificador de potência do módulo de
automação 8I8O, que utilizado no projeto é mostrado na figura 15. O circuito
utiliza um optoacoplador de isolamento (4N25) constituído internamente de
um fototransistor e um diodo emissor de luz infravermelho, sem contato
entre ambos garantindo o isolamento entre o microcontrolador e motor de
passo.
Figura 15 - Driver de potência
Fonte: Módulo Automação 8I8O
18
2.2.4 Programação de controle
O desenvolvimento da programação de controle para ativação dos motores
de passo foi executada em um ambiente integrado de desenvolvimento de
projetos. A versão do software de programação utilizada foi MPLAB IDE V8.10,
disponibilizado pela empresa Microchip Technology Inc..
A programação foi escrita em linguagem C, com intuito de otimizar o uso de
memória de programa pelo microcontrolador. Para sintetizar a lógica de
controle o uso do compilador PIC C Lite da HiTech, que transforma o código
fonte em linguagem de maquina (linguagem C em arquivo hexadecimal - .hex).
A gravação do código no microcontrolador PIC 16F877A foi realizada através
do gravador PROG_CNZ.
A figura 16 mostra o acionamento dos motores de passo com a utilização do
Kit multidisciplinar de eletrônica FESTO através da unidade principal com a
instalação dos módulos PIC e automação 8I8O.
Figura 16 - Acionamento dos motores de passo pelo Kit multidisciplinar de eletrônica FESTO
Fonte: Próprio autor (2015)
A figura 17 mostra o funcionamento da mesa de coordenadas com o uso da
unidade principal do Kit multidisciplinar de eletrônica FESTO, com acoplamento
19
dos módulos PIC e automação 8I8O, conectados aos motores de passo
instalados no protótipo.
Figura 17 - Acionamento de funcionamento do motor de passo
Fonte: Próprio autor (2015)
A programação foi desenvolvida para protótipo de acordo com a
característica de funcionamento do motor de passo hibrido, com uma resolução
de 1.8 (ou 200 pulsos por volta) atuando no movimento em uma barras roscada
de ¼”.
Considerando a resolução de passo da rosca para uma distancia de 1”
equivalente a 25,4 mm, dividindo por 20 (número de fios por polegada da barra
roscada de ¼”), encontramos o valor para o avanço da rosca de 1, 27 mm.
Para determinação do deslocamento em 1mm da barra roscada por ação do
motor de passo tem-se:
1,27mm 200 pulsos
1 mm x pulsos
x = 158 pulsos
A programação para automação da mesa de coordenadas de dois graus de
liberdade utilizada para o acionamento do mecanismo de deslocamento
encontram-se no apêndice 1.
20
3 CONSIDERAÇÕES FINAIS
A pesquisa realizada para elaboração do artigo do Trabalho de Conclusão
de Curso foi baseada nas fontes disponíveis na literatura atual e pertinente ao
tema escolhido, e como estudo de caso foi desenvolvido a automação de uma
mesa de coordenadas XY controlado por microcontrolador PIC16F877A. Os
circuitos utilizados do Kit multidisciplinar de eletrônica FESTO do laboratório de
sistemas microcontrolados da FATEC-Garça, e para a programação do
microcontrolador PIC16F877A em linguagem C em ambiente de
desenvolvimento MPLab IDE e compilador PIC C Lite da HiTech.
A construção deste protótipo possibilitou o incremento aos conhecimentos
adquiridos ao longo do curso e a execução de conceitos teóricos no âmbito da
prática. Foi possível a visualização de um processo de automação, a partir de
sua idealização, proposta de projeto, fundamentação e sua construção. Os
resultados de automação aplicados à mesa de coordenadas com dois graus de
liberdade foram alcançados e, são animadores e promove um incentivo a
continuidade dos trabalhos em busca de evoluções para a mesa.
Mesmo com as dificuldades apresentadas na estrutura mecânica, como
alinhamentos e atrito do sistema parafuso-porca, a busca de soluções permitiu
a execução da automação de uma mesa de coordenadas e o desenvolvimento
passo a passo, de uma lógica programação otimizada com finalidade de
experimentação prática do projeto de um protótipo.
Uma proposta de melhorias futuras é trocar os componentes mecânicos, tais
como o fuso de um sistema parafuso-porca para um sistema de fusos de
esferas recirculares com intuito de minimizar problemas de folga e atrito dos
componentes durante as transmissões do movimento da mesa de
coordenadas.
4. REFERÊNCIAS
BIGATON, C., POZZOBON, F. R., BONACORSO, N. G., SILVA, R. Automação-CNC. 3º Ciclo de Técnico em Mecânica. Centro Paula Souza, 1p.
2006. Disponível em: <http://ctd.ifsp.edu.br/~cristiano.ferrari/images/ Arquivos/automacao_cnc.pdf>. Acesso em: 10 jan. 2015.
21
CLARO, J.P.M.. Impressora 3D. Novo projeto de impressora. 2012. Disponível
em: < http://www.imprimindo3d.com.br/novo-projeto/>. Acesso em: 14 nov. 2014. FESTO. Kit multidisciplinar de eletrônica – Módulos portáteis de ensino.
Disponível em: < http://www.festo-didactic.com/br-pt/noticias/kit-multidisciplinar-de-eletroeletronica.htm?fbid=YnIucHQuNTM3LjIzLjE2LjQxMjk> . Acesso em: 15 maio 2015. GOTO, S.; NAKAMURA, M.; KYURA, N.. Accurate contour control of mechatronic servo systems using Gaussian networks. IEEE Trans. Ind.
Electron. 43 (4), 469-476, 1996. KUNG, Y. S.; LI, S. W.. FPGA-realization of a motion control IC for X-Y table with adaptive fuzzy control. In: IEEE INTERNATIONAL WORKSHOP
ON ADVANCED MOTION CONTROL, 11, 1993, Nagoa, Japan. Procceedings... NagaoKa: [s.n.], 2010. LEITE, B.H.F.C.; LIMA, E.J.C.; LEÃO, F.L;PRESTES, R.F.. Trabalho de sistema digitais. Rio de Janeiro. 2003. Disponível em:
<http://recreio.gta.ufrj.br/grad/01_1/motor/>. Acesso em 28 out. 2014. LYRA, P.V.A.. Desenvolvimento de uma máquina fresadora CNC didática.
[Distrito Federal] 2010. xvii, 90p., 297 mm (FT/UnB, Engenheiro, Controle e Automação, 2010). Trabalho de Graduação – Universidade de Brasília. Faculdade de Tecnologia. Disponível em: <http://alvarestech.com/temp/ cnc/Fresadora%20CNC%20Did%E1tica.pdf>. Acesso em: em 28 out. 2014. LOPES, C.B.; SILVA, R.H.DA. Insersora de fios automatizada.CONGRESSO
DE PESQUISA CIENTÍFICA: INOVAÇÃO, ÉTICA E SUSTENTABILIDADE, p.159, 2013, MARÍLIA, SP. MARIANO, V. et al. Simulação da dinâmica e identificação de parâmetros em uma mesa X-Y de máquina-ferramenta. Revista Ibero-Americana de
Ingeniería Mecánica, 10 (1), pp. 57-70, 2006. MENEZES FILHO, J. B. Controlador vetorial neural para mesa de coordenadas X-Y. SBA Controle & Automação, 21 (4), 406-424, 2010.
Disponível em:< http://www.scielo.br/scielo.php?pid=S0103-17592010000400007&script=sci_arttext>. Acesso em: 16 jun. 2014. MICROCHIP. PIC 16F87X Data sheet - 28/40-Pin 8-Bit CMOS Flash Microcontrollers. Disponível em:
<http://ww1.microchip.com/downloads/en/DeviceDoc/30292D.pdf>. Acesso em:
17 maio 2015
MINEBEA TECHNOLOGIES CORPORTION. Motor engineering, s.d.
Disponível em: < http://www.nmbtc.com/step-
22
motors/engineering/construction-and-operating-theory/>. Acesso em: 22 ago.
2014
MULT COMERCIAL LTDA. Motor de Passo 1,3 Kg Cód. 51. Disponível em
<http://loja.multcomercial.com.br/motor-de-passo-1-3kg-cod-motor-51.html>.
Acesso em: 10 nov. 2014
PAIVA FILHO, L. B. DE. Projeto de controle numérico para uma mesa de coordenadas. Trabalho de Conclusão de curso. Ouro Preto. Universidade
Federal de Ouro Preto. 2008. Disponível em: <http://www.em.ufop.br/cecau/monografias/2008/LAMARTINE%20DE%20PAIVA%20FILHO.pdf>. Acesso em: 21 out. 2014. QUEIROZ, R. A. DE A. Motor de passo. Universidade Salvador -UNIFACS -.
Núcleo de Pesquisa em Redes de Computadores. 2002. Disponível em: <http://www.zaplocadora.com.br/upload/produtos/arquivos/motor_20139910138.pdf>. Acesso em: 22 ago. 2014. QUEIROZ, M. T. DE, M. Automação de mesa coordenada destinada à máquina fresadora CNC. 2007. Dissertação (Pós-Graduação em Engenharia
Mecânica), Universidade Federal Fluminense, Niterói, RJ, Brasil, 2007. SANTOS FILHO, S.G. DO. Controle de mesa XY utilizando motor de passo.
2002. Mecatrônica Atual, 2, 28-35, 2002.Disponível em: <www.mecatronicaatual.com.br>. Acesso em: 10 jun. 2014. SHIGLEY, J.E. et al.. Elementos de Máquinas de Shigley: Projeto de Engenharia Mecânica. 8. Ed. Porto Alegre: AMGH, 2011. SOUZA, D. J. .Desbravando o PIC Ampliado e Atualizando par PIC16F628A. 12 ed. São Paulo: Érica, 2011.
STOETERAU, R. L. Introdução ao Projeto de Máquina-Ferramentas Modernas. UFSC – Universidade Federal de Santa Catarina, 2004. Disponível
em: <http://files.comunidades.net/mutcom/Projetos_de_maq._ferramentas.pdf>. Acesso em: 21 out. 2014. TOLOMATIC. Sistema parafuso porca. Disponível em: <http://info.tolomatic.com/linear-actuator-blog/bid/76200/Slideshow-Selecting-the-right-screw-type-for-your-linear-actuator>. Acesso em: 18 fev. 2015. VIVALDINI, K. C. T. Motores de passo. Material complementar. São Carlos.
USP Escola de Engenharia de São Carlos. 2009. Disponível em: <http://www.mecatronica.eesc.usp.br/wiki/upload/0/0a/Motor_passo.pdf>. Acesso em: 22 ago. 2014. ZANCO, W. DA S. Microcontroladores PIC 18 com a linguagem C: uma
abordagem prática e objetiva. São Paulo: Érica, 2010.
23
Anexo 1 – Especificações técnicas e pinos de conexão do motor de passo
Nema 17.
24
Apêndice A – Programação para testar o funcionamento do motor de passo.
// Teste de acionamento de bobinas Motor de Passo sequencialmente
//==========================================================
// APLICACAO DO KIT MODULAR FESTO
// TITULO: Motor_Passo_2015
// Mariani Carbonieri
// Ildberto de Genova Bugatti
// DATA: 15/05/2014
//===========================================================
// ARQUIVO-FONTE:Motor_Passo.c
// ARQUIVOS INCLUIDOS: htc.h
// COMPILADOR/MONTADOR UTILIZADO: C (HI-TECH C Compiler)
//===========================================================
// MODULO PROCESSADOR UTILIZADO: PIC (16F877A, Fosc=20MHz)
// OUTROS MODULOS UTILIZADOS: 8E8S (8I8O)
// CONEXOES NECESSARIAS:
// PortA.0 = botao de direcao; botão parada, botão mudança de motor
// PortC.7-0 = estados dos leds
// ==> em PIC : IO_INT <-> PINF
// ==========<+>==========
// 20 (RC1) <-> 25 (LED1) - Vermelho
// 30 (RC6) <-> 29 (LED3) - Verde
// ==> em 8I8O: IO_INT <-> IO_EXT
// ==========<+>==========
// 02 (RA0) <-> 02 (BE0) S1 - CH_ESQ_DIR ligada ao Borne Zero
da Esquerda (BE0)
// 04 (RA1) <-> 04 (BE1) S2 - CH_PARADA ligada ao Borne Um da
Esquerda (BE1)
// 06 (RA2) <-> 03 (BE3) S3 - CH_MUDA_EIXO ligada ao Borne Um
25
da Esquerda (BE3)
// PortC.7-0 = estados dos leds
// ==> em 8I8O : IO_INT <-> PINF
// ==========<+>==========
// 22 (RC2) <-> 08 - Rolamento X1- azul
// 24 (RC3) <-> 10 - Rolamento X2- marron
// 26 (RC4) <-> 12 - Rolamento X3- vermelho
// 28 (RC5) <-> 14 - Rolamento X4- verde
// PortD.7-0 = estados dos leds
// ==> em PIC : IO_INT <-> PINF
// ==========<+>==========
// 19 (RD1) <-> 27 (LED2) - Amarelo
// 29 (RD6) <-> 31 (LED4) - Branco
// PortD.7-0 = estados dos leds
// ==> em 8I8O : IO_INT <-> PINF
// ==========<+>==========
// 21 (RD2) <-> 16 - Rolamento Y1- azul
// 23 (RD3) <-> 18 - Rolamento Y2- marron
// 25 (RD4) <-> 20 - Rolamento Y3- vermelho
// 27 (RD5) <-> 22 - Rolamento Y4- verde
// ==> em 8I8O : IO_EXT <-> IO_EST
// ==========<+>==========
// 01 (BE2) <-> 05 (VEXT = 12 Volts cc)
// => em 8I8O- Observação - Verificar posição dos Jumpers contidos no módulo 8E8S
// Ligação GND utilizado Placa 8E8S <-> Motor de Passo
// Borne GND_S <-> fios Amarelo/Laranja (Comum)
// Módulo Principal -
26
// Chave S1
// - Borne esquerdo para Terra (GND)
// - Borne Direito para Vcc (+5V)
// - Borne inferior para BE0 -- 2 IO_EXT
// ==> em MÓDULO PRINCIPAL
// ligar + 5V ao pino Direito da Chave S1
// ligar GND (Terra) ao pino Esquerdo da Chave S1
// ligar pino inferior da Chave S1 ao Borne Zero da Esquerda(BE0) da placa PIC
// ligar + 5V ao pino Direito da Chave S2
// ligar GND (Terra) ao pino Esquerdo da Chave S2
// ligar pino inferior da Chave S2 ao Borne UM da Esquerda(BE1) da placa PIC
//===========================================================
#include <htc.h>
__CONFIG(HS & WDTDIS & LVPDIS);
#define TRUE 1 // verdadeiro
#define TEMPO_LED 0x01 // proporcional ao tempo em que um led fica aceso
#define PORTA_BOBINA_X PORTC // Associa a variável PORTA_LEDS aos
oito bits da Porta C
#define PORTA_BOBINA_X_OUT TRISC // Utilizado para definir se os pinos da
porta C serão utilizados como entrada=1 ou saída=0
#define PORTA_BOBINA_Y PORTD // Associa a variável PORTA_LEDS aos
oito bits da Porta D
#define PORTA_BOBINA_Y_OUT TRISD // Utilizado para definir se os pinos da
porta D serão utilizados como entrada=1 ou saída=0
// Chaves
#define CH_ESQ_DIR RA0 // Associa a variável CH_ESQ_DIR ao pino zero
da porta A (RA0)
#define CH_ESQ_DIR_IN TRISA0 // Utilizado para definir se o pino 0 do
registrador A (RA0) será utilizado como entrada=1 ou saída=0
#define CH_PARADA RA1 // Associa a variável CH_PARADA ao pino um da
27
porta A (RA1)
#define CH_PARADA_IN TRISA1 // Utilizado para definir se o pino um do
registrador A (RA1) será utilizado como entrada=1 ou saída=0
#define CH_MUDA_EIXO RA2 // Associa a variável CH_PARADA ao pino
um da porta A (RA2)
#define CH_MUDA_EIXO_IN TRISA2 // Utilizado para definir se o pino um do
registrador A (RA2) será utilizado como entrada=1 ou saída=0
unsigned char TESTE_P;
void espera_tempo (unsigned char t); // declaração da função espera_tempo
void interrupt trata_interrupcao (void)
{
; // nao faz nada - esta rotina esta' aqui apenas para evitar que o compilador HI-
TECH aloque o codigo-objeto no fim da memoria
}
// parte principal do programa
void main (void)
{
ADCON1 = 0b00000111; // desliga comparadores (para poder usar RA0 como
entrada digital)
CH_ESQ_DIR_IN = 1; // define o pino zero do Registrador A (RA0) como
entrada do PIC (CH_ESQ_DIR como entrada)
CH_PARADA_IN = 1; // define o pino um do Registrador A (RA1) como
entrada do PIC (CH_PARADA como entrada)
CH_MUDA_EIXO_IN = 1; // define o pino um do Registrador A (RA2) como
entrada do PIC (CH_MUDA_EIXO como entrada)
PORTA_BOBINA_X_OUT = 0b00000000; // define os oito pinos da porta C (port C)
como saídaa (PORTA_LEDS como saída)
PORTA_BOBINA_X = 0b00000100; // atribui o valor lógico 1 para os pino 2 do
Registrador C (RC2)e o valor zero para os ourtros pinos Registrador C;
// equivale a apagar os LEDs: 7,6,5,4,3,1,e 0; ascender o LED 2.
PORTA_BOBINA_Y_OUT = 0b00000000; // define os oito pinos da porta D (port D)
como saídaa (PORTA_LEDS como saída)
28
PORTA_BOBINA_Y = 0b00000100; // atribui o valor lógico 1 para os pino 2 do
Registrador C (RD2)e o valor zero para os ourtros pinos Registrador D;
// equivale a apagar os LEDs: 7,6,5,4,3,1,e 0; ascender o LED 2.
TESTE_P=0;
while (1)
{ // inicio while (1)
// espera_tempo (TEMPO_LED); // espera um tempo
// if (escolher o eixo)
// {
if (CH_MUDA_EIXO)// Decide Eixo X
{
if (CH_ESQ_DIR)
{
if (TESTE_P == 1 & CH_PARADA) {PORTA_BOBINA_X =
0b00100000;TESTE_P=0; } ;
while (CH_PARADA & !TESTE_P)
{
espera_tempo (TEMPO_LED); // espera um tempo
PORTA_BOBINA_X = PORTA_BOBINA_X >> 1; // desloca os leds para a
direita
if (PORTA_BOBINA_X == 2) PORTA_BOBINA_X = 0b00100000; // se
chegou no ultimo led, volta para a extrema esquerda
} // fim while (CH_PARADA) 00000010
if (!CH_PARADA) {PORTA_BOBINA_X = 0b00000010;TESTE_P=1;};
}
else
{
if (TESTE_P == 1 & CH_PARADA) {PORTA_BOBINA_X = 0b00000100;
TESTE_P=0;} ;
29
while (CH_PARADA & !TESTE_P)
{
espera_tempo (TEMPO_LED); // espera um tempo
PORTA_BOBINA_X = PORTA_BOBINA_X << 1; // desloca os leds para a
esquerda
if (PORTA_BOBINA_X == 64) PORTA_BOBINA_X = 0b00000100; // se
chegou no ultimo led, volta para a extrema direita
} // fim while (CH_PARADA)
if (!CH_PARADA) {PORTA_BOBINA_X = 0b01000000;TESTE_P=1;};
}; // fim if (CH_ESQ_DIR)
// } fim if eixo x
} // fim CH_MUDA_EIXO
// else
else
{
if (CH_ESQ_DIR)
{
if (TESTE_P == 1 & CH_PARADA) {PORTA_BOBINA_Y =
0b00100000;TESTE_P=0; } ;
while (CH_PARADA & !TESTE_P)
{
espera_tempo (TEMPO_LED); // espera um tempo
PORTA_BOBINA_Y = PORTA_BOBINA_Y >> 1; // desloca os leds para a
direita
if (PORTA_BOBINA_Y == 2) PORTA_BOBINA_Y = 0b00100000; // se
chegou no ultimo led, volta para a extrema esquerda
} // fim while (CH_PARADA) 00000010
if (!CH_PARADA) {PORTA_BOBINA_Y = 0b00000010;TESTE_P=1;};
}
else
30
{
if (TESTE_P == 1 & CH_PARADA) {PORTA_BOBINA_Y = 0b00000100;
TESTE_P=0;} ;
while (CH_PARADA & !TESTE_P)
{
espera_tempo (TEMPO_LED); // espera um tempo
PORTA_BOBINA_Y = PORTA_BOBINA_Y << 1; // desloca os leds para a
esquerda
if (PORTA_BOBINA_Y == 64) PORTA_BOBINA_Y = 0b00000100; // se
chegou no ultimo led, volta para a extrema direita
} // fim while (CH_PARADA)
if (!CH_PARADA) {PORTA_BOBINA_Y = 0b01000000;TESTE_P=1;};
} // fim if (CH_ESQ_DIR)
} // fim do else
} // fim While (1)
}
// rotina que espera um tempo
void espera_tempo (unsigned char t)
{
unsigned int i,j;
// espera um tempo aqui...
for (i=0; i<t; i++)
for (j=0; j<0x002f0; j++) //para mudar frequencia
;
}