SlideShare uma empresa Scribd logo
1 de 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
SUMÁRIO



   Motivação.
   Requisitos.
   Conceitos Teóricos.
   Arquitectura do sistema.
   Implementação.
   Conclusões.
   Trabalho Futuro.
INTRODUÇÃO


 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.
REQUISITOS


   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.
PROVA DE ROBÓTICA NACIONAL
PROVADE ROBÓTICA NACIONAL - GARRA
PROVA DE ROBÓTICA NACIONAL - FOTOS
DEFINIÇÃO DE ROBOT


 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.
AGENTES E SISTEMAS MULTI-AGENTE


 A g e n te : Um s i s te ma c o m put a cional ,
  s i t ua do n um da do a m bi e nte , te m
  pe rc e pç ã o do a m bi e nte a t rav é s de
  s e n sores e te m a c t ua do re s q ue v ã o
  de s e mpen har um a a c ç ã o c o n fo rm e
  a a n á l ise do s s e n s ores do a m bi e n te
  e m c o n j un to c o m a pro g ra m a ç ã o .




 Si s te ma m ul t i - a gente : É um
  s i ste ma e m q ue 2 o u m a i s a g e n te s,
  i n te ra gem o u t ra ba l h a m e m
  c o n j unto de fo rm a a de s e m pen har
  um dete rm i n ado c o n j un to de
  ta re fa s .
MOTORES DC

 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

 Esquema da constitução
de um motor dc com brushes.
EMG30

 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

 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


   Wire
           Connection
 colour
 Purple
           Hall Sensor B Vout
     (1)
Blue (2)   Hall sensor A Vout
  Green
           Hall sensor ground
     (3)
 Brown
           Hall sensor Vcc
     (4)
Red (5)    + Motor
  Black
           - Motor
     (6)
MODULAÇÃO PWM

 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.
CÁCULO DO PWM

 E n t ra da = 5 V

 D ut y - Cyc l e 5 0 % te m o s Sa í da 2 , 5 V

 D ut y - Cyc l e 10 0 % te m o s Sa í da 5 , 0 V

 D ut y - Cyc l e 37 % te m o s Sa í da 1 , 8 5 V

 TCi c lo = te m po tot a l de 1 c i c l o .
  Ch a m amos de T.

 Tl i ga do = te m po e m a l t a ( h i g h ).

 Tde s liga do = te m po e m ba i xa ( l ow ) .

 E = te n s ã o de e n t ra da .
CÁLCULO DO PWM


PROGRAMAÇÃO DO PWM

          Para programação no Arduino:

            analogWrite(valoranalógico).

          AnalogWrite: Envia para a
           por ta 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 0v
           e 255 ao nosso máximo.
           (neste caso 5v).
PONTE H

 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.

                    V1                                   V1
                   12v                                  12v
                    +V                                   +V


     Q1                           Q3
    NMOS                         NMOS
                            D4             S1                    D4   S3
             D1          DIODE                    D1          DIODE
           DIODE                                DIODE
                   M1                                   M1


    Q2                            Q4
   NMOS                 D3       NMOS                        D3
             D2      DIODE                        D2      DIODE
           DIODE                           S2   DIODE                 S4
PONTE H


 Ao colocar uma certa
  tensão na gate dos       Q1   Q2   Q3   Q4   Sentido
  MOSFETs desejados,       0    0    0    0    Parado
  controlamos o sentido    1    0    1    0    Parado
  com que a corrente       0    1    0    1    Parado
  atravessa o circuito e   1    0    0    1    Frente

  por consequência o       0    1    1    0     Trás

  sentido de rotação do
  motor.
PROGRAMAÇÃO PARA CONTROLO DO
       SENTIDO DOS MOTORES

 Para programar o         DigitalWrite = Entrada
  sentido de um motor é     digital do arduino
  necessário usar o
  seguinte código
  (arduino):
                           Dir_a = Motor A

 digitalWrite(dir_a,
  LOW);                    Low = Direcção Trás
 digitalWrite(dir_a,
  HIGH);
                           High = Direcção Frente
DIFRENÇAS ENTRE SINAL ANALÓGICO E
          SINAL DIGITAL

     Sinal analógico                    Sinal digital
 Variação contínua               Variação discreta
   A função pode assumir           A função assume um
    qualquer valor. (0 a 255).       conjunto de valores pré
                                     definido (0 e 1).
                                    Intervalo de sinalização.
ARDUMOTO

 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 a os impulsos PWMA e PWMB.
  (PWM = Pulse-width-modulation).
FUNCIONAMENTO DE UM SONAR


 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 .
SRF05
SRF05


 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.
PROGRAMAÇÃO PARA CÁLCULO DA
       DISTÂNCIA COM UM SONAR

 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 OBTER O VALOR
      DA DISTÂNCIA NA CONSOLA

 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 ser ve para criar um intrevalo de 10 milisegundos 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--->”);
ENCODERS


 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.
PROGRAMAÇÃO PARA O ENCODER


 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.
SENSOR DE PISTA

 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).
PROGRAMAÇÃO PARA O SENSOR DE
          PISTA AXE 121

 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).
S05NF

 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
ROBOTIC CLAW SPARKSFUN

 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 .
ARDUINO ATMEGA1280

 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 )
COMPARAÇÃO ENTRE ATMEGA1280 E
                UNO

    Arduino ATmega1280                                               Arduino UNO
   Microcontroller                                   Microcontroller
        ATmega1280                                        ATmega328
   Operating Voltage                                 Operating Voltage
        5V                                                5V
   Input Voltage (recommended)                       Input Voltage (recommended)
        7-12V                                             7-12V
   Input Voltage (limits)                            Input Voltage (limits)
        6-20V                                             6-20V
   Digital I/O Pins                                  Digital I/O Pins
        54 (of which 15 provide PWM output)               14 (of which 6 provide PWM output)
   Analog Input Pins                                 Analog Input Pins
        16                                                6
   DC Current per I/O Pin                            DC Current per I/O Pin
        40 mA                                             40 mA
   DC Current for 3.3V Pin                           DC Current for 3.3V Pin
        50 mA                                             50 mA
   Flash Memory                                      Flash Memory
        128 KB of which 4 KB used by bootloader           32 KB (ATmega328) of which 0.5 KB used by bootloader
   SRAM                                              SRAM
        8 KB                                              2 KB (ATmega328)
   EEPROM                                            EEPROM
        4 KB                                              1 KB (ATmega328)
   Clock Speed                                       Clock Speed
        16 MHz                                            16 MHz
DESENHO 3D USANDO INVENTOR

 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

 Desenhos de alta qualidade que permitem o envio das peças
  para fabrico.
FLUXOGRAMA DO PROGRAMA USADO NO
             ROBOT
CONCLUSÕES

 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.
TRABALHO FUTURO


 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 facilitar 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.

Mais conteúdo relacionado

Mais procurados

Introdução ao Arduino e robótica
Introdução ao Arduino e robóticaIntrodução ao Arduino e robótica
Introdução ao Arduino e robóticaMarcelo Quinta
 
Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestraVitor Ferreira
 
Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602Ana Carneirinho
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerGlobalcode
 
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraMinicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraPotiLivre Sobrenome
 
Sestinfo 2013 - Arduino
Sestinfo 2013 - ArduinoSestinfo 2013 - Arduino
Sestinfo 2013 - ArduinoRafael Sakurai
 
Arduino - Hardware Livre e Robótica
Arduino -  Hardware Livre e RobóticaArduino -  Hardware Livre e Robótica
Arduino - Hardware Livre e RobóticaMarinho Brandão
 
Mini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com ArduinoMini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com ArduinoFelipe Martins
 
Introdução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantesIntrodução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantesRogerio Alencar Filho
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoSamir Siqueira
 
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...PotiLivre Sobrenome
 
Arduino - Dicas & Truques
Arduino - Dicas & TruquesArduino - Dicas & Truques
Arduino - Dicas & TruquesÁlvaro Justen
 
Palestra arduino
Palestra arduinoPalestra arduino
Palestra arduinoWalter Coan
 
Introdução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoIntrodução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoFelipe Martins
 
Programação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoProgramação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoFátima Bernardes
 

Mais procurados (20)

Introdução ao Arduino e robótica
Introdução ao Arduino e robóticaIntrodução ao Arduino e robótica
Introdução ao Arduino e robótica
 
Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestra
 
Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602
 
Robótica com Arduino
Robótica com ArduinoRobótica com Arduino
Robótica com Arduino
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius Senger
 
Arduino Hack Day Corumbá
Arduino Hack Day CorumbáArduino Hack Day Corumbá
Arduino Hack Day Corumbá
 
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraMinicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
 
Curso de arduino
Curso de arduinoCurso de arduino
Curso de arduino
 
Sestinfo 2013 - Arduino
Sestinfo 2013 - ArduinoSestinfo 2013 - Arduino
Sestinfo 2013 - Arduino
 
Arduino - Hardware Livre e Robótica
Arduino -  Hardware Livre e RobóticaArduino -  Hardware Livre e Robótica
Arduino - Hardware Livre e Robótica
 
Mini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com ArduinoMini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com Arduino
 
Introdução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantesIntrodução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantes
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduino
 
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
 
1 aula do curso de automação - Arduino
1 aula do curso de automação - Arduino1 aula do curso de automação - Arduino
1 aula do curso de automação - Arduino
 
Arduino - Dicas & Truques
Arduino - Dicas & TruquesArduino - Dicas & Truques
Arduino - Dicas & Truques
 
Palestra arduino
Palestra arduinoPalestra arduino
Palestra arduino
 
Arduino vers o_cores
Arduino vers o_coresArduino vers o_cores
Arduino vers o_cores
 
Introdução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoIntrodução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-curso
 
Programação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoProgramação em-arduino-módulo-básico
Programação em-arduino-módulo-básico
 

Destaque

Robots colaborativos
Robots colaborativosRobots colaborativos
Robots colaborativosLuiz Algarra
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/Rodrigo Vieira
 
Trabalho De Robotica Final1
Trabalho De Robotica Final1Trabalho De Robotica Final1
Trabalho De Robotica Final1HELDERTRBALHO
 
Planificacion Movimiento Brazo Robot
Planificacion Movimiento Brazo RobotPlanificacion Movimiento Brazo Robot
Planificacion Movimiento Brazo Robotagustisancho
 
Biografia Ellen Von Unwerth
Biografia Ellen Von UnwerthBiografia Ellen Von Unwerth
Biografia Ellen Von UnwerthJord Hare
 
1 fundamentos y conceptos de la robotica
1 fundamentos y conceptos de la robotica1 fundamentos y conceptos de la robotica
1 fundamentos y conceptos de la roboticaFrancisco Limon Lopez
 
Yo, Robot
Yo, RobotYo, Robot
Yo, Robotuburey
 
Estructuras del robot
Estructuras del robotEstructuras del robot
Estructuras del robotHFIC
 
Tissus, rubans et fines dentelles
Tissus, rubans et fines dentellesTissus, rubans et fines dentelles
Tissus, rubans et fines dentellesUngava Louise
 
Rostaing Industrie
Rostaing IndustrieRostaing Industrie
Rostaing IndustrieRostaing
 
7 regles d'or pour réussir et rentabiliser un projet CRM
7 regles d'or pour réussir et rentabiliser un projet CRM7 regles d'or pour réussir et rentabiliser un projet CRM
7 regles d'or pour réussir et rentabiliser un projet CRMSage france
 

Destaque (20)

Robots colaborativos
Robots colaborativosRobots colaborativos
Robots colaborativos
 
Palu8
Palu8Palu8
Palu8
 
Robot XT7 Sibrape
Robot XT7 SibrapeRobot XT7 Sibrape
Robot XT7 Sibrape
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
Medicine`s robot
Medicine`s robotMedicine`s robot
Medicine`s robot
 
Robótica
RobóticaRobótica
Robótica
 
Robotica/ por ELiel Antunes
Robotica/ por ELiel AntunesRobotica/ por ELiel Antunes
Robotica/ por ELiel Antunes
 
Trabalho De Robotica Final1
Trabalho De Robotica Final1Trabalho De Robotica Final1
Trabalho De Robotica Final1
 
Planificacion Movimiento Brazo Robot
Planificacion Movimiento Brazo RobotPlanificacion Movimiento Brazo Robot
Planificacion Movimiento Brazo Robot
 
Biografia Ellen Von Unwerth
Biografia Ellen Von UnwerthBiografia Ellen Von Unwerth
Biografia Ellen Von Unwerth
 
Robot guardiao#1
Robot guardiao#1Robot guardiao#1
Robot guardiao#1
 
Robot seguidor de linea
Robot seguidor de lineaRobot seguidor de linea
Robot seguidor de linea
 
Estudio de Robot KUKA KR 6
Estudio de Robot KUKA KR 6Estudio de Robot KUKA KR 6
Estudio de Robot KUKA KR 6
 
RobóTica
RobóTicaRobóTica
RobóTica
 
1 fundamentos y conceptos de la robotica
1 fundamentos y conceptos de la robotica1 fundamentos y conceptos de la robotica
1 fundamentos y conceptos de la robotica
 
Yo, Robot
Yo, RobotYo, Robot
Yo, Robot
 
Estructuras del robot
Estructuras del robotEstructuras del robot
Estructuras del robot
 
Tissus, rubans et fines dentelles
Tissus, rubans et fines dentellesTissus, rubans et fines dentelles
Tissus, rubans et fines dentelles
 
Rostaing Industrie
Rostaing IndustrieRostaing Industrie
Rostaing Industrie
 
7 regles d'or pour réussir et rentabiliser un projet CRM
7 regles d'or pour réussir et rentabiliser un projet CRM7 regles d'or pour réussir et rentabiliser un projet CRM
7 regles d'or pour réussir et rentabiliser un projet CRM
 

Semelhante a Projeto de robô de busca e salvamento

PMR3100_2021_Aula05_Sensores_e_Atuadores.pdf
PMR3100_2021_Aula05_Sensores_e_Atuadores.pdfPMR3100_2021_Aula05_Sensores_e_Atuadores.pdf
PMR3100_2021_Aula05_Sensores_e_Atuadores.pdfEliakimArajo2
 
Slides minicurso Arduino - Controle de Motores DC
Slides minicurso Arduino - Controle de Motores DC Slides minicurso Arduino - Controle de Motores DC
Slides minicurso Arduino - Controle de Motores DC Gustavo Yoshio Maruyama
 
Microcontroladores: El microcontrolador 8051
Microcontroladores: El microcontrolador 8051 Microcontroladores: El microcontrolador 8051
Microcontroladores: El microcontrolador 8051 SANTIAGO PABLO ALBERTO
 
Mini Curso Sistemas Embarcados
Mini Curso Sistemas EmbarcadosMini Curso Sistemas Embarcados
Mini Curso Sistemas EmbarcadosSuzana Viana Mota
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoArticacc, Lda
 
Workshop iniciação à robótica - Gyro
Workshop iniciação à robótica - GyroWorkshop iniciação à robótica - Gyro
Workshop iniciação à robótica - GyroArticacc, Lda
 
Controlo Industrial - ADC
Controlo Industrial - ADCControlo Industrial - ADC
Controlo Industrial - ADCRicardo Antunes
 
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Cláudio Alves
 
Microcontroladores pic ling c unicamp
Microcontroladores pic ling c unicampMicrocontroladores pic ling c unicamp
Microcontroladores pic ling c unicampFrancisco Fambrini
 
Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015Gustavo Yoshio Maruyama
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino Edgley Xavier
 
Arduino Básico | Bebop - Computação Criativa
Arduino Básico | Bebop - Computação CriativaArduino Básico | Bebop - Computação Criativa
Arduino Básico | Bebop - Computação Criativabebopcc
 
Mini curso arduino básico pet v2
Mini curso arduino   básico pet v2Mini curso arduino   básico pet v2
Mini curso arduino básico pet v2Felipe Meganha
 
Oficina de Arduino Beta - Matehackers.org
Oficina de Arduino Beta - Matehackers.orgOficina de Arduino Beta - Matehackers.org
Oficina de Arduino Beta - Matehackers.orgGuilherme Kruger Araujo
 

Semelhante a Projeto de robô de busca e salvamento (20)

PMR3100_2021_Aula05_Sensores_e_Atuadores.pdf
PMR3100_2021_Aula05_Sensores_e_Atuadores.pdfPMR3100_2021_Aula05_Sensores_e_Atuadores.pdf
PMR3100_2021_Aula05_Sensores_e_Atuadores.pdf
 
Slides minicurso Arduino - Controle de Motores DC
Slides minicurso Arduino - Controle de Motores DC Slides minicurso Arduino - Controle de Motores DC
Slides minicurso Arduino - Controle de Motores DC
 
Microcontroladores: El microcontrolador 8051
Microcontroladores: El microcontrolador 8051 Microcontroladores: El microcontrolador 8051
Microcontroladores: El microcontrolador 8051
 
Arduino iad
Arduino iadArduino iad
Arduino iad
 
Mini Curso Sistemas Embarcados
Mini Curso Sistemas EmbarcadosMini Curso Sistemas Embarcados
Mini Curso Sistemas Embarcados
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - Farrusco
 
Workshop iniciação à robótica - Gyro
Workshop iniciação à robótica - GyroWorkshop iniciação à robótica - Gyro
Workshop iniciação à robótica - Gyro
 
Controlo Industrial - ADC
Controlo Industrial - ADCControlo Industrial - ADC
Controlo Industrial - ADC
 
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
 
Microcontroladores pic ling c unicamp
Microcontroladores pic ling c unicampMicrocontroladores pic ling c unicamp
Microcontroladores pic ling c unicamp
 
3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino
 
Mini curso Arduíno
Mini curso ArduínoMini curso Arduíno
Mini curso Arduíno
 
Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino
 
Arduino
ArduinoArduino
Arduino
 
Workshop arduino EAD
Workshop arduino EADWorkshop arduino EAD
Workshop arduino EAD
 
Arduino Básico | Bebop - Computação Criativa
Arduino Básico | Bebop - Computação CriativaArduino Básico | Bebop - Computação Criativa
Arduino Básico | Bebop - Computação Criativa
 
Mini curso arduino básico pet v2
Mini curso arduino   básico pet v2Mini curso arduino   básico pet v2
Mini curso arduino básico pet v2
 
Oficina de Arduino Beta - Matehackers.org
Oficina de Arduino Beta - Matehackers.orgOficina de Arduino Beta - Matehackers.org
Oficina de Arduino Beta - Matehackers.org
 
Arduino
ArduinoArduino
Arduino
 

Projeto de robô de busca e salvamento

  • 1. PROVA DE APTIDÃO TECNOLÓGICA – PROJECTO ROBOT DE BUSCA E SALVAMENTO Trabalho realizado por: Ricardo Antunes PAT – Prova de Aptidão Tecnológica
  • 2. SUMÁRIO  Motivação.  Requisitos.  Conceitos Teóricos.  Arquitectura do sistema.  Implementação.  Conclusões.  Trabalho Futuro.
  • 3. INTRODUÇÃO  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.
  • 4. REQUISITOS  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.
  • 7. PROVA DE ROBÓTICA NACIONAL - FOTOS
  • 8. DEFINIÇÃO DE ROBOT  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.
  • 9. AGENTES E SISTEMAS MULTI-AGENTE  A g e n te : Um s i s te ma c o m put a cional , s i t ua do n um da do a m bi e nte , te m pe rc e pç ã o do a m bi e nte a t rav é s de s e n sores e te m a c t ua do re s q ue v ã o de s e mpen har um a a c ç ã o c o n fo rm e a a n á l ise do s s e n s ores do a m bi e n te e m c o n j un to c o m a pro g ra m a ç ã o .  Si s te ma m ul t i - a gente : É um s i ste ma e m q ue 2 o u m a i s a g e n te s, i n te ra gem o u t ra ba l h a m e m c o n j unto de fo rm a a de s e m pen har um dete rm i n ado c o n j un to de ta re fa s .
  • 10. MOTORES DC  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).
  • 11. MOTORES DC  Esquema da constitução de um motor dc com brushes.
  • 12. EMG30  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.
  • 13. EMG30  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
  • 14. EMG30 Wire Connection colour Purple Hall Sensor B Vout (1) Blue (2) Hall sensor A Vout Green Hall sensor ground (3) Brown Hall sensor Vcc (4) Red (5) + Motor Black - Motor (6)
  • 15. MODULAÇÃO PWM  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.
  • 16. CÁCULO DO PWM  E n t ra da = 5 V  D ut y - Cyc l e 5 0 % te m o s Sa í da 2 , 5 V  D ut y - Cyc l e 10 0 % te m o s Sa í da 5 , 0 V  D ut y - Cyc l e 37 % te m o s Sa í da 1 , 8 5 V  TCi c lo = te m po tot a l de 1 c i c l o . Ch a m amos de T.  Tl i ga do = te m po e m a l t a ( h i g h ).  Tde s liga do = te m po e m ba i xa ( l ow ) .  E = te n s ã o de e n t ra da .
  • 18. PROGRAMAÇÃO DO PWM  Para programação no Arduino:  analogWrite(valoranalógico).  AnalogWrite: Envia para a por ta 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 0v e 255 ao nosso máximo. (neste caso 5v).
  • 19. PONTE H  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. V1 V1 12v 12v +V +V Q1 Q3 NMOS NMOS D4 S1 D4 S3 D1 DIODE D1 DIODE DIODE DIODE M1 M1 Q2 Q4 NMOS D3 NMOS D3 D2 DIODE D2 DIODE DIODE S2 DIODE S4
  • 20. PONTE H  Ao colocar uma certa tensão na gate dos Q1 Q2 Q3 Q4 Sentido MOSFETs desejados, 0 0 0 0 Parado controlamos o sentido 1 0 1 0 Parado com que a corrente 0 1 0 1 Parado atravessa o circuito e 1 0 0 1 Frente por consequência o 0 1 1 0 Trás sentido de rotação do motor.
  • 21. PROGRAMAÇÃO PARA CONTROLO DO SENTIDO DOS MOTORES  Para programar o  DigitalWrite = Entrada sentido de um motor é digital do arduino necessário usar o seguinte código (arduino):  Dir_a = Motor A  digitalWrite(dir_a, LOW);  Low = Direcção Trás  digitalWrite(dir_a, HIGH);  High = Direcção Frente
  • 22. DIFRENÇAS ENTRE SINAL ANALÓGICO E SINAL DIGITAL Sinal analógico Sinal digital  Variação contínua  Variação discreta  A função pode assumir  A função assume um qualquer valor. (0 a 255). conjunto de valores pré definido (0 e 1).  Intervalo de sinalização.
  • 23. ARDUMOTO  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 a os impulsos PWMA e PWMB. (PWM = Pulse-width-modulation).
  • 24. FUNCIONAMENTO DE UM SONAR  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 .
  • 25. SRF05
  • 26. SRF05  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.
  • 27. PROGRAMAÇÃO PARA CÁLCULO DA DISTÂNCIA COM UM SONAR  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.
  • 28. PROGRAMAÇÃO PARA OBTER O VALOR DA DISTÂNCIA NA CONSOLA  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 ser ve para criar um intrevalo de 10 milisegundos 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--->”);
  • 29. ENCODERS  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.
  • 30. PROGRAMAÇÃO PARA O ENCODER  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.
  • 31. SENSOR DE PISTA  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).
  • 32. PROGRAMAÇÃO PARA O SENSOR DE PISTA AXE 121  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).
  • 33. S05NF  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
  • 34. ROBOTIC CLAW SPARKSFUN  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 .
  • 35. ARDUINO ATMEGA1280  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 )
  • 36. COMPARAÇÃO ENTRE ATMEGA1280 E UNO Arduino ATmega1280 Arduino UNO  Microcontroller  Microcontroller  ATmega1280  ATmega328  Operating Voltage  Operating Voltage  5V  5V  Input Voltage (recommended)  Input Voltage (recommended)  7-12V  7-12V  Input Voltage (limits)  Input Voltage (limits)  6-20V  6-20V  Digital I/O Pins  Digital I/O Pins  54 (of which 15 provide PWM output)  14 (of which 6 provide PWM output)  Analog Input Pins  Analog Input Pins  16  6  DC Current per I/O Pin  DC Current per I/O Pin  40 mA  40 mA  DC Current for 3.3V Pin  DC Current for 3.3V Pin  50 mA  50 mA  Flash Memory  Flash Memory  128 KB of which 4 KB used by bootloader  32 KB (ATmega328) of which 0.5 KB used by bootloader  SRAM  SRAM  8 KB  2 KB (ATmega328)  EEPROM  EEPROM  4 KB  1 KB (ATmega328)  Clock Speed  Clock Speed  16 MHz  16 MHz
  • 37. DESENHO 3D USANDO INVENTOR  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).
  • 38. DESENHO 3D USANDO INVENTOR  Desenhos de alta qualidade que permitem o envio das peças para fabrico.
  • 39. FLUXOGRAMA DO PROGRAMA USADO NO ROBOT
  • 40. CONCLUSÕES  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.
  • 41. TRABALHO FUTURO  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 facilitar 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.