Propwash: descubra a causa real no seu log
Propwash é o balanço que acontece quando o drone cai no próprio ar turbulento. As hélices encontram o ar que já foi agitado, e o empuxo de cada motor varia. Não dá para eliminar a física, mas o propwash excessivo geralmente tem uma de três causas, cada uma com uma correção diferente: motores caindo para idle, atraso dos filtros ou pouco amortecimento. Aumentar o D sem critério é a forma mais comum de esquentar os motores sem resolver nada. Todos os números abaixo vêm de logs reais do conjunto de testes do bbdoctor.
O que é propwash e quando ele é pior
O drone está sempre empurrando o ar para baixo. Voando para frente ou subindo, as hélices encontram ar limpo; corte o acelerador e o drone cai na própria esteira, onde cada hélice encontra vórtices ascendentes e descendentes alternadamente. O efeito é pior depois de um corte, em split-S e outras curvas por cima, em mergulhos recuperados perto do chão e em curvas fechadas de 180° que atravessam o próprio fluxo de ar.
No vídeo, aparece como um tremor ou, nos casos graves, um balanço visível; no log, como oscilação do giroscópio, principalmente entre 15–30 Hz. Diferentemente do ruído dos motores (centenas de hertz, motores quentes), o propwash é de baixa frequência: a controladora de voo percebe o erro, mas não consegue corrigi-lo a tempo.
Por que calcular a média de todos os cortes engana
A oscilação do giroscópio entre 15–80 Hz depois de um corte não vem apenas do ar turbulento. Se você dá um flip logo após cortar o acelerador, o stick leva o setpoint a centenas de graus por segundo, o giroscópio tenta acompanhar com atraso e o erro entre giroscópio e setpoint nessa mesma faixa fica enorme. Ao calcular a média de todos os cortes, você vai indicar um propwash terrível quando há apenas o atraso normal do loop. Veja os logs reais:
| Log | Cortes | Limpos | Média de todos os cortes | Apenas cortes limpos |
|---|---|---|---|---|
| Betaflight 4.2.5, 4S, registro a 2 kHz | 15 | 3 | 18.4 deg/s | 1.8 deg/s |
| Betaflight 4.5.1, 6S, 1 kHz | 52 | 19 | 9.4 deg/s | 0.85 deg/s |
| Betaflight 4.5.1, 6S, 1 kHz, outro log | 58 | 35 | 7.2 deg/s | 1.2 deg/s |
| Betaflight 4.5.1, 6S, 1 kHz, terceiro log | 52 | 17 | 4.2 deg/s | 1.0 deg/s |
| VX3.5, Betaflight 4.5.2, 4S | 63 | 38 | 3.8 deg/s | 2.0 deg/s |
No primeiro log, 12 dos 15 cortes foram seguidos imediatamente por um flip, com setpoint perto de 800 deg/s. Juntos, eles dão um valor "crítico" de 18.4 deg/s; os três cortes com sticks centralizados marcaram 1.8. O drone não tem nada de errado; o piloto só gosta de dar flip ao cortar o acelerador.

O conjunto de testes do bbdoctor tem 15 voos de Betaflight com três ou mais cortes limpos (firmware da versão 3.1.5 até 2026.6), e todos marcam 0.5–2.0 deg/s nos cortes limpos. Um log do Betaflight 4.6.0 teve média de 10.9 deg/s em cinco cortes, mas apenas um estava limpo, então o relatório diz "não é possível avaliar". Apenas um tiny whoop 1S com INAV 8.0 ficou acima do normal: 9.4 deg/s em três cortes limpos. Mas há um detalhe: os três fazem parte de uma sequência de 1.2 segundo de cortes e punch-outs, com o acelerador retomado após 0.2–0.4 s, dentro da janela de medição. Com os motores em baixa rotação, a oscilação ficou em 2.9–6.4 deg/s; no punch-out, com os motores cravados em 100%, chegou a 10–15.
O teste de corte
Para medir o propwash em vez dos seus flips, faça um teste curto dedicado: use metade da bateria e repita depois de cada mudança de configuração, com o mesmo tipo de bateria e em condições de vento parecidas.
- Ative o blackbox (veja o guia de configuração do blackbox). A faixa do propwash termina em 80 Hz, mas registre a 1 kHz ou mais: em taxas menores, o ruído dos motores acima da metade da taxa de registro sofre aliasing e pode cair nessa faixa. A 2 kHz, o ruído dos motores também aparece melhor, e isso determina se você pode aumentar o D.
- Suba com 50–70% de acelerador. Um corte só conta se o acelerador estava acima de 35% 0.15 s antes e caiu mais de 25 pontos percentuais.
- Corte o acelerador para zero de uma vez e mantenha-o assim, com roll e pitch centralizados, por pelo menos um segundo, deixando o drone cair no próprio fluxo de ar. A janela de medição vai de 0.08–0.6 s após o corte: se der punch-out antes, o bbdoctor contabiliza como propwash.
- Estabilize o drone, suba novamente e repita de seis a oito vezes. Escolha um lugar sem obstáculos: cortes que terminem em impacto ou pouso são descartados.
Três cortes limpos dão uma estimativa aproximada; para uma conclusão confiável, são necessários cinco. Com oito ou mais, o pior é descartado, então um corte azarado não define o voo. Pequenas correções são aceitáveis: o corte continua limpo enquanto o setpoint de roll e pitch ficar abaixo de 150 deg/s, e qualquer frequência abaixo de 15 Hz é filtrada de qualquer forma.
Como analisar o propwash em um log
- Encontre um corte no Blackbox Explorer ou em outro visualizador: o traço do acelerador cai bruscamente.
- Confira o setpoint de roll e pitch durante o meio segundo seguinte. Se houver um flip (centenas de deg/s), descarte esse corte.
- Se o setpoint ficar perto de zero, observe o giroscópio entre 0.1–0.6 s após o corte. Propwash é uma oscilação rápida em torno do setpoint: a 20 Hz, são cerca de dez oscilações nessa janela.
- Observe os motores e o acelerador na mesma janela. Um motor parado no limite mínimo significa que a controladora de voo não tem mais como frear daquele lado. Se o acelerador já voltou e os motores chegaram a 100%, isso não é propwash; descarte o corte.
- Conte as oscilações por 0.1 s. Até quatro (até 40 Hz) apontam para amortecimento; cinco ou mais (50 Hz ou mais), para atraso dos filtros. O bbdoctor usa 45 Hz como limite.

As três causas e como o bbdoctor diferencia cada uma
Quando o propwash nos cortes limpos está acima do normal, a pergunta é: por quê? O bbdoctor decide com base nas mesmas janelas após o corte:
| Causa | O que o log mostra | Como o bbdoctor decide | O que fazer |
|---|---|---|---|
| Idle | O motor mais fraco fica no limite mínimo durante o corte, muitas vezes é o mesmo par em todas as ocasiões | O motor mais fraco fica a menos de 2% do limite mínimo durante pelo menos 30% da janela em metade ou mais dos cortes limpos, ou esses cortes são 1.5 vez piores que os demais pela mediana (com pelo menos dois de cada) | Dynamic Idle ou idle mais alto; deixe o D como está |
| Atraso dos filtros | Motores fora do limite mínimo, oscilação rápida a partir de cerca de 45 Hz | A frequência principal mediana dos cortes limpos é de 45 Hz ou mais | Cortes dos filtros passa-baixa do termo D +15%, se os motores esfriarem após o voo |
| Pouco amortecimento | Motores trabalhando, oscilação abaixo de 45 Hz, geralmente entre 15–30 | Todos os outros casos | D +10% (valor base e limite máximo juntos); em motores ruidosos, P +10% |
Gravidade: abaixo de 4 deg/s é normal, de 4–10 é um alerta, 10 ou mais é crítico. Com apenas 3–4 cortes limpos, qualquer valor acima do normal significa "verifique novamente no próximo voo", não "mude as configurações agora".
Todos os logs de Betaflight do conjunto, menos um, atingem o pico entre 16–24 Hz, na faixa de amortecimento; o tiny whoop INAV, em 26 Hz. A exceção, um log de Betaflight 2026.6 perto de 50 Hz, tem apenas 1.2 deg/s de propwash e foi registrado a apenas 247 Hz, então qualquer coisa acima de 123 Hz sofre aliasing e aparece em frequência menor. Um pico alto em um log lento pede cautela, não filtros novos.
Causa 1: motores caindo para idle
Um motor não consegue girar abaixo do idle. Se o motor mais fraco já está no limite mínimo, a controladora de voo só consegue acelerar os outros; não consegue frear daquele lado, e nenhum aumento de D muda isso.
Betaflight 4.3+ com DShot bidirecional. Ative o Dynamic Idle, que mantém um RPM mínimo usando telemetria em vez de uma porcentagem fixa do acelerador. O valor é dado em centenas de RPM: cerca de 30 para um drone de 5" (3000 rpm), 40–50 para um de 3", 20–25 para um de 7". Se já estiver ativado, aumente 5. Na versão 4.2, a mesma ideia se chamava idle_min_rpm e funcionava junto com dshot_idle_value.
set dyn_idle_min_rpm = 30
save
Dois voos de um drone 6S com Betaflight 4.5.1 e dyn_idle_min_rpm = 35: nenhum dos 19 e 35 cortes limpos foi considerado "em idle". Dois outros logs 6S com o mesmo firmware estão com o Dynamic Idle desativado; neles, um motor ficou no limite mínimo em 12–13% dos cortes limpos. Em um deles, esses cortes marcaram 2.4 vezes mais que os demais, embora a média do voo ainda fosse 1.0 deg/s.
Com o Dynamic Idle ativado, a versão 4.3+ ignora dshot_idle_value: o cabeçalho desses logs indica que o limite mínimo do motor (motorOutput) é 48, DShot zero, em vez de 158. Aumentar dshot_idle_value nesse caso não adianta; aumente dyn_idle_min_rpm.
Sem telemetria RPM, aumente o idle estático em 1% do acelerador (+100 unidades): dshot_idle_value na versão 4.5 e anteriores, motor_idle na 2025.12+. O airmode precisa estar ativado, ou a estabilização enfraquece com acelerador zerado.
set dshot_idle_value = 650
save
INAV. throttle_idle é expresso em porcentagem (padrão 8). Aumente 2 e mude o airmode para o modo de limite de acelerador, para que o termo I não congele com acelerador zerado e sticks centralizados. A documentação do INAV recomenda esse modo para multirrotores com hélices de até 7"; o airmode também precisa estar ativado.
set throttle_idle = 10
set airmode_type = THROTTLE_THRESHOLD
save
Foi isso que o bbdoctor recomendou para o tiny whoop 1S com INAV: 9.4 deg/s em três cortes limpos (8.6, 11.1 e 8.6), frequência principal de 26 Hz, com o motor mais fraco no limite mínimo durante 46% e 36% da janela em dois cortes. Com apenas três cortes e o acelerador retomado antes do fim da janela, a recomendação vem como "se for confirmado": confirme com um teste limpo.
ArduPilot: aumente MOT_SPIN_MIN em 0.02, mantendo-o pelo menos 0.03 acima de MOT_SPIN_ARM. PX4: DSHOT_MIN +0.01 ou PWM_MAIN_MINx +20 µs para ESCs analógicos.
Um idle mais alto deixa o drone mais flutuante: descidas mais lentas com acelerador zerado, pousos mais duros e queda mais rápida quando invertido. Aumente um passo por vez e deixe o D como está nesta etapa.
Motores no limite mínimo não são um problema por si só. Em um log do Betaflight 4.0, o motor mais fraco ficou em idle em 78% dos cortes limpos, com propwash de 1.1 deg/s; no VX3.5, esses cortes não foram piores que os demais (0.6–1.0 do nível deles). Idle só é a causa quando o propwash está acima do normal.
Causa 2: atraso dos filtros
Todo filtro adiciona atraso. Se o termo D estiver filtrado demais, o amortecimento chega tarde e o loop oscila em uma frequência relativamente alta, a partir de cerca de 45 Hz. Aumente os cortes dos filtros passa-baixa do termo D em cerca de 15%:
- Betaflight 4.3+, incluindo 2025.12:
dterm_lpf1_dyn_min_hzedterm_lpf1_dyn_max_hz, oudterm_lpf1_static_hzse o filtro dinâmico estiver desativado. - Betaflight 4.0–4.2:
dyn_lpf_dterm_min_hz,dyn_lpf_dterm_max_hzoudterm_lowpass_hz. - Na versão 4.3+, desative primeiro o slider do filtro do termo D (
simplified_dterm_filter = OFF), ou o Configurator substituirá seus valores na próxima vez que você salvar.
Exemplo para a versão 4.5 com filtro dinâmico de 75–150 Hz e o slider ativado, como nos logs 6S do conjunto:
set simplified_dterm_filter = OFF
set dterm_lpf1_dyn_min_hz = 86
set dterm_lpf1_dyn_max_hz = 173
save
Na versão 4.2 com filtro de 70–170 Hz, o mesmo ajuste resulta em 81 e 196 Hz para dyn_lpf_dterm_min_hz e dyn_lpf_dterm_max_hz.
Uma condição: os motores precisam esfriar após o voo. Se estiverem visivelmente mais quentes que antes, reverta a mudança. Toque neles logo após pousar, com a bateria desconectada. Se já estiverem ruidosos e quentes, mantenha os cortes como estão e resolva primeiro a mecânica e o ruído (filtros e motores quentes). Esse guia também explica o filtro RPM, que permite filtrar menos sem custo.
Causa 3: pouco amortecimento
Motores fora do limite mínimo e oscilação abaixo de 45 Hz (geralmente entre 15–30) significam que o loop precisa de mais D (ou P). Aumente o D de roll e pitch em 10%, subindo juntos o valor base e o limite máximo:
- 4.0–4.5: o valor base é
d_min_roll/d_min_pitch; o limite máximo éd_roll/d_pitch. No Configurator das versões 4.3–4.5, são as colunas "Derivative" e "D Max". - 4.6 / 2025.12+: o valor base é
d_roll/d_pitch; o limite máximo éd_max_roll/d_max_pitch.
Exemplo para a versão 4.5 com a mesma configuração 6S (roll: base 33, limite máximo 44; pitch: 37 e 50; sliders PID ativados):
set simplified_pids_mode = OFF
set d_min_roll = 36
set d_roll = 48
set d_min_pitch = 41
set d_pitch = 55
save
Na versão 2025.12, os mesmos valores vão para d_roll/d_max_roll e d_pitch/d_max_pitch. A primeira linha desativa os sliders PID; caso contrário, o Configurator recalcula seus valores a partir deles na próxima vez que você salvar. Para continuar usando os sliders, mova o slider de amortecimento.
D boost nos cortes. O D aumenta do valor base em direção ao limite máximo com o movimento dos sticks e também com a própria oscilação, percebida pelo giroscópio. Isso é controlado por d_max_gain (d_min_boost_gain na versão 4.0–4.2). Com valor base baixo e limite máximo alto, aumentá-lo adiciona D durante o propwash, mantendo o voo estável silencioso. Saiba mais sobre D Max e os nomes do D em cada versão no guia de ajuste de PID.
Quando não aumentar o D. O D amplifica o ruído do giroscópio, e esse ruído vai direto para os motores. Se os motores estiverem quentes ou ruidosos, aumente o P de roll e pitch em 10%: o P também estabiliza o drone e adiciona bem menos ruído. Faça isso somente se esses eixos não apresentarem overshoot; se a resposta ao degrau já indicar que você deve reduzir o P, deixe-o como está e resolva primeiro a mecânica e o ruído. Faça uma mudança por voo.
Em outros firmwares: o INAV usa mc_d_roll/mc_d_pitch, o ArduPilot usa ATC_RAT_RLL_D/ATC_RAT_PIT_D, e o PX4 usa MC_ROLLRATE_D/MC_PITCHRATE_D. O mesmo guia mostra como verificar se o D não está excessivo.
Mecânica e centro de gravidade
Tudo que reduz a margem de empuxo dos motores piora o propwash. Uma hélice lascada ou empenada gera empuxo desigual justamente quando o ar já está turbulento, e folga nos rolamentos ou um stack solto adiciona o ruído que impede você de aumentar o D (como encontrar o motor ou a hélice com problema).
Um fator menos óbvio é o centro de gravidade. Em três logs do VX3.5, o par traseiro (M1 e M3 no layout padrão do Betaflight) trabalha 42–54% mais que o dianteiro: 27–37% de saída dos motores contra 19–25%. Não é efeito da aerodinâmica em voo rápido para frente: em trechos quase nivelados (1 g ± 5%, rotação abaixo de 30 deg/s), a diferença é a mesma, 42–50%. Com o peso deslocado para trás, os motores dianteiros têm menos trabalho e são os primeiros a cair em direção ao idle durante um corte: nos 38 cortes limpos de um voo, o motor mais fraco era dianteiro. O propwash desse drone ainda está normal, em 2.0 deg/s, mas, se não estivesse, mover a bateria para frente seria melhor que aumentar o D.
Quando deixar como está
- O propwash nos cortes limpos está abaixo de 4 deg/s, como em todos os logs de Betaflight do conjunto. O que aparece no vídeo é a física: mais D ou menos filtragem não vão eliminar isso, apenas esquentar os motores.
- Há menos de três cortes limpos. Faça o teste primeiro.
- Há indícios de uma causa, mas o nível está normal. No log da versão 4.2.5, o motor mais fraco ficou em idle em dois dos três cortes limpos, e o log 2026.6 teve pico perto de 50 Hz. Com 1.8 e 1.2 deg/s, o relatório corretamente recomenda não mudar nada.
- A oscilação só aparece em flips e split-S com os sticks em movimento. Parte é propwash e parte é atraso do loop, e o log não consegue separar os dois. Faça o teste de corte; se o resultado for normal, observe o bounce-back depois que você soltar os sticks, que o bbdoctor verifica separadamente.
Erros comuns: avaliar o propwash usando todos os cortes, inclusive os que incluem flips (18 deg/s em vez de 1.8), dar punch-out antes do fim da janela, aumentar o D quando um motor está em idle, aumentar os cortes dos filtros com motores quentes e mudar três coisas de uma vez.
Verifique automaticamente
Envie seu log para o bbdoctor; é grátis e mede o propwash exatamente como descrito acima. O relatório mostra um resumo como "Propwash: 1.8 deg/s após cortes de acelerador", quantos cortes foram contabilizados e por que os demais foram descartados, a frequência principal e, se o propwash estiver acima do normal, a causa e os comandos para seu firmware com base nos valores atuais.
Com menos de três cortes limpos e muitos flips, ele diz "não é possível avaliar" e explica o teste. Não sugere aumentar o D em motores ruidosos e sinaliza logs lentos de PX4 e ArduPilot em que o limite superior da faixa não aparece. Veja um relatório de exemplo ou confira suas configurações sem um log na verificação de configuração.
Perguntas frequentes
Por que meu drone treme quando corto o acelerador?
Isso é propwash: o drone cai na própria turbulência descendente e as hélices encontram ar turbulento. Quando o problema é sério, geralmente há uma de três causas: motores caindo para idle, atraso dos filtros do termo D ou pouco amortecimento. O log mostra qual delas: veja se algum motor fica no limite mínimo e qual é a velocidade da oscilação.
Aumentar o D corrige o propwash?
Só quando a causa é pouco amortecimento (motores fora do limite mínimo, oscilação abaixo de 45 Hz) e os motores esfriam após o voo. Se o motor mais fraco fica em idle durante o corte, o que resolve é Dynamic Idle, não o D. Com motores quentes ou ruidosos, aumente o P em 10% em vez do D, desde que a resposta não tenha overshoot.
Como testo o propwash em um log blackbox?
Faça de seis a oito cortes retos: suba com mais de 35% de acelerador, corte para zero de uma vez e mantenha os sticks centralizados por um segundo. Dar um flip logo após o corte invalida a medição, porque o movimento dos sticks provoca a mesma oscilação de 15–80 Hz. Você precisa de pelo menos 3 cortes limpos, e de 5 para ter uma conclusão confiável.
O filtro RPM ajuda com propwash?
Não diretamente: o propwash fica entre 15–80 Hz, enquanto o filtro RPM remove o ruído dos motores nas frequências de rotação e nunca desce abaixo de rpm_filter_min_hz (100 Hz por padrão). Ele reduz o ruído, permitindo aumentar os cortes dos filtros do termo D e o D sem deixar os motores quentes. O DShot bidirecional necessário para isso também habilita o Dynamic Idle, a principal correção quando os motores caem para idle.
Atualizado: