目录

开源电路仿真软件CircuitJS1介绍与使用入门

开源电路仿真软件CircuitJS1介绍与使用入门

在做电路设计的过程中经常需要用到电路仿真软件对设计的电路进行仿真,以确定电路工作特性或者元件的参数取值。使用电路仿真软件可以缩短电路开发时间、降低成本、提高效率。

接触过的大多数电路仿真软件都是收费的,可以免费使用的电路仿真软件主要有下面两款:

TINA-TI:

LTspice:

上面两款软件在功能上基本能够满足日常需求,不过在UED/UXD(用户体验设计)方面以现在的标准来说实在是有些落伍了。前段时间发现个开源的电路仿真软件 CircuitJS1 。使用下来感觉功能上虽然简单些,但也基本够用;用户体验上来说比上面两个软件有比较大的提升。这篇文章将

介绍使用该软件。

本文中所有的动图因为我使用的制作软件原因线条和颜色上可能存在较大问题

项目地址:

CircuitJS1 is an electronic circuit simulator that runs in the browser.

It was originally written by Paul Falstad as a Java Applet.

It was adapted by Iain Sharp to run in the browser using GWT.

CircuitJS1是一个Java开发的程序,使用GWT将它在浏览器中运行:

在线使用地址:

https://i-blog.csdnimg.cn/blog_migrate/16fccf358f51f5d07feb0fa6e43c2d57.gif#pic_center

另外也有使用Electron封装成本地应用的版本,支持Windows、macOS、Linux 。

独立(离线)版本下载地址:

Windows版本的下载后解压就可以使用:

https://i-blog.csdnimg.cn/blog_migrate/4447a2442b2bf58f550ebc9b89e24232.gif#pic_center

除了上面的版本,CircuitJS1还有一些变种版本的探索,比如支持Arduino的版本:

https://i-blog.csdnimg.cn/blog_migrate/59a3f19804602bbdf587347d62038981.gif#pic_center

CircuitJS1使用比较简单,网站上也有分布给出说明与使用手册。另外从第一个动图可以看到软件内置了很多示例,这些电路示例也都有详细的介绍。

简单使用说明:

完整使用手册:

预置电路说明:

下面以离线的Windows版本进行说明,当前版本为2.6.9

https://i-blog.csdnimg.cn/blog_migrate/c6a3463aebed308bf147a80adecc2087.png#pic_center

  • 界面上主要就是上图中几块内容,大部分主要的操作都可以在电路设计区域中完成;
  • 左侧 运行/停止运行 按钮红色表示电路停止运行;
  • 当电路运行时,电路中红色为负电压、绿色为正电压、灰色为接地、移动的黄点指示电流;
  • 示波器中绿色表示电压、黄色表示电流;
  • 当光标移动到元件上时元件会变蓝色,并且在右下角信息区域显示该元件的状态信息;
  • 要绘制电路可以在顶部菜单 文件 中创建空白电路图,或者在 电路 中选择一个预置的电路上进行加工;

  • 电路设计区域中可以使用鼠标右键打开 绘制 菜单,可以从中选择需要绘制的元件;选择之后光标将变为十字形状,在空白区域按住鼠标左键拖动创建元件;可以按下 Esc空格 退出元件绘制模式;

  • 元件引脚都有端点,如果端点连接异常则会以红色点形式显示;

  • 光标在元件上时可以使用滚轮滚动或是鼠标左键双击来修改元件属性,也可以使用鼠标右键打开更详细菜单;

    https://i-blog.csdnimg.cn/blog_migrate/9451970c9a819f8c82429db350c03099.gif#pic_center

  • 电路设计区域中鼠标滚轮滚动可以进行视图缩放,按住 ATL + 鼠标左键 可以移动视图;

  • 电路设计区域中可以使用 Ctrl + C Ctrl + V Delete 进行复制、粘贴、删除等操作;

    https://i-blog.csdnimg.cn/blog_migrate/9826e50723b6186689f3cbf06c65d30b.gif#pic_center

  • 光标在元件上时可以在鼠标右键菜单中打开示波器,可以选择自由的示波器或是固定在下方的示波器;

  • 可以在示波器窗口中鼠标右键对其进行详细设置;

    https://i-blog.csdnimg.cn/blog_migrate/0234c7cc63336f8b5359b5d7a977efe4.gif#pic_center

CircuitJS1软件上画的所有内容对于软件本身而言都是以文本形式描述的,你可以保存成文本文件(比如xxx.txt),方便之后二次使用:

https://i-blog.csdnimg.cn/blog_migrate/d84fa6afe8285e276c3162848e00077b.gif#pic_center

CircuitJS1中可以把常用的电路单元封装成模块(子电路)以供之后重复使用。要把电路封装成模块需要在电路上添加输入输出标签,然后从菜单 文件 中选择创建分支电路(子电路):

https://i-blog.csdnimg.cn/blog_migrate/ca3df11e68688d6b155c7643edc87076.gif#pic_center

创建之后就可以在绘制时使用已创建的模块了:

https://i-blog.csdnimg.cn/blog_migrate/fb9c1a736e40b4d9e43c418cdace22d1.gif#pic_center

CircuitJS1是基于浏览器的应用,创建的这些全局的模块会保存在浏览器缓存中,可以通过删除缓存来删除创建的模块,删除后重新打开软件就看不到模块了:

https://i-blog.csdnimg.cn/blog_migrate/477e7862f13c22bb87157a76864df815.gif#pic_center

CircuitJS1使用起来非常简单,对于一般的用用来说功能和性能也都还行,可以满足一些基本的使用需求。当然在更高性能或是更加精密化的场合下还是不够用的。