Arduino Robot


O Arduino Robot é o primeiro Arduino oficial sobre rodas. O Robot possui dois processadores, um em cada uma das duas placas. Uma delas controla os motores, e a outra faz o controle de leituras de sensores e decide como operar. Cada uma das placas é uma placa Arduino completa programável através do Arduino IDE.

Ambas a placas são baseadas no ATMEGA32u4 (datasheet). O robô tem muitos dos seus pinos mapeados para sensores a bordo e atuadores.

A programação do robô é semelhante ao processo com o Arduino Leonardo. Ambos os processadores têm comunicação USB incorporada, eliminando a necessidade de um processador secundário. Isso permite que o robô a apareça para um computador conectado como virtual  (CDC) serial / COM port.

Como sempre acontece com Arduino, cada elemento da plataforma – hardware, software e documentação – está disponível gratuitamente e de código aberto. Isso significa que você pode saber exatamente como ele é feito e usar o seu projeto como ponto de partida para os seus próprios robôs. O Arduino Robot é o resultado do esforço coletivo de uma equipe internacional olhando como a ciência pode ser divertida de aprender.

Arduino está agora sobre rodas, venha andar com a gente!

 

Dados Técnicos (Placa de Controle):

Microcontrolador ATmega32u4
Tensão de operação 5V
Tensão de alimentação 5V através do flat cable
Entradas e saídas digitais 5
Saídas PWM 6
Entradas analógicas 4 dos pinos de entradas e saídas digitais
Entradas analógicas (multiplexadas) 8
Corrente contínua por pino de I/O 40 mA
Memória Flash 32 KB (ATmega32u4) dos quais 4 KB são usados pelo bootloader
Memória SRAM 2.5 KB (ATmega32u4)
EEPROM (interna) 1 KB (ATmega32u4)
EEPROM (externa) 512 Kbit (I2C)
Velocidade do Clock 16 MHz
Teclado 5 teclas
Knob Potenciômetro conectado ao pino de entrada analógica
Display LCD colorido através de comunicação SPI
Leitor de cartão SD para cartões formatados como FAT16
Auto-falante 8 Ohms
Bússola digital fornece desvio do norte geográfico em graus
Portas I2C 3
Áreas disponíveis para protótipagem 4

Arduino Robot placa de controle

 

DADOS TÉCNICOS (Placa dos Motores):

Microcontrolador ATmega32u4
Tensão de operação 5V
Tensão de alimentação 9V para carregador de bateria
Encaixe de pilhas AA 4 pilhas alcalinas ou baterias recarregáveis NiMh
Entradas e saídas digitais 4
Saídas PWM 1
Entradas analógicas 4 dos pinos de entradas e saídas digitais
Corrente contínua por pino de I/O 40 mA
Conversor DC-DC gera 5V para limentar o Robô inteiro
Memória Flash 32 KB (ATmega32u4) dos quais 4 KB são usados pelo bootloader
Memória SRAM 2.5 KB (ATmega32u4)
EEPROM 1 KB (ATmega32u4)
Velocidade de Clock 16 MHz
Trimmer para calibração de movimento
Sensores IR (tipo segue linha) 5
portas I2C 1
Áreas disponíveis para protótipagem 2

 

 

Arduino Robot Placa dos Motores

Arduino Robot Placas dos Motores

 

Esquema e Referencia de Design

Arquivos EAGLE: arduino-robot-reference-design.zip

 

Alimentação

O Arduino Robot pode ser alimentado através de uma conexão USB ou com 4 pilhas AA. A fonte de energia é selecionada automaticamente pelo Arduino.

O suporte de pilhas comporta 4 pilhas recarregáveis tipo NiMh tamanho AA.

Atenção : Não utilize pilhas não recarregáveis no Arduino Robot.

Por motivos de segurança, os motores ficam desabilitados quando o Robot é alimentado através da porta USB.

O Robot possui um carregador de baterias integrado que necessita de alimentação externa de 9V através de um adaptador AC/DC (fonte de tomada). O adaptador pode ser interligado através de um plug com centro-positivo de 2.1mm conectado ao plug power jack localizado na placa dos Motores. O carregador não funcionará se estiver sendo alimentado através da porta USB.

A placa de controle é alimentada pela fonte da placa dos Motores.

 

Memoria

ATmega32u4 possui 32 KB (dos quais 4 KB são usados pelo bootloader). Ele também possui 2.5 KB de SRAM e 1 KB de EEPROM (que pode ser lida e escrita através da biblioteca EEPROM).

A placa de controle possui 512 Kbit extras de EEPROM que podem ser acessados via I2C.

Existe ainda um leitor de cartão SD externo interligado à tela GTFT que pode ser accessado pelo processador da Placa de Controle para armazenamento extra.

 

Entradas e Saídas

O Robot vem com uma série de conectores pre-soldados. Existem ainda alguns locais adicionais disponíveis para instalação de placas adicionais.

Todos os conectores estão identificados nas placas e mapeados para as respectivas portas através da Biblioteca Robot permitindo acesso às funções padrão Arduino. Cada pino pode fornecer ou receber um máximo de 40mA a 5V.

Alguns pinos possuem funções especiais:

  • TK0 ao TK7 da placa de controle: Estes pinos são multiplexados para um único pino do processador da Placa de Controle. Eles podem ser utilizados como entradas analógicas para sensores como sensor de distância, sensor ultrasom analógico ou chaves mecânicas para detectar colisões.
  • TKD0 ao TKD5 da placa de controle: estes são pinos de I/O digital conectados diretamente ao processador, endereçados usando as funções Robot.digitalRead() e Robot.digitalWrite). Os pinos TKD0 ao TKD3 podem também ser utilizados como entradas analógicas com a função Robot.analogRead().
Nota: Se você tiver um Robot das primeiras gerações, você verá que os pinos TKD* estão identificados como TDK* sobre a placa. TKD* é o nome apropriado para eles e é como eles são endereçados no software.
Robot

Robot

  • Comunicação Serial: As placas comunicam entre si usando a porta serial dos processadores. Um conector de 10 pinos que conecta as duas placas carrega a comunicação serial, a alimentação e ainda corrente elétrica de carga da bateria.
  • Placa de Controle SPI: SPI é usada para controle do GTFT e o SD Card. Se você quiser gravar o microcontrolador usando um gravador externo, você precisa desconectar aa tela primeiro.
  • Placa de Controle  LEDs: a Placa de Controle possui três LEDs integrados. Um indica que aa placa está alimentada (PWR). Os outros dois indicam comunicação através da porta USB (LED1/RX and TX). O LED1 também pode ser acessaado via software.
  • Ambas as placas possuem conectores I2C disponíveis: 3 na Placa de Controle e 1 na Placa dos Motores.

Mapeamento dos pinos da Placa de Controle

  ARDUINO LEONARDO   CONTROLE ARDUINO ROBOT   ATMEGA 32U4   FUNÇÃO REGISTRADOR
D0 RX PD2 RX RXD1/INT2
D1 TX PD3 TX TXD1/INT3
D2 SDA PD1 SDA SDA/INT1
D3# SCL PD0  PWM8/SCL OC0B/SCL/INT0
D4 MUX_IN A6 PD4 ADC8
D5# BUZZ PC6 ??? OC3A/#OC4A
D6# MUXA/TKD4 A7 PD7 FastPWM #OC4D/ADC10
D7 RST_LCD PE6 INT6/AIN0
D8 CARD_CS A8 PB4 ADC11/PCINT4
D9# LCD_CS A9 PB5 PWM16   OC1A/#OC4B/ADC12/PCINT5  
D10# DC_LCD A10 PB6 PWM16 OC1B/0c4B/ADC13/PCINT6
D11# MUXB PB7 PWM8/16 0C0A/OC1C/#RTS/PCINT7
D12 MUXC/TKD5 A11 PD6 T1/#OC4D/ADC9
D13# MUXD PC7 PWM10 CLK0/OC4A
A0 KEY D18 PF7 ADC7
A1 TKD0 D19 PF6 ADC6
A2 TKD1 D20 PF5 ADC5
A3 TKD2 D21 PF4 ADC4
A4 TKD3 D22 PF1 ADC1
A5 POT D23 PF0 ADC0
MISO MISO D14 PB3 MISO,PCINT3
SCK SCK D15 PB1 SCK,PCINT1
MOSI MOSI D16 PB2 MOSI,PCINT2
SS RX_LED D17 PB0 RXLED,SS/PCINT0
TXLED TX_LED PD5
HWB PE2 HWB

Mapeamento dos pinos da Placa dos Motores

  ARDUINO LEONARDO  CONTROLE ARDUINO ROBOT   ATMEGA 32U4    FUNÇÃO   REGISTRADOR
D0 RX PD2 RX RXD1/INT2
D1 TX PD3 TX TXD1/INT3
D2 SDA PD1 SDA SDA/INT1
D3# SCL PD0 PWM8/SCL OC0B/SCL/INT0
D4 TK3 A6 PD4 ADC8
D5# INA2 PC6 ??? OC3A/#OC4A
D6# INA1 A7 PD7 FastPWM #OC4D/ADC10
D7 MUXA PE6 INT6/AIN0
D8 MUXB A8 PB4 ADC11/PCINT4
D9# INB2 A9 PB5 PWM16   OC1A/#OC4B/ADC12/PCINT5  
D10# INB1 A10 PB6 PWM16 OC1B/0c4B/ADC13/PCINT6
D11# MUXC PB7 PWM8/16 0C0A/OC1C/#RTS/PCINT7
D12 TK4 A11 PD6 T1/#OC4D/ADC9
D13# MUXI PC7 PWM10 CLK0/OC4A
A0 TK1 D18 PF7 ADC7
A1 TK2 D19 PF6 ADC6
A2 MUX_IN D20 PF5 ADC5
A3 TRIM D21 PF4 ADC4
A4 SENSE_A D22 PF1 ADC1
A5 SENSE_B D23 PF0 ADC0
MISO MISO D14 PB3 MISO,PCINT3
SCK SCK D15 PB1 SCK,PCINT1
MOSI MOSI D16 PB2 MOSI,PCINT2
SS RX_LED D17 PB0 RXLED,SS/PCINT0
TXLED TX_LED PD5
HWB PE2 HWB

Comunicação

O Robot possui diversas funcionalidades para comunicação com um computador, outro arduino ou outros microcontroladores. O ATmega32u4 fornece comunicação Serial UART TTL (5V), a qual está disponível no conector de 10 pinos que conectas as placa. O 32u4 també possibilita comunicação serial (CDC) através do USB e aparece no software como uma porta COM virtual no computador. O chip também opera como um dispositivo USB 2.0, usando drivers padrão USB COM. No Windows, um arquivo .inf é necessário. O software Arduino inclui um monitor Serial que permite o envio e recebimento de dados de texto simples da placa do Robot. O RX (LED1) e TX LEDs na placa piscarão enquando dados estiverem sendo transmitidos ao computador através da conexão USB. (mas não para comunicação serial entre as placas).

Cada uma das placas possuem um identificador de produto USB diferentes e aparecerão em seu software IDE como portas diferentes. Certifique-se de que você escolheu a porta correta quando estiver programando.

ATmega32u4 também suporta comunicação I2C (TWI) e SPI. O software Arduino inclui uma biblioteca Wire para simplificar o uso do barramento I2C; veja a  documentação para mais detalhes. Para comunicação SPI, use a Biblioteca SPI.

 

Programação

O Robot pode ser programado com o software Arduino (download). Selecione “Arduino Robot Control Board” ou “Arduino Robot Motor Board” em Tools > Board menu. Veja a página primeiros passos e os tutoriais para mais detalhes.

Os processadores ATmega32u4 do Arduino Robot vêm de fábrica pré-gravados com um bootloader que premite a você fazer o upload de um novo código sem a necessidade de um gravador externo. Ele comunica usando o protocolo AVR109.

Você pode ignorar o bootloader e gravar no microcontrolador através do conector header ICSP (In-Circuit Serial Programming); veja estas instruções para mais detalhes.

Reset Automático via Software and inicialização de Bootloader

Ao invés de necessitar de um reset físico pressionando o botão antes do upload de código, o Robot foi desenvolvido de maneira que permita que a placa seja resetada pelo software executado no computador conectado. O reset é disparado quando a porta serial virtual (CDC) / COM do Robot é aberta a 1200 baud e então fechada. Quando isso acontece, o processador vai resetar, parando a comunicação USB com o computador (o que significa que a porta virtual Serial/COM vai desaparecer). Depois do reset do processador, o bootloader inicializa, permanecendo ativo por 8 segundos. O bootloader pode também ser inicializado através de um duplo pressionamento do botão de reset do Robot. Note que quando a placa é alimentada pela primeira vez, ela vai pular diretamente para o programa caso haja algum carregado no microprocessador, ao invés de inicializar o bootloader.

Em função da maneira que o Robot reage ao reset, é recomendado que deixe que o software Arduino tentar iniciar o Reset antes do upload do código, especialmente se você está habituado com outras placas Arduino que necessitam de pressionar o botão de reset antes do upload do código. Se o software não puder resetar a placa, você pode iniciar o bootloader poressionando duas vezes o botão reset. Pressionar o botão de rest apenas uma vez fará com que a placa reinicie a execução docódigo carregado, pressionar duas vezes inicializará o bootloader.

USB Overcurrent Protection

Ambas as placas do Robot possuem um polyfuse resetável que protege a porta USB do seu computador contra sobre-corrente e curots circuitos. Embora muitos computadores tenham sua própria proteção interna, o fuso fornece uma camada a mais de proteção. Se mais de 500mA forem aplicados a porta USB ele automaticamente irá interromper a conexão até que o curto ou a sobrecarga seja removido.

 

Características físicas

O Robot possui 19cm de diâmetro. Incluindo as rodas, a tela GTFT e os outros conectores ele pode ter até 10cm de altura.

 

Para aprender mais

Veja também: primeiros passos com o Arduino Robot e as páginas de bibliotecas do Robot.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s