Um robô avoider de ponta é bastante semelhante ao meu projeto anterior "Line Follower Robot". Este robô baseado em microcontrolador 8051 detecta uma borda e a evita girando ou parando. Vamos ver como podemos projetar um robô que evita a borda facilmente.
Conceito de Edge Avoider Robot
O conceito de robô Edge Avoider é o mesmo do seguidor de linha. Nesses tipos de robôs, geralmente usamos o comportamento da luz na superfície preta e branca. Quando a luz incide sobre uma superfície branca, ela reflete quase totalmente e, no caso de uma superfície negra, a luz é absorvida pela superfície negra. Este comportamento da luz é usado tanto em um robô seguidor de linha quanto em um robô que evita a borda.
Aqui, usamos um transmissor e receptor IR, também chamados de diodos fotográficos, usados para enviar e receber luz. IR transmite luzes infravermelhas. Quando os raios infravermelhos incidem sobre qualquer superfície, exceto superfícies pretas ou muito escuras, é refletido de volta e capturado pelo fotodiodo e gera algumas mudanças de voltagem. Quando a luz infravermelha incide sobre a superfície preta, a luz é absorvida pela superfície preta e nenhum raio é refletido de volta, resultando em fotodíodo que não recebe luz ou raios.
Aqui neste robô Edge Avoider, quando o sensor detecta a superfície branca, o microcontrolador obtém 0 como entrada e quando detecta o controlador da linha preta obtém 1 como entrada.
Diagrama de circuito e explicação de trabalho
Podemos dividir o projeto Edge Avoider Robot em três seções diferentes que são a seção do sensor, a seção de controle e a seção do driver.
Seção do sensor: esta seção contém diodos IR, potenciômetro, comparador (Op-Amp) e LEDs. O potenciômetro é usado para definir a tensão de referência no terminal do comparador e os sensores IR são usados para detectar a linha e fornecer uma mudança na tensão no segundo terminal do comparador. Em seguida, o comparador compara as duas tensões e gera um sinal digital na saída. Aqui neste circuito, usamos dois comparadores para dois sensores. LM 358 é usado como comparador. O LM358 tem dois amplificadores op de baixo ruído embutidos.
Seção de controle: o microcontrolador 8051 é usado para controlar todo o processo do robô seguidor de linha. As saídas dos comparadores são conectadas ao pino número P0.0 e P0.1 do 8051. O 8051 lê esses sinais e envia comandos para o circuito do driver para o seguidor de linha de comando.
Seção do driver: a seção do driver consiste do driver do motor e dois motores CC. O driver do motor é usado para acionar motores porque o microcontrolador não fornece tensão e corrente suficientes para acionar o motor. Portanto, adicionamos um circuito de driver de motor para obter tensão e corrente suficientes para o motor. O microcontrolador envia comandos a este driver de motor e, em seguida, aciona os motores.
Trabalhando
Trabalhar com este robô evitador de borda é bastante interessante e igual ao seguidor de linha, mas com diferença nas operações após as entradas de detecção. Neste robô, quando ele detecta uma superfície branca, ele avança e quando qualquer um dos sensores ou ambos os sensores não detectam nenhum sinal ou superfície preta, ele para e se move para trás e muda sua direção e se novamente sentir uma superfície branca, avance.
O diagrama do circuito é mostrado para este robô que evita a borda. A saída dos comparadores é conectada diretamente ao pino número P0.0 e P0.1 do microcontrolador. E os pinos de entrada 2, 7, 10 e 15 do driver do motor são conectados no número de pinos P2.3, P2.2, P2.1 e P2.4 respectivamente. E um motor é conectado no pino de saída do acionador de motor 3 e 6 e outro motor é conectado em 11 e 14.
Na programação, em primeiro lugar, definimos os pinos de entrada e saída. E então, na função principal, verificamos as entradas e enviamos a saída de acordo com os pinos de saída do motor de acionamento. Existem quatro condições neste avoider de borda que lemos usando o microcontrolador 8051. Usamos dois sensores: sensor esquerdo e sensor direito.
Condições:
Entrada |
Resultado |
Movimento do robô |
||||
Sensor Esquerdo |
Sensor Direito |
Motor Esquerdo |
Motor Direito |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
1 |
0 |
1 |
0 |
frente |
0 |
1 |
1 |
0 |
0 |
0 |
Parar / voltar / virar à direita |
1 |
0 |
0 |
0 |
1 |
0 |
Parar / voltar / virar à esquerda |
1 |
1 |
0 |
0 |
0 |
0 |
PARAR / voltar / virar à esquerda |
Escrevemos o programa de acordo com as condições da tabela acima.
Layout PCB