FaultSim
Simulador de Circuitos Eletrônicos
Ferramenta educacional para montagem, simulação e diagnóstico de falhas em circuitos eletrônicos. Roda inteiramente no navegador — sem instalação, sem servidor externo.
100tipos de componentes
411testes automatizados de sanidade
Como usar
01
Adicione componentes
Acesse o menu Componentes na barra superior e escolha o elemento desejado. O cursor entrará no modo de inserção — clique na área de trabalho para posicioná-lo. Use a tecla R antes de clicar para rotacionar.
Acesse o menu Componentes na barra superior e escolha o elemento desejado. O cursor entrará no modo de inserção — clique na área de trabalho para posicioná-lo. Use a tecla R antes de clicar para rotacionar.
02
Conecte com fios
Clique em Fio na barra (ou pressione W). Clique em um terminal e depois no terminal de destino — ou clique e arraste diretamente de um terminal até o outro. Pressione Esc para cancelar um fio em andamento.
Clique em Fio na barra (ou pressione W). Clique em um terminal e depois no terminal de destino — ou clique e arraste diretamente de um terminal até o outro. Pressione Esc para cancelar um fio em andamento.
03
Defina o terra
Todo circuito precisa de uma referência de tensão zero. Adicione um componente Terra (GND) — ou use Fonte (Vcc), que conecta o polo negativo ao terra automaticamente.
Todo circuito precisa de uma referência de tensão zero. Adicione um componente Terra (GND) — ou use Fonte (Vcc), que conecta o polo negativo ao terra automaticamente.
04
Edite propriedades
Clique com o modo Selecionar ativo em qualquer componente para abrir o painel de propriedades. Altere o valor e pressione APLICAR.
Clique com o modo Selecionar ativo em qualquer componente para abrir o painel de propriedades. Altere o valor e pressione APLICAR.
05
Escolha o modo de análise e simule
Selecione Análise Estática (DC) ou Análise Transiente (AC) no seletor à direita da barra. A simulação ocorre automaticamente sempre que o circuito está válido. Em modo AC, use os botões ▶/⏸ para iniciar e pausar.
Selecione Análise Estática (DC) ou Análise Transiente (AC) no seletor à direita da barra. A simulação ocorre automaticamente sempre que o circuito está válido. Em modo AC, use os botões ▶/⏸ para iniciar e pausar.
06
Modo de Falhas (para professores)
Acesse o menu Módulo de Falhas para ativar o painel do professor, definir uma senha de proteção e abrir as Configurações do desafio: número máximo de tentativas, bloquear a saída do modo e liberar (ou não) que o aluno mova componentes e modifique o circuito (conectar/desconectar fios, adicionar e remover peças). Com o painel ativo, selecione componentes para injetar falhas. Salve o circuito como .fsim para distribuir aos alunos.
Acesse o menu Módulo de Falhas para ativar o painel do professor, definir uma senha de proteção e abrir as Configurações do desafio: número máximo de tentativas, bloquear a saída do modo e liberar (ou não) que o aluno mova componentes e modifique o circuito (conectar/desconectar fios, adicionar e remover peças). Com o painel ativo, selecione componentes para injetar falhas. Salve o circuito como .fsim para distribuir aos alunos.
Modos de análise
DC
Análise Estática — resolve o circuito em regime permanente usando o
Método Nodal Modificado (MNA). Exibe tensão, corrente e potência em cada componente.
Capacitores se comportam como circuito aberto; indutores como curto-circuito.
AC
Análise Transiente — simulação passo a passo no tempo usando modelos
companion para capacitores e indutores. Configure o passo de tempo (dt) e a velocidade
de simulação pelo botão ⚙. Compatível com fontes de tensão CA.
Falhas
Modo de Falhas — o professor injeta uma falha oculta
(curto, aberto, valor alterado, saída travada etc.) e o aluno diagnostica
o componente defeituoso com os instrumentos disponíveis. O circuito pode ser
protegido por senha, com número de tentativas configurável e permissões opcionais
para o aluno mover componentes ou modificar a fiação durante o teste.
Disponível apenas quando há pelo menos um componente com falha injetada.
Motor de simulação
O solver resolve o circuito pelo Método Nodal Modificado (MNA) em cinco etapas, executadas a cada simulação (e a cada passo, em transiente):
01
Netlist
Une os terminais conectados (union-find) e ancora o nó terra (GND, polo negativo da fonte Vcc ou a primeira fonte). Nós flutuantes recebem uma condutância mínima (
Une os terminais conectados (union-find) e ancora o nó terra (GND, polo negativo da fonte Vcc ou a primeira fonte). Nós flutuantes recebem uma condutância mínima (
GMIN = 1e-12) para evitar matriz singular.
02
Stamp
Classifica os elementos MNA em arrays tipados e monta a matriz de condutância
Classifica os elementos MNA em arrays tipados e monta a matriz de condutância
G e o vetor RHS, reaproveitando os mesmos
buffers entre iterações (sem realocação no laço de Newton-Raphson).
03
Newton-Raphson + homotopia GMIN
Componentes não-lineares (diodo, BJT, MOSFET, zener, amp-op, optoacoplador, tiristores, portas lógicas) são resolvidos por iteração de Newton-Raphson (até 150 iterações, tolerância 1e-6) com sub-relaxamento adaptativo — o passo de atualização encolhe se a iteração oscilar e volta ao normal conforme converge. Se ainda assim não convergir, repete o NR variando o
Componentes não-lineares (diodo, BJT, MOSFET, zener, amp-op, optoacoplador, tiristores, portas lógicas) são resolvidos por iteração de Newton-Raphson (até 150 iterações, tolerância 1e-6) com sub-relaxamento adaptativo — o passo de atualização encolhe se a iteração oscilar e volta ao normal conforme converge. Se ainda assim não convergir, repete o NR variando o
GMIN de 1 a 0 (warm-start); sem convergência mesmo após esses
passos, a simulação lança um erro explícito em vez de devolver um
resultado incorreto.
04
Eliminação gaussiana
Resolve o sistema linear por eliminação gaussiana com pivotamento parcial. A matriz é densa (sem suporte a matriz esparsa) — adequada para os circuitos de sala de aula que o simulador foi projetado para atender.
Resolve o sistema linear por eliminação gaussiana com pivotamento parcial. A matriz é densa (sem suporte a matriz esparsa) — adequada para os circuitos de sala de aula que o simulador foi projetado para atender.
05
Transiente
Em Análise Transiente, cada passo
Em Análise Transiente, cada passo
dt usa um modelo companion
para capacitores/indutores (TR-BDF2 por padrão, com Euler implícito e
Trapezoidal como alternativas — a última preserva melhor oscilações). Se um passo não converge,
o dt é bisseccionado automaticamente (até 6 níveis) antes de
desistir. Por fim, a etapa de extração calcula tensão, corrente e potência
de cada componente a partir da solução final.
Componentes disponíveis
Passivos
Resistor, Capacitor, Indutor, Relé, Chave simples, Chave 2 vias,
Potenciômetro, Transformador, LDR, Termistor PTC/NTC, Buzzer 5V, Piezoelétrico,
Motor DC, Lâmpada de filamento, Fusível, Faísca (Spark Gap), Cristal Ressonador
Fontes
Tensão DC, Tensão CA (senoidal/quadrada/triangular), Corrente DC,
Fonte (Vcc), Terra (GND), Nó de Rede, Fonte por Equação, Clock (gerador de onda quadrada)
Semicondutores
Diodo, LED (com cor), Display 7 segmentos, Matriz de LEDs 5×7, Zener,
BJT NPN/PNP, MOSFET NMOS/PMOS, SCR, DIAC, TRIAC, Fotoacoplador, e componentes SPICE
nomeados com parâmetros de datasheet (diodos 1N4001/1N4148/1N5819, BJTs BC548/BC558/
2N2222/2N2907/BD135/BD136, MOSFET IRF540)
Lógica Digital
Portas AND, OR, NAND, NOR, XOR, XNOR, NOT, BUF; Flip-flops tipo D, T, JK e SR
Primitivos
VCCS, VCVS, CCVS, CCCS, Amplificador Operacional Ideal
Microcontroladores
µC com 6 ou 14 pinos digitais I/O e firmware em JavaScript editável
(CodeMirror integrado); CIs prontos: NE555 (astável/monoestável), LM3046 (array de 5 NPN)
e amp-ops modelados via SPICE — TL081/LM741 (simples), TL082/TL084, LM358/LM324 e
NE5532 (duplos/quádruplos); comparadores open-collector LM393/LM339;
reguladores de tensão LM7805/LM7812/LM317
Medição
Voltímetro (1 GΩ), Amperímetro (0 V), Wattímetro (P = V·I,
4 terminais), Ohmímetro (injeção de corrente de teste), Frequencímetro, Capacímetro,
Indutímetro
Hierarquia
Subcircuito (bloco hierárquico com portas configuráveis),
Pino de Subcircuito, Bloco SPICE (cole um
.subckt)Anotações
Texto / Markdown — rótulos e documentação diretamente no esquemático
Bloco SPICE — capacidades e limitações
O Bloco SPICE transforma um trecho de netlist .subckt em um componente:
as portas viram terminais e cada linha de elemento é traduzida para o solver do FaultSim.
É um subconjunto do SPICE, voltado ao uso didático.
Elementos suportados
R, L, C, V, I (2 terminais)
E (VCVS), G (VCCS) — fontes controladas por tensão
D (diodo), Q (BJT), M (MOSFET)
E (VCVS), G (VCCS) — fontes controladas por tensão
D (diodo), Q (BJT), M (MOSFET)
.subckt / .ends e .model (tipo + parâmetros básicos)
Convenções
O nó
Diodo:
0 é o terra global — ligue um GND ao circuito.Diodo:
D n+ n- [Vf] (Vf opcional, padrão 0,7 V)..model define a polaridade (NPN/PNP, NMOS/PMOS); lê
BF/BR (BJT) e VTO/KP/LAMBDA (MOSFET). Sem
.model, assume NPN/NMOS.
Limitações
Sem transiente interno: C e L são avaliados em DC
(C = aberto, L = curto). Use componentes de C/L no esquemático para análise no tempo.
O bulk do MOSFET é ignorado (modelo de 3 terminais).
Não suportado: fontes
O bulk do MOSFET é ignorado (modelo de 3 terminais).
Não suportado: fontes
H/F,
.subckt aninhado, formas de onda SIN/PULSE
(fontes CA/temporais viram 0), limite de corrente e ruído.
Capacidades e limitações
✓
Simulação completa — Análise DC e Transiente sobre 100 tipos de
componentes (incluindo não-lineares: diodos, BJT, MOSFET, tiristores, lógica digital
e flip-flops), resolvidos por MNA + Newton-Raphson com homotopia GMIN.
✓
SPICE e hierarquia — Bloco SPICE (subconjunto, ver seção acima) e
subcircuitos hierárquicos aninháveis com pinos configuráveis.
✓
Modo de Falhas completo — injeção por componente ou por pino, proteção
por senha (hash SHA-256), tentativas configuráveis e permissões granulares de
mover/editar para o aluno.
✓
Exportação e colaboração — esquemático (.json/.fsim), imagem (SVG/PNG),
netlist SPICE (.cir), compartilhamento via URL e autosave local — sem depender
de servidor externo.
—
Matriz densa — o solver não usa matriz esparsa. Suficiente
para circuitos didáticos (até algumas centenas de nós), não para projetos de grande escala.
—
Sem AC de pequenos sinais — o modo "AC" é transiente no tempo com fonte
senoidal; não há varredura de frequência fasorial nem diagrama de Bode.
—
Sensibilidade em transiente sem bissecção — a varredura de sensibilidade em modo
transiente reintegra do zero por candidato sem a bissecção automática de passo
nem o firmware de MCU — capada a 3000 passos no total.
—
Sem visualização de nó / fluxo — não há mapa de tensão sobre o esquemático nem
animação de direção de corrente nos fios — é preciso posicionar instrumentos manualmente.
—
Um desafio por arquivo — cada
.fsim contém um único cenário de
falhas (sem sequência de exercícios) e não exporta o resultado do aluno para avaliação formal.
Recursos implementados
Simulação
DC e Transiente (TR-BDF2 / Euler implícito / Trapezoidal seletável), bisseção
automática do passo dt, homotopia GMIN e sub-relaxamento adaptativo do Newton-Raphson
Modo de Falhas
Painel do professor, senha SHA-256, configurações de desafio (tentativas,
bloqueio de saída, mover/editar), falhas por pino e falhas específicas por família de componente
Edição
Desfazer/refazer (50 estados), copiar/colar, grade configurável
(5/10/20/40 px), fios reconfiguráveis por arraste, alinhamento por snap
Colaboração e i18n
Compartilhar circuito via URL (compactado no hash, sem servidor),
autosave local, interface em PT/EN
Osciloscópio
Múltiplos osciloscópios simultâneos, múltiplos canais, exportação CSV,
configuração de janela de tempo, escala e cores
Equações
Geração das leis de Kirchhoff (KCL e KVL) do circuito atual em formato
de texto para download
Análise de Sensibilidade
Mede o impacto relativo de cada parâmetro do circuito sobre uma grandeza
do componente selecionado (as mesmas grandezas exibidas no painel de propriedades),
perturbando um parâmetro por vez e ranqueando por impacto. Disponível em Modo Estático
ou Transiente (até um instante de tempo escolhido)
Ajuste de Parâmetro
Sugere o valor de um parâmetro do circuito para que uma grandeza do
componente selecionado atinja um valor desejado, testando um parâmetro por vez por busca
ativa em duas fases: expansão geométrica até encontrar um intervalo que contenha o alvo,
seguida de bisseção. Disponível em Modo Estático ou Transiente
Atalhos de teclado
| Tecla | Ação |
|---|---|
| Modos | |
| W | Modo fio |
| V | Modo selecionar |
| Esc | Cancelar modo atual / cancelar fio em andamento |
| Inserção rápida de componentes | |
| R | Inserir Resistor |
| C | Inserir Capacitor |
| L | Inserir Indutor |
| S | Inserir Fonte de Tensão DC — repetir tecla cicla para CA e Corrente DC |
| G | Inserir Terra (GND) |
| P | Inserir Fonte (Vcc) |
| D | Inserir Diodo — repetir tecla cicla para Zener e LED |
| Z | Inserir Diodo Zener |
| N | Inserir BJT NPN — repetir tecla cicla para MOSFET NMOS |
| M | Inserir BJT PNP — repetir tecla cicla para MOSFET PMOS |
| Transformação | |
| R | Rotacionar componente — durante inserção (ghost) ou com componente selecionado |
| X | Espelhar horizontalmente — durante inserção ou com componente selecionado |
| Y | Espelhar verticalmente — durante inserção ou com componente selecionado |
| Edição | |
| Delete | Deletar componente ou fio selecionado |
| Ctrl C | Copiar componente(s) selecionado(s) |
| Ctrl V | Colar com deslocamento de 40 px |
| Ctrl Z | Desfazer última ação (undo) |
| Ctrl Y | Refazer (redo) — também funciona com Ctrl Shift Z |
| Navegação | |
| Espaço | Auto zoom (encaixar circuito na tela) |
| ↑ ↓ ← → | Mover o canvas (pan) |
Exportação
Esquemático (.json)
Salva e carrega o circuito completo. Use para continuar o trabalho depois.
Compilado (.fsim)
Formato de distribuição para o Modo de Falhas — oculta as falhas injetadas.
Imagem (SVG / PNG)
Exporta o esquemático como imagem vetorial ou raster para relatórios.
SPICE (.cir)
Exporta netlist compatível com simuladores SPICE externos (LTspice, ngspice).
Dicas
💡
Módulo de Falhas — senha e tentativas — o professor define uma senha
de acesso ao painel no menu Módulo de Falhas → Definir senha.
Ao salvar o circuito, a senha é armazenada como hash criptográfico (SHA-256):
ela não pode ser recuperada, apenas verificada. Em Configurações do desafio
ficam o número de tentativas (0 = ilimitado), o bloqueio de saída do modo e as permissões
de mover componentes e modificar o circuito — desligadas
por padrão, deixando o circuito travado para que o aluno apenas identifique os suspeitos.
💡
Nó de Rede (NetLabel) — conecta pontos distantes do circuito sem fios físicos.
Dois componentes com o mesmo rótulo são eletricamente ligados, tornando esquemáticos
complexos mais legíveis.
💡
Equações — o menu Equações gera as leis de Kirchhoff
(KCL e KVL) do circuito atual em formato de texto, útil para conferência didática.
💡
Osciloscópio — em Análise Transiente, clique em Abrir Osciloscópio
no painel de propriedades de qualquer componente para monitorar tensão e corrente em tempo real.
Use o botão ⚙ para ajustar a janela de tempo, escala Y e cores dos canais.
Os dados podem ser exportados em CSV.
💡
Fios reconfiguráveis — no modo Selecionar, passe o cursor sobre um segmento
de fio: o cursor muda para indicar que o segmento pode ser arrastado. Arraste para
reposicionar o traçado sem desconectar os terminais.
💡
Desfazer / Refazer — todas as ações de edição (inserir, deletar, mover,
rotacionar, alterar propriedades, criar fios) podem ser desfeitas com
Ctrl Z e refeitas com Ctrl Y.
O histórico mantém até 50 estados.
💡
Análise de Sensibilidade — no painel de propriedades de qualquer
componente, clique em Análise de Sensibilidade... (abaixo de
"Abrir Osciloscópio"). Escolha a grandeza a medir, o modo (Estático ou
Transiente — este pede um instante de tempo) e a perturbação percentual;
a varredura ranqueia os parâmetros do circuito por impacto na medição.
💡
Ajuste de Parâmetro — no painel de propriedades de qualquer
componente, clique em Ajustar... (ao lado de "Análise de
Sensibilidade..."). Escolha a grandeza, o valor desejado e o modo (Estático ou
Transiente); o algoritmo testa cada parâmetro do circuito isoladamente e sugere
o valor que o levaria ao alvo. Clique em Aplicar em qualquer
sugestão da tabela para usá-la.
Desenvolvido por Evandson Dantas, Larissa Soares e Hadley Siqueira.