Projeto Braço Articulado



Documentos relacionados
Introdução à Plataforma ARDUINO

Programação Básica em Arduino Aula 7

Capítulo 4 - Medição de rotação, torque e potência

INTEGRAÇÃO JAVA COM ARDUINO

Arduino Lab 02 Sensor de luminosidade e display de LCD 16 2

Motores. Motores Como funcionam. Motores Como funcionam. Motores Como funcionam. Motores Tipos 03/23/2016

SISTEMA DE TREINAMENTO EM SERVO MECANISMO MODELO: ED-4400B

ELETRICIDADE INDUSTRIAL. Professor: Robson Vilela

Sistemas Digitais II. Interface com o mundo analógico. Prof. Marlon Henrique Teixeira Abril/2014

Experiência 01: ACIONAMENTO DE MOTORES COM O INVERSOR DE FREQUÊNCIA. Objetivo Geral: - Acionar um motor elétrico através de um inversor de frequência.

Scaling Up Inclusion: Robotics, a STEM focused Project. Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel

Protótipo de um túnel de vento com Controle de Vazão e Temperatura em ambiente LabVIEW

A c t i o n B u s i n e s s w w w. a c t i o n b u s i n e s s. c o m. b r Página 1

Introdução do Arduino para aquisição de dados e controle de instrumentos

SOLUÇÃO DE MOVIMENTO PARA VÁLVULAS ELÉTRICAS DE EXPANSÃO. Motores de passo oferecem melhor desempenho para válvulas elétricas de expansão

Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega

Boletim Informativo 066/2011 de 21/02/2013 REV 03

Especificação Técnica do Leitor Biométrico Griaule

BARRAMENTO. Caminho de Dados

Sistemas Embarcados:

Arquitetura do Microcontrolador Atmega 328

Comércio e Manutenção de Produtos Eletrônicos. Mapeamento de memória e conexões do Controlador CP-WS13/8DI8DO2AI2AO/USB/OEM. Versão 1.

Circuito integrado Temporizador 555. Circuito Integrado Temporizador (Timer) 555

Turbina eólica: conceitos

Laboratório de Robótica XT95

A placa descrita pode receber alimentação pela conexão USB ou por uma fonte de alimentação externa.

Controle de um sistema Bola- Barra com realimentação através de imagem

INFORMATIVO DE PRODUTO

PLOTTER CNC PARA CONFECÇÃO DE PLACAS DE CIRCUITO IMPRESSO RESUMO

Bancada de Medidas Elétricas - XE 201 -

Open Hardware & Arduino

Conjuntos mecânicos II

Figura 1 Figura 2 Figura 3

Direto. ao Ponto. Comunicação Inverter Protocol entre PLC FX e Inversor Série 700 N o. DAP-PLCFX-05. Rev. A

Um Módulo de Desenvolvimento para o ARDUINO

Circuito Elétrico - I

CRONÔMETRO DIGITAL PROJETO

Introdução aos microcontroladores Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial

Introdução à robótica

PAINEL DE ALARME MONITORÁVEL ACTIVE CENTER

Emax 2 O Disjuntor Aberto Inteligente de Baixa Tensão Acessório: Bobina de abertura e fechamento YO / YC / YO2 / YC2

ARDUINO. Profº. Engº. Robson Dias Ramalho

UNIDADE DE FECHAMENTO

Aparelhos de Laboratório de Electrónica

Sem data Sheet online. DWS Pallet SISTEMAS DE RASTREAMENTO

AULA 6 - INTRODUÇÃO AO ARDUINO Revisão de Eletrônica Digital e introdução aos Sistemas Computacionais.

ATUADORES PNEUMÁTICOS

FLIP FLOPS. EXPERIMENTS MANUAL Manual de Experimentos Manual de Experimentos M-1113A

Este manual contém instruções p/ instalação dos adaptadores. Bluetooth X Serial RS232. F8115e (DTE) F8895e (DCE)

EMENTA. Curso de Projetos Microcontrolados utilizando Linguagem C.

SISTEMA DE TREINAMENTO EM GERADORES E MOTORES MODELO: ED-5100

Interface com Displays de 7 Segmentos. Interface com Displays

LISTA COMPLEMENTAR DE DAC E ADC DO LIVRO DO TOCCI

Índice. 1. Descrição Geral do Módulo. Módulo Processador CPU209-R1 V /07/05

INTERFACE PARALELA. Área: Eletrônica Nível de conhecimento necessário: básico. Autor:

Concurso Público para Cargos Técnico-Administrativos em Educação UNIFEI 13/06/2010

Robótica com Arduino Professor: Paulo Marcos Trentin

CÂMARA DE VÍDEO USB 2.0 SEM FIOS

Arduino Básico: As versatilidades desta plataforma na prática

Curso de Sistemas de Informação Campus Guaíba Cursos de Informática Projeto de Inclusão Digital APOSTILA APOSTILA CONCEITOS BÁSICOS DE INFORMÁTICA

INSTITUTO DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SERGIPE COORDENADORIA DE ELETRÔNICA RELÓGIO DIGITAL -MONTAGEM COM CONTADOR COMERCIAL

Data Sheet FBEE Kit V05

O Sistema de Computação

Arduino. Aula 3 motores

SE E SEL CARACTERÍSTICAS

Pequenos Projetos com Arduino

Funções para limitação de velocidade do veículo

MANUAL DE OPERAÇÃO MANUTENÇÃO DOSADOR MICRO-ESFERA E MOTOR DE PASSO


UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA UNIDADE ACADEMICA DE ENGENHARIA ELÉTRICA ELETRÔNICA

Introdução. Hardware (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.

MATÉRIA TÉCNICA APTTA BRASIL

Cerne Tecnologia e Treinamento. suporte@cerne-tec.com.br

V = R. I R = L / A. CLASSIFICACAO MATERIAL [.m] Metais

PROJETO Speed Control

Sumário. Capítulo 1 Introdução Capítulo 2 Componentes elétricos básicos Capítulo 3 Noções de eletricidade em corrente alternada...

Circuitos para controles de motores

Trabalho sobre Topologia de Redes

Painel Gráfico No-Break Conception Multi Ativo Innovation

Sistemas Digitais EDUARDO ELIAS ALVES PEREIRA

CHAVES DE PARTIDA. Prof. Marcos Fergütz mar/2014

Manual do Usuário. Smoke Machine DMX 512 POR FAVOR, LEIA COM ATENÇÃO ANTES DE USAR O PRODUTO

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante

Introdução ao Arduino

MEDIDOR E MONITOR DE VAZÃO CALORIMÉTRICO

FUNÇÕES (1) FUNÇÃO DO 1º GRAU E DOMÍNIO DE UMA FUNÇÃO

Informação do Produto Máquina de ensaios eletrodinâmicos LTM 5/10

Disciplina: Máquinas e Automação Elétrica. Prof.: Hélio Henrique DIRETORIA DE EDUCAÇÃO E TECNOLOGIA COORDENAÇÃO DO CURSO DE ELETROTÉCNICA

Organização e Arquitetura de Computadores

Introdução Informática e TIC. Prof. Ivo Júnior

POSICIONADOR FY301 CTS

Aula 10 Microcontrolador Intel 8051 Parte 1

Projeto pelo Lugar das Raízes

Centro de gravidade de um corpo é o ponto onde podemos supor que seu peso esteja aplicado.

Transcrição:

Projeto Braço Articulado Gustavo Rossi, José Antônio Duarte e Xano Trevisan Kothe Trabalho Final de Robótica - UNISC 1

Objetivo Controle e montagem de um braço articulado; Com três eixos de liberdade; Que seja possível pegar e largar objetos; Controlado pelo computador; Utilizando microcontrolador como interface entre os servo-motores e o computador; Trabalho Final de Robótica - UNISC 2

Material Utilizado Servo Motores Estrutura do Braço Acrílico Arduino Duemilanove Fonte de Computador Software em Java Trabalho Final de Robótica - UNISC 3

Servo-Motores Servo-motor é uma máquina, mecânica ou eletromecânica, que apresenta movimento proporcional a um comando; Em vez de girar ou se mover livremente sem um controle mais efetivo de posição como a maioria dos motores; Servo-motores possuem, normalmente, uma liberdade de apenas 180 graus; Eles verificam a posição atual, e atuam no sistema indo para a posição desejada. Trabalho Final de Robótica - UNISC 4

Servo-Motores: Partes Sistema atuador; Sensor; Circuito de controle. Trabalho Final de Robótica - UNISC 5

Servo-Motores: Sistema Atuador O sistema atuador é constituído por um motor elétrico (normalmente de corrente contínua). Com um conjunto de engrenagens que forma uma caixa de redução com uma relação bem longa o que ajuda a amplificar o torque. Trabalho Final de Robótica - UNISC 6

Servo-Motores: Sistema Atuador O servo-motor é uma máquina composta por uma parte fixa (o estator) e outra móvel (o rotor). O estator é bobinado como no motor elétrico convencional, porém, não podem ser ligados diretamente à rede, pois utiliza uma bobinagem especialmente confeccionada para proporcionar alta dinâmica ao sistema. O rotor é composto por ímãs permanentes dispostos linearmente e um gerador de sinais (resolver) instalado para fornecer sinais de velocidade e posição. Trabalho Final de Robótica - UNISC 7

Servo-Motores: Sensor O sensor normalmente é um potenciômetro junto ao eixo do servo. O valor de sua resistência elétrica indica a posição angular em que se encontra o eixo. A qualidade desse vai interferir na precisão, estabilidade e vida útil do servo motor. Trabalho Final de Robótica - UNISC 8

Servo-Motores: Circuito de Controle O circuito de controle é formado por componentes eletrônicos discretos ou circuitos integrados Geralmente é composto por um oscilador e um controlador PID (controle proporcional integrativo e derivativo) que recebe um sinal do sensor (posição do eixo) e o sinal de controle e aciona o motor no sentido necessário para posicionar o eixo na posição desejada. Trabalho Final de Robótica - UNISC 9

Servo-Motores: Circuito de Controle Servos possuem três fios de interface, dois para alimentação e um para o sinal de controle. O sinal de controle utiliza o protocolo PWM (modulação por largura de pulso) que possui três características básicas: largura mínima, largura máxima e taxa de repetição (frequência). Trabalho Final de Robótica - UNISC 10

Servo-Motores: PWM A largura do pulso de controle determinará a posição do eixo: - largura máxima equivale ao deslocamento do eixo em + 90º da posição central; - largura mínima equivale ao deslocamento do eixo em - 90º; - demais larguras determinam a posição proporcionalmente. O pulso de controle pode ser visto na ilustração sobre sinais de controle de servo motores. Em geral, a taxa de repetição é 50Hz e a largura do pulso do sinal de controle varia de 1 a 2ms. Porém um servo motor pode funcionar a 60Hz também. Trabalho Final de Robótica - UNISC 11

Servo-Motores: PWM 50Hz e 60Hz Trabalho Final de Robótica - UNISC 12

Servo-Motores: Características De um servo-motor são exigidos, dinâmica, controle de rotação, torque constante e precisão de posição e posicionamento. As características mais desejadas nos servomotores são o torque constante em larga faixa de rotação (até 4.500 rpm), uma larga faixa de controle da rotação e variação (até 1:3000) e alta capacidade de sobrecarga (3 x Mo). Trabalho Final de Robótica - UNISC 13

Servo-Motores: Utilizados no Projeto Nosso trabalho utilizou três servo-motores modelo TR205 com torque de 6,5kg cm para possibilitar os movimentos do braço. 1 cm 5 cm 6,5kg 1,3kg Trabalho Final de Robótica - UNISC 14

Estrutura do Braço: Garra Foi usada no projeto um braço de alumínio (um dos elemento mais abundante na crosta terrestre) das seguintes especificações: Trabalho Final de Robótica - UNISC 15

Estrutura do Braço: Garra Que possui as seguintes especificações: Abertura máxima: 55 mm Comprimento máximo: 108 mm Largura total (garra fechada): 98 mm Tensão de operação: 4.8-6V Trabalho Final de Robótica - UNISC 16

Estrutura do Braço: Servos 2 servo-motores modelo TR205 (na estrutura) Trabalho Final de Robótica - UNISC 17

Estrutura do Braço: Servos 1 servo na base Trabalho Final de Robótica - UNISC 18

Acrílico Foi utilizada no projeto duas chapas de acrílico de forma a compor uma estrutura para a garra realizar seus movimentos. Chapa1 de dimensões 8x5x0,2 cm projetada para ser a área onde a garra irá pegar objetos. Chapa2 de dimensões 30x5x0,5cm projetada para ser a base onde fica fixo o servo-motor que é o encarregado do giro do braço. Trabalho Final de Robótica - UNISC 19

Fonte de Alimentação No projeto foi utilizada uma fonte ATX das seguintes especificações: Trabalho Final de Robótica - UNISC 20

Microcontrolador: Arduino Arduino é uma plataforma de desenvolvimento voltada para protipação e estudo. Trabalho Final de Robótica - UNISC 21

Microcontrolador: Arduino Ela fornece uma gama de bibliotecas que facilitam a vida do programador como: Bibliotecas de LCD, Servos, Comunicação Serial e UART, Timers, Ethernet, Sensores, PWM, entre outros. O Microcontrolador base é da família Atmega (da fabricante Atmel). Trabalho Final de Robótica - UNISC 22

Arduino Duemilanove Arduino Duemilanove (ou 2009) é uma placa microcontroladora baseada no ATmega328. Contém 14 pinos de entradas/saídas (com 6 podendo ser usados como saídas PWM), 6 entradas analóicas, e com um oscilador de cristal de 16 Mhz, conexão USB, conexão de energia, cabeçalho ICSP, e botão de reset. Ou seja, tudo para suportar o microcontrolador, basta conectar no USB ou na energia. Trabalho Final de Robótica - UNISC 23

Arduino Duemilanove Microcontrolador Alimentação de Operação ATmega328 5V Alimentação Recomendada 7-12V Alimentação Limite 6-20V Pinos Digitais IO 14 (dos quais 6 são saídas PWM) Pinos Analógicos 6 Corrente máxima por Pino 40 ma Memória Flash (Programa) SRAM (RAM) EEPROM (Regravável de Dados) Clock Speed 32 KB (ATmega328) dos quais 2 KB usados pelo bootloader 2 KB (ATmega328) 1 KB (ATmega328) 16 MHz Trabalho Final de Robótica - UNISC 24

Interface Gráfica de Controle Tela para controlar os servo-motores. Trabalho Final de Robótica - UNISC 25

Interface Gráfica de Controle Tela para controlar os servo-motores. Trabalho Final de Robótica - UNISC 26

Programação: Interface de Controle Projeto no Eclipse com Java SE 1.6 e biblioteca RXTX Trabalho Final de Robótica - UNISC 27

Biblioteca RXTX É uma biblioteca que oferece métodos para comunicação Serial/Paralela RXTX. É fornecida gratuitamente, e é utilizada em uma ampla gama de aplicações diferentes (ex. Joystick). As principais vantagens dessa biblioteca é o fato de ser estável, simples e ao mesmo tempo completa, e além disto, é multiplataforma (funciona no Windows, no Linux e no MacOs). Trabalho Final de Robótica - UNISC 28

Interface Gráfica de Controle: Partes do Código Ao iniciar o programa, todas as portas são listadas no primeiro componente da tela. O código-fonte que lista os dispositivos é mostrado na figura a seguir: Trabalho Final de Robótica - UNISC 29

Interface Gráfica de Controle: Partes do Código Na linha 96 é onde o nome da porta é retornado. No Windows, essas portas aparecem normalmente como COM1, COM2, COM3 etc... No Linux, normalmente como ttys0, ttys1, ttys2... No MacOs, aparecem, ainda, com outros nomes. Trabalho Final de Robótica - UNISC 30

Interface Gráfica de Controle: Configuração da porta da transmissão A velocidade de transmissão, dada em bauds (símbolos por segundo/bits por segundo) pode assumir uma gama muito grande de valores, mas normalmente usam-se os seguintes: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, ou 115200. Trabalho Final de Robótica - UNISC 31

Interface Gráfica de Controle: Configuração da porta da transmissão Essa velocidade é tanto limitada pelo Microcontrolador, quanto pelo chip que faz a interface entre o USB e o Microcontrolador. No código, primeiro é necessário acoplar ao dispositivo serial, isso é feito na linha 168. Trabalho Final de Robótica - UNISC 32

Interface Gráfica de Controle: Configuração da porta da transmissão Esse acoplamento é acompanhado por um timeout e o nome do aplicativo (no caso, a classe do aplicativo) que fez o pedido. Depois, é necessário configurar a comunicação serial: velocidade 9600 bauds, 8 bits de dados, 1 bit de parada, sem pariedade (linha 170). Trabalho Final de Robótica - UNISC 33

Interface Gráfica de Controle: Classes e métodos de transmissão Com a conexão estabelecida e configurada, é possível adquirir as classes Stream, como na linha 175. Com a classe OutputStream, é possível escrever na porta, utilizando o método write para escrever bytes. Trabalho Final de Robótica - UNISC 34

Interface Gráfica de Controle: Classes e métodos de transmissão Já a classe InputStream fornece métodos para leitura, como.read() que retorna um byte do buffer de comunicação e o método.available(), que retorna quantos bytes estão no buffer. Trabalho Final de Robótica - UNISC 35

Interface Gráfica de Controle: Pacote de Dados Para facilitar o desenvolvimento e deixar a comunicação bem simples, o aplicativo escreve 4 bytes na serial com as posições que se deseja enviar para o Microcontrolador. 255 Servo 1 Servo 2 Servo 3 Trabalho Final de Robótica - UNISC 36

Interface Gráfica de Controle: Pacote de Dados 255 Servo 1 Servo 2 Servo 3 O primeiro byte é sempre 0xFF (ou valor 255), os outros 3 bytes são, respectivamente, o ângulo do eixo 1, 2 e 3. O primeiro byte é fixo, para sinalizar o começo do pacote, já que os ângulos para os servo motores tem um range entre 0 e 180 graus, nunca será transmitido o valor 255 como dados, assim, os dados não atrapalham o cabeçalho de inicio do pacote. Trabalho Final de Robótica - UNISC 37

Código no Arduino O funcionamento básico dos programas é uma função setup() (que é chamada ao ligar o Microcontrolador), que ao final entra em uma função chamada loop(). Trabalho Final de Robótica - UNISC 38

Código no Arduino: Parte 1 A classe para controlar os servos se chama Servo, no código foi instanciado então 3 servos: servo1, servo2 e servo3. O método.attach() serve para indicar em qual pino o sinal de controle do servo estará conectado. Trabalho Final de Robótica - UNISC 39

Código no Arduino: Parte 1 O Arduino também fornecesse uma biblioteca para comunicação Serial. É necessário, inicialmente, configurar os bauds da transmissão (no caso 9600 bauds). Trabalho Final de Robótica - UNISC 40

Código no Arduino: Parte 2 O programa desenvolvido espera por dados do aplicativo, olhando quantos bytes estão no buffer da serial. Então, checa se o primeiro byte é de valor 255 (indicando o inicio do pacote), então ele espera (se necessário) por mais 3 bytes. Assim, ele tem certeza que irá ler os valores corretos. Além disso, o Microcontrolador devolve os valores que leu para o aplicativo, confirmando o recebimento. Trabalho Final de Robótica - UNISC 41

Código no Arduino: Parte 2 Para escrever um ângulo no servo-motor, basta utilizar o método write, que aceita um valor inteiro entre 0 e 180, significando de 0 à 180 graus de liberdade por servo. Trabalho Final de Robótica - UNISC 42

Código no Arduino: Parte 2 Alguns servos podem, eventualmente, ter um grau de liberdade de 360, porém, estes então convertem o 180 graus de liberdade do código para os 360 graus do servomotor. Ou seja, escrevendo 90 graus no código, significaria que o servo iria para a posição 180, e escrevendo 180 no código, 360 no servo. Trabalho Final de Robótica - UNISC 43

Montagem Final O projeto foi montado de forma que a garra possua três graus de mobilidade: O primeiro grau na base podendo ser girada em um ângulo de 180º de forma a possibilitar a garra alcançar objetos que estejam dentro destes padrões de deslocamento. Trabalho Final de Robótica - UNISC 44

Montagem Final O segundo grau de movimento da garra pode ser denominado como movimento de subida e descida no qual a garra pode executar um movimento em torno do eixo x abscissas gerando uma parábola com concavidade voltada para baixo. Trabalho Final de Robótica - UNISC 45

Montagem Final O terceiro grau de movimento executa o movimento de abertura e fechamento da mesma onde o servomotor funciona a uma voltagem de 6V no momento em que a garra se encontra aberta. Trabalho Final de Robótica - UNISC 46

Montagem Final A garra foi fixada sobre uma estrutura acrílica para proporcionar maior estabilidade tendo também uma plataforma de acrílico superior onde podem ser posicionados os objetos a serem pegos pela mesma Abaixo desta estrutura de acrílico fica situado o Arduino tornando o projeto mais compacto e de aspecto limpo. Trabalho Final de Robótica - UNISC 47

Demonstração Trabalho Final de Robótica - UNISC 48