Drone Racing

Explicando as diferenças entre as controladoras F1, F3, F4 e F7

Published

on

Quem pratica ou quer começar nos drones de corrida, acaba logo de cara se deparando com alguns termos novos e aqueles que se referem ao tipo de controladoras são alguns dos primeiros a termos que desvendar. F1, F3, F4 e F7 são na verdade os tipos de processador mais usados atualmente em controladoras e neste artigo iremos explicar detalhadamente as diferenças entre eles para ajudá-lo a decidir qual controladora é mais adequada para a sua necessidade.

O que são controladoras de vôo F1, F3, F4 e F7?

F1, F3, F4 e F7 são processadores da familia STM32, também conhecidos como Unidade Microcontroladoras (MCU) e são é o cérebro da controladora, similares ao processador dos nossos computadores. Existem atualmente 10 séries de MCU’s da série STM32, que são, do mais rápido ao mais lento, os seguintes: H7, F7, F4, F3, F2, F1, F0, L4, L1 e L0.

Processador (chip de exemplo) Velocidade do processador nro. de UART’s na FC Memória Flash*
F1 (STM32F103CBT6) 72MHz 2 128KB
F3 (STM32F303CCT6) 72MHz 3 256KB
F4 (STM32F405RGT6) 168MHz 3 1MB
F7 (STM32F745VG) 216MHz 8 1MB

 

* A memória flash em um processador STM32 é integrada dentro do chip e usada para armazenar o firmware. Não confunda com a memória flash utilizada para log de vôo (blackbox), que é um chip separado da controladora.

Controladoras F1

A primeira controladora de vôo de 32 bits a ser usada em um drone de corrida foi a CC3D, que tinha um processador F1.

Os processadores F1 são os que possuem o menor poder de processamento e passaram a ser considerados defasados desde o anúncio de que o firmware Betaflight deixaria de suportar esses chips devido a limitações de hardware.

Controladora Naze 32 F1

 

Entre as controladoras conhecidas que utilizam processadores F1 estão as Naze32 Rev5 e Rev6.

Controladoras F3

Processadores F3 foram introduzidos no mercado em 2014 e podem ser encontrados em várias placas populares como a X-Racer, Betaflight F3, LUX V2 e KISS FC.

Betaflight F3

Controladoras F4

As controladoras F4 foram introduzidas logo depois das F3.

Conforme o desenvolvimento dos firmwares foi evoluindo o chip F3 passou a sofrer para atender as necessidades de processamento intensivo sem demandar redução de looptime.

Processadores F4 estão se tornando mais populares por conta de vantagens como a capacidade de processamento extra e já podem ser encontrados em várias controladoras do mercado.

Revolt F4 V2

Controladoras F7

F7 é uma nova geração de MCU e controladoras com este chip são ainda bastante recentes no mercado.

Omnibus F7 V2

Diferenças entre controladoras de vôo F1 e F3

Simplificando, as placas F3 tem as seguintes vantagens sobre as F1:

– Velocidade de clock similar no papel, mas as F3 tem hardware adicional que aprimora suas capacidades frente às F1, como por exemplo a unidade FPU dedicada que permite cálculos de ponto flutuante mais rápidos.
– As placas F1 tem apenas 2 UART’s em comparação às 3 oferecidas pelas F3. Adicionalmente, e possívelmente mais importante que isso, as placas F3 dispõem de uma porta USB dedicada. ERa comum para usuários de placas F1 evitarem conectar quaisquer periféricos na UART1 para poder utilizá-la para conexão ao PC. Na prática isso significa que as placas F1 tinham apenas uma UART para hardware adicional, enquanto as F3 podem usar de fato todas as 3 UART’s para dispositivos extras.
– Todas UART’s das placas F3 têm inversão nativa, o que significa que você pode rodar SBUS e Smart Port diretamente sem necessidade de hacks de inversão.

Poder de Processamento

As placas F1 e F3 tem a mesma velocidade de clock de 72MHz, entretanto as F3 são melhores em cálculos de ponto flutuante graças à FPU (também conhecido como co-processador aritmético). Isso permite que placas baseadas no processador F3 rodem controladoras de PID baseadas em ponto flutuante de forma significantemente mais rápidas que as F1.

Looptime

O looptime mais alto que podemos rodar em uma Naze32 com processador F1 com Betaflight instalado é 2KHz. O processador é simplesmente incapaz de calcular looptime mais rápido que isso. (até pode ser forçada a 2.6KHz mas se torna instável).

Já as placas F3 suportam looptimes de até 4KHz, mesmo rodando tarefas que demandam muita CPU simultaneamente como acelerômetro, tiras de led, soft-serial, filtro dinâmico, etc. Uma F3 pode até mesmo rodar a 8KHz com filtro dinâmico desabilitado, porém uma F1 precisaria que muitos desses recursos fossem desabilitados para conseguir rodas a apenas 2K.

“Quando as pessoas falam sobre 8K/8K ou 4K/4K elas estão se referindo ao looptime e à taxa de amostra do gyro”.

– A maioria das controladoras F1 rodam entre 2K e 2.6K, mas se vocÊ tiver uma CC3D ela pode rodar 4K/4K devido ao seu gyro SPI.

– Controladoras F3 e F4 com Gyro SPI podem rodar 8K/8K, mas com gyro i2C suportam apenas 4K/4K.

– Os Gyros ICM-20602 e MPU6500/9250 são capazes de taxas de amostragem de 32K permitindo que controladoras como a Revolt, rodem em 32K/32K.

“Sempre que você alterar o looptime da sua controladora, verifique o uso de CPU através do comando ‘status’ da CLI. O consenso é de que o ideal é manter o consumdo de CPU sempre abaixo de 30% no firmware Betaflight, apesar de algumas placas suportarem um pouco mais.”

Número de UART’s

Fora o fato de ter maior processamento e suportar looptime mais rápido, as placas F3 também oferecem mais portas seriais para hardware extra (UART’s) todas com inversores nativos.

Dispositivos externos como MinimOSD, SBUS, SmartPort, Blackbox (sando Openlog e SD Card), conexão USB, GPS, etc… todos utilizam portas seriais.

Controladoras baseadas no chip F1 como a Naze32 possuem apenas 2 UART’s, o que limita o número de dispositivos externos. É frustrante ser forçado a escolher entre sacrificar o blackbox, SBUS ou MinimOSD, que eu gosto de incluir em todos meus projetos. Placas F3, no entanto, suportam o uso de todos eles ao mesmo tempo.

Outras vantagens comuns a controladoras F3

Muitas placas F3 atuais vêm com regulador de 5V integrados, e está ficando mais comum encontrá-las com PDB (placa de distribuição de energia) integrada também, o que significa que a placa pode ser alimentada diretamente pela sua bateria.

Diferenças entre placas F3 e F4

– A velocidade de processamento de um processador F3 (180MHz) é mais do que o dobro da de uma placa F1 ou F3 (72MHz) além de, a exemplodo que ocorre com as F3, também contar com co-processador matemático (FPU).

– É possível rodar looptime de até 32KHz em uma placa F4, comparado ao máximo de 8K de uma F3; E apesar de o Betaflight sugerir o uso de looptime a 8K em placas F4, mesmo podendo suportar mais, sobra mais processamento para rodar tarefas extras.

– Placas F3 possuem em geral 3 UART’s mas algumas controladoras F4 podem oferecer até 5 permitindo que você tire toda vantagem do processamento extra. Com a recente introdução das câmeras FPV com controladora serial, estras portas extras dão as placas F4 uma vantagem real.

– A funcionalidade de Filtro Dinâmico do Betaflight consumem bastante processamento, dando ao ganho de processamento outra vantagem importante.

– Controladoras F1 e F4 não dispõem da inversão nativa que as F3 e F7 possuem, de modo que se você quiser rodar SBUS ou Smart Port, você terá que proceder com um hack de inversão; já processadores F3 e F7, por serem uma nova geração de MCU, dispõem de inversor nativo em todas as UART’s.

Por que placas F4 não funcionam nativamente com SmartPort?

SmartPort é um protocolo half-duplex, o que quer dizer que o fio de sinal é bi-direcional, ou seja, dados são enviados e recebidos por ele (embora não ao mesmo tempo, e é por isso que se chama half-duplex).

Placas F3 e F7 conseguem manipular protocolos half-duplex internamente, então você pode conectar SmartPort diretamente a essas placas sem nenhuma modificação. Jã as F4 também possuem esta capacidade mas não com sinal invertido, e é por isso que elas não suportam SmartPort sem um circuito que faça a inversão de sinal de forma bidirecional.

Benefícios de placas F7 sobre F3 e F4.

– O processador F7 é mais rápido (216MHz vs 168MHz das F4).
– O processador F7 tem pipeline superescalar e DSP, o que significa que ele é uma plataforma melhor para futuros desenvolvimentos de firmware, permitindo que os desenvolvedores otimizem melhores os algoritmos de controle de vôo.

– Placas F7 possuem mais UART’s com inversão de sinal nativa, e com todos os periféricos que usamos atualmente – SBUS, OSD, VTX SmartAudio, SmartPort Telemetry, GPS, controle de câmera, etc… existem diversas aplicações e este número só vai aumentar.

A velocidade maior das controladoras F7 podem, teoricamente, suportar um looptime maior sem necessidade de overclocking. Porém, o looptime também é limitado pelo tipo do gyro (IMU) e sua taxa de amostragem (sampling rate). Por exemplo, com um gyro MPU6000 a taxa de amostragem pode ser de até 8KHz, então se você quiser um looptime de 32KHz, vai precisar de uma IMU com taxa de amostragem maior, como o ICM-20602.

Existem algumas controladoras F7 que inclusive dispõem de 2 IMU’s (gyros). Um deles usualmente é de um tipo comum, com baixo ruído como o MPU6000 e o outro é um gyro mais rápido que pode suportar taxas de 32KHz, como o ICM-20602. Apesar disso até o momento apenas um dos gyros é usado de cada vez, dependendo dos requerimentos mas talvez no futuro ambos possam ser usados simultaneamente para obter uma performance ainda melhor.

Então, qual? F1, F3, F4 ou F7?

É claro que você pode fazer seu drone voar muito bem com uma placa F1, mas as melhorias da F3 e F4 podem melhorar a performance dele e ainda permitir que você usufrua de funcionalidades que demandam grandes recursos.

Conforme os firmwares continuam a evoluir, a capacidade limitada das placas F1 não irão suportar todas as vantagens que o futuro reserva pois a memória flash dessas placas simplesmente não irá suportar o tamanho do software. Da mesma forma sua capacidade de processamento não irá suportar a sofisticação dos novos algoritmos.

Então na realidade a decisão fica entre as placas F3, F4 e F7.

A menos que você utilize um gyro (IMU) capaz de fornecer amostras a 32KHz e que permita que sua F7 rode looptime a 32KHz, o maior benefício é apenas o maior número de UARTS (8 a 10). Isso não é uma vantagem tão grande em termos de performance de vôo, mas é mais, digamos, a prova de evoluções. Em minha opinião placas F7 são melhores para aplicações onde um grande número de dispositivos seriais é requerido (se você usa um firmware iNav por exemplo).

Ainda vai levar algum tempo para que os fabricantes refinem seus designs e para os desenvolvedores de firmware entenderem todas as coisas legais que podem fazer com o processamento extra das placas F7, então não há muita pressa para entrar neste mundo ainda.

Se eu fosse comprar uma nova controladora hoje, eu provavelmente optaria por uma F4, pois geralmente vêm com diversas funcionalidades, tem preços convidativos e atendem com sobras as necessidades da maioria dos praticantes.

O que aconteceu com a F2, F5 e a F6?

Os únicos chips STM32 que já foram usados em controladoras de vôo são o F1, 3, 4 e 7, então aqueles leitores mais curiosos poderão se perguntar por que pularam o F2, F5 e o F6.

Primeiramente, a F2 é como se fosse uma versão antiga da F4 sem inversão de sinal nativa. Isso em conjunto com as capacidades aprimoradas de cálculo de ponto flutuante das F3 fizeram com que os desenvolvedores pulassem naturalmente da F1 para a F3.

STM32 F5 e F6 simplesmente não existem.

Este artigo foi originalmente publicado no endereço abaixo e traduzido e republicado aqui com prévia autorização do autor.

F1, F3, F4, G4, F7 and H7 Flight Controller Processors Explained

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Por favor, habilite o JavaScript para enviar este formulário.

Sair da versão mobile