sexta-feira, 11 de janeiro de 2008

"PROJETO COCADA"

Projeto Robótico

O projeto robótico possui quatro partes principais: uma base fixa, uma base móvel sustentável, um braço articulado e uma unidade de controle; freqüentemente descritos com certo grau de liberdade, que é o número de variáveis que podem ser modificadas de modo a alterar sua posição.


Base Fixa

Este braço robótico está fixado na plataforma móvel, onde o primeiro elo (o “braço” do robô) está acoplado a um sistema de rolamento que possibilita sua movimentação no sentido horizontal.

Móvel Sustentável

O princípio de ter-se utilizado uma base móvel sustentável foi sua alta mobilidade e flexibilidade, com a qual alcança objetivo além do imaginado.

Esta base, além de dar movimentação ao rob

ô, sustenta o braço articulado.

Braço Articulado

O braço articulado é formado por várias partes: elos, juntas, atuadores de juntas e órgão terminal.

Elos são as partes rígidas do braço do robô,

as quais são compostas por alumínio.

Juntas são as partes do braço do robô que permitem uma conexão móvel entre dois elos, a qual é identificada pelas engrenagens. As juntas podem ser de dois tipos: deslizantes e rotativas. As juntas deslizantes movem-se em linha reta, sem girar. As juntas rotativas giram em torno de uma linha imaginária e estacionária chamada eixo de rotação. No projeto são utilizadas ambas as juntas, na garra foi utilizada uma junta deslizante e as demais juntas rotativas.

O atuador produz movimento quando recebe um sinal de entrada. Atuadores são chamados de rotacionais ou lineares, dependendo se eles produzem um movimento giratório ou em linha reta. O braço robótico utilizou atuadores eletromecânicos (acionados por motores elétricos) o qual está sendo utilizado para o funcionamento do servomotor.

Os órgãos terminais podem ser classificad

os em dois grandes grupos denominados: garras e ferramentas especializadas. Robôs usam garras para mover objetos e usam ferramentas especializadas para fazer tarefas especiais, este projeto utiliza-se do tipo garra.

Unidade de Controle

A unidade de controle representa o "cérebro" do robô. Ela recebe sinais de entrada dos sensores do computador e transmite sinais de saída para os atuadores do robô. Há dois tipos de sistemas de controle de robôs: malha aberta e malha fechada.

No projeto é utilizada malha aberta, dev

ido a isso, não há necessidade de um sensor medindo como o manipulador realmente se moveu em resposta aos sinais enviados para os atuadores, e conseqüentemente não há sinais de realimentação do manipulador para o controlador. A “malha de controle” é aberta, indo do controlador para o atuador e deste para o manipulador.

Figura 9.1 - Controle em Malha Aberta.

Sistemas de acionamento do robô

O tipo de sistema de acionamento usado no projeto é o elétrico, a capacidade de o robô movimentar seu corpo, braço e órgão terminal (a “garra” do robô) são determinados pelo sistema utilizado para acioná-lo.

O sistema de acionamento determina a velocidade dos movimentos do braço, a força do robô e seu desempenho dinâmico e os tipos de aplicação que o robô pode realizar.

Acionamento Elétrico

O acionamento elétrico geralmente não proporciona tanta velocidade ou potência quanto os sistemas hidráulicos. Todavia, a precisão de repetência dos robôs de acionamento elétrico é geralmente melhor. Conseqüentemente, os robôs elétricos tendem a ser menores e suas aplicações a um trabalho mais preciso como, por exemplo, montagem.

Os robôs de acionamento elétrico são acionados por motores de passo ou servo motores de corrente contínua. Estes motores são adequados idealmente para o acionamento de juntas rotacionais através de sistemas de eixos e engrenagens de acionamento.

O projeto “Cocada” é um robô articulado, com três eixos de rotação e uma garra, que utilizam servos motores.


Figura 9.2 – “PROJETO COCADA”

INFORMAÇÕES ADICIONAIS

Foi utilizado no braço robótico estruturas de alumínio, peças moldadas em torno mecânico para o suporte da base fixa, utilizando ainda como suporte de sua estrutura um carro de controle remoto que teve partes modificadas para melhor implementação e maior desempenho.

Tais materiais foram escolhidos devido à facilidade de manejo e principalmente seu baixo custo/beneficio, motivo pelo qual utilizamos materiais recicláveis, tendo em vista o pequeno porte do projeto.

Características do carrinho de controle remoto:

- Rádio controle multifunção;

- Bateria 9V para o controle;

- Bateria recarregável 10V para o carrinho;

- Freqüência de 40Mhz;

- Carregador Bivolt;

- Dimensões: 49 cm x 25 cm x 26 cm;

- Peso: 3,8 kg ;

- Suspensão nas 4 Rodas; e

- Pneus em borracha na cor preta.




Fluxograma de Conexões do Sistema Receptor:



Fluxograma do Projeto “Cocada”:



Código Fonte do “Projeto Cocada” desenvolvido por Delphi:

unit rob;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls, jpeg;

type

Tw = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

Button7: TButton;

Label1: TLabel;

Label2: TLabel;

Timer1: TTimer;

Button8: TButton;

Button9: TButton;

Button10: TButton;

Button11: TButton;

Button12: TButton;

Image1: TImage;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure Button8Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

type

TPorta = class(TForm)

end;

var

w: Tw;

cont,x : integer;

implementation

function inportb(EndPorta: Integer): BYTE stdcall; external 'inpout32.DLL' name 'Inp32';

procedure outportb(EndPorta: Integer; Valor:BYTE); stdcall; external 'inpout32.DLL' name 'Out32';

{$R *.dfm}

procedure Tw.Button1Click(Sender: TObject);

begin

//outportb($378,$3);

for cont := 1 to 50000 do

begin

outportb($378,$3); //Liga todos os pinos do Registro de Dados.

for x := 1 to 3700 do

begin

end;

outportb($378,0);

for x := 1 to 3700 do

begin

end;

end;

end;

procedure Tw.Button2Click(Sender: TObject);

begin

//outportb($378,$5);

for cont := 1 to 50000 do

begin

outportb($378,$5);

for x := 1 to 3700 do

begin

end;

outportb($378,0);

for x := 1 to 3700 do

begin

end;

end;

end;

procedure Tw.Button3Click(Sender: TObject);

begin

//outportb($378,$0);

for cont := 1 to 50000 do

begin

outportb($378,$0);

for x := 1 to 3700 do

begin

end;

outportb($378,0);

for x := 1 to 3700 do

begin

end;

end;

end;

procedure Tw.Button4Click(Sender: TObject);

begin

//outportb($378,$8);

for cont := 1 to 50000 do

begin

outportb($378,$8);

for x := 1 to 3700 do

begin

end;

outportb($378,0);

for x := 1 to 3700 do

begin

end;

end;

end;

procedure Tw.Button5Click(Sender: TObject);

begin

//outportb($378,$0);

for cont := 1 to 50000 do

begin

outportb($378,$0);

for x := 1 to 3700 do

begin

end;

outportb($378,0);

for x := 1 to 3700 do

begin

end;

end;

end;

procedure Tw.Button6Click(Sender: TObject);

begin

//outportb($378,$FF);

for cont := 1 to 50000 do

begin

outportb($378,$FF);

for x := 1 to 3700 do

begin

end;

outportb($378,0);

for x := 1 to 3700 do

begin

end;

end;

end;

procedure Tw.Button7Click(Sender: TObject);

begin

outportb($378,255); //Liga todos os pinos do Registro de Dados.

end;

procedure Tw.Timer1Timer(Sender: TObject);

begin

Label2.Caption := IntToStr( inportb($379) );

Label1.Caption := IntToStr( inportb($377) );

end;

procedure Tw.Button8Click(Sender: TObject);

begin

for cont := 1 to 500000 do

begin

outportb($378,255); //Liga todos os pinos do Registro de Dados.

for x := 1 to 8400 do

begin

end;

outportb($378,0);

for x := 1 to 8400 do

begin

end;

end;

end;

end.

Foto



0 comentários: