You are on page 1of 48

Universidade Federal de Pernambuco Departamento de Eletrnica e Sistemas o Laboratrio de Dispositivos e Nanoestruturas o

Robtica Educacional com Lego o Mindstorms e Robix Rascal


Henrique Muller Vasconcelos

Professor Orientador: Edval J. P. Santos, PhD

Relatrio nal, referente `s atividades realizadas na diso a ciplina EL431 - Estgio Supervisionado 1, apresentado ao a Curso de Graduao em Engenharia Eltrica modalidade ca e Eletrnica da Universidade Federal de Pernambuco. o

DES - UFPE Maro de 2008 c

Resumindo....

Conte do u
1 Introduo ca 1.1 Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ca 1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 7

2 O Laboratrio de Mecatrnica o o 8 2.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 ca 2.2 Futuras aquisies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 co 2.3 Diculdades encontradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 Projeto de robs o 3.1 Introduo . . . . . . . . . . . . . . . ca 3.2 As Leis da robtica . . . . . . . . . . o 3.3 Classes de robs . . . . . . . . . . . . o 3.4 Tipos de robs . . . . . . . . . . . . o 3.5 Conhecimento base t pico para design 3.6 Estrutura lgica de um rob mvel . o o o 11 11 11 12 13 13 13 14 14 15 20 23 24 25 26 28 31 33 33 33 34 35 35

. . . . e .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . operao de ca . . . . . . .

. . . . . . . . . . . . . . . . . . . . sistemas . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . robticos o . . . . . .

. . . . . .

. . . . . .

4 Kits de Robtica Educacional o 4.1 O kit Lego Mindstorms . . . . . . . . . . . 4.1.1 O contedo do kit . . . . . . . . . . u 4.1.2 Utilizando o Lego Mindstorms . . . 4.1.3 Um exemplo simples . . . . . . . . 4.1.4 Diculdades encontradas . . . . . . 4.2 O Kit Robix Rascal . . . . . . . . . . . . . 4.2.1 O contedo do Kit . . . . . . . . . u 4.2.2 Utilizando o Robix Rascal Software 4.2.3 Diculdades encontradas . . . . . . 5 A bancada de CLPs 5.1 Introduo . . . . . . . . . . . . . . . . ca 5.2 Ambiente de programao MasterTool ca 5.3 O MasterTool ProPonto MT6000 . . . 5.3.1 Criando um Barramento . . . . 5.3.2 Utilizando o software ProPonto

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

5.4 5.5 5.6

Componentes utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Iniciando o MasterTool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Diculdades encontradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 41 42 46

6 Concluso a A Cdigo de programao do Scout o ca B Equipamentos do Laboratrio o

Lista de Figuras
2.1 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 5.1 5.2 5.3 5.4 5.5 5.6 B.1 B.2 B.3 B.4 B.5 Laboratrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o RCX Brick . . . . . . . . . . . . . . . . . Display de LCD . . . . . . . . . . . . . . Motor CC do Lego Mindstorms . . . . . Controle de potncia dos motores . . . . e Sensor de toque . . . . . . . . . . . . . . Sensor de luz . . . . . . . . . . . . . . . Sensor de rotao . . . . . . . . . . . . . ca Sensor de temperatura . . . . . . . . . . Carregando um programa no RCX Brick Rob exemplo: Scout . . . . . . . . . . . o Scout de perl e de frente . . . . . . . . Servo motor Hitec HS422 . . . . . . . . . Interface Eletrnica RCS-6 . . . . . . . . o Problema nos servos Hitec . . . . . . . . Walker b pede com rodas traseiras . . . . A bancada de CLPs . . . . Tela de Componentes . . . Tela de Desenho . . . . . . Tela de Bases Compat veis Mdulos utilizados . . . . o Chaves de teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 15 16 18 19 20 20 20 21 22 23 24 26 27 32 32 33 36 37 38 39 40 46 46 47 47 47

Geradores de pulso e Ethernet Frequenc metros da Entelbra . Frequenc metros Sincler . . . Unilab Digital da Orbital . . . Motor DC Getriebe Phywe . .

Repeater . . . . . . . . . . . . . . . . . . . . . . . .

Cap tulo 1 Introduo ca


Robtica Educacional um termo utilizado para caracterizar formas de aprendizagem o e que abrangem materiais de sucatas ou kits de montagem, compostos por diversas peas, c como motores e sensores que podem ser controlados por softwares de computador, permitindo programao, e assim sua interao com o meio. ca ca Esta proposta pedaggica vem se juntar aos demais recursos tecnolgicos empregados o o no processo de ensino e aprendizagem como instrumento que, inserido nas atividades da sala de aula, possibilitam explorar os mais diversos temas do curr culo escolar. Nesse ambiente constitu pelos recursos tecnolgicos como interfaces, motores, sensores, prodo o gramas e materiais de construo, o aluno e professor tm a oportunidade de montar os ca e mais diversos dispositivos robticos ou robs. o o A palavra rob foi introduzida pelo dramaturgo Karel Capek. Esta palavra surgiu o numa das suas mais prestigiadas peas, Rassums Universal Robots (1920), e os robs que c o nela intervieram no eram mecanizados. a Rob em tcheco uma palavra para trabalhador, servente. E seu signicado bem o e e pertinente perante as aplicaes mais usuais de robs na atualidade. Em geral, robs so co o o a usados em: Trabalhos repetitivos entediantes, estressantes, ou intensivos para humanos Trabalhos perigosos para humanos Tarefas servis que humanos no querem fazer a No entanto, muitos investimentos so feitos no sentido de aperfeioamento de mquinas a c a que imitamo movimento humano e de diversos animais da natureza. H a possibilidade a de que, brevemente, mquinas venham a compor o corpo humano debilitado, possivela mente substituindo partes e rgos vitais para o homem. o a

1.1

Motivao ca

A motivao de realizar este estgio devido ` tendncia atual de que, cada vez mais, ca a e a e os sensores vm sendo aplicados para as mais diversas caracterizaes do ambiente de e co trabalho. Um laboratrio onde esses sensores possam ser colocados ` prova mostra-se no o a m nimo interessante, representando uma bela vitrine para o curso de eletrnica da UFPE. o

1.2

Objetivos

O principal objetivo deste estgio montar o laboratrio de mecatrnica da Univera e o o sidade Federal de Pernambuco. Alguns kits de robtica educacional foram dispon o veis como o kit Lego Mindstorms e o kit RCS-6 (recentemente o nome foi mudado para Rascal, mas o produto o mesmo). Apesar de terem sido desenvolvidos para crianas, esses kits e c so amplamente usados por estudantes em disciplinas de robtica de n superior. O a o vel laboratrio tambm conta com uma bancada de CLPs e outros equipamentos como freo e quenc metros digitais e microcomputadores. As atividades do estgio caram denidas em: a Estudar o kit Lego Mindstorms Estudar o kit Robix Rascal Estudar a bancada de CLPs Estudar o desenvolvimento de robs o Tornar o laboratrio operacional o Espera-se que no m da carga horria de 180 horas, o laboratrio esteja apto a operar a o para estudantes com interesse em robtica, automao e sistemas de controle. Ainda poo ca der prover um ambiente de aplicao dos projetos das disciplinas de eletrnica analgica, a ca o o digital e microcomputadores.

Cap tulo 2 O Laboratrio de Mecatrnica o o


2.1 Introduo ca

O laboratrio de mecatrnica ca no quarto andar do prdio acadmico do Centro de o o e e Tecnologia e Geocincias da UFPE, sala 414. Ao in deste estgio, a sala no estava e cio a a operacional e vrios de seus equipamentos estavam guardados h alguns anos. A primeira a a etapa das atividades consistiu em realizar a faxina da sala, organizao dos mveis, teste ca o dos equipamentos e pequenos reparos dos mesmos.

Figura 2.1: Laboratrio o

A segunda etapa da fase inicial foi testar e selecionar os equipamentos ` disposio a ca para formar as bancadas do laboratrio. o

A tabela abaixo lista alguns dos equipamentos eletrnicos do laboratrio. Fotos dos o o mesmos encontram-se no apndice B deste relatrio. e o Marca EMG EMG EMG Thinwire Orbital Entelbra Entelbra Sincler Auditronic Phywe Pasco MCM Fluke Phywe Phywe Altus Altus Altus Altus Altus Altus Lego Robix HP ZMAX Samsung Samsung Benq Equipamento 100MHz Pulse Generator Type TR-0307 EMG 11590 Pulse Generator Type TR-0308 EMG 11591 Programmable Signal Generator Type TR-0614/B EMG 1172/B Ethernet Multiport Repeater Experimental Module Unilab Digital Frequenc metro Digital ETB-150 Frequenc metro Digital ETB-605 Frequency Meter SFM-5000 Fonte de alimentao regulvel ca a Multirange meter with amplier 07034.00 Basic Ripple Tank System WA-9775 Regulador eletrnico de tenso RET1000 o a Multi-counter 1910A Motor Getriebe Hallsonde Teslameter CLP Mdulo de CPU PO3042 o CLP Mdulo de entrada PO1002 o CLP Mdulo de sa PO2022 o da CLP Base PO6302 CLP Base PO6003 CLP Base PO6000 Kit Mindstorms Rascal Robot Kit Impressora LaserJet 4L Microcomputador Monitor SyncMaster 793DF Monitor SyncMaster 753v Teclado para microcomputador Qtd 1 1 1 1 4 1 1 4 1 7 1 1 1 3 4 1 1 1 1 1 1 2 1 1 3 1 1 2

2.2

Futuras aquisioes c

Para o laboratrio operar de maneira independente, alguns itens precisam ser adquirio dos no futuro. Um osciloscpio simples, um mult o metro digital, um gravador de PIC (que tambm poder ser usado por alunos da disciplina de microcomputadores), um gerador e a de sinais e outras ferramentas bsicas como um jogo de chaves de fenda, philips, alicates a de bico e de corte e um ferro de solda. Tambm so necessrios, porm com maior urgncia, equipamentos como estabilizae a a e e dores para ligar os microcomputadores, assim como outros itens que requerem tenso de a 110 volts. Ainda no se tem mouses dispon a veis para operar os micros. 9

2.3

Diculdades encontradas

Seria necessrio formar uma equipe para testar e reparar em tempo hbil os equipaa a mentos mais antigos como os geradores de sinal. E ainda seria dicilmente mais interessante que adquirir geradores de sinais mais modernos e compactos para as aplicaes do co laboratrio. Desta forma, esses equipamentos no foram colocados em uso. o a Como o laboratrio ainda est em fase de montagem e as aquisies s podero ser o a co o a feitas com o passar do tempo, alguns itens pessoais foram levados para se ter operacionalidade m nima, tais como: estabilizador, mouse e alicate. No quarto andar de eletrnica opera uma tcnica de manuteno de equipamentos do o e ca departamento. Durante este estgio, houve a mudana da sala da tcnica para a sala a c e vizinha ao laboratrio, cuja porta de vidro que d acesso ao corredor a mesma. Em o a e muitas ocasies, os tcnicos deixam a porta aberta e o laboratrio de mecatrnica ca o e o o exposto para qualquer um, criando uma situao de risco e abrindo possibilidade para deca saparecimento de algum item do laboratrio quando no est presente algum responsvel. o a a e a

10

Cap tulo 3 Projeto de robs o


3.1 Introduo ca

A robtica a rea responsvel pelo desenvolvimento de dispositivos capazes de realio e a a zar tarefas com ecincia e preciso, incluindo as que so imposs e a a veis de serem executadas pelo homem sem risco de vida. Ela busca o desenvolvimento e a integrao de tcnicas e ca e algoritmos para a criao de robs. Uma tecnologia intimamente relacionada ` Robtica ca o a o a automao. Esta se ocupa da utilizao de sistemas mecnicos, eletrnicos e cone ca ca a o trole da produo. A Robtica considerada uma forma de automao industrial, ` qual ca o e ca a est ligada a automao programvel. Nesta classe de automao, os equipamentos so a ca a ca a controlados por um programa de instrues. H diversos segmentos da Robtica, como co a o percepo, racioc e ao, em que vm sendo desenvolvidas pesquisas e propostas para ca nio ca e a soluo dos mais variados problemas encontrados no cotidiano, por exemplo usar robs ca o para explorar locais que o homem no pode alcanar. a c A explorao do ambiente, no qual o rob navega, necessita de dispositivos perifricos, ca o e como os sensores. Os sensores so dispositivos essenciais para a movimentao do rob, a ca o por meio dos quais poss extrair caracter e vel sticas de um determinado ambiente. Tais informaes so utilizadas pelo microcontrolador, para gerar os movimentos do rob. co a o

3.2

As Leis da robtica o

O termo robtica refere-se ao estudo e ` utilizao de robs, e foi pela primeira vez o a ca o enunciado pelo cientista e escritor Isaac Asimov, em 1942, numa pequena histria intio tulada Runaround. Asimov tambm publicou uma compilao de pequenas histrias, e ca o em 1950, intitulada I, Robot (Eu, Rob). Este autor props a existncia de trs leis o o e e aplicveis a robtica, `s quais acrescentou, mais tarde, a lei zero. a ` o a - Lei 0- Um rob no pode fazer mal ` humanidade e nem, por inao, permitir o a a ca que ela sofra algum mal. Desse modo, o bem da humanidade primordial ao dos e indiv duos.

11

- Lei 1- Um rob no pode ferir um ser humano ou, por omisso, permitir que um ser o a a humano sofra algum mal. - Lei 2- Um rob deve obedecer as ordens que lhe sejam dadas por seres humanos, o exceto nos casos em que tais ordens contrariem a Primeira Lei. - Lei 3- Um rob deve proteger sua prpria existncia desde que tal proteo no o o e ca a entre em conito com a Primeira e Segunda Leis. O objetivo das leis, segundo o prprio Asimov, era tornar poss a existncia de robs o vel e o inteligentes (as leis pressupem inteligncia suciente para distinguir o bem do mal) e que o e no se revoltassem contra o dom a nio humano. A chamada lei zero, porm, tem o srio problema de transferir ao rob o poder e e o (possibilidade) de avaliar, diante das situaes concretas, se o interesse da humanidade co se sobrepe ao interesse individual. Tal possibilidade abre uma perigosa brecha para a o ditadura das mquinas, que elegeriam por si qual o bem maior, sendo-lhe permitido, a e inclusive, fazer o mal a um ser humano, caso entendam que isso melhor para a humanie dade.

3.3

Classes de robs o

Devido a vrias diferenas de caracter a c sticas e propriedades, existem diversas classes de robs que se diferenciam em suas aplicaes e formas de trabalhar. So elas: o co a a) Robs Inteligentes: so manipulados por sistemas multifuncionais controlados por o a computador, so capazes de interagir com seu ambiente, atravs de sensores, e tomar dea e cises em tempo real. Atualmente, so feitos grandes esforos no desenvolvimento desse o a c tipo de rob. o b) Robs controlados por computador: so semelhantes aos robs inteligentes, embora o a o no tenham a capacidade de interagir com o ambiente. Se estes robs forem equipados a o com sensores e software adequados, transformam-se em robs inteligentes. o c) Robs de aprendizagem: limitam-se a repetir uma seqncia de movimentos, sejam o ue eles realizados com a interveno de um operador ou memorizados. ca d) Manipuladores: so sistemas mecnicos multifuncionais, cujo sistema de controle a a permite governar o movimento de seus membros das seguintes formas: - Manual: quando o operador controla diretamente os movimentos. - De seqncia varivel: quando poss se alterar algumas das caracter ue a e vel sticas do ciclo de trabalho.

12

3.4

Tipos de robs o

Manipulador Articulado e com rodas Ve culo aqutico autnomo e ve a o culo areo no-tripulado e a

3.5

Conhecimento base t pico para design e operao ca de sistemas robticos o

- Modelagem e anlise de sistemas dinmicos a a - Controle de realimentao ca - Sensores e condicionamento de sinais - Atuadores e eletrnica de potncia o e - Hardware/interface computacional - Programao computacional ca

3.6

Estrutura lgica de um rob mvel o o o

No processo de construo dos robs mveis, alguns detalhes devem ser levados em ca o o considerao. Um deles o projeto, e pode ser subdividido em mdulos, permitindo dica e o versas conguraes e possibilitando futuras expanses. co o Estrutura Computacional Estrutura Eletrnica o Estrutura Mecnica a No projeto mecnico de robs mveis, o projetista deve considerar qual o tipo de a o o ambiente em que o rob ir atuar e qual o limite de custo desejado para o projeto. o a O projeto eletrnico pode dividir-se em: circuito digital de controle, circuito analgico o o e de eletrnica de potncia, circuito de sensoriamento e atuao. A parte do projeto o e ca responsvel pela elaborao do software de controle tem como nalidade conferir ao rob a ca o a lgica necessria para que ele possa realizar as tarefas que lhe foram designadas dentro o a do ambiente em que se encontra.

13

Cap tulo 4 Kits de Robtica Educacional o


4.1 O kit Lego Mindstorms

O Lego Mindstorms um Robotics Invention Systemcriado por uma associao da e ca Lego com o MIT, Massachusetts Institute of Technology. Preparando-se para as primeiras geraes totalmente digitais, a Lego sai na frente construindo o primeiro kit de robtica co o feito para crianas. Mas o resultado foi to bom que o kit vem sendo utilizado por vrias c a a faculdades de engenharia e colgios espalhados pelo mundo todo. e Utilizado-se da pesquisa realizada pelo MIT, a Lego lanou a linha de produtos c Lego Mindstorms, que consiste em um grande nmero de peas Lego originrias tanto u c a do Lego tradicional quanto do Lego Technic, uma srie intermediria voltada para desae a os mecnicos, mais sensores diversos (toque, luminosidade, rotao, temperatura...) e a ca motores, alm do microcomputador RCX, baseado no MIT Programmable Brick. Alguns e kits complementares ainda trazem controle remoto para o RCX, bras ticas e outros. o Mindstorms um sistema muito interessante que permite vrios n e a veis de utilizao. ca Com ele poss e vel construir uma imensa variedade de robs Lego que agem de forma o autnoma, com o RCX rodando um programa feito para as necessidades ocasionais, reo colhendo dados dos sensores e controlando os motores. O kit Mindstorms vem com uma linguagem de programao voltada para crianas. Consiste em blocos de tarefas que ca c podem ser congurados e arranjados de maneiras diferentes, lembrando os famosos bloquinhos do prprio Lego. Mas o RCX pode ser programado em uma grande quantidade o de linguagens, sendo algumas delas ESTEREL, Not Quite C, Interactive C, legOS, Forth. O Grupo Lego o patrocinador da pesquisa no Media Lab, e justo dizer que o e e Lego RCX foi inspirado pelo MIT Programmable Brick e em pesquisas relacionadas. Porm, e o RCX foi redesenhado pelo Grupo Lego e no est baseado em qualquer trabalho tcnico a a e do MIT Programmable Brick. Os dois dispositivos usam CPUs diferentes e tm sistemas e de software completamente diferentes por atrs deles. a

14

4.1.1

O conte do do kit u

O kit Lego Mindstorms constitu de um RCX (Robotics Command Explorer), uma e do torre de comunicao por infravermelho, um cabo de comunicao serial, motores CC, ca ca sensores de toque e de luz, peas comuns dos antigos kits de montar da Lego e outras c peas especiais que possibilitam variados movimentos. Fora o kit Mindstorms existem c outros kits complementares com outros tipos de sensores como o de rotao e o de temca peratura e outras peas que tornam o universo das montagens com possibilidades ainda c mais extensas. O RCX Brick O RCX um bloco programvel da Lego. Ele possui trs Input Ports para sensoe a e res, trs Output Ports podendo suprir at 500 miliamp`res de corrente cada uma, quatro e e e botes de controle, um display de LCD e uma interface de comunicao serial por infrao ca vermelho. Tambm possui um microprocessador para processar programas de usurio, e a memria interna para armazenar rmware e programas e um beeper para gerar tons. o

Figura 4.1: RCX Brick

O ncleo do RCX um Hitachi H8 microcontrolador de 32K de RAM externa (fora u e do chip). O microcontrolador usado para controlar os motores, os sensores e a porta e de comunicao serial. Um memria interna de 16K ROM contm um driver que executa ca o e quando o RCX alimentado. Este driver usado para carregar 16K de rmware para o e e 15

RCX. Os programas do usurio so carregados como byte codes. O rmware interpreta e a a executa o byte code destes programas. As especicaes da CPU HD6433292, Srie H8/3297: co e Referncias da CPU e Part number HD6433292 ROM size 16K RAM size 512 Speed 16MHz 8-bit Timers 2 16-bit Timers 1 A/D Conversion 8 of 8-bit I/O pins 43 Input only pins 8 Serial port 1 10mA Outputs 10 Os quatro botes do bloco RCX so: o a On-O: Liga e desliga o RCX, os outros botes s funcionam quando o RCX est o o a ligado, inclusive a comunicao por IR ca Prgm: Permite que se escolha um entre os cinco programas que podem ser armazenados no RCX. O nmero do programa selecionado aparece no display de LCD u Run: Inicia e pra o programa selecionado a View: Permite que se visualize a informao lida pelos sensores nas entradas 1, 2 e ca 3, e atribu aos motores nas sa da das A, B e C Pelo display de LCD, o usurio capaz de acompanhar informaes sobre o RCX e a e co seus programas.

Figura 4.2: Display de LCD

O bonequinhocorrendo indica que o RCX est executando um programa. Para exea cutar o programa, preciso selecionar um dos cinco programas, indicados ` direita do e a 16

bonequinho, e pressionar o Run. Isto pode ser feito diretamente pelo RCX ou pelo PC atravs da interface, desde que sua distncia para a torre seja suciente. e a A primeira vez que for alimentado, ou sempre que ele car sem alimentao por mais ca de um minuto, o RCX estar em Boot Mode. Isto quer dizer que no se poder cara a a reg-lo com programas pois o RCX precisa de um rmware. O rmware um software a e especial que permite a comunicao entre o PC e o RCX. No entanto, sem o rmware, os ca cinco programas de fbrica nele instalados podem ser testados mesmo sem o PC. a Existem alguns rmwares bem comuns desenvolvidos por algumas pessoas que permitem ao usurio desenvolver programas nas mais diversas linguagens de programao. O a ca rmware padro utilizado pelo Lego Mindstorms instalado pelo Software Developers kit a e e a linguagem Not Quite C (NQC) usada para a programao do RCX. Entre os e ca rmwares mais conhecidos esto: a brickOS: Para usurios com conhecimentos de C/C++ a pbForth: Para usurios com experincia em FORTH a e lejOS: Utiliza Java para programao do RCX ca legOS: Utiliza C/C++ para a programao do RCX ca Depois de carregar o RCX com um rmware espec co, ele entrar em Full Function Modee a podero ser feitos downloads de programas de usurio para o microprocessador na linguaa a gem associada. A torre de comunicao ca A torre estabelece uma comunicao sem o ca torre que os programas so carregados no RCX. a portadora de 38kHz, t pica de controles remotos de 2400 bps, logo cada bit de aproximadamente e entre o computador e o RCX. E pela A comunicao feita usando-se uma ca e de televiso. A taxa de amostragem a e 417s.

O protocolo associado a enviar uma mensagem para o RCX bastante simples. e Bit encoding 2400 bps, NRZ, 1 start bit, 8 bits de dados, paridade e mpar e 1 stop bit. Um 0 um pulso de 417s de 38kHz em infravermelho e um 1 417s de nada. e e O cabo de comunicao ca Este cabo conecta o PC ` torre de infravermelho. a

17

Ligao dos os do cabo serial DB-9 ca Pino PC Pino Torre Nome Descrio ca 2 3 RX Receive Data 3 2 TX Transmit Data 5 5 GND Ground 7 8 RTS Ready To Send 8 7 CTS Clear To Send O pino 4 conecta o pino 4 mas no usado. Os pinos 1, 6, 9 no so conectados. a e a a Os RTS/CTS so utilizados pelo PC para checar quando a torre est conectada. Ao a a conectar o cabo, a torre curto-circuita os dois pinos. Quando o PC manda um sinal de reconhecimento por RTS e o CTS segue o mesmo sinal, ento ele assume que o que est a a ligado no cabo serial a torre. e Os motores O kit Lego Mindstorms vem com dois Electric Technic Mini-Motor 9V. So motores a CC com a permanente para criar o uxo de campo. Em 2002, a Lego substituiu o motor m 71427 pelo novo tipo 43362. Praticamente idntico externamente, mas sua estrutura e interna bem diferente. Ambos possuem performances boas e bem parecidas, porm o e e novo tipo se tornou menos pesado.

Figura 4.3: Motor CC do Lego Mindstorms

Em um programa, poss controlar a quantidade de potncia fornecida aos motores. e vel e Com a linha de instruo em NQC: ca SetPower(OUT_A, 7) o motor ligado na sa A do RCX receber a maior potncia permitida. O que est da a e a acontecendo que o controlador do RCX utiliza a tcnica de PWM para controlar a e e quantidade de potncia da sa e da. Ou seja, a alimentao do motor chaveada de forma a ca e mudar o ciclo ativo de uma onda retangular de frequncia xa. Ento, quando escolhemos e a um nmero de 0 a 7, estamos mexendo no ciclo ativo da frequncia do PWM. Portanto, u e 18

no n 0, o motor est ligado em 1/8 do ciclo, 2/8 para o n 1, at chegar em 8/8 vel a vel e para o n 7. Em outras linguagens de programao, poss controlar de 0 a 255, vel ca e vel obtendo uma graduao maior de potncia. ca e

Figura 4.4: Controle de potncia dos motores e

A tabela abaixo contm algumas propriedades do Electric Technic Mini-Motor 9V. e Propriedades Tenso Mxima a a Corrente M nima (sem carga) Corrente Mxima (carga Mx) a a Velocidade mxima (sem carga) a Velocidade com carga t pica Os sensores H dois tipos de sensores dispon a veis pelo kit Mindstorms (toque e luz) e que podem ser utilizados em conjunto com o RCX. Outros tipos de sensores podem ser adquiridos em outros kits complementares da Lego. - O sensor de toque E um pequeno bloco de plstico que possui um boto de presso na sua extremidade. a a a Quando ele acionado envia dados ao RCX que os analisa atravs de um de seus e e programas. Uma mesma porta de entrada pode conter vrios sensores de toques a (ligados em paralelo), porm quando um deles pressionado o RCX no capaz de e e a e identic-lo. a - O sensor de luz Constitui-se de um diodo emissor de luz (LED) e um fototransistor, que absorve a luz vinda do ambiente. As medidas so armazenadas em porcentagem (0 a 100%) a que o RCX utiliza para determinar qual a luminosidade do ambiente em que o rob o o unico sensor que deve ser alimentado pelas baterias do RCX para se encontra. E que funcione. 19 Valor 9V CC 10mA 250mA 350 rpm 200 rpm

Figura 4.5: Sensor de toque

Figura 4.6: Sensor de luz

- O sensor de rotao ca Mede o valor relativo da rotao de um motor baseando-se na posio inicial que o ca ca mesmo se encontrava quando um programa foi iniciado. A cada 22.5 graus que o sensor se desloca, uma unidade de medida incrementada ou diminu dependendo e da, da direo do deslocamento. ca

Figura 4.7: Sensor de rotao ca

- O sensor de temperatura Capaz de medir com preciso valores de temperaturas entre -20o C e 70o (-3o F e a o 157 F no caso de medio em Fahrenheit). ca

4.1.2

Utilizando o Lego Mindstorms

Para fazer uso do Lego Mindstorms, h dois softwares que precisam ser instaladas no a PC: O Lego Mindstorms SDK (Software Developers Kit) O Bricx Command Center (BricxCC)

20

Figura 4.8: Sensor de temperatura

As verses utilizadas foram o SDK 2.5 e o BricxCC 3.3, contudo prefer usar as o e vel verses mais atuais. O BricxCC um IDE (Integrated Development Environment) que o e e um ambiente amigvel para desenvolver seus programas. a O Bricx Comand Center j vem com a ultima verso de Not Quite C (NQC), desenvola a vido por Dave Baum. E uma linguagem baseada em C para a programao do RCX. Para ca comear, preciso carregaro RCX com um rmware. Ele funciona como um sistema c e operacional que entendea linguagem alto n NQC e transforma em cdigo binrio de vel o a mquina para que o processador compreenda. a Para isso, deve-se conectar a torre de comunicao ao PC usando o cabo fornecido pelo ca kit, ligar o RCX e deix-lo prximo ` torre. Ao abrir o BricxCC, o software tentar achar a o a a o bloco RCX e qual rmware ir ser utilizado. Para usar o NQC, selecione Standard. a Agora, preciso carreg-lo com o rmware fazendo: Tools Download Firmware e a O rmware foi instalado pelo SDK provavelmente em:

Program Files | LEGO Software | LEGO Mindstorms SDK | Bin | VPBrick1 | RCX2

com a extenso .lgo. O processo dever durar em torno de quatro minutos. a a Terminado o download do rmware, deve-se achar o RCX Brick pela torre, fazendo: Tools Find Brick Agora, podero ser feitos downloads de programas para o RCX Brick. Basta selecionar a em qual dos cinco espaos para programas de usurio dever ser gravado o programa e c a a fazer: Compile Download Sempre que o brick estiver ao alcance da torre, os comandos Run e Stop podero ser a acionados pelo software. Se no, o acionamento dever ser feito diretamente pelos botes a a o do RCX Brick. Sempre que o programa for parado e recolocado em funcionamento, ser a reiniciada a leitura do in do programa e no de onde foi parado. cio a

21

Figura 4.9: Carregando um programa no RCX Brick

22

4.1.3

Um exemplo simples

Para ilustrar o funcionamento e testar alguns dos atributos do Kit Lego Mindstorms, este simples exemplo foi desenvolvido. Trata-se de um rob sobre trs rodas. o e

Figura 4.10: Rob exemplo: Scout o

As duas rodas dianteiras so responsveis pelo deslocamento do rob. A roda traseira a a o pode girar livremente em seu eixo mas sua direo controlada por um motor. Ela ca e e usada apenas como apoio e para fazer rotaes. Neste rob, foram usados trs motores co o e (um para cada roda) e um sensor de luz, usado para detetar obstculos. a O rob foi projetado de forma que pudesse se locomover para frente e para trs em o a linha reta. No caso de precisar desviar ou tomar outra direo, o rob gira a roda traca o seira de 90 e gira as rodas dianteiras em sentidos opostos, fazendo uma rotao no ponto ca central equidistante `s duas rodas dianteiras. Para mover-se para frente ou para trs, ele a a reposiciona a roda traseira girando-a mais 90 . O sensor de luz atua como um detetor de obstculos. Porm, deve-se entender como a e ele funciona para tirar melhor proveito do dispositivo. A mais importante diferena entre c o sensor de toque e o de luz que o ultimo retorna vrios valores poss e a veis ou invs de e um unico estado liga/desliga. Estes valores dependem da intensidade de luz que atinge o sensor na hora na sua leitura, a qual lida na forma de percentagens variando de 0 a e 100. Maior a luminosidade, maior o valor percentual. A quantidade de luz reetida por uma superf depende de vrios fatores como princie a cipalmente, sua cor, textura e distncia para a fonte luminosa. Um objeto preto reete a menos luz que um branco. Uma superf fosca reete menos que uma brilhante. E maior cie a distncia do objeto para a fonte luminosa, menos luz retornar ao detetor. a a 23

Figura 4.11: Scout de perl e de frente

Portanto, o sensor de luz foi usado com o objetivo de evitar que o rob colidisse com o uma parede branca, ou qualquer outro objeto capaz de reetir luz com bastante intensidade, tomando a deciso de seguir em outras direes. A tarefa principal do nosso a co Scout(explorador) seria mudar de direo toda vez que se deparasse com um objeto ca branco e encerraria sua misso ao encontrar um objeto preto, supostamente a torre de a comunicaao, pronto para receber outra tarefa! c Para o Scout explorar caminhos diversos, um simples algoritmo de explorao foi crica ado. A quantidade de encontros com paredes contada. No primeiro encontro, ele deve e virar 90 para a esquerda. No segundo, 180 ` direita. Em seguida, encontrando novaa mente uma parede, deve virar 90 ` direita. No quarto encontro, apenas 45 ` direita. a a Nos encontros sucessivos, o algoritmo se repete. Tambm foi utilizado o beeper imbutido do RCX Brick para produzir alertas sonoros e indicando que foi detetado um obstculo e quando a misso foi tida por encerrada. O a a cdigo nal escrito em NQC encontra-se no apndice A. o e

4.1.4

Diculdades encontradas

Programar em NQC uma tarefa simples e intuitiva, permitindo que usurios com e a pouca ou nenhuma experincia em linguagens de programao utilizem o Lego Mindstorms. e ca Mas usurios mais avanados podem sentir logo o comprometimento pela simplicidade a c desta linguagem.

24

Seria muito interessante para estudantes de eletrnica, entender como feita a leitura o e das entradas dos sensores e manipul-las pelo software. Assim, eles seriam capazes de a fabricar os prprios sensores e enriquecer o universo do kit Mindstorms. Uma rede neural, o por exemplo, poderia ser acoplada externalmente ao Lego para aumentar o nmero de u sensores e prover uma inteligncia adicional. e Os motores CC no so bons para aplicaes onde a posio e o ngulo de giro so a a co ca a a cr ticos. Quando se deseja que um motor CC gire 90 , deve-se reduzir a velocidade do eixo com o uso de engrenagens e lig-lo e deslig-lo num intervalo de tempo intermedirio a a a suciente para ocorrer tal ngulo. Dada uma alimentao xa do rob e condies de a ca o co teste, esse tempo determinado empiricamente. Mas basta usar uma outra alimentao e ca (ou diminuir um pouco a tenso das baterias), que o tempo necessrio se altera e o ngulo a a a deixa de car correto e a unica forma vis de corrigir o tempo seria por software (pa vel rando e reprogramando o tempo). A roda traseira do Scout foi programada para fazer um giro de 90 toda vez que for realizar uma curva. Para melhor desempenhar sua funo, o ideal seria ter um motor de ca passos dispon no kit ou um servomotor. vel

4.2

O Kit Robix Rascal

Fundada em 1989, a empresa norte-americana Robix est instalada na cidade de a Tucson, Arizona. Legalmente ela conhecida como Advanced Design Inc, sendo Robix e seu nome fantasia, um logo utilizado para marketing. A Robix passou a ser mundialmente conhecida quando introduziu no mercado um novo conjunto de ferramentas para manipulao e construo de robs de mesa, o Robotic Construction Set ca ca o - 6 (RCS-6). Criado em 1992, o RCS-6 permite que o usurio construa robs capazes de a o controlar at seis servomotores simultaneamente, da a origem do nome do produto. e Assim que o RCS-6 passou a ser utilizado em larga escala por estudantes, seus criadores logo modicaram seu nome a m de torn-lo mais familiar para seus usurios, a a passando a denomin-lo de Rascal. a O uso do kit Rascal da Robix no cou, entretanto, restrito a escolas e universidades. a Sendo um produto de alta sosticao tambm muito utilizado por indstrias e compaca e e u nhias para demonstraes em laboratrios. Alm disso, o conjunto tambm conquistou co o e e diversos adeptos pelo mundo que fazem da construo de robs um hobby. ca o O kit de robtica Robix Rascal permite que se construam robs controlados pelo PC. o o Ele pode ser manipulado por crianas mas sucientemente sosticado para n c e veis universitrios. Tambm pode ser bastante produtivo em ambientes industriais por representar a e

25

um alternativa de robtica rpida, simples e relativamente barata. o a

4.2.1

O conte do do Kit u

O kit Rascal constitu de um grande conjunto de peas que podem ser combinadas e do c de diversas maneiras para formar os mais variados dispositivos autnomos reprogramveis. o a Uma caixa de ferramenta com mltiplos compartimentos tem capacidade para armazeu nar: seis servomotores, duas bases para projetos, dezoito ligaes de alum co nio, conectores de nylon, grampos de segurana, uma estrutura de alum c nio, um pequeno nmero de u ferramentas, um software para plataforma PC, uma garra mecnica, um conjunto de a brinquedos que podem ser utilizados pelo rob, um bloco de interface que faz a ligao o ca entre o rob e o computador, entre outras peas e utilitrios. o c a Alguns itens do kit so de uso espec a co para construir robs parecidos com braos o c mecnicos. Utilizando uma base para projeto apropriada e combinando a garra mecnica a a (gripper) com dois servomotores (um para apertar e outro para girar), o usurio tem um a rob capaz de segurar um objeto, moviment-lo para um local desejado e ento solt-lo. o a a a O brao mecnico uma boa opo quando se deseja simular uma linha de produo c a e ca ca onde as peas devem ser passadas de uma seo ` outra para serem tratadas de diferentes c ca a formas. Os servomotores Os servomotores Hitec HS422 so os mesmos utilizados em carros e avies de controle a o remoto. Eles possuem um tamanho padro de servos de hobby e um torque nominal de a 2,9 Kg cm e so capazes de girar em um ngulo de at 180o . As suas engrenagens a a e so de nylon e montadas de forma a estabelecer uma relao de 100:1. Fazem parte do a ca componente eletrnico um decodicador de sinal, um potencimetro funcionando como o o decodicador de posio e um controlador do motor. ca

Figura 4.12: Servomotor Hitec HS422

Cada servo possui trs os: o o de cor mais clara (em geral branco, amarelo ou e laranja) deve ser conectado no pino mais interno da interface, enquanto que o mais escuro 26

(preto ou marrom) deve estar no pino mais externo. Atravs dos grampos de seguranas e c os motores so conectados `s ligaes de alum formando os msculose os ossosdo a a co nio u rob. o A interface eletrnica (Ei) o Todos os robs constru o dos pelo uso da tecnologia desenvolvida pela Robix so dea nominados de desktop robots, ou robs de mesa. Esse t o tulo indica que esses robs no o a so capazes de se deslocar, ou possuem um deslocamento limitado. De forma geral, essa a limitao se d pela necessidade de uma conexo constante, atravs de um cabo, entre o ca a a e rob e um computador. Isso se deve ao fato de que o programa do usurio, responsvel o a a por denir o comportamento do dispositivo, no armazenado no mesmo. Ou seja, o a e programa roda o tempo todo na plataforma PC. Os robs de mesa utilizam a conexo o a para enviar os dados recolhidos no ambiente para o programa no computador que processa os mesmo e envia de volta as respostas necessrias. a O bloco de interface do Rascal Robot Construction Set o responsvel por realizar essa e a conexo entre o rob constru e o computador onde o software est rodando. Ele pode a o do a ser ligado ao computador atravs de um cabo de porta paralela de impressora (pode-se e usar o prprio cabo da impressora para isso). o A principal funo do bloco de interface do Rascal converter os comandos vindos do ca e computador para sinais de controle para os servomotores. O processo inverso realizado e quando o bloco de interface converte os sinais obtidos por sensores em dados processveis a pelo computador.

Figura 4.13: Interface Eletrnica RCS-6 o O bloco de interface pequeno e ca na base do projeto robtico. Como caracter e o sticas tcnicas, alm das seis sa e e das para os servomotores, tambm so encontradas na interface e a 27

duas sa das de liga/desliga capazes de suprir at 150 miliamperes para LEDs, retransmise sores e solenides, duas entradas analgicas de 0 a 5 volts para sensores, sete entradas para o o interruptores, um conversor analgico/digital de 8-bits, uma entrada de baixa voltagem o que alimenta os servomotores e os dispositivos eletrnicos. o Software de controle O software disponibilizado pela Robix para programao de seus robs Rascal deca o e nominado de Rascal Robot Software. Ele constitu por dois mdulos: o Mdulo de e do o o Ensino (Teach Mode) e o Mdulo de Edio (Edit Mode). No Mdulo de Ensino o usurio o ca o a especica todas as aes que ele deseja que seu rob aprenda. Atravs de cliques em co o e botes, seqncias inteiras de movimentos so transformadas em linhas de cdigo autoo ue a o maticamente, abstraindo do usurio grande parte do trabalho de digitao. a ca O segundo mdulo permite a edio do cdigo gerado. Nesse mdulo o usurio capaz o ca o o a e de editar, copiar e colar trechos do cdigo, podendo tambm inserir comentrios sobre os o e a comandos. Valores de acelerao e velocidade mxima de todos os servomotores tambm ca a e podem ser reajustados. Contudo, uma das principais caracter sticas do Mdulo de Edio o ca o fato do usurio conseguir executar blocos de comandos isolados e ver seus resultados e a nos movimentos e aes realizados pelo rob. Essa execuo instantnea de comandos co o ca a e poss pelo fato do rob estar constantemente ligado ao computador. vel o O software da Robix foi produzido para acomodar qualquer tipo de usurio, indepena dente de sua habilidade em programao. Ou seja, mesmo usurios que nunca trabalharam ca a com nenhuma linguagem de programao conseguem, com a ajuda da gerao automtica ca ca a de cdigo do Mdulo de Ensino, implementar facilmente um programa de controle de rob. o o o Para os usurios com algum conhecimento, ca fcil editar programas e criar macros que a a os auxiliam a denir seqncias de comandos mais complexas. ue A Robix tambm deu grande importncia para aqueles que dominam o assunto, dando e a ao software uma exibilidade que permite que seu cdigo interaja com cdigos de outras o o linguagens de programao mais conhecidas e poderosas. Por exemplo, os usurios conca a siderados avanados podem combinar scripts e macros com seus prprios cdigos em C, c o o usando as bibliotecas contidas no RCS-6. Com as bibliotecas, programas em C podem ler e executar scripts completos ou macros. Com as atividades de scripts o cdigo C o pode tambm ler as entradas analgicas (0-5V, 8-bit) da Rascal e, claro, qualquer rotina e o e avanada criada pelo usurio. c a

4.2.2

Utilizando o Robix Rascal Software

O software de controle pode ser instalado em Windows 2000/xp, MacOS X 10.2.3 ou superior, Linux PC. O software permite controlar os servos pelo teclado ou pelo mouse. Qualquer combinao de movimentos pode ser salva. Uma seqncia de movimentos pode ca ue compr uma macro onde o PC pode controlar um tarefa inteira. o 28

Como o laboratrio possui computadores com sistema operacional Windows 2000, o o site da Robix aconselha o uso de verso 0.2.23 ou superior do software para melhor pera formance, a qual disponibilizada no prprio site da empresa para download. e o Primeiro, instale o Rascal Software verso 0.2.23 para Windows 98/2000/XP. Com a a interface eletrnica conectada e apropriadamente alimentada, faa um reboot no compuo c tador e espere a janela de Ei detect. Essa janela ir anunciar a deteco da interface a ca conectada ` LPT1. Se o programa de deteco de interface no aparecer, a instalao do a ca a ca software falhou de alguma forma e precisar ser feita novamente. a Se o detector anunciar que nenhuma interface eletrnica foi encontrada, ser necessrio o a a alterar alguma congurao interna da porta paralela. Na BIOS, cheque a congurao ca ca da LPT1. Tente coloc-la em ECP ou SPP, pois em EPP no funcionar. Aps salvar as a a a o mudanas na BIOS, continue o boot e espere o programa de deteco de Ei. c ca O Robix Rascal Software utiliza seu prprio dispositivo de driver (RbxLpt.sys) para se o comunicar com a porta paralela e com a interface eletrnica (Ei). O driver instalado no o e computador pelo programa de instalao do Robix Rascal. No entanto, preciso especica e car ao Windows que voc deseja utilizar o novo driver. Ento, ao tentar abrir o programa, e a ocorrer uma mensagem de instalao incompleta e requer que os seguintes passos sejam a ca feitos:
INSTALANDO O ROBIX RASCAL DEVICE DRIVER ---------------------------------------------------------------------------[Abra o gerenciador de dispositivos do Windows] 1. Clique no bot~o Start button | Settings | Control Panel. a 2. Clique duas vezes em System. 3. Clique em Hardware. 4. Clique no bot~o Device Manager. a [Visualize as informa~es do driver da porta paralela] co 5. Localize as portas do computador. Clique duas vezes em Ports. 6. Clique duas vezes em LPT device para visualizar suas propriedades. 7. Clique em Driver. [Inicie a atualiza~o do driver da porta paralela] ca 8. Clique no bot~o Update Driver. a 9. Clique em Next. 10. Selecione a op~o: "Display a list of the known drivers for this ca device...". 11. Clique em Next. [Atualize o driver da porta paralela pelo driver da Rascal] 12. Voc^ deve visualizar uma lista de dispositivos incluindo: "Robix Rascal e

29

13. 14. 15. 16.

LPT Ei Device". Se este driver n~o estiver listado, re-instale o a "Robix Rascal Software" e tente esses passos novamente. Selecione o item: "Robix Rascal LPT Ei Device". Clique em Next. Clique em Next. Ser perguntado sobre a localiza~o do "RBXLPT.sys", digite no espao: a ca c C:\WINNT\SYSTEM32\DRIVERS.

[Complete a atualiza~o do driver] ca 17. Clique em OK. 18. Clique em Finish. 19. Clique em Close. [No gerenciador de dispositivos aparecer uma nova categoria: "Robot a Controllers"] [Repita se necessrio] a 20. Repita os passos 1-19 para cada porta paralela na qual estiver conectada uma interface eletr^nica Rascal. o [Reinicialize o Windows] 21. Aps a atualiza~o do driver, voc^ PRECISA reinicializar o Windows para o ca e completar a instala~o. ca

Depois haver uma tela de congurao que perguntar em que porta est a interface. a ca a a Havendo somente uma porta LPT, e a interface est nela, a escolha estar limitada a a a somente ela. Somente se a caixa de IRQ tiver N/Aento faa: a c
Device Manager | Robot Controllers | ...LPT... | Resources 1. 2. 3. 4. 5. Desselecione "use automatic Settings". Ative o campo "Settings Based". Selecione Basic Config 000. Clique em OK. Reinicialize o computador

Reabrindo o programa Rascal, selecione a porta LPT usada e clique em Apply. Isto deve mostrar a leitura da freqncia das interrupes que a Ei est gerando, algo entre ue co a 65 e 75. Estas so algumas das questes conhecidas at ento pela empresa Robix para a utia o e a lizao correta do software e soluo dos problemas mais comuns. ca ca

30

4.2.3

Diculdades encontradas

O primeiro computador usado para instalao do Robix Rascal Software no compleca a tava a instalao de forma alguma. Testou-se a porta paralela deste computador com ca a impressora hp LaserJet 4L e vericou-se que a porta no estava funcionando. Conra mado de que ela estava queimada, uma etiqueta de identicao de porta paralela com ca defeitofoi colocada e a instalao foi feita em outro computador. ca Depois de ter instalado com sucesso o software, estranhos comportamentos foram observados nos servomotores. Alguns deles no respondiam aos comandos da janela de aprena dizagem (Teach Window), outros topavam o giro para um lado e continuavam forando, c o que esquentava os servos. No se sabia ao certo que etapa era responsvel pelo mau a a funcionamento: o software em conjunto com a congurao da porta paralela do PC, a ca interface eletrnica ou defeito nos prprios servos. Apenas um dos seis funcionou correo o tamente e ele foi marcado com um Okna prpria caixa. o Como o LDN possui um kit Rascal montado e usado frequentemente, substituindo-se cada componente e vericando o comportamento na bancada, foi poss detetar o provel blema. A interface funcionou perfeitamente mas os servos repetiram o mau funcionamento anterior. A ultima alternativa foi abrir os servos Hitec. O acesso a seu interior bastante fcil, quatro parafusos liberam a tampa que dispe e a o a circuitaria do servo. Cuidado apenas para o outro lado que tambm pode ser aberto e dando acesso `s engrenagens de nylon que podem sair do lugar e requerer muito trabalho a para reposicion-las corretamente. a O problema logo pde ser observado e diagnosticado. Um potencimetro acoplado o o ao eixo do servo estava retorcido e apresentava seu material resistivo partido. O motor, usando a srie de engrenagens, gira o eixo de sa do servo, que tambm gira o eixo e da e desse potencimetro. O circuito de controle do servo alimenta o potencimetro e deteta o o quando a posio do eixo est correta desligando o motor. Sem o potencimetro, o moca a o tor no desacionado, topando para um lado ou para outro de acordo com o comando a e dado. J os servos que no respondiam de forma alguma, tambm apresentavam os poa a e tencimetros quebrados. Muito provavelmente, devem ter cado expostos a esta condio o ca por um tempo prejudicial aos motores, esquentando-os e reduzindo drasticamente suas vidas uteis. O grande pesar de ter confrontado este ultimo problema foi que o kit serviria para estudar as possibilidades de locomoo de um rob quadrpede, a partir do rob b ca o u o pede com apoio mostrado abaixo. Os servos dispon veis do outro kit do LDN esto sendo utilia zados frequentemente em um brao robtico nas aulas de especializao e no puderam ser c o ca a desmontados. Novos servos Hitec HS422 podem ser encontrados facilmente pela Internet e devero ser repostos pelo laboratrio brevemente. a o

31

Figura 4.14: Problema nos servos Hitec

Figura 4.15: Walker b pede com rodas traseiras

32

Cap tulo 5 A bancada de CLPs


5.1 Introduo ca

O Laboratrio de Dispositivos e Nanoestrutura possui convnio com a empresa Altus. o e Esta fornece CLPs e a licena do software para estudo e capacitao de prossionais na c ca a rea de automao industrial em cursos de especializao ministrados no prprio LDN. ca ca o

Figura 5.1: A bancada de CLPs

5.2

Ambiente de programao MasterTool ca

O software MasterTool Programming destina-se ` congurao e programao dos a ca ca Controladores Programveis Altus. Utiliza-se dos recursos fornecidos pelo ambiente Wina 33

dows para oferecer uma interface homem-mquina poderosa, aliada a mltiplos recursos a u para tratamento de dados. Suas operaes, como as demais, so orientadas a comandos de menus e caixas de co a dilogos que permitem a realizao das tarefas e escolha das opes. Com o intuito a ca co de facilitar os procedimentos mais utilizados no MasterTool, existem diversos atalhos onde o pressionamento de duas teclas simultaneamente realiza um comando, bem como uma Barra de Ferramentas onde basta clicar no boto desejado para a rpida realizao a a ca do comando. O MasterTool possui ainda janelas de edio espec ca cas para Mdulo de o Congurao, Mdulo de Congurao de rede e Mdulos de Programa. Estas janelas ca o ca o permitem uma edio eciente e uma visualizao adequada dos diversos componentes de ca ca cada mdulo espec o co.

5.3

O MasterTool ProPonto MT6000

O software MasterTool ProPonto MT6000 uma ferramenta de aux ao projeto de e lio um barramento da Srie Ponto. Possui as seguintes funes: e co Projeto dos barramentos de mdulos de maneira grca, atravs de uma tela de o a e desenho na qual se pode inserir e visualizar os mdulos e bases da Srie Ponto. Esta o e tela de desenho do barramento dividida em quatro segmentos, exatamente igual a e um barramento f sico. Vericao da validade da congurao conferindo itens tais como: consumo de ca ca corrente, compatibilidade de bases e limites de projeto. Caso ocorra algum tipo de erro (incompatibilidade entre mdulo e base, falta de terminador etc.) ele ser o a apresentado em uma tela de mensagens de erros, informando tambm a posio e ca onde ocorreu o erro para que se possa localiz-lo facilmente e corrigi-lo. a Consulta a toda documentao tcnica dos produtos da Srie Ponto de uma maneira ca e e rpida e integrada (CTs e manuais). a Atribuio de Tags aos pontos do sistema e uso destes tags no MasterTool. ca Gerao de etiquetas para identicao dos mdulos. ca ca o Gerao de lista de materiais. ca Congurao a partir de uma lista de mdulos e bases dispon ca o veis na rvore dos a componentes. O software executado nos ambientes WINDOWS 95/98/ME ou e WINDOWS NT/2000, podendo ser operado por mouse e/ou teclado. Aps a instalao, o ProPonto pode ser executado a partir do menu: o ca
Iniciar | Programas | ProPonto

34

Quando utilizado em conjunto com o MasterTool Programming MT4000 ou MT4100, para a congurao de um barramento de uma CPU da Srie Ponto, o ProPonto no deve ca e a ser executado a partir do menu Iniciar, e sim a partir do prprio MasterTool. o Ao ser executado pela primeira vez, o ProPonto solicita que o usurio preencha os a dados do Contrato de Licena de Software: nome da empresa, nmero de srie e chave c u e de software. Aps o preenchimento correto destas informaes, pode-se utilizar normalo co mente o programa. Porm, pode-se executar o ProPonto em modo demonstrao. Dessa e ca maneira, no necessrio preencher os dados do contrato de licena de software, mas a a e a c funcionalidade do produto ca reduzida, pois apenas os trs primeiros componentes do e segmento zero sero salvos. Para se executar o ProPonto em modo demonstrao, deve-se a ca pressionar o boto Sair na tela de preenchimento de licena de software, e conrmar a a c execuo neste modo. ca

5.3.1

Criando um Barramento

Um barramento da Srie Ponto composto de um mdulo mestre (UCP ou cabea e e o c remota de rede de campo) e diversos mdulos escravos (tipicamente mdulos de E/S). o o Um barramento pode se dividir em at 4 segmentos de barramento. e O ProPonto possui os seguintes componentes de um barramento: Componentes que formam o meio f sico: bases, expansores de barramento, cabos de expanso e terminadores. a Componentes conectados sobre bases, ou mdulos: cabeas remotas, CPUs, mdulos o c o de E/S, fontes de alimentao. ca A tela de desenho do ProPonto permite criar um barramento, inserindo-se os compo nentes (bases e mdulos) sobre o barramento, de maneira grca. E poss selecionar o a vel qual dos 4 segmentos (0 a 3) ser exibido. a Em cada segmento, existem 14 reas reservadas para posies f a co sicas. Em cada posio ca f sica pode-se inserir at dois componentes: uma base (rea inferior da posio f e a ca sica) e um mdulo (rea superior da posio f o a ca sica). As duas posies iniciais devem ser utilico zadas para cabeas remotas, CPUs e/ou fontes de alimentao. As duas posies nais c ca co devem ser utilizadas para expansores de barramento, cabos de expanso de barramento e a terminadores. As dez posies centrais devem ser utilizadas apenas para os mdulos de co o E/S e interfaces de rede.

5.3.2

Utilizando o software ProPonto

Para se realizar o projeto de um novo barramento, primeiramente deve-se entrar no menu arquivo e executar a opo Novo Barramento. Dessa forma, ser criado um novo ca a

35

barramento. A Tela de Desenho e a Tela de Componentes abrem automaticamente. Em seguida devem ser escolhidos na rvore de componentes os componentes de bara ramento que sero inseridos no projeto. Para isto, deve-se selecionar o componente na a a rvore de componentes e arrast-lo para posio desejada na tela de desenho, na qual ele a ca ser inserido. Caso o componente no possa ser inserido naquela posio, uma mensagem a a ca de erro correspondente ser apresentada. Existem algumas restries quanto ` posio a co a ca em que o componente inserido no barramento. Estas restries so vericadas em dois e co a instantes distintos: na insero do componente e na vericao de barramento. ca ca A tela de Componentes Esta tela possui uma rvore de componentescom todos os componentes que podem a ser inseridos em um barramento da Srie Ponto. O usurio poder apenas selecionar e a a os componentes, somente um por vez, mas no poder edit-los ou apag-los. Existem a a a a apenas dois n veis na rvore: o primeiro representa os grupos, o segundo os componentes. a

Figura 5.2: Tela de Componentes

A Tela de Desenho Esta tela representa um barramento da Srie Ponto. O barramento montado de e e forma grca, inserindo-se os componentes (bases e mdulos) sobre o barramento. a o

36

Figura 5.3: Tela de Desenho

Em cada segmento, existem 14 posies reservadas para componentes. Em cada co posio pode-se inserir um base (rea inferior da posio) e um mdulo (rea superior ca a ca o a da posio). A numerao das posies xa, ser sempre a mesma para cada segmento, ca ca co e a e correspondem ao Cdigo do Componente, mostrados logo abaixo das bases. o As 10 posies centrais de cada segmento so reservadas para serem utilizadas apenas co a por Mdulos de E/S ou Interfaces de Rede. As duas posies iniciais de cada segmento poo co dero ser utilizadas por Fontes, CPUs, Cabeas Remotas e Expansores. As duas posies a c co nais de cada segmento podero ser utilizadas por Expansores, Cabos e pelo Terminador. a A Tela de Bases Compat veis A tela de Bases Compat veis proporciona um mtodo alternativo para selecionar uma e base para determinada posio, ao invs de selecion-la a partir da rvore de componentes ca e a a e arrast-la para a posio desejada. Esta tela mostra todas as bases compat a ca veis com o mdulo selecionado. Pode-se selecionar uma das bases apresentadas, e pressionar o boto o a Inserir, para que ela seja inserida na posio correspondente. ca Vericao da Validade da Congurao ca ca Aps o projeto do barramento, deve-se vericar a sua validade. Para isto, deve-se o pressionar o boto Vericar Barramentolocalizado na Tela de Desenho. Os erros e wara nings encontrados so apresentados na janela de Mensagens de Vericao de Barramento, a ca indicado tambm a posio em que ocorreu localizada logo abaixo da tela de desenho. E e ca o erro, facilitando a sua correo. A vericao de barramento um tipo de validao do ca ca e ca barramento projetado, e analisa os seguintes itens: 37

Figura 5.4: Tela de Bases Compat veis

Elemento no lugar errado Falta de elementos Falta de mdulo em cima da base (tratados como warning, e no erro, pois podem o a existir bases vazias p/ expanso) a Consumos e Nmero mximo de mdulos no barramento u a o Capacidade de dados

5.4

Componentes utilizados

Foram disponibilizados pelo Laboratrio de Nanoestruturas (LDN) os seguintes como ponentes de hardware: Mdulo de CPU PO3042 o Mdulo de entrada PO1002 220Vac o Mdulo de sa PO2022 o da Base PO6302 Base PO6003 Base PO6000

5.5

Iniciando o MasterTool

Depois de instalados os softwares MasterTool Programming MT4000 e o MasterTool ProPonto MT6000, conectar o cabo serial no PC e na CPU PO3042, aliment-la com a 24Vdc. Com as bases e mdulos devidamente conectados, aplicar 220Vac na base do o mdulo de entrada. o

38

Figura 5.5: Mdulos utilizados o

Ao iniciar o MasterTool Programming, clique no s mbolo ida barra superior para testar a comunicao com a CPU. Dever mostrar que no h mdulo de congurao e que ca a a a o ca o modo de operao est em ERRO. Se uma janela de timeout aparecer, a comunicao ca a ca no est ocorrendo devidamente e seria bom rever as conexes e as portas de comunicao. a a o ca Em seguida, v em Comunicao Estado ... e passe para o modo de Programao, a ca ca clique em Fechar. Pronto, agora devemos criar um projeto fazendo: Projeto Novo ... Nomeie o projeto com no mximo 6 letras e/ou nmeros. Clique em Ok. Selecione o a u modelo de CP PO3042 e clique em: Barramento Segmento 0... Executar. Nesta hora, abrir automaticamente o ProPonto onde voc ir desenhar seu barraa e a mento no segmento 0. Na tela de componentes, clique em CPU e arraste a PO3042 para o segundo espao superior esquerdo do barramento. Clique em Bases Compat c veis e insira a base PO6302. Em seguida, clique em Mdulo E/S e arraste o mdulo de entrada PO1002 o o para o slot ` direita da CPU. Clique em Bases Compat a veis e insira a base PO6003. Agora, clique em Mdulo E/S e arraste o mdulo de sa PO2022 para o prximo slot. o o da o Clique em Bases Compat veis e insira a base PO6000. Finalmente, adicione o terminador no penltimo slot inferior direito do barramento. Verique o barramento. Se tudo estiver u ok, salve e saia do ProPonto. Clique em Ler para substituir os mdulos existentes pelos declarados no ProPonto, o conrmando a opo. Depois clique em Alocar para aceitar a alocao automtica de ca ca a todos os operandos dos mdulos declarados, conrmando a opo. Aps vericar se todos o ca o os mdulos encontram-se listados, aceite a congurao clicando em Ok Ok e salve o o ca mdulo. o Agora clique em Criar novo mdulo, selecione Mdulo Principale clique em Ok. o o No editor Ladder Logic, voc dever escreverem forma de blocos a lgica de seu projeto. e a o Acabada essa parte, salve. Clique em Enviar Mdulos. Apague o que estiver na memria o o do CLP, clique em Enviar Todos e Fechar. 39

Por m, mude o estado do CP para Execuo em: Comunicao Estado ... e seca ca lecione Execuo, aceitando a mudana de estado. Se houver mensagens de erro, tente ca c encontrar o problema e clique em Fechar. Utilize chaves de contato para testar o funcionamento do CLP. Pode-se monitorar o funcionamento observando os leds nos mdulos o ou pelo PC em: Comunicao Monitorar Programa. ca

Figura 5.6: Chaves de teste

5.6

Diculdades encontradas

Nas tentativas de fazer uma simples programao dos CLPs, na parte de criao de ca ca um barramento no ProPonto, no cavam salvos no arquivo os elementos colocados no a quarto slot do segmento em diante. Isto aconteceu porque o ProPonto dos microcomputadores do laboratrio estavam operando no modo de demonstrao. Neste modo, poss o ca e vel salvar apenas os trs primeiros slots do segmento. Porm, o LDN possui o nmero licena e e u c para operar no modo completo, sendo necessrio, portanto, preencher as informaes nea co cessrias referentes aos dados de licena de uso do software. a c

40

Cap tulo 6 Concluso a


Os kits Mindstorms da Lego e o Rascal da Robix fazem parte de uma rea recente e em a crescente desenvolvimento que a Robtica Educacional. Assim como outras empresas e o deste setor tambm tm investido pesado na produo e elaborao de kits de robtica e e ca ca o para escolas de ensino fundamental, mdio e instituies de ensino superior. e co As diculdades encontradas foram tipicamente relacionadas ` montagem e operacioa nalidade do laboratrio. Os estudantes que vierem a trabalhar nesse local, daro continuio a dade a algo j em andamento e devero empregar esforos em projetos mais interessantes. a a c Apesar deste estgio ter sido focado em estudar as caracter a sticas tcnicas dos come ponentes dos kits e equipamentos, o objetivo principal do laboratrio de mecatrnica o o e prover os estudantes com um fundamento slido de controle de sistemas combinado com o habilidades de engenharia. Ao m deste estgio, pensamos que o laboratrio oferece condies favorveis de opea o co a racionalidade e torna-se poss que disciplinas eletivas de robtica sejam oferecidas. O vel o ambiente dever, inclusive, estimular estudantes da graduao de engenharia eletrnica, a ca o possibilitando-lhes aplicar projetos das disciplinas de eletrnica analgica, digital e mio o crocomputadores, expondo uma verdadeira vitrine para interessados em especializaes co na rea de eletrnica. a o

41

Apndice A e Cdigo de programao do Scout o ca


//--------------------------------------------------------------------------#define TURN 45 // Definindo as constantes #define THRESHOLD 25 // TURN o tempo de giro do motor traseiro #define TOWER 15 // THRESHOLD e TOWER sao usadas pelo sensor de luz #define DELAY 50 // O DELAY eh um intervalo entre as instucoes //--------------------------------------------------------------------------void walkit(int b, int a){ // Funcao para indicar quanto tempo o robo anda Wait(DELAY); // a = 0, move-se para frente if (a==0){ // a = 1, move-se para tras OnFwd(OUT_A+OUT_C); // b eh o tempo que os motores ficarao ligados } // b = 100 indica 1 segundo if (a==1){ OnRev(OUT_A+OUT_C); } Wait(b); Off(OUT_A + OUT_C); } void rot(int crt, int b, int a){ int aux=0; if (crt==-7){ PlayTone(440,80); Wait(100); } if (b==0) aux=1; if (b==1) aux=2; if (b==2) aux=4; if (b==3) aux=8; // // // // // // b b b b b b deve = 0, = 1, = 2, = 3, = 4, assumir apenas os valores: 0, 1, 2, 3 ou 4 o giro eh de aprox. 22.5 graus o giro eh de aprox. 45 graus o giro eh de aprox. 90 graus o giro eh de aprox. 180 graus o giro eh de aprox. 360 graus // Funcao para mudar de direcao

42

if (b==4) aux=16; //--------------------------------------------------------------------------aux=aux*24; Wait(DELAY); OnFwd(OUT_B); Wait(TURN + crt); Off(OUT_B); Wait(DELAY); if (a==0){ OnFwd(OUT_A); OnRev(OUT_C); } if (a==1){ OnRev(OUT_A); OnFwd(OUT_C); } Wait(aux); Off(OUT_A + OUT_C); Wait(DELAY); // gira o motor traseiro mais 90 graus OnFwd(OUT_B); Wait(TURN); Off(OUT_B); } //--------------------------------------------------------------------------sub walk(){ // Sub tarefa para o robo andar indefinidamente Wait(DELAY); OnFwd(OUT_A + OUT_C); } sub hold(){ // Sub tarefa para o robo parar indefinidamente Off(OUT_A + OUT_C); } //--------------------------------------------------------------------------//--------------------------------------------------------------------------task main(){ int i=1, count=0, c=0, crt=0; SetPower(OUT_A + OUT_B + OUT_C, 7); // Tafera principal // Variaveis globais // Motores com potencia maxima // a = 0, o robo gira para a esquerda // gira o motor traseiro para posicao de 90 graus // o tempo de giro, as vezes, precisa ser corrigido

// a = 1, o robo gira para a direita

43

SetSensor(SENSOR_2,SENSOR_LIGHT); walkit(100, 1); rot(crt, 3, 1); c=c+1; walk(); while (i==1){ if (SENSOR_2 >= THRESHOLD){ hold(); PlayTone(262,40); PlayTone(165,40); PlayTone(12,40); Wait(90); walkit(100, 1); if (count==0){ rot(crt, 2, 1); c=c+1; walk(); } if (count==1){ rot(crt, 3, 0); c=c+1; walk(); } if (count==2){ rot(crt, 2, 0); c=c+1; walk(); } if (count==3){ rot(crt, 1, 0); c=c+1; walk(); } count=count+1; if (count==4){ count=0; }

// Usando o Sensor de Luz // // // // Anda 1 segundo para tras Gira 180 graus para a esquerda Conta a quantidade de rotacoes Manda andar

// Inicia loop // Se estiver bastante claro // Parar (parede) // Alerta sonoro // Musica negativa

// Anda 1 segundo para tras // // // // Se for o primeiro encontro: o giro eh 90 graus para a esquerda Conta a quantidade de rotacoes Manda andar

// // // //

Se for o segundo encontro: o giro eh 180 graus para a direita Conta a quantidade de rotacoes Manda andar

// // // //

Se for o terceiro encontro: o giro eh 90 graus para a direita Conta a quantidade de rotacoes Manda andar

// // // //

Se for o quarto encontro: o giro eh 45 graus para a direita Conta a quantidade de rotacoes Manda andar

// Conta o numero de encontros // Zera o numero de encontros

44

if (c==0){ crt=0; } if (c==2){ crt=-7; c=-1; } } if (SENSOR_2 <= TOWER){ hold(); PlayTone(262,40); Wait(50); PlayTone(330,40); Wait(50); PlayTone(294,40); Wait(50); PlayTone(330,40); Wait(50); PlayTone(294,40); Wait(50); PlayTone(262,160); Wait(200);

// Zera fator de correcao crt

// Hora de fazer correcao na rotacao // Muda valor de crt // Reinicia contagem

// Se estiver bastante escuro // Parar (torre) // Alerta sonoro // Musica de sucesso

i=0; // Encerra loop } } } // Fim da tarefa principal //--------------------------------------------------------------------------//---------------------------------------------------------------------------

45

Apndice B e Equipamentos do Laboratrio o

Figura B.1: Geradores de pulso e Ethernet Repeater

Figura B.2: Frequenc metros da Entelbra

46

Figura B.3: Frequenc metros Sincler

Figura B.4: Unilab Digital da Orbital

Figura B.5: Motor DC Getriebe Phywe

47

Bibliograa
[1] FERRARI, Giulio. Building Robots with LEGO Mindstorms, Syngress. [2] OVERMARS, Mark. Programming Lego Robot Using NQC, Department of Computer Science. Utrecht University. [3] http://www.tau.ac.il/stoledo/lego/Stepper/ [4] http://www.crynwr.com/lego-robotics/ [5] http://graphics.stanford.edu/kekoa/rcx/ [6] http://www.philohome.com/motors/motorcomp.htm [7] http://www.robix.com [8] http://www.robotmatrix.org/robix-rascal-robot-kit.htm [9] http://www.restena.lu/convict/Jeunes/ultimate stu/speed.htm [10] STUANI ZANELATTO, Marcelo. Robtica educacional nos cursos de cincia o e da computao, Universidade Estadual de Londrina. ca

48

You might also like