[TOC]
# 🧠Tempestade de Ideias
## Objetivos
Uma placa que seja otimizada e eficiente para o robô. O tamanho máximo que a PCB poderá ter é de 90x30x8mm
### Discussão sobre o formato da placa
1. Placa retangular conectando sensores nas pontas
2. Placa retangular com furos no meio para conectar sensores
3. Placa em T conectando sensores nas pontas
4. Placa em T com furos no meio para conectar sensores
### Definição sobre o formato da placa
Placa em T com furos no meio para conectar sensores
### Discussão sobre as versões da placa
1. Ter uma versão única com chip/modulo do ESP32
2. Ter duas versões: uma com o chip/modulo do ESP32 e outra com o DEVKIT V1
### Definição sobre as versões da placa
Ter duas versões: uma com o chip/modulo do ESP32 e outra com o DEVKIT V1
A versão com o DevKit seria usada para os testes no robô, já que o chip/modulo do ESP32 tende a queimar com facilidade quanto mais manuseamos/testamos ele.
Já a versão com o chip/modulo seria a versão mais otimizada que tende a ser a oficial do robô.
## Inovações
- PCB de 4 camadas;
- Módulo do ESP32;
- Sensor que mede distância.
## Microcontrolador
#### Versão [ESP32-WROOM-32E-N8](https://www.lcsc.com/product-detail/WiFi-Modules_Espressif-Systems-ESP32-WROOM-32E-N8_C701342.html)
Foto:
{width="300"}
Especificações:
| Tensão | Corrente | Circuito Auxiliar |
|--------|----------|-------------------|
| 3V | 239mA | Diversos, Ver Página 24 do Datasheet |
#### Versão [DevKit V1]()
Foto:
{width="300"}
Especificações:
| Tensão de Alimentação | Tensão nas GPIOS | Corrente | Circuito Auxiliar |
|-----------------------|------------------|----------|-------------------|
| 5V | 3V3 | ?mA | Não Tem |
## Sensores
### Sensores Infravermelhos de Oponente
#### 2 Sensores Frontais e 2 Sensores Laterais Infravermelhos [JS40F](https://www.jsumo.com/js40f-digital-infrared-ir-distance-sensor-min-40-cm-range)
Foto:
{width="300"}
Especificações:
| Tensão | Corrente | Distância | Circuito Auxiliar |
|--------|----------|-----------|-------------------|
| 5V | 15mA | 40cm | Divisor de Tensão de 5V para 3V3 no Pino de Sinal |
### Sensor Frontal de Distância
<details>
<summary>Pesquisa Sobre Diferentes Modelos de Sensores que Medem Distâcias</summary>
## TOF 10120
### + O tipo TOF (Time Of Flight) é utilizado por outras equipes de competição
### ++ [É barato (Aliexpress R$25 + R$25 frete)](https://pt.aliexpress.com/item/1005002841420016.html?spm=a2g0o.store_pc_allProduct.8148356.1.f858282f8cjW29&pdp_npi=2%40dis%21BRL%21R%24%2025%2C62%21R%24%2024%2C37%21%21%21%21%21%40210321ea16778213778841188ee06d%2112000022418018056%21sh)
### + Já temos códigos de outras equipes para testes e ajuda na implementação
### - Datasheet só fala sobre sua performance em superfÃcies brancas ou cinzas
### CaracterÃsticas:
- 2 Pinos Analógicos;
- Pinos RX/TX;
- 2 Pinos para alimentação;
- Funcionamento de 3 a 5V;
- Alcance de 10 a 180 cm com 95% de precisão;
- Dimensões 20.0x13.2x2.0mm;
- [Infos sobre o sensor](https://www.usinainfo.com.br/sensor-de-proximidade/sensor-de-distancia-a-laser-tof10120-de-alta-precisao-cabo-10-a-180cm-5851.html).


## VL53L0xXV2
### Também do tipo TOF
### + É utilizado por outras equipes de competição ([robô Mini Trinca da equipe TrincaBots](https://trincabotz.com.br/projetos/mini-trinca/))
### + Já temos códigos de outras equipes para testes e ajuda na implementação
### +++ Este exato modelo recebeu elogios no grupo dos sumôs
### +++ Parece ser amplamente utilizado em conjunto com o Arduino e facilmente se encontra informações na internet
### - [Baú da eletrônica por R$45](https://www.baudaeletronica.com.br/sensor-de-distancia-vl53l0x-de-alta-precis-o.html)
### - - Dimensões um pouco maiores: 25 x 12.7 x 3.5mm
### CaracterÃsticas:
- Utiliza Biblioteca Adafruit;
- Mede até 2m;
- Alimentação de 3 a 5V;
- Possui o total de 6 pinos:
- 2 para alimentação;
- 2 SCA e SDL (aparentemente vão em pinos normais)
- 2 Pinos de configuração:
- GPIOI: este é um pino que é usado pelo sensor para indicar que os dados estão prontos. A biblioteca que usamos (Adafruit) não faz uso deste pino, mas para usuários avançados pode vir a ser útil. (Pode ser útil pra gente que não quer importar muitas bibliotecas);
- XSHUT: o pino de desligamento do sensor. Por padrão é definido como HIGH. Quando a tensão no pino é LOW, o sensor entra no modo de desligamento.
([Para mais informaçôes clique aqui](https://www.usinainfo.com.br/blog/projeto-com-sensor-de-distancia-vl53l0x-e-arduino-para-alta-precisao/))
.
- Dimensões de 25 x 12.7 x 3.5mm;
- [Infos importantes](https://osoyoo.com/2019/04/21/arduino-lesson-vl53l0x-time-of-flight-distance-sensor/): Esquemático do módulo, etc;
- [Código da Equipe Neon para este sensor](https://github.com/project-neon/Esguicho/blob/feat/iron_cup_fevereiro/Software/Autonomous/distance_sensors.h);
- Instruções da **equipe Neon** para utilizá-lo:
"Esses sensores são bons
Pra configurar eles a gente aqui na Neon usamos a biblioteca da Pololu ao invés da Adafruit.
a sequência de ligação é assim:
- Conecta o VCC e o GND
- Coloca resistores de pull up no SDA e no SCL da comunicação, só um em cada linha já resolve, não precisa fazer pull up pra cada sensor
- Cada sensor vai conectar o XShut à uma porta digital do arduino
Para endereçar:
No void setup, usando a biblioteca da Pololu:
- coloca a porta de cada xshut dos sensores como OUTPUT, depois manda LOW pra todas elas.
- O endereço é configurado um a um, para o primeiro, vc muda a porta para INPUT, e deixa as outras como OUTPUT ainda, depois usando a biblioteca vc faz o endereçamento.
- Depois vc deixa a porta do que acabou de endereçar com INPUT mesmo, e muda a segunda para INPUT, e endereça o segundo, e faz isso pra todos os sensores.
Depois disso, os sensores já vão conseguir trabalhar juntos sem conflito.
Qualquer coisa dá uma olhada no nosso código e se houver dúvidas, só nos chamar que ajudamos no precisar";
- [Passo a passo da **equipe ThunderRatz** para o caso de não ser utilizado o ArduÃno](https://github.com/ThundeRatz/VL53L0X);
- Comentário positivo no grupo dos sumôs acerca da sua implementação com ESP32:

### IMPORTANTE!!
Existe também a versão VL53L1X. Aparentemente, as diferenças estão no range do sensor (L1x mede até 3m) e tem a capacidade de detectar mais de um objeto.
[Resposta da Polulu acerca da diferença entre os sensores](https://forum.pololu.com/t/vl53l0xv2-vs-vl53l0x-vs-vl53l1x/15072);
- [Página em ALEMÃO sobre suas diferenças](https://wolles-elektronikkiste.de/vl53l0x-und-vl53l1x-tof-abstandssensoren) (só colocar pra traduzir a página);
- [Datasheet do sensor VL53L1x](https://www.st.com/resource/en/datasheet/vl53l1.pdf);
- [Datasheet VL53L0x](https://www.st.com/resource/en/datasheet/vl53l0x.pdf).
## Sensor Sharp GP2Y0A21YK0F:
### +++ Já foi utilizado pela equipe TrincaBots no robô [mini Dino](https://trincabotz.com.br/projetos/dino/) e no [robô 3kg Hariyama](https://trincabotz.com.br/projetos/hariyama/));
**Quase certeza absoluta que atualmente utilizam o VL53L0x no Hariyama
### + Site da Polulu diz que a diferença de potencial na sua saÃda é 1.9V; ([Aqui](https://www.pololu.com/product/136/specs))
### + Barato (R$20,60 + R$27,18 frete) na [Ali](https://pt.aliexpress.com/item/4001203665133.html);
### +++ Promete não ser muito afetado pela refletividade do objeto;
### - - Bem maiores: 44.5 mm × 18.9 mm × 13.5 mm (1.75″ × 0.75″ × 0.53″);
### CaracterÃsticas:
- Infravermelho;
- Alimentação de 4.5 a 5.5V;
- Sua saÃda é analógica;
- Mede de 10 a 80 cm;
- Utiliza a biblioteca SharpIR-Master;
- Possui 3 pinos:
- 2 pinos de alimentação;
- 1 pino de sinal analógico.

- [VÃdeo explicativo sobre sua implementação com o Arduino](https://youtu.be/O1TSqNo_Ykk);
- [Texto sobre sua implementação com o Arduino](https://blogmasterwalkershop.com.br/arduino/como-usar-com-arduino-sensor-de-distancia-ir-longo-alcance-sharp-gp2y0a21yk0f)
</details>
Foto:
Especificações:
| Tensão | Corrente | Distância | Circuito Auxiliar |
|--------|----------|-----------|-------------------|
| ?V | ?mA | ?cm | ? |
### Sensores de Borda
2 Sensores na Frente e 1 Traseiro com PCBs Feitas pela Equipe com o [QRE1113](https://www.lcsc.com/product-detail/Reflective-Optical-Interrupters_onsemi-QRE1113GR_C232862.html)
Foto:
{width="300"}
Especificações:
| | Tensão | Corrente | Circuito Auxiliar |
|--|--------|----------|-------------------|
| QRE1113 - Emissor | 3V3 | 20mA | Resistor de 105R em Série |
| QRE1113 - Receptor | 3V3 | DesprezÃvel | Pullup com um Resistor de 47k |
| PCB Fabricada pela Equipe | 3V3 | 20mA | Não Tem |
### Módulo Iniciar
Módulo Iniciar [MicroStart Start Module](https://www.jsumo.com/microstart-sumo-minisumo-robot-start-module)
Foto:
{width="300"}
Especificações:
| Tensão | Corrente | Circuito Auxiliar |
|--------|----------|-------------------|
| 3V3 | 3mA | Não Tem |
## Driver de Motor
#### 2 DRV8871, um para cada motor
Foto:

Corrente de pico: 3,6A
### Reguladores de Tensão
#### 1 Regulador [MINI-360]() de 14,8V - 16,8V para 5V
Foto:
{width="300"}
Especificações:
| Tensão de Entrada | Tensão de SaÃda | Corrente Máxima de Entrada | Corrente Máxima de SaÃda | Circuito Auxiliar |
|-------------------|-----------------|----------------------------|--------------------------|-------------------|
| 14,8V - 16,8V | 5V | | | Não Tem |
#### Para versão apenas com o chip/modulo: 1 Regulador [LD1117](https://www.lcsc.com/product-detail/Linear-Voltage-Regulators-LDO_UMW-Youtai-Semiconductor-Co-Ltd-LD1117-3-3_C347229.html) de 5V para 3V3
Foto:
{width="300"}
Especificações:
| Tensão de Entrada | Tensão de SaÃda | Corrente Máxima de Entrada | Corrente Máxima de SaÃda | Circuito Auxiliar |
|-------------------|-----------------|----------------------------|--------------------------|-------------------|
| 5V | 3V3 | | | Capacitor de 10uF do Vin para o GND e Capacitor de 10uF do Vout para o GND |
## Circuito de Proteção
### Discussão
1. Usar o Diodo Schottky igual ao do Meri
2. O diodo schottky que usamos tem um limite de corrente de 3A e tem queda de tensão em cima
3. Existe a opção de não possuirmos circuito de proteção
4. Dependendo do tamanho que ocupar da placa iremos tira-lo
5. Podemos usar um conector de bateria que seja mais seguro
### Definição
A placa não terá circuito de proteção.
## Conexões e Conectores
### Conexão da Bateria
#### Discussão
1. Usar borne e JST vermelho como já fazemos
2. Não usar borne e soldar os fios do JST Vermelho na placa
3. Usar borne e XT30 para as baterias
4. Não usar borne e soldar fio do XT30 na placa
#### Definição
Continuaremos a utilizar o JST vermelho para os conectores das baterias com borne.
### Conexão dos Motores
#### Discussão
1. Usar borne e JST vermelho como já fazemos
2. Não usar borne e soldar os fios do JST Vermelho na placa
3. Usar borne e XT30 para as baterias
4. Não usar borne e soldar fio do XT30 na placa
#### Definição
Continuaremos a utilizar o JST vermelho para os conectores dos motores com borne.
### Conexão dos Sensores
#### Discussão
1. Tentar usar o KK por ser simples e fácil, mesmo ele sendo grande;
2. Usar JST;
3. Usar DF13.
#### Definição
Foi decidido utilizar o conector JST PH para todos os sensores.
## LEDs
### Discussão
1. LED para bateria;
2. LED para os reguladores;
3. LEDs para o ESP32.
### Definição
1 LED para a bateria e 1 LED para o ESP32 que irá acender quando o robô iniciar a luta.
## Chave LIGA/DESLIGA
### Discussão
1. Usar a que temos nas outras versões
2. Usar Master Switch igual dos combates
3. Usar a que temos só que com a alavanca maior
### Definição
O switch escolhido foi o SS-12D10L5, já utilizado em outras placas dos minis. Ele seria colocado na placa, mas teria a opção de colocá-lo externo e realizar a ligação com fios (Isso depende da disponibilidade de espaço na placa).
## Chave Modulo Iniciar
### Discussão
1. Usar o Switch do Atlas (igual o que tá implementado no 3kg)
2. Não usar nenhuma chave e só tirar e colocar o mod start com header
### Definição
Terá uma chave para ligar e desligar o modulo iniciar.
# :computer: Diagrama de Lógica

# :zap: Diagrama de Potência
## Versão ESP32-DEVKIT V1

## Versão ESP32-WROOM

# :pencil: Esquemático
# 🟩 PCB