quinta-feira, 20 de novembro de 2008

Balança implementada

Após a apresentação do ARHTE sem a eletrônica estar pronta, a equipe laranja mecanica não deixa de se empenhar. Na mesma tarde fizemos a parte mecânica e a programação em PIC para um novo componente da esteira, uma balança, onde qnd tiver 200g de brita a esteira irá parar. Agora faltando só mesmo a finalização da eletrônica que está quase pronta.

Amanhã pela manhã haverá notícias da finalização da eletrônica e pela tarde teste de todos os componentes juntos funcionando. Amanhã postamos video da Esteira LM3 finalizada.

Aí segue o código para PIC 16f628a comentado:

#include

__CONFIG _WDT_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF & _LVP_OFF

CBLOCK 0x20 ;ENDEREÇO INICIAL DA MEMÓRIA DE USUÁRIO
TEMPO
ENDC

#DEFINE BANK0 BCF STATUS,RP0
#DEFINE BANK1 BSF STATUS,RP0
#DEFINE LED PORTA,1
#DEFINE MOTOR PORTA,2
#DEFINE INFRA PORTA,0
#DEFINE LEDV PORTA,3
#DEFINE BALANCA PORTA,4
ORG 0x00
GOTO INICIO

ORG 0x04
GOTO TRATA_TIMER

INICIO

CLRF PORTA
BANK1
MOVLW B'00000111' ; bit do 0 ao 2, configuração de Preescale - 111 = 1:256 Timmer0; bit 8, habilita uso de periféricos.
MOVWF OPTION_REG ; Move o byte de configuração do Work para o registrador OPTION_REG
MOVLW B'11110001'
MOVWF TRISA ; seta as portas de entrada e saida
BANK0
MOVLW b'00000111'
MOVWF CMCON ; Desabilita comparadores
MOVLW .20 ; Atribui 20 para W
MOVWF TEMPO ; Atribui valor de W para TEMPO

MAIN
BTFSS BALANCA ;Checa se o peso exedeu 200g
GOTO EXPESO ;Se execedeu va para expeso
BTFSS INFRA ;Checa se o laser foi interrompido
CALL PARA ;se foi va para subrotina PARA
BTFSC INFRA ;checa se laser nao está interrompido
CALL LIGADO ;se nao estiver va para LIGADO
GOTO MAIN

LIGADO ;Sub-Rotina Ligado
BSF LEDV ;Liga led verde
BCF LED ;Desliga led vermelho
BSF MOTOR ;Liga motor
RETURN

PARA ;Sub-Rotina PARA
BCF LEDV ;desliga led verde
BSF LED ;liga led vermelho
BCF MOTOR ;desliga motor
MOVLW .20
MOVWF TEMPO
MOVLW B'10100000' ; BIT: 7-INTERRUPÇÃO, 5-TIMMER, 2-Flag Timmer
MOVWF INTCON ; Move o byte de configuração do Work para o registrador INTCON
LOOP
GOTO LOOP
RETURN

TRATA_TIMER ; Trata a interrupção gerada pelo Timmer0
BCF INTCON, T0IF ; Desabilita flag de Timmer0
BCF INTCON, GIE ; Habilita Interrupção Geral
BTFSS INFRA
GOTO MAIN
DECFSZ TEMPO ; Decrementa Variavel TEMPO2 e testa se TEMPO2 = 0 pula a proxima linha.
GOTO TESTALED
GOTO MAIN


TESTALED ;Sub-Rotina TESTALED
BTFSC LED ;Checa se led vermelho está apagado
GOTO ASCENDE ;se estiver vai para subrotina ascende
BTFSS LED ;testa se led vermelho está aceso
GOTO APAGA ;se estiver vai para subrotina apaga

ASCENDE ;Sub-Rotina ASCENDE
BCF LED ;Apaga led vermelho
RETFIE

APAGA ;Sub-Rotina APAGA
BSF LED ;Ascende led vermelho
RETFIE

EXPESO ;Sub-Rotina EXPESO
BCF LEDV ;Apaga led verde
BSF LED ;Ascende led vermelho
BCF MOTOR ;Desliga motor
GOTO MAIN

END

segunda-feira, 17 de novembro de 2008

Algorítimo PIC aperfeiçoado

Aproveitando para estudar PIC resolví fazer um algorítimo mais rebuscado. (Código comentado em breve)

Implementações:

-Esperar 5s sempre que o sensor for interrompido para a esteira voltar ao funcionamento.

-LED vermelho piscando enquanto esteira pausa 5s.

Video:



Aí segue o novo código do PIC:

#include

__CONFIG _WDT_OFF & _INTRC_
OSC_NOCLKOUT & _MCLRE_OFF & _LVP_OFF

CBLOCK 0x20 ;ENDEREÇO INICIAL DA MEMÓRIA DE USUÁRIO
TEMPO
ENDC

#DEFINE BANK0 BCF STATUS,RP0
#DEFINE BANK1 BSF STATUS,RP0
#DEFINE LED PORTA,0
#DEFINE MOTOR PORTA,2
#DEFINE INFRA PORTA,1
#DEFINE LEDV PORTA,3
ORG 0x00
GOTO INICIO

ORG 0x04
GOTO TRATA_TIMER

INICIO

CLRF PORTA
BANK1
MOVLW B'00000111'; bit do 0 ao 2, configuração
de Preescale - 111 = 1:256 Timmer0; bit 8, habilita uso de periféricos.
MOVWF OPTION_REG ; Move o byte de configuração do Work para o registrador OPTION_REG
MOVLW B'11110010'
MOVWF TRISA
BANK0
MOVLW b'00001111'
MOVWF CMCON
MOVLW .20 ; Atribui 5 para W
MOVWF TEMPO ; Atribui valor de W
para TEMPO

MAIN
BTFSS INFRA
CALL PARA
BTFSC INFRA
CALL LIGADO
GOTO MAIN

LIGADO
BSF LEDV
BCF LED
BSF MOTOR
RETURN

PARA
BCF LEDV
BSF LED

BCF MOTOR
MOVLW .20
MOVWF TEMPO
MOVLW B'10100000'; BIT: 7-INTERRUPÇÃO, 5-TIMMER, 2-Flag Timmer
MOVWF INTCON ; Move o byte de configuração do Work para o registrador INTCON
LOOP
GOTO LOOP
RETURN

TRATA_TIMER ; Trata a interrupção gerada pelo Timmer0
BCF INTCON, T0IF ; Desabilita flag de Timmer0
BCF INTCON, GIE ; Habilita Interrupção Geral
BTFSS INFRA
GOTO MAIN
DECFSZ TEMPO ; Decrementa Variavel TEMPO2 e testa se TEMPO2 = 0 pula a proxima linha.
GOTO TESTALED
GOTO MAIN


TESTALED
BTFSC LED
GOTO ASCENDE
BTFSS LED
GOTO APAGA

ASCENDE
BCF LED
RETFIE

APAGA
BSF LED
RETFIE

END

domingo, 16 de novembro de 2008


placa de circuito, feita em uma placa padrão, o chip de cima é o PIC16F628A, e o CI uln2803 o de baixo, detalhe para os LEDs que dizem o funcionamento do motor.

sábado, 15 de novembro de 2008

Simulação Esteira - Pic no ISIS



O led azul aceso representa o Motor DC (Led motor DC)
O led vermelho aceso representa interrupção do laser e parada da esteira
O led verde aceso representa a esteira em movimento

O push button representa, quando pressionado, o laser interrompido.

quinta-feira, 13 de novembro de 2008

Programa em PIC

Segue abaixo o algoritimo para pic do sistema demonstrado no vídeo da postagem abaixo:

#include

__CONFIG _WDT_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF & _LVP_OFF ;Configurações Iniciais


#DEFINE BANK0 BCF STATUS,RP0 ;Facilitando a troca de banco pro banco 0
#DEFINE BANK1 BSF STATUS,RP0 ;e banco 1.
#DEFINE LED PORTA,0
;Dando nome 'LED' ao bit 0 da PORTA.
#DEFINE MOTOR PORTA,2 ;Dando nome 'MOTOR' ao bit 2 da PORTA.
#DEFINE INFRA PORTA,1 ;Dando nome 'INFRA' ao bit 1 da PORTA.
#DEFINE LEDV PORTA,3 ;Dando nome 'LEDV' ao bit 3 da PORTA.

ORG 0x00

GOTO INICIO ;Direciona o ponteiro de execução para a sub-rotina INICIO.

INICIO ;Sub-rotina INICIO.

CLRF PORTA ;Zera todo o byte PORTA.
BANK1 ;Troca do banco atual(banco 0) para o banco 1.
MOVLW B'11110010' ;Move o valor binário 11110010 para o registrador W.
MOVWF TRISA ;Move o byte W para o TRISA(que define os bits de PORTA como entrada=1 ou saída=0).
BANK0 ;Troca do banco atual(banco 1) para o banco 0.
MOVLW b'00001111' ;Move o valor binário 00001111 para o registrador W.
MOVWF CMCON ;Move o byte W para o CMCON.

MAIN ;Sub-rotina Main.
BTFSS INFRA
CALL PARA ;Chama a função PARA.
BTFSC INFRA
CALL LIGADO ;Chama a função LIGADO.
GOTO MAIN ;Direciona o ponteiro de execução para a sub-rotina MAIN.

LIGADO ;Sub-rotina LIGADO.
BSF LEDV ;Seta o bit LEDV '1'.
BCF LED ;Seta o bit LED '0'.
BSF MOTOR ;Seta o bit MOTOR '1'.
RETURN ;Retorna o ponteiro de execução para linha seguinte a chamada da função.

PARA ;Sub-rotina PARA.
BCF LEDV ;Seta o bit LEDV '0'.
BSF LED ;Seta o bit LED '1'.
BCF MOTOR ;Seta o bit MOTOR '0'.
RETURN ;Retorna o ponteiro de execução para linha seguinte a chamada da função.
END

Funcionamento:
Quando o laser for interropido o motor DC pára, e só volta a funcionar quando o laser nao estiver mais interrompido.

Dessa forma podemos simular um ambiente fabril onde quando alguma coisa invade o espaço do processo de produção, nesse caso a esteira, essa pára automaticamente evitando assim um acidente.
teste do circuito com pic na proto board... no video o botão simula um sensor de luz que ira fazer com que o motor pare....

Algorítimo em Delphi 7 para 2 motores (DC e Passo)

Diferente da linguagem C, a qual a maioria de nós estamos ambientados, no delphi o programa é dividido em vários códigos.

Aqui segue a parte do layout do progama, botões, labels etc... (Unit1.dfm):

;------------------------------------Unit1.dfm----------------------------------------

object Form1: TForm1
Left = 189
Top = 119
Width = 352
Height = 317
Caption = 'Controle - Motor de Passo'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 24
Top = 24
Width = 71
Height = 22
Caption = 'Motor 1'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
end
object Label2: TLabel
Left = 216
Top = 24
Width = 71
Height = 22
Caption = 'Motor 2'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
end
object Label3: TLabel
Left = 8
Top = 120
Width = 71
Height = 18
Caption = 'Sentido 1:'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -15
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
end
object Label4: TLabel
Left = 200
Top = 120
Width = 71
Height = 18
Caption = 'Sentido 2:'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -15
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
end
object LaVelocidade2: TLabel
Left = 200
Top = 208
Width = 94
Height = 18
Caption = 'Velocidade 2:'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -15
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
end
object LaVelocidade1: TLabel
Left = 8
Top = 208
Width = 94
Height = 18
Caption = 'Velocidade 1:'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -15
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
end
object Button1: TButton
Left = 16
Top = 64
Width = 89
Height = 33
Caption = 'DESLIGADO'
TabOrder = 0
OnClick = Button1Click
end
object Button2: TButton
Left = 208
Top = 64
Width = 89
Height = 33
Caption = 'DESLIGADO'
TabOrder = 1
OnClick = Button2Click
end
object Sentido1: TButton
Left = 208
Top = 160
Width = 89
Height = 33
Caption = 'HOR'#193'RIO'
TabOrder = 2
OnClick = Sentido1Click
end
object Sentido: TButton
Left = 16
Top = 160
Width = 89
Height = 33
Caption = 'HOR'#193'RIO'
TabOrder = 3
OnClick = SentidoClick
end
object ScrollBar1: TScrollBar
Left = 16
Top = 240
Width = 89
Height = 17
Max = 225
Min = 1
PageSize = 0
Position = 1
TabOrder = 4
OnScroll = ScrollBar1Scroll
end
object ScrollBar2: TScrollBar
Left = 208
Top = 240
Width = 89
Height = 17
Max = 225
PageSize = 0
TabOrder = 5
OnScroll = ScrollBar2Scroll
end
end


Agora o arquivo principal com o algorítimo (unit1.pas e unit2.pas):


;------------------------------------Unit1.pas---------------------------------------


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
Sentido1: TButton;
Sentido: TButton;
Label3: TLabel;
Label4: TLabel;
ScrollBar1: TScrollBar;
ScrollBar2: TScrollBar;
LaVelocidade2: TLabel;
LaVelocidade1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure SentidoClick(Sender: TObject);
procedure Sentido1Click(Sender: TObject);
procedure ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
procedure ScrollBar2Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;


implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
begin
if Button1.Caption='LIGADO' then
begin
Button1.Caption:='DESLIGADO';
end
else
button1.Caption:='LIGADO';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if Button2.Caption='LIGADO' then
Button2.Caption:='DESLIGADO'
else
button2.Caption:='LIGADO';
end;

procedure TForm1.SentidoClick(Sender: TObject);
begin
if Sentido.Caption='HORÁRIO' then
Sentido.Caption:='ANTI-HORÁRIO'
else
Sentido.Caption:='HORÁRIO';
end;

procedure TForm1.Sentido1Click(Sender: TObject);
begin
if Sentido1.Caption='HORÁRIO' then
Sentido1.Caption:='ANTI-HORÁRIO'
else
Sentido1.Caption:='HORÁRIO';
end;

procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
var
velocidade : Integer;
begin
velocidade := scrollbar1.position;
lavelocidade1.Caption :='Velocidade 1: ' + inttostr(velocidade) + 'ms';
end;
procedure TForm1.ScrollBar2Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
var
velocidade1 : Integer;
begin
velocidade1 := scrollbar2.position;
lavelocidade2.Caption :='Velocidade 2: ' + inttostr(velocidade1) + 'ms';
end;

end.


;-----------------------------Unit2.pas--------------------------------------------


unit Unit2;

interface

uses
Classes,unit1,SysUtils, Variants, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
loop = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
procedure Atualiza;
procedure Atualiza1;
end;

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

var
contador: integer;
passos2: integer;
procedure loop.Atualiza;
begin
with Form1 do
begin
label5.caption:='Giros = ' + inttostr(contador);
end;
end ;

procedure loop.Atualiza1;
begin
with Form1 do
begin
label6.caption:='Giros = ' + inttostr(passos2);
end;
end ;

procedure loop.Execute;
begin
with Form1 do
begin
while (button1.caption='LIGADO') AND (button2.Caption='DESLIGADO') do
begin
if sentido.Caption='HORÁRIO' then
begin // SENTIDO HORARIO MOTOR DE PASSO
outportb($378,$04);
sleep(scrollbar1.Position);
outportb($378,$08);
sleep(scrollbar1.Position);
outportb($378,$10);
sleep(scrollbar1.Position);
outportb($378,$20);
sleep(scrollbar1.Position);
passos:= passos + 1;
end
else
begin // SENTIDO ANTI HORARIO MOTOR DE PASSO
outportb($378,$20);
sleep(scrollbar1.Position);
outportb($378,$10);
sleep(scrollbar1.Position);
outportb($378,$08);
sleep(scrollbar1.Position);
outportb($378,$04);
sleep(scrollbar1.Position);
passos:= passos - 1;
end;
contador := passos;
synchronize(atualiza);
if(button1.caption='DESLIGADO') OR (button2.Caption='LIGADO')then
begin
exit;
end;
end;
while (button1.caption='LIGADO') AND (button2.Caption='LIGADO') do
begin
if sentido1.Caption='HORÁRIO' then
begin
byt:= $10;
x:=1;
end
else
begin
byt:= $20; x:=-1;
end;
if sentido.Caption='HORÁRIO' then
begin // SENTIDO HORARIO MOTOR DE PASSO
outportb($378,$01 + byt);
sleep(scrollbar1.Position);
outportb($378,$02 + byt);
sleep(scrollbar1.Position);
outportb($378,$04 + byt);
sleep(scrollbar1.Position);
outportb($378,$08 + byt);
sleep(scrollbar1.Position);
passos:= passos + 1;
passos1:= passos1 + 4*x;
end
else
begin // SENTIDO ANTI HORARIO MOTOR DE PASSO
outportb($378,$08 + byt);
sleep(scrollbar1.Position);
outportb($378,$04 + byt);
sleep(scrollbar1.Position);
outportb($378,$02 + byt);
sleep(scrollbar1.Position);
outportb($378,$01 + byt);
sleep(scrollbar1.Position);
passos:= passos - 1;
passos1:= passos1 + 4*x;
end;
contador := passos;
passos2:= passos1;
synchronize(atualiza);
synchronize(atualiza1);
if(button1.caption<>'LIGADO') OR (button2.Caption<>'LIGADO')then
exit;
end;
while (button1.caption='DESLIGADO') AND (button2.Caption='LIGADO') do
begin
if sentido1.Caption='HORÁRIO' then
begin // SENTIDO HORARIO MOTOR DC
outportb($378,$10);
sleep(scrollbar2.Position);
passos1:= passos1 + 1;
end
else
begin // SENTIDO ANTI HORARIO MOTOR DC
outportb($378,$20);
sleep(scrollbar2.Position);
passos1:= passos1 - 1;
end;
if(button1.caption='DESLIGADO') OR (button2.Caption='DESLIGADO')then
begin
sleep(scrollbar1.Position*4);
outportb($378,0);
exit;
end;
passos2:= passos1;
synchronize(atualiza1);
if(button1.caption<>'DESLIGADO') OR (button2.Caption<>'LIGADO')then
exit;
end;
end;
end;
end.

;--------------------------------FIM---------------------------------------------


Sou inesperiente em delphi, e com o pouco que sabia criei esse algorítimo. Estou aberto a ajuda para possíveis melhorias nesse algorítimo, entretanto, dessa forma roda 100%. valeu!

OBS: OS CÓDIGOS NÃO ESTÃO COMENTADOS. QUALQUER DÚVIDA ENTRAR EM CONTATO

e.sampaioo@hotmail.com

Arquivos para download:

http://rapidshare.com/files/163558447/Programa_Projeto_ARHTE_DEFINITIVO.rar.html

bom pessoal.... ai vai um foto dos testes da esteira..... ultimos ajustes
abraços a todos

domingo, 19 de outubro de 2008

Pessoal... só por curiosidade, eu tinha esquecido de um video do LM1 funcionando na feira tecnologica da unifacs 2008.1 e acabei de pega-lo... para aqueles que tem curiosidade ai vai

sábado, 18 de outubro de 2008

Pessoal.... com o avanço do curso de pic ministrado pelo professor Victory... conseguimos um conhecimento suficiente para começar a experimentar algumas coisas.... aqui vai um video com um teste do circuito feito com pic no Software de simulação do Proteus, o ISIS... O programa em assembly e a simulação da eletrônica foram feitas pelo integrante Eduardo Sampaio.... abraço a todos.

quinta-feira, 16 de outubro de 2008

Bom pessoal ai vai algumas fotos da parte Mecânica sendo construida... aguardem novidades















Daniel Veiga, Daniel Baqueiro e Eduardo Sampaio













Daniel Veiga, Daniel Baqueiro e Eduardo Sampaio

domingo, 21 de setembro de 2008

Eletrônica e Programação

Bom pessoal, hoje finalmente conclui os testes da eletrônica! Devido a um curto, acabamos perdendo a placa do post anterior, mas outra placa ja foi feita e testada com sucesso!
A seguir algumas fotos, e um video mostrando o funcionamento do motor com a eletrônica e a programação....













Placa padrão












Motor




Video do teste da programação

domingo, 14 de setembro de 2008

Software de controle dos motores em fase final!

Depois de muito estudo em delphi o software de controle dos motores está quase pronto, só faltando os últimos ajustes! A seguir segue algumas fotos do programa:







sexta-feira, 12 de setembro de 2008

Placa de circuito impresso

A execução do projeto ja esta em andamento! A parte da programação esta passando pelos testes finais, e a eletrônica quase toda pronta. As fotos abaixo mostram a placa de circuito impresso para o protótipo LM3 contendo os relés para controle do servo-motor e as uln's para controle do motor-de-passo. Agradecimentos especiais a Juliana (monitora do NMR) que colaborou bastante para o desenvolvimento do circuito.




Essa placa vai ter seu nome Ju...^^

Projeto LM3 - 2008.2


A equipe Laranja Mecânica volta com tudo neste semestre. Com a entrada do novo integrante Eduardo Viana e a concepção do projeto LM3, estamos dando continuidade ao trabalho que teve origem no semestre passado. A equipe mantem o nome e promete inovar em 2008.2 ...
A foto mostra o esboço do LM3 feito no SketchUp.

quinta-feira, 29 de maio de 2008

Fotos 29/05/2008









Momentos antes da apresentação, fazendo os últimos ajustes...












Daniel Baqueiro, Eu (Sarah Trueb), Iuri e Daniel Veiga.










Daniel Veiga apresentando a parte elétrica.















Daniel Baqueiro apresentando a parte mecânica.

Dia da apresentação


Hoje tivemos a apresentação do nosso projeto! Sábado, dia 31/05/2008, é a feira de divulgação do projeto ARHTE. A foto mostra a equipe ao lados dos professores.

sexta-feira, 23 de maio de 2008

Vídeo da programação

O vídeo abaixo mostra o teste da programação e do algoritmo feito por Daniel Veiga.



Vídeo do motor

O vídeo mostra o teste do circuito feito na protoboard (placa com milhares de furos e conexões condutoras para montagem de circuitos elétricos experimentais), testando com o lpmotor (um programa criado pelo rogercom).


terça-feira, 20 de maio de 2008

Fotos 20/05/2008









Professor Targino trabalhando para auxiliar os alunos no processo de conclusão dos projetos.












Iuri, Daniel Veiga e Daniel Baqueiro cortando as peças.

















Daniel Baqueiro no NMA... Estilo é com ele mesmo!

Adaptação dos motores


Na reunião de hoje nós adaptamos os locais para o encaixe dos motores para que depois disso, possamos ligá-los e mover os graus do braço mecânico.
Na foto temos Daniel Veiga, Daniel Baqueiro e Iuri trabalhando para colocar os motores no braço.

quarta-feira, 14 de maio de 2008

Fotos 14/05/2008











Eu e Jessé no NMA










Daniel Veiga e Jú (instrutora do NMR e nossa veterana)













A parte elétrica (trabalho feito por Daniel Veiga)













Daniel Veiga trabalhando no NMR

Processo de conclusão


Hoje passamos a tarde toda no NMA e no NMR (Núcleo de Mecatrônica e Robótica) trabalhando em prol de um trabalho bem feito! A parte mecânica está praticamente pronta e a parte elétrica está em andamento.

No dia 29/05/2008 será a nossa apresentação! Semana que vem teremos mais reuniões para que o trabalho esteja todo concluído.
Na foto temos Daniel Baqueiro e Iuri fazendo algumas medidas.

sexta-feira, 9 de maio de 2008

Fotos 09/05/2008










Descontração também faz parte!













E a organização? Por onde anda?














Daniel Veiga. Porque concentração é tudo!

quinta-feira, 8 de maio de 2008

Fotos 08/05/2008









Eu (Sarah), Daniel Veiga e Iuri ajustando a base (o "pé") .











Eu, Daniel Veiga e Daniel Baqueiro ajustando as medidas com o paquímetro.











Lordelo (nosso ajudante), Daniel Veiga, Daniel Baqueiro e Iuri.

Desenvolvimento da estrutura


Hoje não fizemos muita coisa (pelo menos não tudo o que precisávamos). A parte estrutural está praticamente pronta, mas ainda é necessário alguns ajustes. Nosso próximo objetivo agora é fazer o braço funcionar com toda a estrutura programada, os motores de passo, contra-pesos e outros materiais...Gostaria de agradecer a ajuda de Lordelo, nosso veterano.

Na foto temos a equipe toda juntamente com o professor Targino.

terça-feira, 29 de abril de 2008

Fotos 29/04/2008










Daniel Veiga e Iuri.










Eu (Sarah Trueb), professor Targino e Daniel Veiga.













Daniel Veiga, professor Targino e Daniel Baqueiro montando a estrutura.

Estrutura do braço mecânico


Hoje montamos a estrutura do braço. Com a ajuda de Targino, obtivemos informações e idéias para o processo de conclusão do mesmo. Ainda faltam algumas partes para colocá-lo em funcionamento. A foto ao lado mostra o braço "seco".
Semana que vem postarei mais fotos no NMA.

terça-feira, 22 de abril de 2008

Fotos 22/04/2008







Eu (Sarah Trueb) furando as barras. Pena que a foto não saiu com a qualidade muito boa.















Eu (Sarah Trueb) cortando o parafuso-sem-fim ao lado de Jessé (orientador do NMA).





Daniel Veiga, Iuri e Daniel Baqueiro medindo o motor de passo com o auxílio do paquímetro (instrumento utilizado para medir a distância entre dois lados simetricamente opostos em um objeto).

















Daniel Veiga e eu (Sarah Trueb) terminando o acabamento.







Na seqüência, Daniel Veiga, Daniel Baqueiro e Iuri fazendo o acabamento das barras.

Continuação da adaptação dos materiais

Hoje no NMA continuamos o processo de adaptação dos materiais que compõem o nosso braço mecânico. Cortamos o parafuso sem fim, fizemos o acabamento das barras com o auxílio da lima (uma espécie de lixa) e furamos as barras para o encaixe do parafuso sem fim.
Na foto a cima, os meninos (Daniel Veiga, Iuri e Daniel Baqueiro e Jessé) estão medindo e marcando os locais para o encaixe do parafuso sem fim.


terça-feira, 15 de abril de 2008

Fotos 15/04/2008
















Daniel Veiga cortando as barras.



Professor Targino ensinando a utilizar o goniômetro (instrumento de medida em forma semicurcular ou circular graduada em 180º ou 360º, utilizado para medir o ângulo de incilnação das barras).


















Eu (Sarah Trueb) lixando a placa de suporte.












Os meninos (Iuri, Daniel Veiga e Daniel Baqueiro) medindo as barras.

Início do Trabalho


Hoje nós estivemos uma reunião no núcleo de mecânica aplicada (NMA).

Com a ajuda do professor Targino, começamos a organizar o material do nosso braço mecânico. Serramos as barras metálicas, desempenamos e lixamos a placa de suporte e obtivemos auxilio para os próximos passos a serem dados.

quinta-feira, 10 de abril de 2008

Objetivo do Trabalho

Aprender a prática é tão importante quanto aprender a teoria.

Esse trabalho foi desenvolvido para colocar em prática todo o aprendizado obtido ao longo desse primeiro semestre. Com a colaboração dos professores e orientadores , os alunos do curso de Engenharia Mecatrônica da Unifacs, ingressos em 2008.1, mostram as suas habilidades ao montar um braço mecânico com 2 graus de liberdade no mínimo.

O programa multidisciplinar ARHTE (Arquimedes, Robert Hooke & Thomas Edson) foi criado com a finalidade de abrir espaço para a criação desse projeto.