Criando uma rede elétrica
Estou jogando Minecraft com o mod Create: Power Grid.
Para quem não conhece o Create, ele adiciona automação baseada em energia cinética — quase um mundo steampunk. Você começa com moinhos de vento e rodas d’água, e evolui até máquinas a vapor, trens e um ecossistema inteiro de farms e automações.

O paraíso do mecânico (@Waltz?). Mas eu sou engenheiro elétrico (isso mesmo, o que liga na tomada), e eu quero energia… elétrica.
Então adicionei o Create: Power Grid, que introduz uma rede elétrica ao jogo.

Bem simples, em teoria: você constrói um gerador, gira ele, e pronto — eletricidade. Só que… não é bem assim.
Um gerador pode até parecer simples, mas manter uma rede elétrica funcional é bem mais complicado do que parece.
Sabemos que, se pegarmos um motor elétrico e aplicarmos força nele, ele passa a gerar energia. Isso acontece porque há bobinas (fios enrolados) e um campo magnético variando no seu interior. Essa variação induz corrente elétrica.
Mas existe outra forma de fazer isso.
Se não tivermos (ou não quisermos usar) um ímã permanente, podemos usar outra bobina no lugar. Basta aplicar corrente elétrica nela, e teremos um eletroímã.
Perfeito. Mas, se estamos construindo um gerador… de onde vem essa corrente inicial?
Um alternador de carro, por exemplo, depende da bateria para iniciar. E em um gerador isolado?
Usamos o próprio gerador.
Se conseguirmos girá-lo mesmo com o eletroímã desligado, ainda assim haverá um pequeno campo magnético residual. Isso gera uma tensão inicial, que pode ser realimentada nos eletroímãs, aumentando o campo magnético… e, consequentemente, a geração de energia.
Um ciclo quase infinito.
Claro, há um limite: quanto mais energia o gerador produz, mais torque precisamos aplicar. Em algum ponto, atingimos o máximo — isso, se o gerador não explodir antes…
Se conectarmos diretamente a saída do gerador aos eletroímãs, criamos um crescimento exponencial: mais tensão → mais corrente → campo maior → mais tensão. Isso rapidamente sai do controle.
O problema real
Precisamos de uma forma de controlar a tensão máxima do gerador. Controlando a tensão aplicada aos eletroímãs, controlamos a potência gerada.
O problema é que estamos tentando usar a própria saída do gerador para regulá-lo — um clássico problema de engenharia.
Usinas elétricas reais enfrentam algo parecido: muitas precisam de energia para operar. Reiniciar uma rede do zero (o chamado black start) pode ser um pesadelo.
Por isso, algumas usinas possuem geradores auxiliares a diesel, capazes de fornecer energia suficiente para iniciar os geradores principais.
Na minha primeira usina, usei um transformador simples para reduzir a tensão antes de alimentar o eletroímã. É uma solução barata e funcional.
Meu gerador atinge picos de cerca de 960 V, que são distribuídos pela rede.
Mas surge outro problema: conforme a fábrica cresce, o consumo aumenta. Isso faz com que a tensão do gerador caia gradualmente, devido à carga maior.
Minha solução? OpenComputers II (Reimagined).
Isso mesmo. Ele está de volta.
OpenComputers
OpenComputers é um mod clássico: ele adiciona computadores ao Minecraft. E essa versão (OC2: Reimagined) traz um diferencial enorme.
Os computadores são quase reais: máquinas virtuais com processadores RISC-V que — pasmem — rodam Linux de verdade.
Mas o verdadeiro poder está na integração com outros mods.
Sozinho, o OC2:R já interage com baús, fornalhas e sinais de redstone. Dá até para montar redes com cabos.
Mas a cereja do bolo é o mod OC2R: Create, que integra o OpenComputers com o Create, permitindo controlar sistemas do mod via código.
Infelizmente, ele ainda não tinha suporte ao Power Grid…
Wait… is that open source?
Algumas horas e algumas cervejas depois: aqui está. Uma versão modificada por mim, com suporte ao Power Grid.
Agora consigo interagir com motores elétricos, medidores de tensão e corrente. Perfeito.

Chegou a hora.
Tenho a faca (um editor Lua com APIs para os blocos) e o queijo (um computador Linux funcional). Hora de construir.
Como os sistemas são bem limitados — RAM de 8 MB, CPUs ~100 MHz, discos de 16 MB — vou precisar extrair o máximo de cada recurso.
A solução
Primeiro, vou criar uma base comum para todos os computadores críticos.
Será um serviço rodando em background, monitorando a energia recebida. Afinal, o próprio sistema depende dela.
Se detectar queda de energia, ele envia o sinal SIGPWR (power failure) para todos os processos.
Os programas, como o controlador do gerador, recebem esse sinal e executam uma sequência de desligamento seguro. Isso evita situações perigosas, como iniciar o gerador em potência máxima sem carga — o que poderia causar sobrecarga.
No futuro, pretendo ter múltiplos geradores distribuídos, conectados a uma rede de alta tensão única.
A energia será distribuída por subestações e postes de baixa tensão. E, claro, todos estarão interligados também por rede de dados, permitindo comunicação entre cada ponto do sistema.
Assim que houver progresso, volto com atualizações.