prova de aptidão tecnológica

41
PROVA DE APTIDÃO TECNOLÓGICA PROJECTO ROBOT DE BUSCA E SALVAMENTO Trabalho realizado por: Ricardo Antunes PAT Prova de Aptidão Tecnológica

Upload: okashi24

Post on 08-Jul-2015

1.072 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Prova de aptidão tecnológica

PROVA DE APTIDÃO TECNOLÓGICA

PROJECTO ROBOT DE BUSCA E

SALVAMENTO

Trabalho realizado por: Ricardo Antunes

PAT – Prova de Aptidão Tecnológica

Page 2: Prova de aptidão tecnológica

Motivação.

Requisitos.

Conceitos Teóricos.

Arquitectura do sistema.

Implementação.

Conclusões.

Trabalho Futuro.

SUMÁRIO

Page 3: Prova de aptidão tecnológica

Pesquisa de robots já existentes no mercado.

Compreensão de conceitos teóricos para iniciação do

projecto.

Planeamento da estrutura física do robot.

Desenho 3D utilizando a ferramenta de desenho INVENTOR.

Implementação do material a utilizar.

Planeamento da programação para posterior participação em

provas.

Conclusões retiradas com o projecto.

INTRODUÇÃO

Page 4: Prova de aptidão tecnológica

Microcontrolador: ATmega1280.

Controlo dos motores: Ardumoto (L298).

Sensor de pista: Axe121.

Sonares: SRF05.

Motores: EMG30.

Chassis: Alumínio.

Sistema de movimento: Lagartas.

Bateria: 5v a 12v DC.

Comunicação: FT232R.

Servo: S05NF.

Garra: Sparksfun robotic claw.

REQUISITOS

Page 5: Prova de aptidão tecnológica

PROVA DE ROBÓTICA NACIONAL

Page 6: Prova de aptidão tecnológica

PROVADE ROBÓTICA NACIONAL - GARRA

Page 7: Prova de aptidão tecnológica

PROVA DE ROBÓTICA NACIONAL - FOTOS

Page 8: Prova de aptidão tecnológica

Robot: É um agente artifícial activo que possuí um corpo e cujo ambiente é o mundo real (físico).

Robot Autónomo: É um robot que realiza as suas próprias decisões usando o feedback que recebe do seu ambiente.

DEFINIÇÃO DE ROBOT

Page 9: Prova de aptidão tecnológica

Agente : Um s istema computacional , s i tuado num dado ambiente , tem percepção do ambiente através de sensores e tem actuadores que vão desempenhar uma acção conforme a anál ise dos sensores do ambiente em conjunto com a programação.

Sistema mult i -agente : É um s istema em que 2 ou mais agentes, interagem ou trabalham em conjunto de forma a desempenhar um determinado conjunto de tarefas.

AGENTES E SISTEMAS MULTI-AGENTE

Page 10: Prova de aptidão tecnológica

Um motor DC é :

Máquina de corrente contínua que poderá funcionar como motor ou

gerador.

É alimentado por uma corrente externa que em conjunto com 2

campos magnéticos gera um binário.

Um motor DC é constituído por:

Rotor (componente em movimento).

Estator (componente estática).

MOTORES DC

Page 11: Prova de aptidão tecnológica

MOTORES DC

Esquema da constitução

de um motor dc com brushes.

Page 12: Prova de aptidão tecnológica

O EMG30 é um motor de 12v , com encoder ótimo para

pequenos e médios robots.

Incluí um condensador redutor de ruído , nos enrolamentos do

motor.

EMG30

Page 13: Prova de aptidão tecnológica

Rated voltage

12v

Rated torque

1.5kg/cm

Rated speed

170rpm

Rated current

530mA

No load current

150mA

Stall Current

2.5A

Encoder counts per output shaft turn

360

EMG30

Page 14: Prova de aptidão tecnológica

EMG30

Wire

colourConnection

Purple

(1)Hall Sensor B Vout

Blue (2) Hall sensor A Vout

Green

(3)Hall sensor ground

Brown

(4)Hall sensor Vcc

Red (5) + Motor

Black

(6)- Motor

Page 15: Prova de aptidão tecnológica

O impulso PWM significa Pulse-width modulation.

O PWM é a técnica mais usada para controlar a velocidade de

um motor DC , porque permite induzir no motor energias

electricas diferentes.

Este pulso é modulado em ondas quadradas.

MODULAÇÃO PWM

Page 16: Prova de aptidão tecnológica

Entrada = 5V

Duty -Cycle 50% temos Saída 2,5V

Duty -Cycle 100% temos Saída 5,0 V

Duty -Cycle 37% temos Saída 1 ,85V

TCic lo = tempo total de 1 c ic lo . Chamamos de T.

Tl igado = tempo em al ta (h igh ) .

Tdesl igado = tempo em baixa ( low ) .

E = tensão de entrada.

CÁCULO DO PWM

Page 17: Prova de aptidão tecnológica

CÁLCULO DO PWM

Page 18: Prova de aptidão tecnológica

Para programação no Arduino:

analogWrite(valoranalógico).

AnalogWrite: Envia para a porta analógica de controlo do motor um valor analógico correspondente á velocidade pretendida.

Os valores analógicos variam de 0 a 255

Concluindo 0 corresponde a 0ve 255 ao nosso máximo. (neste caso 5v).

PROGRAMAÇÃO DO PWM

Page 19: Prova de aptidão tecnológica

A Ponte H tem como função permitir a alteração do sentido de

rotação dos motores.

O Ardumoto pussiu o driver L298 que é uma ponte H.

PONTE H

+V

V112v

D4DIODE

D3DIODED2

DIODE

D1DIODE

M1

Q4NMOS

Q3NMOS

Q2NMOS

Q1NMOS

S4

S3

S2

S1

+V

V112v

D4DIODE

D3DIODED2

DIODE

D1DIODE

M1

Page 20: Prova de aptidão tecnológica

Ao colocar uma certa

tensão na gate dos

MOSFETs desejados,

controlamos o sentido

com que a corrente

atravessa o circuito e

por consequência o

sentido de rotação do

motor.

Q1 Q2 Q3 Q4 Sentido

0 0 0 0 Parado

1 0 1 0 Parado

0 1 0 1 Parado

1 0 0 1 Frente

0 1 1 0 Trás

PONTE H

Page 21: Prova de aptidão tecnológica

Para programar o sentido de um motor é necessário usar o seguinte código (arduino):

digitalWrite(dir_a, LOW);

digitalWrite(dir_a, HIGH);

DigitalWrite = Entrada digital do arduino

Dir_a = Motor A

Low = Direcção Trás

High = Direcção Frente

PROGRAMAÇÃO PARA CONTROLO DO

SENTIDO DOS MOTORES

Page 22: Prova de aptidão tecnológica

Sinal analógico

Variação contínua

A função pode assumir

qualquer valor. (0 a 255).

Sinal digital

Variação discreta

A função assume um

conjunto de valores pré

definido (0 e 1).

Intervalo de sinalização.

DIFRENÇAS ENTRE SINAL ANALÓGICO E

SINAL DIGITAL

Page 23: Prova de aptidão tecnológica

Ardumoto : PCB de controlo para 2 motores DC.

O Ardumoto é baseado na ponte H l298,tambem incluí dois

leds , um laranja e um azul que indicam a direcção em que o

motor está em rotação.

Os motores são ligados ao Porto A e Porto B que

correspondem respectivamente aos impulsos PWMA e PWMB.

(PWM = Pulse-width-modulation).

ARDUMOTO

Page 24: Prova de aptidão tecnológica

O funcionamento de um sonar é de fácil compreensão.

O nosso emissor emite uma onda ultrasonica , que ao embater num objecto, vai se reflectir.

Ao se reflectir um receptor vai registar o tempo que demorou a chegar a onda .

FUNCIONAMENTO DE UM SONAR

Page 25: Prova de aptidão tecnológica

SRF05

Page 26: Prova de aptidão tecnológica

O SRF05 é um sonar evoluido do SRF04, em que o SRF04 usa

apenas um pino para trigger e echo.

O SRF05 usa dois pinos independentes para enviar e receber

informação (trigger e echo independentes).

O SRF05 funciona com uma tensão de 5v e tem apenas 5

pinos.

SRF05

Page 27: Prova de aptidão tecnológica

O cálculo da distância apartir de um sonar é feito pelos

seguintes códigos (arduino):

distance = pulseIn(echo, HIGH);

distance = distance/58;

Estas linhas de código fazem com que o valor da distância

seja igual ao pulso do echo , e depois divide-se essa mesma

distância por 58 para obter o valor em centímetros da

distância.

PROGRAMAÇÃO PARA CÁLCULO DA

DISTÂNCIA COM UM SONAR

Page 28: Prova de aptidão tecnológica

Na função de setup vamos defenir a velocidade de transmissão:

Serial.begin(9600);

Em seguida vamos ter de transferir o valor para a consola com a função:

Serial.println(distance);

Delay_miliseconds(10);

A função delay serve para criar um intrevalo de 10 mil isegundos na transmição de valores.

Se quisermos tambem fazer uma referência podemos tambem imprimir na consola(colocar este codigo antes do print do valor da distãncia):

Serial.println(“Distância --->”);

PROGRAMAÇÃO PARA OBTER O VALOR

DA DISTÂNCIA NA CONSOLA

Page 29: Prova de aptidão tecnológica

Um encoder é um dispositivo electromecânico que converte

uma posição angular num código analógico ou digital e um

encoder dá-nos:

O sentido da rotação do motor.

A distância percorrida pelo motor.

ENCODERS

Page 30: Prova de aptidão tecnológica

Este código serve para definir os pinos do encoder como uma

interrupção interna no flanco ascendente:

pinMode (encoder,INPUT);

attachInterrupt(2, CountA, RISING);

pinMode = define se o encoder é um input ou output.

attachInterrupt = define a interrupção interna no pino 2 que

vai a função de contagem , e define o flanco.

PROGRAMAÇÃO PARA O ENCODER

Page 31: Prova de aptidão tecnológica

O Axe121 é um sensor de pista da picaxe , muito simples de

apenas 3 sensores de infra-vermelhos.

Funciona por apenas 5 ligações (V+, GND e 3 ligações

correspondentes ao sensor central , esquerda e direita).

SENSOR DE PISTA

Page 32: Prova de aptidão tecnológica

Se pretendemos ter uma leitura dos sensores de

infravermelhos temos de utilizar o seguinte código(arduino):

pis_Ls = digitalRead(pis_L);

pis_Cs = digitalRead(pis_C);

pis_Rs = digitalRead(pis_R);

digitalRead = Faz a leitura do sinal digital dos infravermelhos.

pis_x = Variável onde se vai guardar o valor obtido na porta

digital (Ls(esquerda),Cs(centro),Rs(Direita).

PROGRAMAÇÃO PARA O SENSOR DE

PISTA AXE 121

Page 33: Prova de aptidão tecnológica

S05NF : Servo de médio porte .

Rotação : 180°

Torque : 3.2kg/cm (19.6oz/in) (6V) ou 2.8kg/cm (19.6oz/in) (4.8V)

Voltagem : 4.8v a 6v

Dimensões : 28.8 x 13.8 x 30.2mm

S05NF

Page 34: Prova de aptidão tecnológica

Robotic claw : Garra robótica da sparks fun , com uma

abertura de 6 cm máximo. Como a lata da prova tem 6,5 cm

de diâmetro foram feitas alterações ao sistema mecânico da

garra . Esta garra usa um servo S05NF .

ROBOTIC CLAW SPARKSFUN

Page 35: Prova de aptidão tecnológica

O Atmega1280 é a PCB de controlo arduino , que utiliza o

microprocessador ATmega1280.

O Arduino é uma tecnologia Italiana , que é de fácil acesso ao

público e de facíl programação.

(http://arduino.cc/en/Main/ArduinoBoardMega)

ARDUINO ATMEGA1280

Page 36: Prova de aptidão tecnológica

Arduino ATmega1280 M i c r o c o n t r o l l e r

ATmega12 8 0

O p e r a t i n g V o l t a g e 5V

I n p u t V o l t a g e ( r e c o m m e n d e d ) 7-12V

I n p u t V o l t a g e ( l i m i t s ) 6-20V

D i g i t a l I / O P i n s 54 (of which 15 prov ide PWM output )

A n a l o g I n p u t P i n s 16

D C C u r r e n t p e r I / O P i n 40 mA

D C C u r r e n t f o r 3 . 3 V P i n 50 mA

F l a s h M e m o r y 128 KB of which 4 KB used by boot loade r

S R A M 8 KB

E E P R O M 4 KB

C l o c k S p e e d 16 MHz

Arduino UNO M i c r o c o n t r o l l e r

ATmega32 8

O p e r a t i n g V o l t a g e 5V

I n p u t V o l t a g e ( r e c o m m e n d e d ) 7-12V

I n p u t V o l t a g e ( l i m i t s ) 6-20V

D i g i t a l I / O P i n s 14 (of which 6 prov ide PWM output )

A n a l o g I n p u t P i n s 6

D C C u r r e n t p e r I / O P i n 40 mA

D C C u r r e n t f o r 3 . 3 V P i n 50 mA

F l a s h M e m o r y 32 KB (ATmega3 2 8) of which 0 .5 KB used by boot load er

S R A M 2 KB (ATmega3 2 8)

E E P R O M 1 KB (ATmega3 2 8)

C l o c k S p e e d 16 MHz

COMPARAÇÃO ENTRE ATMEGA1280 E

UNO

Page 37: Prova de aptidão tecnológica

Praticamente a fase inicial do projecto , a fase em que as

ideias do aspecto tinham se ser transferidas para um

desenho. (No caso utilizando o INVENTOR).

DESENHO 3D USANDO INVENTOR

Page 38: Prova de aptidão tecnológica

Desenhos de alta qualidade que permitem o envio das peças

para fabrico.

DESENHO 3D USANDO INVENTOR

Page 39: Prova de aptidão tecnológica

FLUXOGRAMA DO PROGRAMA USADO NO

ROBOT

Page 40: Prova de aptidão tecnológica

Um robot não é um sistema fácil de construir.

Os custos de um robot são algo elevados , devido á

complexidade das peças utilizadas na sua construção.

O numero de testes a serem feitos é grande.

O numero de complicações que possam surgir na sua

construção é grande , porque o hardware nem sempre

funciona como pretendemos.

A utilização de encoders foi essencial.

CONCLUSÕES

Page 41: Prova de aptidão tecnológica

Elaboração de uma pcb de controlo de motores original.

Elaboração de uma pcb para um sensor de pista mais potente.

Esquema 3D de uma caixa para colocar as pcbs de forma segura e facil itar a remoção das mesmas.

Melhorar o chassis

Adicionar um sensor de cor para as provas com vitimas de cor no solo.

Desenvolver um novo sistema para a garra.

TRABALHO FUTURO