CircuitJS教程
flyshinewl
2026年04月30日 20:09

CircuitJS教程

CircuitJS 基础介绍

什么是 CircuitJS

  CircuitJS(原名 Falstad Circuit Simulator)是一款完全在浏览器中运行的开源电子电路仿真器,由Paul Falstad 最初开发,后由Iain Sharp 等人使用Google Web Toolkit (GWT) 技术移植到现代浏览器环境。它采用 GPL-2.0 开源协议,无需安装任何软件,打开网页即可使用。

​

图片

​

核心特点

访问地址

  • 官方在线版:https://www.falstad.com/circuit/

  • 国内镜像:

  • https://lushprojects.com/circuitjs/circuitjs.html

  • https://www.eetree.cn/circuitjs/circuitjs.html

  • 离线版:GitHub 下载 Electron/NW.js 封装版本,解压后双击运行

主要界面功能介绍

  打开 CircuitJS 后,默认会加载一个 RLC 振荡电路作为示例。整个界面可分为四大区域。

​

图片

​

整体界面布局

顶部菜单栏详解

文件菜单 (File)

​

图片

​

💡 小技巧:导出为链接是 CircuitJS 最强大的分享功能。生成的 URL 包含了完整的电路数据,无需发送文件,直接复制链接即可。

编辑菜单 (Edit)

​

图片

​

💡 查找组件:当电路复杂时,用 / 键输入元件名(如 "R1" 或 "电容"),系统会自动高亮定位该元件。

绘制菜单 (Draw)

​

图片

​

无源元件

​

图片

​

输入和电源类

​

图片

​

输出和标签

​

图片

​

有源元件

有源集成电路

​

图片

​

逻辑门、输入和输出

​

图片

​

数字芯片

模拟混合芯片

​

图片

​

示波器菜单 (Scopes)

​

选项菜单 (Options)

电路菜单 (Circuits)

  这是 CircuitJS 的宝藏功能,内置了数百个经典示例电路:

💡 学习建议:每学一个新概念,先去电路菜单找对应示例,观察波形和参数,再自己动手搭建。

中部画布区详解

基本操作

鼠标操作详解

元件右键菜单

  右键点击任意元件,可看到:

  1. 编辑 (Edit) → 修改参数

  1. 删除 (Delete) → 删除元件

  1. 旋转 (Rotate) → 90° 顺时针旋转

  1. 镜像 (Flip) → 水平 / 垂直翻转

  1. 示波器 (Scope) → 添加示波器观测该点

导线绘制技巧

  • 自动连接:当两个元件端点靠近时,会自动吸附连接。

  • 手动绘制:在端点上按住左键,拖动到目标端点松开。

  • 导线节点:两条导线交叉时:

    • 有实心圆点 = 电气连接

    • 无圆点 = 只是交叉,不连接

  • 添加节点:在导线上双击,可添加连接点 (Junction)。

右侧控制面板详解

仿真控制区

​

图片

​

当前电路参数区

  当选中某个元件时,这里会显示该元件的实时参数和调节滑块:

  • 电容 / 电感:显示当前储能(能量 = ½CV² 或 ½LI²)

  • 电阻:显示当前功耗(P = I²R)

  • 开关:显示当前状态 (开 / 关)

  • 电源:显示当前输出功率

底部示波器详解

​

图片

​

​

示波器基本结构

  底部示波器是双踪 (或多踪) 数字存储示波器,包含:

添加信号到示波器

  方法一:右键点击电路中的导线或节点 → 示波器 → 添加示波器

  方法二:使用示波器探头元件(绘制 → 输入和电源 → 添加示波器),将其连接到要观测的点

示波器设置

示波器高级功能

快捷工具键

  按下快捷键后,光标变为 + 十字线,在画布上按住左键拖动即可放置元件。

从入门到进阶

实验一:点亮一个 LED(基础操作)

  目标:熟悉元件放置、连线、参数修改和仿真运行。

操作步骤

  1. 清空画布:文件 → 创建新的空白电路(或 电路 → 空白的电路)

  1. 放置电源:按 V 键,在画布上拖动放置一个直流电压源。注意红色端为正极 (+),灰色端为负极 (-)

  1. 放置电阻:按 R 键放置一个电阻,作为限流电阻

  1. 放置 LED:按 l(小写 L)键放置一个 LED。LED 是单向导电器件,鼠标悬停时会显示箭头方向,箭头指向允许电流的方向

  1. 放置接地:按 G 键放置接地符号 (GND),作为电路参考零电位

  1. 连线:

    • 电源 (+) → 电阻一端

    • 电阻另一端 → LED 阳极(箭头尾巴端 / 宽边)

    • LED 阴极(箭头尖端)→ 电源 (-)

    • 电源 (-) → GND(可选,但建议养成接地习惯)

  • 连线方法:在元件端点上按下左键,拖动到目标端点松开

  1. 修改参数:

    • 双击电源,设置电压为 5V

    • 双击电阻,设置阻值为 220Ω(直接输入 220 或 220ohm)

    • LED 默认参数即可

  1. 运行仿真:点击左上角的红色运行按钮(或按 空格),按钮变绿表示运行中

理论解释

  ED 正向导通时具有约 ​2V 的导通压降​。根据欧姆定律:

  这是一个安全的 LED 工作电流。如果电阻太小(如 22Ω ),电流会过大导致 LED "烧毁"(仿真中 LED 会变红闪烁提示过流)。

故障排查

  • LED 不亮:检查 LED 方向是否接反;检查是否形成了闭合回路;检查电源电压是否过低

  • LED 显示红色过流:增大限流电阻阻值

实验二:验证欧姆定律

  目标:使用虚拟仪表测量,验证

电路搭建

  1. 放置直流电压源 (V),设置电压为 10V

  1. 放置电阻 (R),设置阻值为 1kΩ

  1. 放置电流表(绘制 → 输入和电源 → 添加电流表),串联在回路中

  1. 放置电压表(绘制 → 输入和电源 → 添加电压表),并联在电阻两端

  1. 连接成闭合回路,并接地

测量与验证

  仿真值与理论值误差约 0.4%,这是因为电流表和电压表本身有微小内阻。

进阶:观察功率

  在 选项 菜单中勾选 "显示功率",电阻上会显示消耗的功率

实验三:RC 低通滤波器(动态仿真 + 示波器)

  目标:理解电容的频率特性,学会使用示波器观察波形。

理论基础

  RC 低通滤波器允许低频信号通过,衰减高频信号。其截止频率 (-3dB 点) 为:

  当 R=1kΩ ,C=100nF 时:

  

  • 输入频率 f≪fc​ :信号几乎无衰减通过

  • 输入频率 f=fc​ :输出幅度衰减为输入的 1/2​≈0.707 (-3dB)

  • 输入频率 f≫fc​ :信号被大幅衰减,衰减斜率约 -20dB/十倍频

电路搭建

  1. 放置交流电压源(绘制 → 输入和电源 → 添加交流电压源)

  1. 放置电阻

  1. 放置电容

  1. 接地

  1. 连接成串联结构:电源 (+) → 电阻 → 电容 → GND

  1. 从电阻和电容的连接点引出输出端

示波器设置

  1. 在电阻与电容连接点处右键 → 示波器 → 添加示波器,选择 "自由的示波器&#​34; 或固定在下方的示波器

  1. 同样给电源正极也添加一个示波器通道,用于对比输入输出

  1. 双击示波器窗口,或在底部波形区点击齿轮图标,设置:

    • 幅值:

    • 耦合:DC

仿真观察

  双击交流电压源,设置不同频率,观察输出幅度变化:

  在 处,输出恰好是输入的 0.707 倍,相位滞后 45°,与理论完全吻合。

可视化理解

  运行仿真时观察画布:

  • 绿色 / 红色亮度:表示该点电压高低。高频时电容后端 (输出端) 颜色很淡,说明电压幅度小

  • 黄色电流点:高频时电流明显减小

实验四:RLC 串联谐振(进阶)

  目标:理解谐振现象,观察阻抗的频率特性。

理论基础

  RLC 串联电路的阻抗为:

  

  当感抗等于容抗时发生谐振:

  

  此时电路呈纯阻性,阻抗最小,电流最大。

参数设计

  取

  

搭建与观测

  1. 串联连接:电源 → 电阻 → 电感 → 电容 → GND

  1. 在电阻两端添加示波器(观察电流,因为 )

  1. 在电容两端添加示波器(观察输出电压)

  1. 设置交流电源为 1V 幅度,扫描频率从 到

  现象:

  • 在 时,电阻两端电压(代表电流)达到最大

  • 电容两端电压可远大于电源电压(电压谐振),这是谐振电路的特征

实验五:555 定时器多谐振荡器(实用电路)

  目标:使用集成电路构建一个实际的方波发生器。

理论基础

  555 定时器构成的无稳态多谐振荡器 (Astable Multivibrator) 输出方波,频率由外部 RC 决定:

  

  占空比:

搭建步骤

  1. 从 绘制 → 芯片 → 添加 555 定时器 放置 555 芯片

  1. 按典型电路连接:

    • VCC (Pin 8) → 5V 电源

    • GND (Pin 1) → 接地

    • Pin 7 (Discharge) 经 接 VCC,经 接 Pin 6 (Threshold)

    • Pin 6 和 Pin 2 (Trigger) 短接,经电容 C 接地

    • Pin 3 (Output) 作为方波输出

  1. 设置

  1. 在输出端接示波器

计算与验证

  

  示波器应显示约 6.9Hz 的方波,高电平约 5V,低电平约 0V。

实验六:数字逻辑门测试

  目标:验证基本逻辑运算,理解数字电路仿真。

电路搭建

  1. 放置两个 Logic Input(绘制 → 逻辑门 → 添加逻辑输入,快捷键 I)

  1. 放置一个 AND Gate(绘制 → 逻辑门 → 添加与门)

  1. 放置一个 Logic Output(绘制 → 逻辑门 → 添加逻辑输出)

  1. 连接:Input A → AND 输入 1,Input B → AND 输入 2,AND 输出 → Output

真值表验证

  点击逻辑输入可切换 0/1 状态(蓝色 = 1,暗色 = 0),观察输出:

  可用同样方法验证 OR、NOT、XOR、NAND 等门。

高级技巧

子电路 (Subcircuit) 封装

  当电路复杂时,可将常用模块封装成子电路重复使用。

创建子电路

  1. 搭建好要封装的电路模块

  1. 添加 输入 / 输出端口(绘制 → 输出和标签 → 添加输入 / 输出)

  1. 选中整个模块(框选)

  1. 文件 → 创建分支电路 (子电路)

  1. 命名并保存

使用子电路

  1. 绘制 → 绘制分支电路

  1. 选择已保存的子电路

  1. 像普通元件一样放置到主电路中

  1. 自动显示输入 / 输出引脚,可连接使用

  应用场景:将常用的电源模块、放大器模块、滤波器模块封装,提高设计效率。

⚠️ 注意:子电路保存在浏览器本地存储中,清除缓存会丢失。

导出与分享

参数扫描 (Parameter Sweep)

  CircuitJS 支持对某个元件进行参数扫描,观察电路特性变化:

  1. 放置一个电位器(可变电阻)或选中某个元件

  1. 右键 → 参数扫描(部分版本支持)

  1. 设置扫描范围和步进,观察示波器波形或电压表读数的变化趋势

性能优化

  对于大型电路:

  • 隐藏无关部分:编辑 → 隐藏 暂时不需要关注的电路

  • 调整仿真精度:电路 → 仿真选项 中放宽精度要求

  • 使用 Fast Simulation:对稳定状态分析可开启快速模式

常见问题诊断清单

学习资源与路径

学习路径建议

  如果你是初学者,建议按以下顺序学习:

  1. 第 1-2 天:熟悉界面,完成 LED 点亮、欧姆定律验证

  1. 第 3-5 天:RC/RL 电路,理解充放电过程,学会用示波器

  1. 第 6-10 天:RLC 谐振、滤波器设计、运放基础电路(反相 / 同相放大)

  1. 第 11-15 天:半导体器件(二极管整流、三极管放大)、555 电路

  1. 第 16-20 天:数字逻辑、组合逻辑电路、时序电路(触发器、计数器)

  1. 持续:研究内置示例电路(电路菜单中有数百个),阅读每个示例的说明文字

快捷键速查表

功能对比总结

视频教程地址

B 站教程合集

抖音 / 西瓜视频教程合集

微信视频号 / 配套教程

总结

  CircuitJS 是一款将 直观性 和 教育性 做到极致的电路仿真工具。它的核心优势不在于替代专业 SPICE 工具(如 LTspice、Multisim)进行高精度工业级仿真,而在于让电路"​活​"起来——你可以实时看到电子在导线中流动,看到电容充放电的渐变过程,看到滤波器如何"雕刻"信号波形。

  对于理论学习,它提供了即时验证;对于电路设计,它提供了快速原型;对于教学演示,它提供了无可替代的视觉效果。掌握 CircuitJS,你就拥有了一个随时待命的虚拟电子实验室。

更新日志

V1.1 更新说明[2026.04.30]

  • 修改:新增绘制界面功能描述。

V1.0 更新说明[2026.04.30]

  • 增加:教程基本描述章节。

  ‍