# Sistema de Controle



# NI RoboRIO 2.0

___

O RoboRIO é o cérebro do robô, ele é responsável por armazenar o código e coordenar todas ações da máquina, assim, deve-se exercitar cuidado máximo ao manuseá-lo, sendo bastante sensível a lascas de alumínio.

Ele é capaz de exercer diversas operações matemáticas complexas, o que é essencial para que a máquina tenha o melhor desempenho possível. 

Há várias interfaces, como PWM, CAN, SPI e barramentos digitais e analógicos.

<p align=center >
<img src=https://docs.stemos.com.br/uploads/images/gallery/2023-11/scaled-1680-/untitled-image.png alt="module" width="50%"/>
</p>

<p class="callout info"> Lembrete: Antes de utilizar seu roboRIO você deve atualizá-lo para o firmware e imagem mais recentes (role até o final da página para encontrar o tutorial).</p>

Ele pode ser programado em LabVIEW, Java e C++.

### Descrição de cada interface do roboRIO

<p align=center >
<img src=https://docs.stemos.com.br/uploads/images/gallery/2023-11/scaled-1680-/group-174.png alt="module" width="80%"/>
</p>

1. Onde se conecta os cabos que energizam o Roborio, vindos da PDP
2. Para conectar o cabo USB A para USB B (conexão com o computador)
3. Entrada para cartão microSD
4. Host USB, podendo ser usados para câmeras e co-processadores
5. Para conectar o Rádio ou computador via Ethernet
6. Porta de comunicação tipo SPI
7. Sinalizam por meio de cores o status do RoboRIO
8. Portas para comunicação PMW
9. Para auxiliar a fixar o RoboRIO no robô
10. Reset - Reinicia o RoboRIO; User - Botão programável
11. Barramento para leitura analógica
12. Porta para conectar relés (Exemplo: Spike)
13. Para conectar a RSL
14. Barramento de leitura e escrita digital
15. Porta para circuitos adicionais e expanção(MXP)
16. Porta para comunicação via RS232
17. Entrada para a comunicação tipo I2C
18. Entrada para a comunicação tipo CAN (início da linha CAN)

### Guias

[Link para a página do fornecedor](https://www.andymark.com/products/ni-roborio-2)

[Link para o manual de usuário](https://www.ni.com/docs/en-US/bundle/roborio-20-umanual/page/umanual.html)

[Documentação oficial da FIRST e WIP sobre o RoboRIO e LabVIEW](https://docs-teste.readthedocs.io/en/latest/docs/getting-started/getting-started-frc-control-system/index.html#primeiros-passos) - a stemOS em colaboração com a equipe Under Control 1156, traduziu o material para português.

[Tutorial para atualizar o firmware e a imagem](https://docs.stemos.com.br/books/roborio/chapter/criando-imagem)

___

# Power Distribution Hub (PDH)

___
O Power Distribution Hub (PDH), é o coração do robô. Ele recebe
a energia vinda diretamente da bateria e a distribui conforme a
necessidade entre os sistemas do robô.

Nele existem várias aberturas nas laterais, onde devem ser encaixados os cabos dos componentes do robô. No centro dele há várias aberturas onde devem ser encaixados os [Fusíveis](https://docs.stemos.com.br/uploads/images/gallery/2023-12/scaled-1680-/screenshot-2023-12-07-at-16-53-13.png).

Nas entradas menores, devem estar as conexões para os componentes mais importantes do robô: o RoboRIO, a MPM e a PH.

<p align=center >
<img src=https://docs.stemos.com.br/uploads/images/gallery/2023-11/pdhlabel-png-figma-www-figma.png alt="module" width="70%"/>
</p>

<p class="callout info">Lembrete: Antes de utilizar se PDH, você deve atualizá-la para o firmware mais recente disponível no REV Hardware Client.</p>

Antes de utilizá-la, fique atento ao link abaixo, onde encontrará a página do
PDH no site da REV. 

Ali você encontrará os recursos disponíveis, como o manual, seu projeto em CAD, documentação (em inglês), e firmware.

___

### Guias

[Link da página do fabricante](https://www.revrobotics.com/rev-11-1850/)

# Fusível

___
Fusível de reset automático, serve para limitar a corrente que está passando da PDH para, por exemplo, um controlador de motor, protegendo-o de possíveis curto-circuitos ou sobre-correntes. 

É importantíssimo saber o fusível adequado para cada componente eletrônico antes de ligá-lo.

Se você está escutando um estalo vindo da sua PDH, é provável que este fusível esteja abrindo devido a algum curto.

<p align=center >
<img src=https://docs.stemos.com.br/uploads/images/gallery/2024-05/fusegroup30and40.png alt="module" width="50%"/>
</p>

<p class="callout info">Lembrete: A corrente de
abertura do fusível delimita
a espessura dos cabos que
devem ser conectados
naquela porta da PDH.
Preste bastante atenção
nisso e faça uma boa
leitura das regras elétricas
no manual!</p>

___

### Guias

[Link da página do fabricante do fusível de 30A](https://www.revrobotics.com/rev-11-1862/)

[Link da página do fabricante do fusível de 40A](https://www.revrobotics.com/rev-11-1863/)

# Bateria 12V

___

Está bateria é do padrão de Jet-Ski, 12V e 18Ah.
São necessários uma série de cuidados ao manipulá-la.

Ela é grande e pesada, logo, tenha sua localização em mente quando projetar o seu robô!

E lembre-se, um robô de FRC consome altas correntes, por isso é imprescindível manter a bateria sempre carregada e, se necessário, trocá-la por uma mais carregada.

Equipes normalmente levam pelo menos 2 baterias para eventos de competição.

<p align=center >
<img src="https://docs.stemos.com.br/uploads/images/gallery/2023-11/bateria-frc-1.png" alt="module" width="50%"/>
</p>

Dependendo do consumo de corrente do seu robô, ela deve durar entre 20 a 50min. Você pode verificar a tensão da bateria na Driver Station do seu robô.

<p align=center >
<img src="https://docs.stemos.com.br/uploads/images/gallery/2023-11/group-179.png" alt="module" width="100%"/>
</p>

Se o seu robô está parado e a tensão está abaixo de 12V, está na hora de colocar a bateria para carregar. Uma bateria descarregada altera significativamente o desempenho do seu robô.



### Guias

[Link da página do fabricante](https://stemos.com.br/produto/bateria-12v-18ah-legal-para-frc/)

___

# Carregador de Baterias

Quando a carga da bateria estiver completa (indicado por uma luz verde no carregador) retire-a do carregador. Sobrecarregar a bateria pode diminuir severamente a vida útil dela!

Desconecte a bateria do carregador ANTES de tirá-lo da tomada. Deixar a bateria ligada ao carregador com ele fora da tomada faz com que ela perca um pouco da carga.

Uma carga típica de uma bateria descarregada leva pelo menos 3 horas.

<p align=center >
<img src="https://docs.stemos.com.br/uploads/images/gallery/2023-11/carregador-noco-1-banco-1.jpg" alt="module" width="50%"/>
</p>

### Guias

[Link para a página do fabricante](https://stemos.com.br/produto/carregador-de-bateria-noco-12v/)

# Rádio

---
O VH-109 (rádio) é o componente responsável por realizar a comunicação entre o robô e o Field Management System, conhecido como FMS, este é o sistema que faz com que toda a quadra funcione e contabilize as pontuações, além de garantir que os robôs operem conforme o esperado como por exemplo durante o período autônomo e o fim da partida.

A partir da temporada REEFSCAPE a FRC conta com um novo rádio e um novo sistema de comunicação que utiliza a tecnologia Wifi 6 para reduzir a latência e melhorar a performance da rede usando MU-MIMO.

<p align=center>
<img src=https://docs.stemos.com.br/uploads/images/gallery/2024-10/image.jpg alt="module" width="70%"/>
</p>

### Guias


[Link para página do fabricante](https://frc-radio.vivid-hosting.net/)

[Link para a documentação](https://docs.stemos.com.br/books/radio-vh-109)

# SPARK MAX

---
O SPARK MAX é o controlador de motores para motores escovados e não escovados DC, ele conta com conexões PWM, CAN e USB.

Ele é compatível com os motores:

- NEO Brushless Motor
- NEO 550 Brushless Motor
- CIM/Mini CIM Motors
- 775Pro/Redline Motors
- BAG Motor
- Virtualmente qualquer motor escovado DC de 12V**
- Não escovado DC
- Escovado DC

<p align=center>
<img src=https://docs.stemos.com.br/uploads/images/gallery/2023-11/screenshot-2023-11-08-at-14-02-49.png alt="module" width=60%/>
</p>

### Guias

[Link da página do fabricante](https://www.revrobotics.com/rev-11-2158/)
[Link para documentação](https://docs.stemos.com.br/books/sparkmax)