CURUMIM HARDWAREv2 - xbot.com.br · Na Figura 2 é apresentado um diagrama de blocos da unidade...

23
1 APOSTILA DE HARDWARE V2.0 ABRIL 2012

Transcript of CURUMIM HARDWAREv2 - xbot.com.br · Na Figura 2 é apresentado um diagrama de blocos da unidade...

1

APOSTILA DE HARDWARE V2.0

ABRIL 2012

2

Sumário

Introdução 3

Hardware Curumim 4

Cuidados ao manusear o robô 5

1. Visão geral da unidade móvel 6

2. Rádio base 7

3. Transceiver 8

4. Alimentação 9

5. Locomoção 10

6. Sensor Infravermelho 11

7. Câmera e Receptor de vídeo 12

8. Placa mãe e Placa driver 13

9. Sistema de Indicação 14

10. Precauções com as baterias 15

Anexo A – Protocolo de comunicação do Curumim 18

Anexo B – Gravando o firmware do robô 21

Anexo C – Portas livres para extensões 22

Anexo D – Comunicação RS232 23

3

Introdução

Com o intuito de promover o desenvolvimento educacional e o aprendizado de

conceitos básicos de lógica por intermédio de um robô, foi elaborado o kit Curumim.

Esse kit é constituído de uma plataforma robótica, o robô Curumim, e um ambiente de

programação para esse robô, o software Curumim.

Este é um guia sobre o funcionamento do hardware do Curumim, o primeiro de

dois manuais que o auxiliará na utilização deste produto da XBot. O Curumim foi

elaborado com o intuito de promover o desenvolvimento educacional e o aprendizado

de conceitos gerais sobre eletrônica, mecânica, sistemas embarcados, sensoriamento,

programação, entre outros, por intermédio de um robô. Outro objetivo é facilitar

adaptações de novos protótipos baseados em plataformas robóticas, atuando como

ponto de partida para os mais diversos projetos de pesquisa.

Por se tratar de uma plataforma opensource, o usuário tem total liberdade para

desenvolver aplicações, com facilidade de utilizar as bibliotecas existentes para enviar

os comandos ao robô. Mas para tal, é necessário primeiramente conhecer com

melhores detalhes a estrutura física do Curumim. Ou seja, ter uma visão geral de sua

mecânica e como seu circuito eletrônico aciona cada uma de suas partes. Leia e não

hesite em entrar em contato com o nosso suporte para quaisquer esclarecimentos!

Bons estudos!

4

Hardware Curumim

O robô Curumim, apresentado na Figura 1, é uma plataforma robótica que tem

como objetivo ser uma ferramenta de auxílio ao ensino tecnológico, pois se relaciona

com as diversas áreas na educação, como a computação, mecânica, instrumentação,

controle, eletrônica, e várias outras áreas tornando-se um diferencial no meio

educacional.

O kit Curumim é composto por:

• 1 robô Curumim;

• 1 par de baterias para o robô;

• 1 carregador das baterias

• 1 fonte de alimentação de 24Vcc para o carregador de bateria;

• 1 rádio base e seu cabo USB;

• 1 receptor de imagem wireless da câmera do robô;

• 1 fonte de alimentação de 12Vcc para o receptor de imagem wireless;

• 1 cabo RCA para o receptor wireless.

Figura 1 – Robô Curumim

5

Cuidados ao manusear o robô

1. Não deixa-lo cair;

2. Não utilizá-lo em ambiente úmido;

3. Utilizá-lo apenas em ambiente planos. Recomendamos o uso de carpete-

forração;

4. Não colocar a bateria quente no robô. Após carregar as baterias, espere a

bateria esfriar para colocar no robô;

5. Não pressionar o robô contra o chão;

6. Não prender as rodas enquanto o robô estiver em movimento;

7. Utilizar o robô em ambiente limpo, sem pequenos obstáculos, pois pode

dificultar a sua locomoção;

8. Não colidir em superfícies duras;

9. Não molhar o robô com qualquer tipo de líquido, principalmente solventes, pois

pode danificar a pintura do robô;

10. Limpá-lo utilizando apenas um pano seco;

11. Não guardar o robô em baixas ou altas temperaturas;

12. Certificar que o robô tem espaço suficiente para movimentar-se;

13. Não mover o robô a força;

14. Ler, cuidadosamente, este manual de hardware e também o manual de

software para ter o uso adequado do robô.

6

1. Visão geral da Unidade Móvel

Na Figura 2 é apresentado um diagrama de blocos da unidade móvel, neste

diagrama é possível observar as partes e componentes que constituem o Curumim,

assim como a direção do fluxo da comunicação entre eles. Já a Figura 3 representa o

diagrama de blocos das placas de circuito impresso, onde se pode observar a ligação

e a direção do fluxo de dados entre as placas do robô.

Figura 2 - Diagrama de Bloco da Unidade Móvel

7

Figura 3 - Diagrama de Bloco das Placas de Circuito Impresso

Toda a unidade móvel possui uma proteção da alimentação para os dispositivos

controlados pela UPC que pode desativar todo o fornecimento de energia no circuito

ou individualmente para cada valor de tensão. A unidade móvel funciona com 4

valores de tensão diferentes, 12V usados pelos motores (proveniente diretamente da

bateria), 9V para alimentar a câmera, 5V responsável para alimentar os sensores infra-

vermelho e 3,3V que alimenta a UPC e o transceiver.

2. Rádio Base

O rádio base é um periférico essencial para que a comunicação entre os softwares

de controle e o robô seja estabelecida, e pode ser visto na Figura 4. É um rádio

wireless que trabalha na frequência de 2.4Ghz digitais e possuí dois LEDs de

indicação que informa quando ocorre o envio e o recebimento de informações.

Para ligação do rádio base deve-se conectar uma das pontas do cabo no rádio

base e a outra no computador, atentando que o formato das pontas são diferentes.

8

Figura 4 – Rádio Base

3. Transceiver

O Curumim possui dois transceivers, um localizado no robô e outro no rádio base,

e é responsável pela troca de informação entre a placa mãe da unidade móvel e o

rádio base conectado ao PC. Por meio deste chega os comandos do operador que é

enviado ao rádio base conectado no PC. O Transceiver pode ser observado na Figura

5, e na Figura 6 é apresentada sua posição no robô.

Figura 5 – Transceiver

Figura 6 – Posição do transceiver no robô

9

Lado A Lado B

4. Alimentação

O sistema de alimentação é composto por duas baterias, Figura 6, de Ni-Mh que

fornecem uma tensão de 14.4V e corrente nominal de 2500mA/h. As baterias são em

um total de duas para um robô Curumim, são posicionadas na parte inferior do robô,

são recarregáveis e são formadas por 12 pilhas de 1.2V em série.

O carregador de baterias, Figura 7, possui uma capacidade de carregamento

simultâneo ou independente, isto é, pode ser carregado tanto as duas baterias como

apenas uma. Possui também um sistema de monitoramento e controle da temperatura

das baterias enquanto ocorre o carregamento, portanto se durante o carregamento a

bateria esquentar demais, o carregador é desligado automaticamente. O LED central,

na cor vermelha, indica que o carregador está ligado. O LED à esquerda e o LED à

direita, ambos na cor verde, indicam quando uma bateria está conectada no

carregador. Após a bateria estiver carregada, ficará piscando o LED verde onde a

bateria está conectada. O tempo de carregamento de uma bateria é de,

aproximadamente, 3 a 4 horas. Tenha cuidado ao retirar a bateria do carregador, após

estiver com carga completa, pois a bateria estará morna. É necessário esperar que as

baterias esfriem para colocar no robô. Na Figura 8 podemos ver o local onde se insere

as baterias no robô.

Figura 6 – Baterias

Figura 7 – Carregador

ATENÇÃO: A fonte do carregador e a fonte do Recepto r Wireless são

diferentes, sendo que a do carregador tem um tamanh o maior que a do Receptor

e a tensão é de 24Vcc enquanto que a do Receptor é de 12Vcc.

Carregador ligado

Bateria conectada no lado B

Bateria conectada no lado A

10

ATENÇÃO: Após desligar o robô e não for mais utiliz á-lo, retire as baterias do

robô, pois elas descarregam. Retirar as baterias do carregador após carregar,

pois pode acontecer o mesmo.

É altamente recomendável ler mais informações impor tantes sobre as baterias que se encontra na Sessão 10.

Figura 8 – Local para inserir as baterias

5. Locomoção

O sistema de locomoção do robô consiste em 3 motoredutores e 6 rodas

omnidirecionais, sendo que cada motoredutor é independente e possui 2 rodas, como

visto na Figura 9. Dependendo da combinação de acionamento entre elas, bem como

o sentido de rotação, é possível executar qualquer tipo de manobra.

Seu principal componente é a roda omnidirecional, que possui roletes em toda

a sua volta, fazendo com que ela possa se deslocar na direção perpendicular ao

eixo do motor, sem se arrastar, o que geraria um grande atrito.

Na Figura 10 podem-se observar os motoredutores e as rodas montadas em suas

devidas posições no robô.

Figura 9 – Motoredutor e as rodas omnidirecionais

11

Figura 10 – Rodas e os Motoredutores montados

6. Sensor Infravermelho

Os sensores de proximidade são cinco e são do tipo infravermelho reflexivo, como

pode ser visto um na Figura 11. Estão alocados na parte superior do robô e possuem

um alcance de, aproximadamente, 800mm, abrangendo toda a região ao redor do

robô. O sensor de distância analógico detecta um objeto entre 10 e 80 centímetros e

fornece uma tensão de saída não-linear em relação à distância do objeto, como pode-

se observar na Figura 12. Na Figura 13 podemos observar o circuito elétrico do

sensor.

Figura 11 – Sensor de Infravermelho

Figura 12 – Gráfico de Voltagem vs. Distância

12

Figura 13 – Circuito Elétrico do Sensor

7. Câmera e Receptor de Vídeo

É instalada de modo independente da placa mãe da unidade móvel, sem qualquer

controle direto. Ela tem a função de servir de realimentação visual ao operador através

do receptor sem fio que vai conectado no PC. A câmera de vídeo do robô é colorida e

possuí uma resolução de 380 linhas, a forma de transmissão é wireless e trabalha na

frequência de 1.2 Ghz analógicos.

O receptor de vídeo é necessário para que a imagem da câmera seja capturada. O

sinal possui um alcance de até 200 metros em locais abertos.

Atenção: É necessária uma placa de captura de vídeo para a utilização desse

recurso, pois não é fornecida junto ao kit.

Figura 14 – Câmera e Receptor de Vídeo

Atenção: A fonte do carregador e a fonte do Recepto r Wireless são

diferentes!

Câmera

wireless

Cabo RCA

Fonte do

receptor Receptor de

vídeo wireless

13

8. Placa Mãe e Placa Driver

A placa mãe é responsável por centralizar todo o controle da unidade móvel. É

onde se encontra o processador central. Ela reúne e organiza toda informação

proveniente dos sensores, tomando decisões baseadas nelas; troca informações com

o transceiver, a placa de acionamento dos motoredutores (placa Driver) e lê os

encoders. Na Figura 15 pode ser visto o local de ligação dos componentes.

A placa driver é responsável pelo acionamento de potência dos motoredutores e

também pelo recebimento das informações dos encoders, podendo ser vista na Figura

16. Sua localização no robô pode ser vista na Figura 17.

Figura 15 – Placa Mãe

14

Figura 16 – Placa Driver

Figura 17 – Localização da Placa Driver

9. Sistema de Indicação

O sistema de indicação luminoso no robô indica quando o robô está ligado ou

desligado e também se a carga da bateria está alta (de 10V a 14V) ou baixa (de 6V a

10V); quando tem algum problema no hardware e quando o robô recebe um comando.

Podemos ver esse sistema na Figura 18. Na mesma figura, podemos observar

também a localização do botão para ligar e desligar o robô. O procedimento para ligar

o robô é pressionando esse botão até que os LEDs pisquem e mantém ligado o LED

15

ON/OFF e

Status da bateria:

Verde = carga alta

Vermelho = carga baixa Problema no

hardware

Recebimento de

comando

Botão para ligar e desligar

central. O procedimento para desligar o robô é pressionando o botão até que o LED

central desligue.

Figura 18 – Sistema de indicação

10. Precauções com as baterias

• Informações importantes: � As baterias tem uma vida útil de 500 ciclos, se forem bem utilizadas; � As baterias têm auto-descarga, ou seja, se deixadas sozinhas descarregam

naturalmente; � As baterias já vão devidamente formatadas, ou seja, já está com potencial

completo; � A partir do momento que a bateria vai descarregando, o desempenho do robô

vai caindo também. Caso o robô diminua consideravelmente o seu desempenho, significa dizer que as baterias estão fracas e que é necessário carregá-las.

• Cuidados que se deve ter:

� Recomenda-se carregar e descarregar periodicamente se elas forem ficar

muito tempo paradas, devido a auto-descarga; � Devido a auto-descarga, recomenda-se que as baterias sejam guardadas

carregadas; � Após carregar as baterias elas estarão um pouco quentes. Esperar um pouco

elas esfriarem para colocar no robô; � Não esquecer as baterias dentro do robô, pois pode estragar a bateria e todos

os fios no caminho dela até o interruptor do robô, podendo causar problemas ainda piores se ela vazar dentro do robô;

16

� Evite temperaturas muito altas ou muito baixas, assim como deixá-las onde possam ter os contatos colocados em curto;

� Mantenha as baterias em um local fresco e em uma área de armazenamento seca;

� Sempre utilizar o carregador que acompanha no kit; � Não inverter a polaridade da bateria quando colocá-las em carga; � Não exponha as baterias ao fogo;

� Não sobrecarregue as baterias ou descarregue-as completamente;

� Não exponha as baterias à radioatividade;

� Ao manusear as baterias, procure manter as temperaturas abaixo:

o Temperatura de carga: 0 a 45ºC; o Temperatura de descarga: -20 a 50ºC; o Temperatura de armazenamento: -20 a 35ºC.

• Recomendações:

� Caso as baterias não estejam mais aceitando carga, é necessário dar uma

carga alta corrente de uns 2C (a corrente máxima que a bateria pode fornecer é de 2.000mA) por menos de 1 segundo. Isso ajuda a dissolver os cristais formados no eletrólito, diminuindo a resistência interna e fazendo-a aceitar carga novamente. Este procedimento deve ser feito com muito cuidado, pois pode causar facilmente superaquecimento da bateria ou do fio, portanto não faça se não tiver experiência com eletricidade e use equipamento de proteção;

17

� Em caso de explosões ou vazamento dos elementos químicos (principalmente eletrólito), jogue água, imediatamente, na bateria. Evite o contato dos elementos químicos nos olhos ou a ingestão dos mesmos. Em caso de contato nos olhos, lave-os por 15 minutos e consulte um médico.

18

Anexo A: Protocolo de Comunicação do Curumim

O protocolo do Curumim é baseado em pacotes, com um total de 30 octetos

(tamanho fixo), no seguinte formato:

5 octetos, endereço do dispositivo fonte

5 octetos, endereço do dispositivo destino

1 octeto, canal de rádio utilizado

1 octeto, tamanho dos dados úteis

2 octetos, comando

0 a 14 octetos, argumentos do comando

1 octeto, digito verificador de integridade (checksum)

1 octeto, package-ID

demais octetos: preenchidos com zero (não utilizados)

O campo “checksum” possibilita que o receptor do pacote verifique se os dados

recebidos conferem com os que foram transmitidos. Tanto os pacotes de solicitação,

quanto os de resposta seguem o mesmo padrão acima descrito. Uma resposta quando

comparada a uma solicitação, tem os campos destino e fonte trocados entre si, e o

comando e package-ID permanecem o mesmo.

O campo “package-ID” é um identificador sequencial do pacote, e tem a função de

auxilio no caso de comunicação com falhas e em casos de retransmissão.

A retransmissão ocorre por “timeout”, ou seja, se após um tempo, o PC não obteve

uma resposta bem sucedida, ele retransmite o pacote. Após algumas falhas

sucessivas, o PC indica o estado de “falha de comunicação”. O tempo de timeout e o

número de falhas consecutivas é configurável no driver do PC, uma ideia da ordem de

grandeza destes valores é de 50ms para o timeout e de 3 falhas sucessivas.

O hardware do rádio base consiste em:

• micro-controlador da família MSP430 da Texas Instruments

• circuito integrado ASIC – conversor USB para UART da FTDI-Chip

• circuito integrado ASIC – transceiver de rádio da Nordic Radio Inc.

• demais componentes de apoio ao funcionamento

19

ASIC – USB/UART

Este circuito integrado é um conversor USB para UART. Ele implementa um slave

USB, simulando uma porta serial para o computador PC, e implementa uma UART,

deste modo a transmissão fica transparente, como se estivéssemos utilizando uma

porta serial comum no PC.

ASIC – Transceiver de rádio

Este circuito integrado implementa uma solução completa de comunicação para

pequenas distâncias a rádio. Ele utiliza 127 canais de rádio-freqüência na faixa de

2.4GHz e baixas potências. Seu alcance é adequado ao uso do robô, e em nossos

testes, funciona normalmente em um raio de 10 metros.

O transceiver da Nordic possui um protocolo próprio de comunicação, onde os

pacotes tem tamanho fixo e são transmitidos com um checksum gerado pelo próprio

ASIC, garantindo a integridade dos dados. Em caso de perda ou troca em alguma

parte do pacote, o receptor rejeita o pacote completamente. O receptor apenas avisa o

micro-controlador da presença de dados se os mesmos forem válidos.

Considerações sobre EMS (imunidade eletromagnética): algumas fontes de ruído

influenciaram o alcance e a taxa de erros de transmissão. Em testes práticos, este

transceiver não funciona bem se posicionado bem próximo a um monitor de

computador (CRT). Mantendo o rádio base a mais de 60 cm do monitor, esta

interferência torna-se não significativa.

Detalhes da implementação do rádio base

A comunicação entre o conversor USB é feita por meio de uma interface UART. A

comunicação com o transceiver de rádio é feita por meio de uma interface SPI.

O micro-controlador do rádio base possui apenas um módulo de comunicação

USART, portanto o circuito multiplexa este módulo entre o modo UART e o modo SPI

com os dois ASIC. Para evitar conflitos, foram utilizados os pinos RTS e CTS do

mesmo, ou seja, o PC é avisado para aguardar enquanto a USART do micro-

controlador está sendo utilizada pela SPI.

Um fluxograma simplificado do software interno do rádio base é apresentado na

Figura 18. Este fluxograma é apenas didático, ele não leva em conta muitos aspectos,

como watchdog, chaveamento de clock, interrupções, timers, etc. Demais informações

sobre os comandos transmitidos estão disponíveis na apostila de software do

Curumim.

20

Figura 18 - Fluxograma simplificado do software do rádio base

21

Anexo B: Gravando o firmware do robô

O Curumim é controlado por um microcontrolador MSP430. Seu firmware pode ser

regravado através do conector JTAG em destaque na placa mãe, conforme Figura 19

abaixo:

Figura 19 – Localização do conector JTAG para gravação do firmware

Outras informações sobre gravadores JTAG podem ser encontradas no link Documentos também no endereço www.xbot.com.br/externo.

22

Anexo C: Portas livres para extensões

O Curumim possui também duas portas livres para que sejam adicionados

atuadores personalizados pelo usuário, caso haja a necessidade, localizadas

conforme a indicação na Figura 20:

Figura 20 – Portas livres disponíveis na placa mãe do Curumim.

23

Anexo D: Comunicação RS232

Porta disponível para comunicação via protocolo RS232 entre um computador e o

microcontrolador.

Figura 21 – Porta disponível para comunicação via protocolo RS232.