Índice:

Quadro branco da sala de aula do Arduino Line Follower Wallrides: 8 etapas (com imagens)
Quadro branco da sala de aula do Arduino Line Follower Wallrides: 8 etapas (com imagens)

Vídeo: Quadro branco da sala de aula do Arduino Line Follower Wallrides: 8 etapas (com imagens)

Vídeo: Quadro branco da sala de aula do Arduino Line Follower Wallrides: 8 etapas (com imagens)
Vídeo: MUITO CUIDADOS POIS ELES IMITAM TUDO 2024, Novembro
Anonim
Image
Image

Seguir a linha no chão é muito enfadonho!

Tentamos olhar de um ângulo diferente para os seguidores de linha e trazê-los para outro plano - para o quadro branco da escola.

Veja o que resultou disso!

Etapa 1: O que você precisa?

Como montar? Monte o chassi
Como montar? Monte o chassi

Para um robô de corrida:

Mecânica:

1 x 2WD miniQ Robot chassis; É uma plataforma multifuncional para a criação de robôs simples de duas rodas

Motor redutor 2 x 6V com relação de redução 1: 150; Os motoredutores incluídos com a plataforma do robô miniQ têm uma relação de transmissão de 1:50 e são muito rápidos. Eles devem ser substituídos por motores mais fortes, por exemplo, com uma relação de transmissão de 1: 150 ou superior. Quanto mais alta a relação de transmissão, mais devagar o robô anda no quadro branco, mas menor a chance de as rodas patinarem

4 x ímã de neodímio; Necessita de pequenos ímanes de 3 mm de espessura com 12 mm de diâmetro (para os de formato redondo) ou com o lado de 12 mm (para os de formato quadrado). Além disso, os ímãs devem ter um orifício para o parafuso da máquina com uma cabeça escareada, geralmente para o M3. Às vezes, os fabricantes especificam a força do acoplamento magnético. Deve estar na faixa de 2 kg a 2,4 kg

Eletrônicos:

1 x Arduino UNO; O computador de bordo. A plataforma de prototipagem mais popular

1 x módulo Octoliner; Olhos e faróis de seu robô de corrida. Octoliner é um sensor de linha fria que consiste em 8 sensores infravermelhos separados controlados por meio de uma interface I2C

1 x blindagem do motor; Quase qualquer módulo é adequado para você. Usei este analógico baseado no chip L298p

1 bateria LiPo de 2 células de 7,4 V; Ele pode fornecer uma grande corrente necessária aos motores para superar a atração dos ímãs. A bateria de 2 células possui uma tensão na faixa de 7,4 V a 8,4 V. É o suficiente para motores de 6 V e o regulador de tensão embutido na placa Arduino. Qualquer capacidade pode ser selecionada. Quanto maior a bateria, mais tempo o robô dirige, mas observe que a bateria muito espaçosa pode ser pesada. A capacidade na faixa de 800mAh a 1300mAh é a ideal

Diversos:

4 x fio macho-fêmea;

4 x espaçador M3 ou espaçador macho-fêmea com comprimento de 10 mm;

Espaçador 3 x M3 ou espaçador macho-fêmea com comprimento de 25 mm ou mais;

4 x parafuso de cabeça chata escareada M3x8;

1 x parafuso de nylon M3;

1 x porca sextavada de nylon M3;

Quaisquer parafusos M3 e porcas sextavadas

Para uma sala de aula:

Quadro branco magnético pendurado na parede;

Marcadores de placa magnética preta espessa;

Carregador de bateria LiPo especial ou múltiplos carregadores se você quiser fazer muitos robôs e carregá-los separadamente

Etapa 2: como montar? Monte o chassi

Em primeiro lugar, você precisa montar os motores de pré-substituição da plataforma do chassi miniQ do kit por outros mais potentes com a relação de transmissão 1: 150. Não se esqueça de soldar os fios aos contatos do motor!

Etapa 3: como montar? Instale os ímãs

Como montar? Instale os ímãs
Como montar? Instale os ímãs

Instale os ímãs na plataforma miniQ. Use espaçadores M3x10, parafusos escareados M3x8 ou M3x6 e porcas M3. Os furos de instalação necessários são mostrados na imagem.

Isso é importante!

O comprimento dos afastamentos deve ser de exatamente 10 mm. Depois de instalar os ímãs, teste a plataforma no quadro branco. Todos os quatro ímãs devem estar adjacentes à placa magnética e os pneus de borracha nas rodas da plataforma miniQ devem ser pré-carregados e fornecer algum atrito com a superfície da placa.

Mova manualmente o robô pelo tabuleiro. Durante o passeio, os ímãs não devem sair da prancha. Se algum ímã se soltar, significa que os pneus de borracha das rodas carregam ao máximo. Neste caso, aumente a distância de 10 mm de todos os afastamentos em 1 ou 2 mm adicionando um par de arruelas M3 e tente novamente.

Etapa 4: como montar? Adicione eletrônicos

Como montar? Adicione eletrônicos
Como montar? Adicione eletrônicos

Monte a placa Arduino UNO na plataforma usando espaçadores M3x25, parafusos M3 e porcas M3. Não use isoladores curtos, deixe algum espaço sob a placa Arduino para fios e bateria.

Instale a blindagem do motor na placa Arduino UNO.

Instale o módulo Octoliner. Pressione-o contra a plataforma usando um parafuso e uma porca de nylon M3.

Isso é importante!

Não use fixadores de metal para montar o Octoliner. Alguns orifícios de montagem na placa breakout são soldados e usados como pinos IO. Para evitar curtos-circuitos, use prendedores de plástico, por exemplo, náilon.

Etapa 5: como montar? Fiação

Como montar? Fiação
Como montar? Fiação

Conecte todos os componentes eletrônicos conforme mostrado no diagrama. O módulo Octoliner é conectado por 4 fios (GND, 5V, SDA, SCL) ao Arduino UNO. Conecte os motores à blindagem do motor. A bateria LiPo está conectada aos blocos de contato da fonte de alimentação externa na blindagem do motor, bem como ao pino VIN na placa Arduino. Em vez de usar o pino VIN, você pode usar o plugue de alimentação de 5,5 mm x 2,1 mm na placa.

Isso é importante!

Ao usar a blindagem do motor, nenhum fio é necessário. Dois canais do motor são controlados por 4 pinos. 2 pinos PWM são responsáveis pela velocidade de rotação, enquanto 2 pinos DIR pela direção de rotação. Normalmente, eles já estão vinculados a pinos específicos da placa Arduino e seus números de índice podem diferir dependendo do fabricante da blindagem. Por exemplo, para minha blindagem do motor, os números são D4 D5 (DIR e PWM para o primeiro canal) e D7 D6 (DIR e PWM para o segundo canal). Para a blindagem do Arduino Motor original, os números dos pinos correspondem a D12 D3 (DIR e PWM para o primeiro canal) e D13 D11 (DIR e PWM para o segundo canal).

Isso é importante!

As baterias Hobby LiPo não têm uma placa de proteção de polaridade reversa! O curto-circuito acidental dos contatos positivo e negativo resultará em falha permanente da bateria ou incêndio.

Etapa 6: como programar? XOD

Fazer um programa para esse robô de corrida é ainda mais fácil do que montá-lo.

Em todos os meus projetos, uso o ambiente de programação visual XOD, que me permite criar programas Arduino graficamente sem escrever código. Este ambiente é ideal para prototipagem rápida de dispositivos ou algoritmos de programação de aprendizagem. Siga a página da web de documentação do XOD para ler mais.

Para programar este robô, você precisa adicionar apenas uma biblioteca amperka / octoliner em seu espaço de trabalho XOD. É necessário para trabalhar com um sensor de linha de oito canais.

Etapa 7: como programar? Correção

Como programar? Correção
Como programar? Correção

O programa é baseado no princípio de operação do controlador PID. Se você quiser saber o que é o controlador PID e como ele funciona, você pode ler outro artigo neste tópico.

Dê uma olhada no patch com o programa do robô. Vamos ver quais nós estão presentes nele e como tudo funciona.

linha de octoliner

É um nó de início rápido da biblioteca amperka / octoliner XOD que representa o módulo Octoliner rastreando a linha. Ele produz o "valor de rastreamento de linha" que fica na faixa de -1 a 1. O valor 0 mostra que a linha está na posição central em relação aos sensores infravermelhos na placa Octoliner (entre CH3 e CH4). O valor -1 corresponde à posição da extrema esquerda (CH0), enquanto o 1 à extrema direita (CH1). No boot, o nó inicializa os sensores do optoacoplador e configura seus parâmetros padrão de brilho e sensibilidade. As entradas para este nó são o endereço I2C do dispositivo (ADDR para a placa Octoliner é 0x1A) e a taxa de atualização do valor de rastreamento de linha (UPD), eu configurei contínua.

Os valores de rastreamento de linha são alimentados diretamente para o nó do controlador pid.

controlador pid

Este nó implementa o trabalho do controlador PID em XOD. O valor alvo (TARG) para isso é 0. É o estado em que a linha está exatamente no centro sob o robô. Se o valor de rastreamento de linha for 0, o controlador PID é redefinido por meio do pino RST. Se o valor de rastreamento de linha for diferente de 0, o controlador PID o converte usando os coeficientes Kp, Ki, Kd em valores de velocidade do motor. Os valores dos coeficientes foram selecionados experimentalmente e iguais a 1, 0,2 e 0,5, respectivamente. A taxa de atualização (UPD) do controlador PID é definida como contínua.

O valor processado do controlador PID é subtraído de 1 e adicionado a 1. Isso é feito para dessincronizar os motores, para fazê-los girar em direções opostas quando a linha é perdida. O valor 1 nestes nós representa a velocidade máxima dos motores. Você pode reduzir a velocidade inserindo o valor mais baixo.

h-bridge-dc-motor

Alguns desses nós são responsáveis por controlar os motores esquerdo e direito do robô. Aqui, defina os valores dos pinos PWM e DIR através dos quais a blindagem do motor opera.

Atualize o patch e experimente o seu bot de corrida. Se você seguir exatamente as instruções de montagem, não precisa alterar o patch ou ajustar o controlador PID. As configurações especificadas são ótimas.

O programa finalizado pode ser encontrado na biblioteca gabbapeople / whiteboard-races

Etapa 8: Demonstração e dicas

Recomendado: