Site menu Software livre versus RC

Software livre versus RC

Como já disse em outras ocasiões, praticamente todo nerd tem "queda" por um conjunto muito previsível de hobbies, entre eles fotografia e modelismo radiocontrolado (RC). No momento, estou mordido novamente pelo bichinho do RC. Quanto à fotografia, reduzi meu equipamento a apenas duas lentes prime, em parte para financiar a recaída pelo RC, em parte esperando pela Nikon lançar uma câmera mirrorless.

Fazia quase 20 anos que não brincava com RC (ferreomodelismo está fora desta conta). Com a montagem do novo escritório, os trenzinhos saíram do ático para o mostruário, e foi o suficiente para soprar as brasas.

Foi interessante constatar as mudanças tecnológicas, bem como as não-mudanças.

Em 1998, a eletrônica RC era toda analógica. O coração do RC era o sinal PWM: uma onda quadrada de 50Hz/período de 20ms e ciclo ativo entre 1ms e 2ms, proporcionalmente à posição do controle. O sinal pode ser transmitido como se fosse áudio. Ele era gerado no controle, transmitido usando modulação AM ou FM, recebido no modelo, e usado diretamente pelo servo-motor.

Figura 1: Sinal analógico de controle de servo. Fonte: Wikipedia

O protocolo PWM foi feito sob medida para simplificar o circuito (analógico, claro) do servo. Por exemplo, a taxa de 50Hz assegurava que o motor do servo fosse alimentado de forma intermitente. O servo podia assim exercer um torque contínuo sem queimar.

O formato não era perfeito; cada dimensão de controle precisava de um canal próprio, o que encarecia muito os rádios para aviões e helicópteros. (Devido a isto, ainda chamamos de "6 canais" um rádio digital com seis controles.) A transmissão analógica era sujeita a ruídos, embora na prática funcionassem muito bem.

Outro defeitinho é a perda de precisão. Como o servo analógico usa diretamente o PWM para mover o motor, uma mudança pequena no controle gera um torque pequeno. Isto é até necessário, do contrário o servo poderia ficar oscilando. Hoje em dia, os servos de qualidade são digitais. Nestes, o controle do motor é desvinculado do PWM, e o torque pode ser máximo para qualquer comando.

Servos analógico e digital em funcionamento, controlados por um testador de apetrechos de modelismo

Este protocolo ancestral ainda é usado entre receptores e servos, principalmente em carrinhos e barcos, ou entre controladores de voo e ESCs (controladores de motor elétrico). O resto da cadeia é todo digital, e o receptor sintetiza o PWM para consumo local. Coincidência ou não, é o aspecto com menos problemas de compatibilidade. Inúmeros dispositivos, como ESCs, servos, luzes, trens de pouso, guinchos, giroscópios, etc. etc. "entendem" o mesmo protocolo.

Uma evolução intermediária foi o protocolo PPM. Em vez de usar apenas 10% do canal (2ms a cada 20ms) transmitem-se diversos "canais" em sequência, com uma pausa longa marcando o fim do pacote. O PPM não teve muito sucesso na era analógica, mas ganhou uma sobrevida em drones e helicópteros pois permite que receptor e controlador de voo se conectem por apenas um fio. Novamente, o receptor é digital e sintetiza o PPM apenas para a "rede local" do modelo.

Desculpe a chateação por descrever tão longamente esses protocolos analógicos. E nem sequer falei de software livre ainda (alguém leu o artigo pela metade por ter vazado no site e reclamou exatamente disso).

Em 2017, deveríamos estar usando um protocolo digital, aberto e universal, conectando os componentes numa mini-rede local dentro do modelo. O protocolo com essas características até existe (Futaba SBUS) mas é proprietário e servos SBUS custam uma fortuna. Sua adoção fora do aeromodelismo é zero.

Outros aspectos em que o hobby "involuiu", na minha opinião:

:( Os rádios migraram da tecnologia analógica 27MHz/75Mhz para digital 2.4GHz, e diversos rádios podem funcionar na mesma área sem interferência. Até aqui, ótimo. Porém cada marca e às vezes cada modelo de rádio é incompatível com quaisquer outros rádios! Isso apesar de quase todos os rádios usarem os mesmos 2 ou 3 chips como base.

:( Os rádios são digitais, é óbvio que possuem microcontroladores tanto no transmissor quanto no receptor, alguns podem receber update de firmware — mas nem se fala de código-fonte aberto ou software livre para eles, com raras e honrosas exceções.

:( Muitos carrinhos de RC usam os famigerados receptores "tudo em um" que açambarcam o ESC e até o controlador do servo. Fazer qualquer upgrade (ou substituir um componente queimado) implica em jogar fora toda a eletrônica original, que às vezes até é boa, mas não é modular.

:( Muitas vezes os servos têm 5 fios e são "burros"; a parte inteligente do servo fica naquele receptor "tudo em um". Os servos têm tamanhos gozados, transformando num calvário a busca por servos PWM de tamanho compatível. E os servos "burros" retirados de um carrinho não servem em nenhum outro projeto, tanto pela incompatibilidade elétrica quanto pelo tamanho sui generis.

:( ESCs, giroscópios, servos digitais, etc. são todos "inteligentes" mas, novamente, não há disponibilidade de código-fonte nem mesmo upgrade de firmware.

É claro, tudo isso é irrelevante para quem quer apenas comprar um carrinho e sair andando. Mas a essência do modelismo dito "profissional" é fuçar, fazer-você-mesmo e adquirir conhecimento. Apenas andar com o carrinho e trocar eventuais peças quebradas perde a graça logo. E boa parte dos potenciais de DIY e de aprendizado fica inacessível com software fechado.

Não me parece que façam isso para manter o modelista refém de um fabricante, já que os preços de componentes eletrônicos de RC nunca foram tão baixos. Trocar toda a eletrônica de um carrinho nem sai caro. Apenas ofende o senso comum fazer isso por incompatibilidade gratuita. Os fabricantes ganham dinheiro é vendendo upgrades mecânicos (peças de metal em vez de plástico, peças mais leves, etc.). Principalmente os carrinhos chineses baratos são verdadeiras "sopas de pedra": uma vez instalados todos os upgrades desejáveis, pouco sobra do original. Mas ninguém contesta que um fabricante possa faturar nos upgrades, ou com um carrinho que precise de upgrades, é a remuneração por um projeto bom, já que um modelo mal projetado nem sequer teria um mercado secundário de upgrades.

Pode ser que esses softwares embarcados sejam piratas, e esta seja uma motivação para o segredo. Se o fabricante não tem o código-fonte, e talvez nem saiba como o firmware funciona (porque já clonou o hardware, como é comum hoje em dia) obviamente não pode disponibilizar fonte, nem dar suporte, nem permitir upgrades.

De minha parte, o que pretendo fazer (enquanto a "febre de RC" durar) é começar a brincar com Arduino e/ou ESP32 embarcado. O objetivo de longo prazo de (re-)implementar um controle de tração e estabilidade. Isto já é oferecido por alguns módulos comerciais, mas o meu será aberto, é claro.