Rover: mudanças entre as edições

De Caninos Loucos
Ir para navegação Ir para pesquisar
Introdução e ambiente de desenvolvimento
Linha 1: Linha 1:
[[Arquivo:tanque-labrador.jpeg|thumb|400px|Tanque de controle remoto]]
[[Arquivo:tanque-labrador.jpeg|thumb|400px|Tanque de controle remoto]]
Aqui será resumido o processo de desenvolvimento do tanque controlado remotamente usando a Labrador. De forma a simplificar o entendimento o processo completo será dividido nas seguintes partes:


*Montagem física: Apresenta uma breve explicação dos elementos utilizados na montagem do tanque e como eles foram ligados.
= Introdução =


*Controle GPIO: Controlando o tanque pelo teclado - Apresenta um exemplo simples de controle via input de teclado.
O projeto Rover consiste em uma prova de conceito para a viabilidade de um '''remote lab'''. De forma resumida, um '''remote lab''' consiste em conduzir e operar experimentos e equipamentos em um laboratório de maneira remota. Nesse sentido, foi desenvolvido o projeto Rover, que utiliza a placa labrador e pode ser controlado remotamente através de uma interface web.


*Configurando access point: Mostra como configurar um ponto de acesso para que o tanque seja controlado via Wi-Fi sem depender de uma conexão externa
= Preparando o ambiente de desenvolvimento =


= Montagem Física =
== Tecnologias ==


A montagem do tanque é feita de maneira muito simples. O desenvolvedor possui liberdade para alterar o projeto de acordo com suas preferências.
*Python 3.8.10;
*Labrador 32 bits;
*Debian 10.


Para montar o Tanque Foram usadas as seguintes partes componentes:
== Componentes ==


*Chassi OSEPP Tank Kit
*Chassi OSEPP Tank Kit;
*Labrador
*Labrador;
*Ponte H L298
*Ponte H L298;
*Pilhas (6), cabos e conectores
*Bateria 9v, cabos e conectores.


== Chassi ==
== Bibliotecas ==
O Chassi utilizado já vem pronto para uso com motores e suporte de pilha instalados facilitando a montagem do Tanque. Outra vantagem do chassi utilizado é que ele possui inúmeros furos nos quais é possível fixar as placas de controle adicionais por meio de espaçadores.


== Labrador ==
*fastapi 0.103.0;
A Labrador é basicamente a central de comando do Tanque. Ela foi fixada utilizando espaçadores M3 presos ao chassi. Foram feitas as seguintes conexões à placa:
*uvicorn 0.22.0;
*python-socketio 5.9.0;
*gunicorn 21.2.0.


1. Alimentação: Ligada diretamente à saída do conjunto de pilhas
Recomenda-se o uso de um arquivo '''requirements.txt''' para as bibliotecas.
 
2. Sinais de controle: É possível escolher pinos arbitrários de GPIO que são ligados às entradas de controle da ponte H
 
3. Sinal 5V: O pino de 5 volts é ligado à ponte H na porta de referência.
 
== Ponte H ==
A ponte H possui conexão a todos os elementos do sistema:
 
*Motores: Os motores são conectados um de cada lado da ponte H
*Alimentação
*Referência de tensão: Obtida da placa de controle (Labrador)
*Sinais de controle: responsáveis por controlar o estado do motor e, eventualmente, sua velocidade de rotação
 
== Alimentação ==
O chassi utilizado acompanha um suporte para 6 pilhas AA que foi utilizado, entretanto pode ser interessante substituí-las por baterias recarregáveis.
 
= Controle GPIO =
Como citado na seção sobre a montagem foi utilizada uma ponte H L298 para controlar a rotação do motor. Alimentando as portas de controle da ponte H com a combinação correta fará com que o motor rotacione em determinada direção, freie ou fique em ponto morto. O L298 ainda possui portas que controlam se o motor está habilitado ou não, essas portas podem ser utilizadas para aumentar ou diminuir a velocidade de rotação das esteiras por meio de um PWM.
 
== Controle Digital Simples ==
Um controle digital para o carrinho, ou seja, contendo apenas comandos para ir para frente/trás e rodar no lugar para a direita/esquerda. Nessa primeira abordagem não haverá controle de velocidade e o tanque terá de fazer paradas para mudar de direção.
 
== Programação GPIO ==
Informações relevantes para a programação GPIO podem ser encontradas na página [[Programação GPIO]]. Essas informações serão utilizadas para criar um Software de controle simples.
 
== Programa em C ==
 
=== Configurando a GPIO ===
A primeira grande tarefa do algoritmo de controle é configurar o GPIO indicando as portas que serão usadas e se serão usadas como input ou como output.
 
=== Em construção ===

Edição das 18h25min de 25 de junho de 2024

Tanque de controle remoto

Introdução

O projeto Rover consiste em uma prova de conceito para a viabilidade de um remote lab. De forma resumida, um remote lab consiste em conduzir e operar experimentos e equipamentos em um laboratório de maneira remota. Nesse sentido, foi desenvolvido o projeto Rover, que utiliza a placa labrador e pode ser controlado remotamente através de uma interface web.

Preparando o ambiente de desenvolvimento

Tecnologias

  • Python 3.8.10;
  • Labrador 32 bits;
  • Debian 10.

Componentes

  • Chassi OSEPP Tank Kit;
  • Labrador;
  • Ponte H L298;
  • Bateria 9v, cabos e conectores.

Bibliotecas

  • fastapi 0.103.0;
  • uvicorn 0.22.0;
  • python-socketio 5.9.0;
  • gunicorn 21.2.0.

Recomenda-se o uso de um arquivo requirements.txt para as bibliotecas.