Centro Universitário do Sul de Minas – UNIS-MG
Bacharelado em Ciência da Computação
Robô Desenhista controlado pelo Logo
Professor Juliano Coelho Miranda
Alisson Pieve de Castro
Carlos Henrique Meriato Junior
Guilherme Miranda Carvalho
Varginha, 2007
II
Centro Universitário do Sul de Minas – UNIS-MG
Bacharelado em Ciência da Computação
Robô Desenhista controlado pelo Logo
Projeto de Conclusão de Curso
apresentado ao programa do curso de
Bacharelado em Ciência da Computação do
Centro Universitário do Sul de Minas, como
requisito parcial para a obtenção do título
de Bacharel em Ciência da Computação
Varginha, 2007
III
FOLHA DE APROVAÇÃO
Alisson Pieve de Castro
Carlos Henrique Meriato Junior
Guilherme Miranda Carvalho
Robô Desenhista controlado pelo Logo
Monografia apresentada ao curso de Ciência da Computação do Centro Universitário
do Sul de Minas – UNIS/MG, como pré-requisito para obtenção do grau de bacharel pela
Banca Examinadora composta pelos membros:
( ) Aprovado
( ) Reprovado
Data / /
_________________________________________________________
Profº Especialista Juliano Coelho Miranda
______________________________________________________
Profº. Especialista Sandro Izidoro
_________________________________________________________
Profº. Especialista Lázaro Eduardo
OBS.:
IV
Dedicamos este projeto aos nossos pais e
a
nossos
amigos
que sempre nos
apoiaram ajudando-nos a superar todos
os obstáculos encontrados .
V
Agradecimentos
Agradecemos aos nossos pais pelo incentivo, ao nosso professor e coordenador do
curso de Ciência da Computação Fabrício Pelloso Piurcosky e a nosso orientador Juliano
Coelho Miranda pelos conhecimentos proporcionados possibilitando a realização deste
trabalho.
VI
Resumo
Este seguinte projeto apresenta a implementação de um robô que é capaz de realizar
vários tipos de desenhos a partir de comandos enviados por um computador para dois motores
de passo, utilizado na locomoção do robô e um servo responsável por abaixar e suspender
uma caneta acoplada a ele.
Foi desenvolvido um programa utilizando a linguagem de programação SuperLogo
3.0, que é responsável pela interação do robô desenhista com o computador. Através do
programa são enviados os comandos que são os de locomoção do robô e os de suspender e
abaixar a caneta, tais comandos são enviados a porta paralela do computador para que assim o
robô seja capaz recebê-los e executá-los, formando assim o desenho inserido no programa.
Para o desenvolvimento desse projeto foram necessários estudos da linguagem de
programação SuperLogo 3.0, robótica, eletrônica, funcionamento da porta paralela, motores
de passo e Servo motor.
VII
Lista de Figuras
FIGURA 2.1 - Exemplo de Seqüência Lógica................................................................... 8
FIGURA 2.2 - Fases da Programação ................................................................................ 9
FIGURA 2.3 - Tela SuperLogo.......................................................................................... 11
FIGURA 2.4 - Menu Procedimento ................................................................................... 13
FIGURA 2.5 - Novo Procedimento.................................................................................... 14
FIGURA 2.6 - Editor de Procedimento.............................................................................. 14
FIGURA 2.7 - Tela Procedimento Modificado.................................................................. 14
FIGURA 2.8 - Janela de Comandos................................................................................... 15
FIGURA 2.9 - Porta Paralela ............................................................................................. 16
FIGURA 2.10 - Cabo Paralelo ........................................................................................... 17
FIGURA 2.11 – Datasheet ................................................................................................. 21
FIGURA 2.12 - ULN 2803 ................................................................................................ 21
FIGURA 2.13 - DataSheet NE 555 .................................................................................... 22
FIGURA 2.14 - NE 555 ..................................................................................................... 22
FIGURA 2.15 - Encapsulamentos do LM 7805................................................................. 22
FIGURA 2.16 - Classificação dos transistores................................................................... 23
FIGURA 2.17 - Imagem NPN............................................................................................ 23
FIGURA 2.18 - Passo completo 1 (Full-step).................................................................... 24
FIGURA 2.19 - Passo completo 2 (Full-step)..................................................................... 24
FIGURA 2.20 - Meio Passo (Half-step).............................................................................. 25
FIGURA 2.21 - Ativando as bobinas .................................................................................. 26
FIGURA 2.22 - Motor de seis fios...................................................................................... 27
FIGURA 2.23 - Capacitores em Série................................................................................. 27
FIGURA 2.24 - Capacitores em Paralelo............................................................................ 27
FIGURA 2.25 - Passo completo 1 (Full-step)..................................................................... 28
FIGURA 2.26 - Passo completo 2 (Full-step)..................................................................... 28
FIGURA 2.27 - Meio Passo (Half-step).............................................................................. 29
FIGURA 2.28 - Ativando as bobinas .................................................................................. 29
FIGURA 2.29 - Motor de seis fios...................................................................................... 30
FIGURA 3.1 – Imagem do circuito eletrônico.................................................................... 31
FIGURA 3.2 – Imagem superficial do circuito eletrônico.................................................. 33
FIGURA 3.3 – Imagem da parte inferior do circuito eletrônico ......................................... 33
FIGURA 3.4 – Figura_Cálculo astável .............................................................................. 34
FIGURA 3.5 – Figura_Cálculo monoestável ..................................................................... 34
FIGURA 3.6 – Tela do programa UserPort ........................................................................ 36
FIGURA 3.7 – Tela do Programa Robô Desenhista ........................................................... 37
FIGURA 3.8 – Fixação dos motores de passo.....................................................................41
FIGURA 3.9 – Ajuste do Servo...........................................................................................42
VIII
Lista de Tabelas
TABELA 2.1 – Valores de Resistores.................................................................................. 24
IX
Sumário
RESUMO ............................................................................................................................................................VII
1.
INTRODUÇÃO ........................................................................................................................................... 1
1.1 OBJETIVOS ........................................................................................................................................... 2
1.1.1 Objetivo Geral ...................................................................................................................................... 2
1.1.2 Objetivo Específico............................................................................................................................... 2
1.2 JUSTIFICATIVA ................................................................................................................................... 2
1.3 ORGANIZAÇÃO DA MONOGRAFIA............................................................................................ 2
2.
REFERENCIAL TEÓRICO ...................................................................................................................... 4
2.1 ROBÓTICA ............................................................................................................................................ 4
2.2 PROGRAMAÇÃO ................................................................................................................................. 8
2.2.1 Lógica de Programação ....................................................................................................................... 8
2.2.2 Algoritmo .............................................................................................................................................. 8
2.2.3 Programas ............................................................................................................................................ 9
2.2.4 Interpretação ou Compilação............................................................................................................... 9
2.2.5 Linguagem de Programação .............................................................................................................. 10
2.3 PORTA PARALELA .......................................................................................................................... 16
2.3.1 Conector DB25................................................................................................................................... 16
2.3.2 Modos de Operação............................................................................................................................ 16
2.3.3 Cabo paralelo..................................................................................................................................... 17
2.3.4 Endereços da Porta paralela.............................................................................................................. 17
2.4 ELETRÔNICA ..................................................................................................................................... 18
2.4.1 História da Eletrônica ........................................................................................................................ 18
2.4.2 Condutores, Semicondutores e Isolantes ............................................................................................ 19
2.4.3 Componentes Eletrônicos ................................................................................................................... 20
2.5 MOTOR DE PASSO........................................................................................................................... 27
2.5.1 Acionamento do Motor de Passo ........................................................................................................ 29
2.5.2 Determinação dos fios comuns........................................................................................................... 29
3. ATIVIDADES DESENVOLVIDAS .............................................................................................................. 31
3.1 MONTAGEM DO CIRCUITO ELETRÔNICO ............................................................................ 31
3.1.1 Componentes do circuito .................................................................................................................... 33
3.1.2 ACIONAMENTO DOS MOTORES ........................................................................................... 35
3.1.2.1 Motores de Passo............................................................................................................................. 35
3.1.2.2 Servo motor ..................................................................................................................................... 35
3.2 IMPLEMENTAÇÃO DO PROGRAMA ROBÔ DESENHISTA............................................... 36
3.2.1 Configurando Porta Paralela............................................................................................................. 36
3.2.2 Procedimentos de controle do robô.................................................................................................... 36
3.3 MONTAGEM DO ROBÔ ................................................................................................................. 41
3.3.1 Montagem do Cabo de Comunicação................................................................................................. 41
3.3.2 Montagem Mecânica .......................................................................................................................... 41
4. CONCLUSÃO ................................................................................................................................................. 43
4.1 DIFICULDADES ENCONTRADAS............................................................................................... 43
5. REFERÊNCIA BIBLIOGRÁFICA............................................................................................................... 44
X
1. Introdução
Desde os primórdios o homem buscou cada vez mais soluções para facilitar sua vida, e a
robótica surgiu paralelamente a essas necessidades com o objetivo de automatizar
determinadas tarefas. Ao decorrer dos anos foram desenvolvidas tecnologias capazes de
substituir o trabalho braçal e conseqüentemente dando mais tempo para que o homem dedicase a outras tarefas mais importantes.
A robótica combina em seus estudos conceitos de física, matemática, mecânica,
eletrônica, design, inteligência artificial e programação. O objetivo da robótica é compreender
todo o processo de montagem e controle de "sistemas que interagem com o mundo real com
pouca ou mesmo nenhuma intervenção humana" (MARTINS, 1993).
Atualmente os robôs são utilizados para executar diversas tarefas, como a exploração de
lugares de difícil acesso ao ser humano, atividades repetitivas, atividades consideradas de
risco entre outras.
O robô desenhista foi a forma encontrada para estudar esta área que vive em constante
crescimento, e colocar em prática os conhecimentos adquiridos, entre eles estão: linguagem
de programação, que neste caso utilizou-se o SuperLogo 3.0, e em eletrônica temos como
exemplo a montagem eletrônica, funcionamento de motores de passo, montagem mecânica e
o funcionamento dos CI’s, pensando que em projetos futuros possa ser desenvolvido um robô
capaz de efetuar desenhos em roupas, ou até mesmo cortes em chapas de vidro e de metal,
assim evitando o esforço repetitivo e talvez de risco na execução da tarefa.
O principal objetivo do projeto é o desenvolvimento de um robô que realiza vários tipos
de desenho a partir de comandos enviados pelo computador através da porta paralela, o robô
por sua vez conectado a porta paralela recebe estes comandos que são os de movimento e o de
suspender e abaixar a caneta, para permitir a iteração foi desenvolvido um programa
utilizando o Software SuperLogo 3.0.
1.1 Objetivos
1.1.1 Objetivo Geral
Desenvolver um robô que seja capaz de desenhar através de comandos dados pelo
programa desenvolvido utilizando a linguagem de programação SuperLogo 3.0.
1.1.2 Objetivo Específico
•
Levantar bibliografia sobre robótica.
•
Levantar bibliografia sobre programação de computador.
•
Levantar bibliografia sobre eletrônica.
•
Realizar estudo sobre utilização da linguagem SuperLogo.
•
Realizar estudo sobre funcionamento da porta paralela.
•
Realizar estudo sobre funcionamento do motor de passo.
•
Realizar estudo sobre funcionamento do servo motor.
•
Desenvolver procedimentos de comunicação com a porta paralela através da
linguagem SuperLogo.
•
Montar e Manipular o Circuito Eletrônico.
1.2 Justificativa
Adquirir experiência na área de robótica e automação, que são setores de muito
interesse a todos, colocando em prática os conhecimentos obtidos. Desenvolver um projeto
capaz de chamar a atenção por ser uma idéia criativa, inovadora e que possa gerar projetos
futuros.
1.3 Organização da Monografia
Este projeto divide-se em quatro capítulos.
No capítulo 1, são apresentados os motivos e objetivos do desenvolvimento deste
projeto.
Já no capítulo 2, é apresentado o referencial teórico utilizado no desenvolvimento do
projeto: robótica e seus fundamentos; programação e a linguagem SuperLogo, porta paralela;
eletrônica e seus fundamentos, motores de passo.
2
No capítulo 3, mostra-se o desenvolvimento do projeto como: montagem do circuito,
componentes utilizados, desenvolvimento do programa e montagem do robô.
E nos capítulos 4 e 5, estão as conclusões sobre o desenvolvimento do projeto,
dificuldades encontradas e referências bibliográficas.
3
2. Referencial Teórico
2.1 Robótica
A Robótica é uma ciência que atualmente encontra-se em constante e acelerado
crescimento, pois situações que no passado não muito distante do presente em que vivemos
foram consideradas ficções científicas, hoje são perfeitamente possíveis, graças ao avanço de
pesquisas em áreas como a da eletrônica, mecânica, informática e também da Inteligência
Artificial (ROSÁRIO, 2004).
Robótica também pode ser entendida como uma arte, a base tecnológica e o
conhecimento de projetar, aplicar e usar robôs em esforços humanos. Sistemas robóticos não
são constituídos apenas de robôs, mas sim de uma série de outros sistemas e equipamentos
que, junto com os robôs, executam as tarefas necessárias (LAUS, 2007).
O precursor do termo robô foi Karel Capek, novelista e escritor de uma peça teatral da
Tchecoslováquia, que usou pela primeira vez, em 1920, a palavra “robota” (serviço
compulsório, atividade forçada) originando a palavra “robot” em inglês e traduzido para o
português como “robô”. Diversos filmes de ficção cientifica mostraram robôs produzidos com
o comportamento e a forma humana, levando muitos jovens a pesquisar e desenvolver robôs
para o mundo real (GROOVER, 1988, apud CARRARA, 2007).
Com o surgimento dos computadores na metade do século, iniciaram-se especulações
em termos da capacidade de um robô pensar e agir como um ser humano. No entanto, os
robôs foram, neste período, criados especialmente para executarem tarefas difíceis, perigosas
e impossíveis para um ser humano. Por outro lado, eles não eram projetados com a
capacidade de criar ou executar processos que não lhes foram ensinados ou programados.
Assim sendo, foram as indústrias que mais se beneficiaram com o desenvolvimento da
robótica, aumentando a produção e eliminando tarefas perigosas, antes executadas por seres
humanos.
Na robótica moderna, há pesquisas e desenvolvimentos de robô intitulados
humanóides ou antropomórficos. Estes são criados com a semelhança humana e com
capacidade de interagir com o ambiente, como o Asimo construído pela montadora japonesa
4
Honda Motor Co. Citam-se ainda diversos brinquedos articulados com feições que lembram
animais de estimação como cães, por exemplo, e que se destinam ao entretenimento. Contudo,
tais robôs incapazes de realizar quaisquer tipos de tarefas, e apenas respondem a estímulos
externos (CARRARA, 2007).
Segundo o dicionário Aurélio, um robô é: “mecanismos comandados por computador
e que executam tarefas e movimentos usualmente realizados por humanos”.
A Enciclopédia Britânica traz a seguinte definição: “um dispositivo robótico é um
mecanismo com ferramentas utilizado em ciência ou indústria para substituir o ser humano,
podendo ou não ser parecido com o ser humano ou desempenhar suas tarefas de maneira
humana”. Ainda, segundo a Enciclopédia Britânica, a linha que separa os dispositivos
robóticos das máquinas simplesmente automáticas, não é fácil de se estabelecer; quanto mais
sofisticado e individualizado um equipamento, mais provavelmente ele será classificado como
um dispositivo robótico.
Para se caracterizar como um robô, a máquina deve ser capaz de no mínimo duas
coisas:
•
Obter informações sobre seu próprio ambiente.
•
Atuar de alguma forma física este ambiente, se movendo ou
manipulando objetos por exemplo.
De acordo com Miranda (2006), os robôs são classificados em: programáveis e não
programáveis.
Programáveis: Cujo trabalho depende de uma certa medida de instruções previamente
dadas pelo operador, e eles se dividem em:
•
Robôs Manipuladores: os braços mecânicos, ou qualquer sistema que,
em geral, tenha por objetivo deslocar material de um ponto a outro no
espaço
•
Robôs Exploradores: tem como objetivo explorar um determinado
ambiente, este não precisa ser necessariamente uma superfície plana,
mas também pode ser um determinado espaço ou inclusive um objeto
fixo, e revelar através de sensores características físicas dele.
5
•
Máquinas Ferramentas: tem por objetivo processar uma determinada
matéria prima, aumentado o valor agregado.
•
Uso Geral: outros tipos de robôs que não entram nas definições
anteriores, ex: controlador de temperatura.
Não Programável: toda aquela que, ao receber a energia da fonte, efetua sempre o
mesmo trabalho.
Na sociedade atual, há uma crescente necessidade de se realizar tarefas com eficiência
e precisão. Existem também tarefas a serem realizadas em lugares onde a presença humana se
torna difícil, arriscada e até mesmo impossível, como o fundo do mar ou a imensidão do
espaço. Para realizar essas tarefas, se faz cada vez mais necessária a presença de dispositivos
automatizados (robôs), que as realizam sem risco de vida. Temos hoje Robôs sendo utilizados
em vários segmentos de nossa sociedade: robôs que prestam serviços, como para o
desarmamento de bomba; robôs com a nobre finalidade da pesquisa científica e educacional; e
até mesmo os robôs operários, que se instalaram em nossas fábricas e foram responsáveis pela
"segunda Revolução Industrial", revolucionando a produção em série, substituindo a carne e o
osso pelo aço, agilizando e fornecendo maior qualidade aos produtos (ROSÁRIO, 2004).
Algumas vantagens e desvantagens de usarmos robôs em fábricas dos mais variados
setores.
Vantagens:
•
Robótica e automação podem aumentar a produtividade, segurança, eficiência,
qualidade e consistência dos produtos.
•
Robôs podem trabalhar em ambientes agressivos sem a necessidade de suporte a
vida, conforto ou condições de segurança.
•
Robôs trabalham continuamente sem fadiga ou desmotivação. Não ficam nervosos
não tiram férias não ficam doentes e nem fazem greve.
•
Robôs não necessitam de conforto ambiente, tais como iluminação e ar
condicionado ventilação e proteção de ruído.
•
Robôs têm alta exatidão e repetibilidade.
6
•
Robôs podem processar estímulos e tarefas múltiplas, simultaneamente. O homem
pode processar apenas cerca de 5 a 7 estímulo de cada vez.
Desvantagens:
•
Robôs não possuem capacidade de responder em emergências, a não ser que estas
sejam previstas e as respostas estejam incluídas no programa. Medidas de
segurança são necessárias para garantir que eles não irão ferir os operadores e nem
vão danificar outros equipamentos que trabalham com eles.
•
Apesar de superiores em alguns sentidos, os robôs têm capacidade limitada em:
Graus de liberdade
Sensores
Sistemas de Visão
Respostas em tempo-real
•
Custos elevados devido a:
Custo inicial dos equipamentos
Custos de instalação
Necessidade de periféricos
Necessidade de treinamentos
Necessidade de programação
Necessidade de manutenção especializada
•
Robôs substituem o homem criando problemas econômicos, como perda de
salários e problemas sociais, como insatisfação e ressentimento entre os
trabalhadores.
7
2.2 Programação
2.2.1 Lógica de Programação
Segundo Moraes (2000), lógica de programação é a técnica de encadear pensamentos
para atingir determinado objetivo. Forbelle (2000), ressalta que lógica de programação é o uso
correto das leis do pensamento, da “ordem da razão” de processos de raciocínio e
simbolização formais na programação de computadores, objetivando racionalidade e o
desenvolvimento de técnicas que cooperem para a produção de soluções logicamente válidas
e coerentes, que resolvam com qualidade os problemas que se deseja programar.
2.2.2 Algoritmo
Algoritmo é uma seqüência de passos que levam a execução de uma tarefa, ou
resolução de um problema. Segundo Moraes (2000, p.5) podemos pensar em algoritmo como
uma receita, uma seqüência de instruções que dão cabo de uma meta específica. Estas tarefas
não podem ser redundantes nem subjetivas na usa definição, devem ser claras e precisas.
Na figura 2.1 é exibido um exemplo de algoritmo: “Subtrair dois números”
• Escreva o primeiro número no retângulo A;
• Escreva o primeiro número no retângulo B;
• Subtraia o número do retângulo A com B e escreva o resultado no retângulo C.
Figura 2.1 - Exemplo de Seqüência Lógica.
2.2.2.1 Desenvolvimento de Algoritmos
2.2.2.1.1 Pseudocódigo
Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome
é uma alusão à posterior implementação em uma linguagem de programação. Os algoritmos
são independentes das linguagens de programação.
8
•
Regras para construção do Algoritmo: Para escrever um algoritmo precisamos
descrever
a seqüência de instruções, de maneira simples e objetiva. Para isso
utilizamos algumas técnicas.
-
Usar somente um verbo por frase;
-
Imaginar que você está desenvolvimento um algoritmo para pessoas que não
trabalham com informática;
-
Usar frases curtas e simples;
-
Ser objetivo;
-
Procurar usar palavras que não tenham sentido búbio;
2.2.3 Programas
Programas de computadores nada mais são do que algoritmos escritos numa
linguagem de programação como (Delphi, Visual Basic, Pascal entres outras), que são
interpretados e executado por uma máquina que no caso é um computador. Segundo Gama
(2004), a programação é dividida em duas fases distintas, conforme o exibido na figura 2.2.
Figura 2.2 - Fases da Programação.
2.2.4 Interpretação ou Compilação
Interpretação ou compilação é o ato de converter um programa em uma linguagem de
programação, em código de máquina. Na compilação o código é traduzido para só depois
executar. O mecanismo utilizado para a tradução é um compilador que por sua vez nada mais
é do que um programa. Depois de compilado o programa pode ser executado sem que seja
necessária uma nova compilação, o que compensa o tempo gasto na compilação. Como
exemplo as linguagens Delphi e “C”. Já na Interpretação, o programa é traduzido à medida em
9
que vai sendo executado, num processo de tradução de trechos seguidos de sua execução
imediata, então diz-se que o programa foi interpretado e que o mecanismo utilizado para a
tradução é um interpretador. Programas interpretados são geralmente mais lentos do que os
compilados, mas são também geralmente mais flexíveis, já que podem interagir com o
ambiente mais facilmente . Como exemplo as linguagens JavaScript, PHP, Logo.
2.2.5 Linguagem de Programação
Segundo Guimarães (2004), linguagem de programação é um conjunto finito de
símbolos com os quais se escrevem programas de computador. “Um programa determina o
que um computador deve fazer para, a partir de um conjunto de informações de entrada, obter
uma saída determinada”.
A linguagem de programação permite que programador indique sobre quais dados vai
atuar, como estes dados serão armazenados ou transmitidos, e quais ações devem ser tomadas
sob várias circunstâncias. Ela tem como principal objetivo permitir que os programadores
consigam expressar suas intenções mais facilmente do que quando comparado com a
linguagem que um computador entende nativamente, código de máquina.
2.2.5.1 A linguagem Logo
Logo é uma linguagem de programação muito fácil e simples que foi desenvolvida no
MIT (Instituto de Tecnologia de Massachussts), por Seymour Papert na década de 60. É uma
linguagem que não exige máquinas de grande performance nem versões atuais do Windows,
basicamente, Windows98 ou posterior. Com ela é possível fazer desenhos, contas e
simulações gráficas como por exemplo simular os movimentos estudados na Física.
Quando executado, é exibida ao centro da tela do monitor a geometria de uma
tartaruga que representa o cursor, essa característica deve-se porque a linguagem em suas
primeiras versões podia controlar os movimentos de um pequeno robô, chamado “tartaruga”
devido a sua forma.
10
2.2.5.2 A linguagem SuperLogo
A linguagem Logo foi implementada em diferentes idiomas e sistemas operacionais. A
versão que usaremos em nosso projeto, é o SuperLogo, um Logo para Windows que foi
adaptado para o português pela UNICAMP, e sua distribuição é gratuita, podendo ser
encontrado
no
seguinte
endereço:
http://www.nied.unicamp.br/publicacoes/softwares/slogo30.zip. Sua linguagem é interativa e
interpretada. Os comandos em Logo, podem ser executados isoladamente, sem necessidade de
fazer parte de um programa completo.
2.2.5.2.1
O Ambiente de programação SuperLogo
Ao iniciar o programa Superlogo, é exibido o seguinte ambiente de programação,
como mostra a figura 2.3.
Figura 2.3 - Tela SuperLogo.
As instruções a tartaruga são passadas através da janela de comandos, e contém as
seguintes opções:
- Caixa de entrada: é utilizada para dar instruções diretamente a tartaruga, esta caixa está
ligada à caixa de comandos de saída e ao botão executar. Para entrar com uma instrução,
digite o comando e tecle (Enter), a tartaruga imediatamente o executará.
11
- Botão Executar: executa o que estiver na caixa de entrada.
- Caixa de comandos de saída: todas as instruções dadas através da caixa de entrada são
exibidas nesta tela. Com apenas um clique em uma linha, esta será automaticamente copiada
para a caixa de entrada e com um duplo clique automaticamente o programa executará o que
está sendo apontado.
- Botão restaurar janela gráfica: restaura os parâmetros da tartaruga como cor do lápis,
espessura, cor de preenchimento para o padrão e apaga a janela gráfica.
- Botão restaurar janela comandos: apaga o conteúdo da caixa de listagem na Janela de
Comandos.
- Botão Tat: apaga a tela gráfica, colocando a tartaruga na sua posição original, com
direção 0 (norte).
- Botão Estado: abre uma janela que mostra diversos parâmetros do SuperLogo no
momento.
- Botão Pausa: interrompe o SuperLogo, e permite que você examine variáveis e faça
alterações. Para continuar você deverá digitar o comando continue.
- Botão Parar: interrompe os procedimentos em execução.
2.2.5.2.2 Menu Procedimento
Um procedimento é um bloco de código precedido de um cabeçalho que contém o
nome do procedimento e seus parâmetros. Com isto, podemos fazer referência ao bloco de
código de qualquer ponto do algoritmo através do seu nome e passando os seus parâmetros.
Na figura 2.4 é exibido o menu procedimento, onde é possível criar, editar e apagar
procedimentos na linguagem SuperLogo.
12
Figura 2.4 - Menu Procedimento.
• Novo procedimento: é utilizado para criar um novo procedimento. Uma janela do editor,
será exibida onde poderá ser inserido o novo procedimento.
• Editar: é utilizado para editar procedimentos que já foram desenvolvidos. Uma janela com
todos os procedimentos já existentes é aberta, onde poderá selecionar um deles para editar.
• Editar todos: é utilizado para editar procedimentos que já foram desenvolvidos. Uma janela
com todos os procedimentos já existentes é aberta. Então será possível editar todos os
procedimentos que for preciso.
• Apagar: permite apagar os procedimentos que já foram desenvolvidos. Você terá uma
janela com todos os procedimentos existentes, na qual deverá selecionar o procedimento a
apagar.
• Apagar todos: permite apagar todos os procedimentos que já estão carregados (ou que
foram desenvolvidos) na memória.
2.2.5.2.3 Desenvolvendo Procedimentos
A linguagem possui seus próprios procedimentos que são chamados de primitivas, mas
é possível que crie seus próprios procedimentos. Basta ir até o menu procedimento e
selecionar a opção novo, como mostra a figura 2.5.
13
Figura 2.5 – Novo Procedimento.
Após a escolha da opção será exibido uma tela chamada editor de procedimentos,
conforme a figura 2.6. Como exemplo foram desenvolvidos dois procedimentos que são
capazes de efetuar o desenho de um hexágono.
Figura 2.6 – Editor de Procedimento.
Para salvar os procedimentos é necessário fechar a tela e salvar as alterações,
escolhendo a opção “sim” como mostra a figura 2.7.
Figura 2.7 – Tela Procedimento Modificado.
Após o termino do desenvolvimento é possível utilizá-lo em outros procedimentos ou
executá-lo através da caixa de entrada. Como podemos ver na figura 2.8, foi executado o
procedimento (hexagono_rep).
14
Figura 2.8 – Janela de Comandos.
2.2.5.2.4 Ativando as Saídas pelo SuperLogo
Para ativar um pino de saída através da linguagem de programação SuperLogo, utilizase o comando portasaídab 888 X, onde x é o número decimal que representa a saída desejada.
Para ligar mais de uma saída basta somar os números (x), correspondentes. Por exemplo, para
ativar as saídas D0 e D1, utiliza-se o seguinte comando, portasaídab 888 3.
2.2.5.2.5 Justificativa para o uso da linguagem
A linguagem escolhida para desenvolver o programa responsável pela comunicação
com o robô desenhista, foi o SuperLogo 3.0, por ser uma linguagem que permite a
comunicação com a porta paralela e pela sua simplicidade.
Além de possuir um ambiente de programação bastante amigável, sua instalação é
bastante simples não exigindo máquinas de grande performance, e nem versões atuais do
Windows, exigindo o Windows98 ou posterior.
15
2.3 Porta Paralela
Segundo Rogercom (2006), a porta paralela é uma interface de comunicação entre o
computador e um periférico, com isto é possível desenvolver um programa que controle um
aparelho conectado à Porta paralela. Ele ressalta que a porta paralela está ligada diretamente à
placa mãe de seu computador por isso, muito cuidado ao conectar circuitos eletrônicos a essa
porta, pois, uma descarga elétrica ou um componente com a polaridade invertida, poderá
causar danos irreparáveis ao seu computador. Na figura 2.9 é apresentada a porta paralela.
Figura 2.9 – Porta Paralela.
2.3.1 Conector DB25
Através do conector DB25 que é feita a conecção de um equipamento com a porta
paralela, assim estabelecendo a comunicação da porta paralela com a interface conectada a
ela. Quando a tensão elétrica em cima de um pino está entre 0 à 0,4v o seu valor de seu nível
lógico é 0, já quando sua tensão está acima de 3.1 a 5v o valor de seu nível lógico é 1.
2.3.2 Modos de Operação
O modo de operação da porta paralela é configurado pelo BIOS Setup, e a porta
paralela pode operar em três modos. São eles:
•
SPP (Standard Parallel Port) – Neste tipo de operação os bits de dados são
unidirecionais, podendo chegar a uma taxa de transmissão de dados a 150KB/s.
•
EPP (Enhanced Parallel Port) – Já neste tipo de operação os bits de dados são
bidirecionais, podendo chegar a uma taxa de transmissão de transferência de 2 MB/s.
16
•
ECP (Enhanced Capabilities Port) – No modo de operação ECP os bits de dados
também são bidirecionais, podendo chegar a uma taxa de transmissão de transferência
de 2 MB/s.
2.3.3 Cabo paralelo
O cabo paralelo é utilizado para interligar um computador a um periférico, e seu
comprimento deve ser de no máximo 8 metros, mas na maioria dos casos utiliza-se um cabo
com extensão menor, porque quanto maior a extensão, maior será a interferência sobre os
dados transmitidos. Na figura 2.10 é exibido o cabo paralelo.
Figura 2.10 - Cabo Paralelo.
2.3.4 Endereços da Porta paralela
O computador pode ter várias portas paralelas, LPT1, LPT2, LPT3, etc, mas a porta
física padrão dos computadores é a LPT1.
•
378h, para enviar um byte de dados pela Porta;
•
379h, para receber um valor através da Porta;
•
37Ah, para enviar dados.
Caso a porta LPT2 esteja disponível, seus endereços serão: 278h, 279h e 27Ah e com
as mesmas funções dos endereços da porta LPT1.
17
2.4 Eletrônica
Segundo Bertulani (2007), eletrônica é o campo da ciência e da engenharia que trata
dos dispositivos eletrônicos e de sua utilização. É a parte da física que estuda e utiliza as
variações de grandezas elétricas para captar, transmitir e processar informações. Trata dos
circuitos elétricos e instrumentos constituídos por válvulas termiônicas, dispositivos
semicondutores (tais como transistores, termitores e circuitos integrados), tubos de raios
catódicos e outros componentes, entre os quais aqueles baseados no efeito fotoelétrico
(células fotoelétricas, válvulas fotomultiplicadoras, etc..).
2.4.1 História da Eletrônica
De acordo com Bertulani (2007), tudo começou por volta do século XVIII, quando
foram feitas as primeiras experiências com eletricidade. Naquela época, o homem ainda não
tinha conhecimento sobre a constituição da matéria.
Em 1750, o cientista e estadista americano Benjamim Franklin, deu uma contribuição
relevante a eletricidade. Ele imaginava a eletricidade como um fluído invisível. Se um corpo
tivesse mais do que sua cota normal deste fluído, ele dizia que o corpo tinha uma carga
positiva; se o corpo tivesse menos que sua cota normal, sua carga era considerada negativa.
Com base nesta teoria, Franklin concluiu que, se um corpo com carga positiva fosse colocado
em contato com um corpo com carga negativa, o fluído escoava do corpo positivo (excesso)
para o corpo negativo (deficiência). Este fluído hoje é chamado corrente elétrica. Com o
descobrimento do elétron em 1897, pelo físico inglês Josep Thonson, verificou-se que o
fluído na verdade era o movimento ordenado de elétrons, daí o nome corrente elétrica.
Algumas descobertas foram cruciais para o avanço da eletricidade, como a do físico italiano
Alessandro Giusepe Volta, que em 1880 conseguiu estocar eletricidade em uma pilha de
cobre e zinco.
Em 1831, o físico inglês Michael Faraday mostra que um imã pode gerar eletricidade
numa bobina de fios de cobre.
Em 1880,Thomas Édson descobre o princípio da lâmpada elétrica.
Em 1882 é implantado o primeiro sistema de iluminação pública em Nova York.
Em 1888, George Westinghouse faz o primeiro motor elétrico, utilizando as
descobertas de Faraday. A eletrônica inicia-se praticamente com a descoberta do diodo de
emissão termoiônica, estudado e desenvolvido por J. A Fleming, em 1902. Este componente
18
também muito conhecido como válvula de Fleming ou simplesmente válvula, é o marco
inicial de toda a história da indústria eletrônica. Antes da primeira guerra mundial, o rádio
passou a fazer parte do cotidiano. A válvula era uma invenção fantástica, mas tinha alguns
grandes inconvenientes: era grande e pesada demais, o que tornava os aparelhos de radio uns
enormes trambolhos, exigiam erto tempo para começar a funcionar e consumiam muita
energia. Em busca de uma alternativa aconteceu o inesperado.
Em 1946, nasce na universidade da Pensilvânia o primeiro computador eletrônico, o
ENIAC. O ENIAC tinha 100.000 válvulas e ocupava 400m².O ENIAC deu início a primeira
geração de computadores.
Em 1947, comandando um grupo de físicos, Willian Shockley inventa o transistor. Foi
um desses grandes acontecimentos que mudam todas as regras. Todos estavam ansiosos na
época e previam que grandes coisas estavam para acontecer.
O UNIVAC (UNIversal Automatic Computer) se tornou em 1951 o primeiro
computador a lidar com dados numéricos e alfabéticos com igual facilidade. Também foi o
primeiro computador disponível comercialmente, usado no censo americano da década de 50.
Os computadores de primeira geração foram suplantados pelos transistorizados, entre o fim
da década de 50 e início da década de 60. Esses computadores de segunda geração já eram
capazes de fazer um milhão de operações por segundo. Por sua vez, foram suplantados pelos
computadores de terceira geração, com circuitos integrados (foto 3), de meados dos anos 60
até a década de 70. A década de 80 foi caracterizada pelo desenvolvimento do
microprocessador
e
pela
evolução
dos
minicomputadores,
microcomputadores
e
computadores pessoais, cada vez menores e mais poderosos.
2.4.2 Condutores, Semicondutores e Isolantes
2.4.2.1 Condutores
Segundo Larousse(1995) condutor é um meio suscetível de transmitir calor ou
eletricidade de um ponto a outro de sua massa.
Em eletricidade, um condutor é qualquer meio em que se propaga a corrente elétrica.
Por exemplo metal é um bom condutor, mas madeira não é um bom condutor de corrente
elétrica.
19
2.4.2.2 Semicondutores
Material que conduz a eletricidade imperfeitamente e cuja resistividade decresce com
o aumento da temperatura (LAROUSSE, 1995).
Semicondutores são sólidos cristalinos de condutividade elétrica intermediária entre
condutores e isolantes. Os elementos semicondutores podem ser tratados quimicamente para
transmitir e controlar uma corrente elétrica.
2.4.2.3 Isolantes
Chama-se isolante elétrico os materiais que possuem altos valores de resistência
elétrica e por isso não permitem a livre circulação de cargas elétricas, por exemplo borracha,
silicone, vidro. O que torna um material bom condutor elétrico é a grande quantidade de
elétrons livres que ele apresenta à temperatura ambiente, com o material isolante acontece o
contrário, ele apresenta poucos elétrons livres à temperatura ambiente. Os isolantes elétricos
são separados de acordo com a tensão que se quer fazer o isolamento. Um pedaço de madeira,
por exemplo, só pode ser considerado isolante até uma determinada classe de tensão, se
elevarmos essa tensão a determinados níveis, ele pode se tornar um condutor de eletricidade.
Os isolantes gasosos são sempre gases poliatômicos (ar, N2, H2, SF6). Os isolantes
líquidos podem ser óleos minerais derivados do petróleo ou óleos sintéticos não inflamáveis.
Os isolantes sólidos podem ser minerais ou orgânicos, naturais ou sintéticos. (LAROUSSE,
1995)
2.4.3 Componentes Eletrônicos
Define-se como componente eletrônico todo dispositivo elétrico que transmite a
corrente elétrica através de um condutor ou semicondutor (WIKIPEDIA, 2007).
2.4.3.1 Circuito Integrado
Segundo Braga (2002), Circuito Integrado (CI) não pode ser considerado um
componente eletrônico, mas sim um conjunto de componentes fabricados numa pastilha de
silício, já interligados e montados em um invólucro comum. O CI consiste de uma pequena
pastilha de silício que contem um determinado número de componentes tais como
20
transistores, resistores, diodos e capacitores, já interligados por trilhas ou regiões condutoras
de modo a formar um circuito completo.
2.4.3.1.1 ULN 2803
De acordo com Mecatrônica (2006), o CI ULN 2803 tem 8 entradas que podem
controlar até 8 saídas. Com ele é possível controlar até 2 motores de passo simultaneamente.
O ULN 2803 trabalha com corrente de 500mA e tensão de até 50v. Para não sobrecarregar o
CI deve-se usar motores que consumam menos de 500mA. Um fator importante que se deve
levar em consideração é a fonte de alimentação que terá que fornecer a amperagem
necessária.
Na figura 2.11 é exibido o datasheet do circuito ULN 2803, e a figura 2.12 o mostra
externamente.
Figura2.11 – Datasheet ULN 2803.
Figura2.12 - ULN 2803.
2.4.3.1.2 NE 555
O 555 é um circuito integrado utilizado em uma variedade de aplicações de
temporização. O temporizador 555 é um dos mais populares e versáteis circuitos integrados
jamais produzidos, ele é composto por 23 transistores, 2 diodos e 16 resistores em um chip de
silício em um encapsulamento de 8 pinos duplo em linha (DIP). Da mesma família de
temporizadores temos ainda o CI 556 composto pela combinação de dois temporizadores 555
combinados em um encapsulamento de 14 pinos DIP (WIKIPEDIA, 2007).
O 555 tem dois modos de operação:
21
•
Modo monoestável: nesta configuração, o CI 555 funciona como um disparador. Suas
aplicações incluem temporizadores, detector de pulso, chaves imunes a ruído,
interruptores de toque, etc.
•
Modo astável: O CI 555 opera como um oscilador. Os usos incluem pisca-pisca de
LED, geradores de pulso, relógios, geradores de tom, alarmes de segurança, etc.
Na figura 2.13 é exibido o datasheet do circuito NE 555, e a figura 2.14 o mostra
externamente.
Figura 2.13 – DataSheet NE 555.
Figura 2.14 – NE 555.
2.4.3.1.3 LM 7805
O LM7805 é um regulador de tensão linear fornecido por vários fabricantes como a
Fairchild ou ST Microelectronics. Ele pode vir em vários encapsulamentos. Para corrente de
saída até 1A existem dois encapsulamentos: TO-220 (vertical) e D-PAK (horizontal).
A figura 2.15, exibe o LM 7805 e seus encapsulamentos (MECATRÔNICA, 2006).
Figura 2.15 - Encapsulamentos do LM 7805.
2.4.3.2 Transistor
O transistor é um componente eletrônico que começou a se popularizar na década de
1950 tendo sido o principal responsável pela revolução da eletrônica na década de 1960, e
22
cujas funções principais são amplificar e chavear sinais elétricos. De acordo com Braga
(2002), o termo vem de transfer resistor (resistor de transferência), como era conhecido pelos
seus inventores.
Os transistores possuem terminais que designam-se por coletor (C), emissor (E) e base
(B). A figura 2.16 representa os símbolos dos dois tipos de transistor que existem. Apenas
como nota, a existência destes dois tipos compreende-se bem porque, tratando-se de um
dispositivo construído com base num cristal semicondutor contaminado (ou dopado) de forma
a apresentar três zonas distintas, de tipo P ou N, separadas por duas junções idênticas às do
diodo. As três zonas podem organizar-se apenas de duas maneiras diferentes, assinaladas
também na figura 2.16, que originam os dois tipos de transistor bipolar: npn e pnp.
Figura 2.16 - Classificação dos transistores
2.4.3.2.1 BC337 NPN
Este transistor funciona no modo NPN, onde o pino 1 é o coletor, o 2 é base e o 3 é o
emissor, conforme exibido na figura 2.17.
Figura 2.17 – Imagem NPN.
2.4.3.3 Resistor
Conforme Braga (2002) resistores elétricos são componentes eletrônicos, cuja
finalidade é oferecer oposição à passagem de corrente elétrica através de seu material. A essa
23
oposição é dado o nome de "Resistência Elétrica". Na figura 2.18 é exibido o símbolo,
unidade e representação de valores de resistência.
Símbolo
Unidade
Ohm Ω
Kilo Ohm
KΩ = 10³Ω
Mega Ohm
MΩ = 10exp6Ω
Figura 2.18 – Imagem Resistência Elétrica.
Os Resistores podem ser Fixos ou Variáveis, onde os Fixos são Resistores cuja
resistência elétrica não pode ser alterada (apresentam dois terminais), já os Resistores
Variáveis são aqueles cuja resistência elétrica pode ser alterada através de um eixo ou curso
(Reostato, Potenciômetro).
2.4.3.3.1 Identificação dos Resistores
Os resistores são identificados através de um código de cores, onde cada cor e a
posição da mesma no corpo dos resistores representa um valor ou um fator multiplicativo,
conforme a figura 2.19 e na tabela 2.1.
Figura 2.19 – Imagem identificando resistor.
Cor
1º Algarismo
2º Algarismo
Fator Multiplicativo
Tolerância
Preto
-
0
10exp0
-
Marrom
1
1
10exp1
1%
Vermelho
2
2
10²
2%
Laranja
3
3
10³
-
24
Amarelo
4
4
10exp4
-
Verde
5
5
10exp5
-
Azul
6
6
10exp6
-
Violeta
7
7
-
-
Cinza
8
8
-
-
Branco
9
9
-
-
Ouro
-
-
10exp-1
5%
Prata
-
-
10exp-2
10%
Tabela 2.1 - Tabela de valores do Resistor.
Analisando um resistor:
•
1º Faixa - Vermelho=2;
•
2º Faixa - Vermelho=2;
•
3º Faixa - Fator Multiplicativo - Marrom=10exp1=10;
•
4º Faixa - Tolerância - Ouro = 5%;
•
Valor do Resistor = 22 x 10 = 220Ω 5%.
2.4.3.3.2 Associação dos Resistores
Existem dois tipos de associações que podem ser feitas utilizando-se os resistores, que
são:
•
Associação em série: é quando os resistores são associados um em seguida ao outro,
sendo percorridos pela mesma corrente, como mostra a figura 2.20.
Figura 2.20 – Associação em série.
25
•
Associação Paralela: é quando os resistores da associação estão submetidos à mesma
tensão. Seus terminais estão ligados nos mesmos dois pontos. Como mostra a figura
2.21.
Figura 2.21 – Associação paralela.
2.4.3.4 Capacitores
Um Capacitor ou Condensador é constituído por duas placas metálicas condutoras (as
armaduras), dispostas uma paralela à outra e separadas por um material isolante (o dielétrico).
Utiliza-se como dielétrico o papel, a cerâmica, a mica, os materiais plásticos, vidro, parafina
ou mesmo o ar. O Capacitor é dispositivo muito usado em circuitos elétricos. Este aparelho é
destinado a armazenar cargas elétricas e é constituído por dois condutores separados por um
isolante: os condutores são chamados armaduras (ou placas) do capacitor e o isolante é o
dielétrico do capacitor. (BRAGA, 2002)
Costuma-se dar nome a esses aparelhos de acordo com a forma de suas armaduras.
Assim temos o capacitor plano, capacitor cilíndrico, capacitor esférico, etc. A quantidade de
carga armazenada na placa de um capacitor é diretamente proporcional à diferença de
potencial entre as placas. O quociente entre carga (Q) e diferença de potencial (U) é então
uma constante para um determinado capacitor e recebe o nome de capacitância (C).
C=Q/U
C = Capacitância medida em Farad F;
Q = Carga elétrica medida em Coulombs C;
U = Tensão elétrica medida em Volts V;
O Farad (homenagem ao físico inglês Michael Faraday) é uma unidade extremamente
grande, conforme exibido na figura 2.22.
26
Figura 2.22 – Farad.
Quando o capacitor possui um isolante elétrico entre suas placas, sua capacitância
aumenta. Este isolante dificulta a passagem das cargas de uma placa a outra, o que
descarregaria o capacitor. Dessa forma, para uma mesma diferença de potencial, o capacitor
pode armazenar uma quantidade maior de carga. Os capacitores são amplamente utilizados
em rádios, gravadores, televisores, circuitos elétricos de veículos, etc.
Existem duas formas de se utilizar o capacitor, conforme as figuras 2.23 e 2.24:
Capacitores em série
Figura 2.23 – Capacitores em Série.
Capacitores em Paralelo
Figura 2.24 – Capacitores em Paralelo.
2.5 Motor de Passo
Os Motores de passos são dispositivos mecânicos, que podem ser controlados através
de softwares ou de um hardware específico, tais motores são encontrados em aparelhos onde a
precisão é um fator muito importante como impressoras, scanners, discos rígidos e muitos
outros aparelhos. Os motores que são utilizados neste projeto são do tipo unipolar, neste tipo
não é necessário inverter a polaridade para girar nos dois sentidos
Segundo Rogercom (2006), os motores de passo pode trabalhar em 3 modos de
operação, são eles:
27
•
Passo completo 1 (full-step): Onde somente uma bobina é energizada a cada passo,
conforme é exibido na figura 2.25.
Características: - Consumo de pouca energia;
- Menor torque;
- Maior velocidade.
Figura 2.25 – Passo completo 1 (Full-step).
•
Passo completo 2 (full-step): Onde duas bobinas são energizadas a cada passo. Como
mostra a figura 2.26.
Características: -Maior torque;
-Consome mais energia que o Passo completo 1;
- Maior velocidade.
Figura 2.26 – Passo completo 2 (Full-step).
•
Meio Passo (half-step): Neste modo de operação é feita uma combinação do passo
completo 1 (full-step) com o passo completo 2 gerando um meio passo, como mostra a
figura 2.27.
Características: - Mais preciso;
- Consome mais energia que os passos anteriores;
- Menor velocidade.
28
Figura 2.27 – Meio Passo (Half-step).
Na figura 2.28, é exibido como operar um motor de passo de seis fios, para que efetue um
giro:
Figura 2.28 – Ativando as bobinas.
2.5.1 Acionamento do Motor de Passo
Segundo Rogercom (2006), para acionarmos um motor de passo é necessário a
utilização de um hardware específico chamado driver, que pode ser feito utilizando
transistores de potência como os BD135, DB241, ou utilizando drivers prontos, como o
ULN2803, que nada mais são que arrays de transistores. Neste projeto utilizou-se o CI ULN
2803 para o controle de dois motores de passo, este CI trabalha com correntes de 500mA e
tensão de até 50v.
2.5.2 Determinação dos fios comuns
Para ligar o motor de passo a fonte de alimentação, é necessário descobrir dentre os
fios do motor, qual é o fio comum. Segundo Mecatrônica (2006), para isso é necessário fazer
29
medições com um multímetro separando quais fios têm contato elétrico, assim tendo dois
conjuntos de três como mostra a figura 2.29.
Figura 2.29 – Motor de seis fios.
Medindo a resistência dentro de cada conjunto, apenas um dos fios vai apresentar
resistência reduzida em relação aos outros dois, este fio corresponde ao fio comum. Depois de
encontrado o fio comum em cada conjunto, é só juntá-los formando um único terminal
comum para ligar a fonte.
Supondo que valor medido foi de 36 ohm de resistência. Aplicando a lei de Ohm
temos:
V = R.I
5 = 61.I
I = 12/61
I = 82mA
Portanto, o motor deve ser alimentado com 5v / 82mA, podendo ser controlado através
de um CI ULN 2803, porque 82mA está abaixo dos 500mA que os CIs podem controlar
30
3. Atividades Desenvolvidas
3.1 Montagem do Circuito Eletrônico
Tendo como base o layout do circuito na figura 3.1, iniciou-se a montagem da parte
eletrônica do projeto.
Figura 3.1 – Imagem do Circuito eletrônico.
Na implementação deste circuito foram utilizados os seguintes componentes :
•
1 placa com dimensão 10x15cm para soldagem dos componentes;
•
3 metros de estanho para solda;
•
1 CI ULN 2803;
•
2 CI’s NE 555;
•
1 CI LM 7805;
•
1 Transistor BC337 NPN;
31
•
8 Resistores de 100Ω 1/8 watt,
•
1 Resistor 2,2KΩ 1/8 watt;
•
1 Resistor 150Ω 1/8 watt;
•
1 Resistor 1KΩ 1/8 watt;
•
1 Resistor 10KΩ 1/8 watt;
•
1 Trimpot mini horizontal 10kΩ;
•
1 Capacitor 10µF/25v eletrolítico;
•
1 Capacitor 0,1µF poliéster;
•
2Capacitor 0,01µF poliéster;
•
1 Capacitor 220µF/25v eletrolítico;
•
1 DB15 fêmea 90°;
•
2 Borne 4 seguimentos;
•
2 Borne 2 seguimentos;
•
1 Borne 3 seguimentos;
•
2 Leds;
•
2 Suportes para CI;
A montagem se iniciou com o posicionamento dos jumpers, que são pequenos pedaços de
fios. Logo depois vem a soldagem dos resistores, capacitores, bornes e CI’s. Na figura 3.2 é
exibida a imagem do circuito eletrônico concluído, com todos os seus componentes
conectados a placa.
Figura 3.2 – Imagem superficial do circuito eletrônico.
32
Figura 3.3 – Imagem da parte inferior do circuito eletrônico.
3.1.1 Componentes do circuito
3.1.1.1 Circuito Integrado(CI)
ULN 2803, sua função é aumentar a capacidade de corrente e tensão de trabalho para
os pinos de dados da porta paralela (pinos 2-9). Os bits menos significativos (0-3) da porta
controlam o motor 1 e os bits mais significativos (4-7) controlam o motor 2. NE 555 utilizado
para substituir o NE 556 que tem interiormente um duplo NE 555. Tem como função
controlar o motor servo CS-60. O primeiro NE 555 tem função de um oscilador do tipo
astável controlando o segundo NE 555 que funciona como temporizador monoestável. O
primeiro gera pulsos próximos a 20ms(0,02s) e o segundo, quando ativado, gera pulsos de
1ms a 2ms(0,001s e 0,002s).
O controle do motor é feito alterando-se o valor de “R” (Conforme figuras 3.4 e 3.5) com o
transistor BC337 que põe em “curto” o Trimpot forçando a transição do valor máximo para o
mínimo monoastável.
Figura 3.4 – Figura_Cálculo astável.
33
Figura 3.5 – Figura_Cálculo monoestável.
LM7805 com encapsulamento TO-220 foi usado para regular a tensão de 12VDC para 5VDC.
3.1.1.2 Transistor
BC337 é usado no controle do servo motor, sua função é colocar em “curto” o
Trimpot forçando a transição do valor máximo para o mínimo monoastável.
3.1.1.3 Resistores
Resistores de 100Ω serve para limitar a corrente e ajudar na proteção da porta paralela
do computador.
Resistor de 2,2KΩ serve para limitar a corrente de entrada nos CI’s NE555 e no
capacitor de 10µF/25v eletrolítico.
Resistor de 150Ω funciona em série com o resistor 2,2K para controlar a corrente no
NE555.
Resistor de 1kΩ protege o BC337 e a porta paralela.
Resistor de 10KΩ limita a corrente que chega ao NE555 e ao capacitor 0,01µF.
Trimpot 10KΩ tem como função regular a posição do servo motor.
3.1.1.4 Capacitores
Tem o objetivo de suavizar a saída de uma onda retificada completa ou meia onda.
34
3.1.1.5 Servo
No projeto Robô Desenhista o servo motor CS-60 Hobbico tem a função de levantar e
descer a caneta, de acordo com os comandos enviados para o robô, dando mais precisão nos
desenhos.
3.1.1.6 LED’s
Os led’s foram utilizados para indicar se há corrente passando pelo circuito.
3.1.2 Acionamento dos Motores
3.1.2.1 Motores de Passo
Quando enviamos o sinal para o motor, este sinal passará pelos pinos de (1-4) da porta
paralela passando pelos resistores, chegando ao CI ULN2803 nos pinos de (1-4) onde será
amplificado estes sinais saindo dos pinos (15-18) chegando ao borne onde será ligado os
quatro fios do motor de passo de suas respectivas bobinas e os outros dois fios restantes são
ligados na energia. O mesmo processo acontece para o acionamento do motor 2 mudando
apenas os pinos da porta paralela que serão de (5-8), os pinos de entrada do CI que serão de
(5-8) e os pinos de saída do CI serão (11-14).
3.1.2.2 Servo motor
O sinal que vem do software através do pino 9 da porta paralela passa pelo resistor,
entra no transistor BC337 como sinal de base que determina a entrada ou não do sinal no
primeiro CI NE555, pelos pinos 6 e 7 que controlará o segundo CI NE555 que funciona como
temporizador, enviando pulsos para o pino de saída 3 que acionará o servo motor que estará,
também, ligado a energia e ao terra.
35
3.2 Implementação do Programa Robô Desenhista
3.2.1 Configurando Porta Paralela
Para permitir o uso da porta paralela foi necessário a utilização de um software
chamado UserPort.exe, porque nos sistemas operacionais Windows 2000 , NT e XP é
proibido o acesso as portas de I/O por motivos de segurança. Tal software pode ser
encontrado no seguinte endereço, sendo que sua utilização é gratuíta.
http://www.mecatronicafacil.com.br/downloads/logo_instr.htm
Após o download foi necessário a copia do arquivo UserPort.sys, para o seguinte
diretório: C:\WINDOWS\system32\drivers. Posteriormente executamos o programa e
ajustamos os endereços 0x378-0x37, conforme a figura 3.6, utilizando os botões ADD para
adicionar e Remove para remover os outros endereços, após o termino pressionamos o botão
Start.
Figura 3.6 – Tela do programa UserPort.
3.2.2 Procedimentos de controle do robô
Foram implementados procedimentos que tem como objetivo enviar comandos para
porta paralela para que o robô os execute, que são: abaixar e levantar a caneta, andar para
frente e para trás, girar para direita e para esquerda e realizar curva para direita e para
esquerda. Após o desenvolvimento de tais procedimentos, foi feito um novo procedimento
chamado “desenhista”, que cria a tela do programa como os botões, as barras de rolagem e
chama os seus respectivos procedimentos.
Na figura 3.7, é exibida a tela do programa em execução.
36
Figura 3.7 – Tela do Programa Robô Desenhista
3.2.2.1 Abaixar Caneta
Para acionar esse recurso, foi necessária a criação do seguinte procedimento:
aprenda abaixa
portasaída 890 10
fim
Com isso, quando chamado o procedimento abaixa, será enviado dados para a porta
LPT de controle para que o motor servo que é responsável por abaixar a caneta, receba a
instrução e execute-a.
3.2.2.2 Levantar Caneta
Para levantar a caneta, criou-se outro procedimento chamado levanta, que também irá
enviar dados para a porta LPT1 de controle, assim o motor servo receberá o comando e
suspenderá a caneta.
Código referente ao movimento do servo, para levantar a caneta:
aprenda levanta
portasaída 890 11
fim
37
3.2.1.3 Andar para frente
Para que o robô seja capaz de andar para frente, implementou-se o procedimento
chamado “frente”, onde é realizado uma repetição de 1 até o valor de steps escolhido na barra
de rolagem.
Assim ao chamar o procedimento será enviado para a porta LPT1 de dados, quais as
portas deverão ser acionadas. Para que os dois motores sejam acionados, duas saídas que
estão conectadas ao motor da esquerda são ativados e duas saídas conectadas ao motor da
direita também são ativados.
Todos os procedimentos de locomoção como andar para frente, para trás, girar para
direita e para esquerda, fazer curva para direita e para esquerda, irão realizar esta repetição
recebendo como parâmetro o valor de steps.
aprenda frente
portasaída 888 0
para[i 1 :steps 1][
pf 1
portasaídab 888 106 espere :velocidade
portasaídab 888 89 espere :velocidade
portasaídab 888 149 espere :velocidade
portasaídab 888 166 espere :velocidade]
portasaída 888 0
fim
3.2.1.4 Andar para trás
No procedimento chamado “traz”, como o próprio nome diz, fará com que o robô ande
para trás, para que isto ocorra as saídas ativadas serão o inverso das utilizadas para que o robô
ande pare frente, conforme o código a seguir.
aprenda traz
portasaída 888 0
para[i 1 :steps 1][
pt 1
portasaídab 888 166 espere :velocidade
portasaídab 888 149 espere :velocidade
portasaídab 888 89 espere :velocidade
portasaídab 888 106 espere :velocidade]
portasaída 888 0
fim
38
3.2.1.5 Girar para direita
Para que o robô seja capaz de girar para a direita, implementou-se um procedimento
que faz com que o motor da esquerda gira para trás e o motor da direita gire para frente. Esse
procedimento é descrito a seguir:
aprenda direita
portasaída 888 0
para[i 1 :steps 1][
pd 1
portasaídab 888 102 espere :velocidade
portasaídab 888 85 espere :velocidade
portasaídab 888 153 espere :velocidade
portasaídab 888 170 espere :velocidade]
portasaída 888 0
fim
3.2.1.6 Girar para esquerda
Para que o robô gire para a esquerda, implementou-se um procedimento que faz com
que o motor da direita gire para trás e o motor da esquerda gire para frente. Conforme o
código seguir:
aprenda esquerda
portasaída 888 0
para[i 1 :steps 1][
pe 1
portasaídab 888 170 espere :velocidade
portasaídab 888 153 espere :velocidade
portasaídab 888 153 espere :velocidade
portasaídab 888 102 espere :velocidade]
portasaída 888 0
fim
3.2.1.7 Realizar uma curva para direita
No movimento curva para direita, implementou-se um procedimento que faz com que
somente o motor da direita gire para frente.
Código referente ao movimento curva para direita do robô:
aprenda cvdireita
portasaída 888 0
para[i 1 :steps 1][
pf 1
pd 1
portasaídab 888 10 espere :velocidade
39
portasaídab 888 9 espere :velocidade
portasaídab 888 5 espere :velocidade
portasaídab 888 6 espere :velocidade]
portasaída 888 0
fim
3.2.1.8 Realizar uma curva para esquerda
Para que o robô realize o movimento curva para esquerda, implementou-se um
procedimento onde somente o motor da esquerda gire para frente.
Código referente ao movimento curva para esquerda do robô:
aprenda cvesquerda
portasaída 888 0
para[i 1 :steps 1][
pf 1
pe 1
portasaídab 888 96 espere :velocidade
portasaídab 888 80 espere :velocidade
portasaídab 888 144 espere :velocidade
portasaídab 888 160 espere :velocidade]
portasaída 888 0
fim
40
3.3 Montagem do Robô
3.3.1 Montagem do Cabo de Comunicação
Para sua montagem, utilizou-se um cabo tipo manga que têm como extensão 2 metros,
embutiu-se a fonte de alimentação de 12 VDC neste cabo manga. Na extremidade que liga o
computador está conectado um conector DB25 MACHO. Na extremidade ligada ao circuito
eletrônico, temos um conector DB15 MACHO, onde a fonte de alimentação do circuito será
ligada no pino 10.
3.3.2 Montagem Mecânica
3.3.2.1 Montagem do Chassi
Para a montagem do chassi, foram utilizadas duas caixas plásticas da fabricante patola,
que são seguintes, CF815/F onde foram colocados os dois motores de passo utilizados para a
locomoção do robô, e o servo para levantar e abaixar a caneta e na caixa PB600/2 onde foi
fixado o circuito eletrônico do robô.
Na locomoção do robô, foi feito duas rodas de madeira para conectá-las aos motores
de passo, posteriormente as revestiu-se com pedaços de câmara de ar para aumentar o atrito.
Logo depois foram parafusados os motores na lateral da caixa CF815/F, como a figura 3.8.
Para a movimentação da caneta, fixou-se o servo no chassi e foram utilizadas
alavancas feitas em alumínio é plástico. O movimento do servo é ajustado através do trimpot,
que está conectado no circuito eletrônico. Como mostra a figura 3.9:
Figura 3.8 – Fixação dos motores de passo
41
Figura 3.9 – Ajuste do sevo motor
42
4. Conclusão
A robótica é uma área de pesquisa que envolve extrema complexidade, mas os frutos
gerados com seu uso a torna bastante atraente para todas as empresas que desejam um ganho
de produção, redução de custos entre outros, a cada dia que passa torna-se mais difundida em
todo o mundo.
Este projeto foi motivado pela percepção da crescente demanda das empresas em
automatizar seus processos a fim de obter maior produtividade e conseqüentemente maior
lucro.
Sabendo-se dessas necessidades, implementamos o robô desenhista que é capaz de
realizar vários desenhos. Esse robô poderá futuramente ser implementado em cortes de chapas
de vidro, metal, entre outros, preservando assim a integridade física dos funcionários.
Através do projeto desenvolvido, foi possível adquirir um amplo conhecimento e
experiência prática na área de robótica, programação e eletrônica.
A linguagem de programação SuperLogo, utilizada no desenvolvimento do programa
robô desenhista, permitiu o entendimento de como é feita a comunicação da porta paralela
com os periféricos conectados a ele.
Já no desenvolvimento do circuito eletrônico, identificamos a utilidade de vários
componentes eletrônicos.
Acreditamos que este projeto foi de grande valia para o crescimento pessoal e
profissional de todos os integrantes envolvidos neste projeto.
4.1 Dificuldades Encontradas
Ao decorrer do desenvolvimento de nosso projeto, foram encontradas várias
dificuldades, dentre elas podemos destacar:
•
Adquirir os componentes necessários para o desenvolvimento do robô;
•
Fixar o servo no chassi de modo que consiga abaixar e suspender a caneta;
•
O fato de nem todos os integrantes do grupo morar na mesma cidade, dificultando
assim nossas reuniões;
•
A falta de tempo disponível por todos trabalharem, assim podendo reunir somente nos
finais de semana e feriados.
43
5. Referência Bibliográfica
AGUIAR, Carlos Eduardo. Informática para o Ensino de Física :Introdução ao Logo. 2006.
Apostila.
FERRUZI, Elaine Cristina. Considerações sobre a linguagem de programação Logo.
Seminário apresentado no grupo de estudos de inteligência artificial aplicada à matemática.
SantaCatarina: GEIAAM, setembro/2001.
MORELATTI, M. R. M.; FURKOTTER, M. Metodologias de Ensino de matemática no
ciclo II do ensino fundamental I :Introdução à linguagem de programação logo. 2005.
Apostila.
MECATRÔNICA FÁCIL. Robô Desenhista controlado pelo pc através da porta paralela.
26º Edição, Jan.-Fev 2006.
MECATRÔNICA FÁCIL. Controle de motor de passo pela porta paralela do pc.
30º Edição, Set.-Out 2006.
MORAES, Paulo Sérgio de. Lógica de Programação. Unicamp, 2000. (Apostila).
GAMA, Claudia. Introdução a Lógica de Programação. Ufba. (Apostila).
FORBELLONE, André Luiz Villar; EBERSPACHER, Henri Frederico. Lógica de
Programação. MAKRON Books, 2º Edição, 2000.
GUSTAVO. Porta Paralela. Disponível em
<http://pessoal.pb.cefetpr.br/gustavo/porta_paralela_pratica_1.pdf>. Acesso em: 08 Set.
2007, 10:35.
CÉSAR, Danilo Rodrigues. Robótica Livre: Implementação de um Ambiente Dinâmico de
Robótica Pedagógica com Soluções Tecnológicas Livres no CET CEFET em
Itabirito.Disponível
em
<http://libertas.pbh.gov.br/~danilo.cesar/robotica_livre/artigos/artigo_sbc_fisl_2004_final_ed
u_weimig.pdf>. Acesso em 2007.
BRASIL, Alex. Braço Mecânico. 07 de julho de 2005. (Apostila).
CARRARA, Valdemir. Apostila de Robótica. Disponível em <http://www.valcar.net>.
Acesso em 2007.
MARTINS, A. O que é Robótica. São Paulo: Editora Brasiliense, 1993.
SANTAELLA, Lucia Arte & Ciência: o campo controverso da bioarte. Disponível em
< http://www.itaucultural.org.br/interatividades2003/paper/santaella.doc > Acessado em dez.
2007.
44
SANTOS,
Winderson
Eugênio.
Robôs
<http://www.controle.eng.br>.Acesso em 2007.
Industriais.
Disponível
em
VIEIRA, Rodrigo Souza.Robôs Industriais. Uma Breve Revisão de Literatura.Disponível em
<http://www.eps.ufsc.br/disserta99/vieira/cap2.html>. Acesso em 2007.
ROGERCOM. Porta Paralela, Motores de Passo URL: <http://www.rogercom.com>
Acessado em nov. 2007.
ROSÁRIO, João Maurício. Artigo:Robótica: Realidade ou Ficção - Uma Opção para a
Medicina
do
Século
XXI.Disponível
em
<http://www.universia.com.br/html/materia/materia_egjb.html> Publicado em 06/08/2004.
LAROUSSE. Grande Enciclopédia Larousse Cultural. São Paulo: Plural Editora e Gráfica,
1995
45
Download

Robô Desenhista controlado pelo Logo