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

2023-11-07

前言

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

接触过的大多数电路仿真软件都是收费的,可以免费使用的电路仿真软件主要有下面两款:
TINA-TI:https://www.ti.com.cn/tool/cn/TINA-TI
LTspice:https://www.analog.com/cn/design-center/design-tools-and-calculators/ltspice-simulator.html

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

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

基础介绍

项目地址:https://github.com/sharpie7/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将它在浏览器中运行:
在线使用地址:http://www.falstad.com/circuit/
在这里插入图片描述

另外也有使用Electron封装成本地应用的版本,支持Windows、macOS、Linux 。
独立(离线)版本下载地址:http://www.falstad.com/circuit/offline/
Windows版本的下载后解压就可以使用:
在这里插入图片描述

除了上面的版本,CircuitJS1还有一些变种版本的探索,比如支持Arduino的版本:
http://www.falstad.com/circuit/avr8js/
在这里插入图片描述

使用入门

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

简单使用说明:http://www.falstad.com/circuit/directions.html
完整使用手册:https://www.bait-consulting.com/publications/circuit_simulator_manual.pdf
预置电路说明:http://www.falstad.com/circuit/e-index.html

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

界面与显示

在这里插入图片描述

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

绘制与操作

  • 要绘制电路可以在顶部菜单 文件 中创建空白电路图,或者在 电路 中选择一个预置的电路上进行加工;

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

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

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

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

  • 电路设计区域中可以使用 Ctrl + C Ctrl + V Delete 进行复制、粘贴、删除等操作;
    在这里插入图片描述

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

  • 可以在示波器窗口中鼠标右键对其进行详细设置;
    在这里插入图片描述

保存为文件

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

子电路绘制与使用

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

创建之后就可以在绘制时使用已创建的模块了:
在这里插入图片描述

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

总结

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

开源电路仿真软件CircuitJS1介绍与使用入门 的相关文章

  • Multisim 14.0安装包+详细安装步骤

    Multisim是美国国家仪器 NI 有限公司推出的以Windows为基础的仿真工具 适用于板级的模拟 数字电路板的设计工作 它包含了电路原理图的图形输入 电路硬件描述语言输入方式 具有丰富的仿真分析能力 安装步骤 1 选择下载的软件压缩包
  • 《写给大家看的设计书(第4版)》读书笔记

    文章目录 前言 设计原则 亲密性 对齐 重复 对比 结语 前言 设计类的书籍看过一些 大多分为两类 一类是讲基础的 构图 明暗 色彩等基础理论 还有一类是分享介绍具体案里的 这两类书籍对于大多数并不想真正成为设计师的人来说很多时候并没有什么
  • 开源电路仿真软件CircuitJS1介绍与使用入门

    文章目录 前言 基础介绍 使用入门 界面与显示 绘制与操作 保存为文件 子电路绘制与使用 总结 前言 在做电路设计的过程中经常需要用到电路仿真软件对设计的电路进行仿真 以确定电路工作特性或者元件的参数取值 使用电路仿真软件可以缩短电路开发时
  • Multisim14.0仿真(十八)74LS138译码器

    一 仿真原理图 二 74LS138译码器真值表 当选通端G1为高电平 选通端G2A G2B为低电平时 地址端A B C的二进制编码在Y0 Y7对应的输出端以低电平译出 三 仿真效果图
  • KiCad使用笔记(03)-原理图绘制

    绘图过程 放置元件 绘制导线 编号元件 检查原理图 关联封装 生成网表 标题栏设置 相关视频教程 绘图过程 放置元件 放置元件可以点击右侧工具栏中放置元件 然后在工作区鼠标左键单击 在弹出的选项框中通过关键词搜索或是直接在下方列表中选择 可
  • Matlab/CUDA:海浪模拟

    我学过 模拟海水 Jerry Tessendorf 的文章并尝试对统计波模型进行编程 但我没有得到正确的结果 我不明白为什么 In my program I tried only to create a wave height field
  • 使用 Box2D 模拟“牛顿万有引力定律”

    我想模拟牛顿万有引力定律使用 Box2D 我浏览了手册 但找不到执行此操作的方法 基本上我想做的是将几个物体放置在太空中 零重力 并模拟运动 有小费吗 实现起来非常容易 for int i 0 i lt numBodies i b2Body
  • 将 Matlab 函数结果缓存到文件

    我正在用 Matlab 编写一个模拟 我最终会运行这个模拟数百次 在每次仿真运行中 都有数百万个仿真周期 在每个周期中 我都会计算一个非常复杂的函数 该函数需要 0 5秒完成 函数输入是一个长位数组 gt 1000 位 这是一个数组0 an
  • 我应该使用线程还是任务 - 多客户端模拟

    我正在编写一个客户端模拟程序 其中所有模拟客户端都针对服务器运行一些预定义的例程 这是一个在天蓝色中运行的具有四个实例的 Web 服务器 所有模拟客户端在连接到服务器后都运行相同的例程 任何时候我都想使用我的程序模拟 300 到 800 个
  • 使用 Polars 生成运行记录,其中一个月的期末余额将成为下个月的期初余额

    我想在给定初始期初余额的情况下生成一段时间内的运行计数模拟 例如 一个虚构的企业从 1000 美元开始 在任何一个月内都会经历随机的盈利和亏损 12 个月后 这家企业可能会赚多少钱 我的问题是 我可以生成所需的列 但无法弄清楚如何在不破坏当
  • 如何存储和推送模拟状态,同时最大限度地减少每秒更新的影响?

    我的应用程序由两个线程组成 GUI线程 使用Qt 模拟线程 我使用两个线程的原因是保持 GUI 的响应能力 同时让 Sim 线程尽可能快地旋转 在我的 GUI 线程中 我以 30 60 的 FPS 渲染 sim 中的实体 然而 我希望我的模
  • 开源、纯Java物理/动力学库[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个轻量级的 纯Java 物理引擎来对机器人运动控制进行一些模拟 我的要求 刚体物理 联合约
  • 如何生成具有泊松分布的离散随机事件?

    我知道 Knuth 的生成随机泊松分布数的算法 下面在 Java 中 但是我如何将其转换为调用方法 generateEvent 随时间随机 int poissonRandomNumber int lambda double L Math e
  • 有哪些算法可以让我模拟行星物理?

    我有兴趣制作一个 太阳系 模拟器 它可以让我模拟行星和恒星的旋转力和引力 我想说的是 模拟我们的太阳系 并以不同的速度模拟它 即观察地球和其他行星绕太阳旋转数天 数年等 我希望能够添加行星并改变行星质量等 看看它会如何影响系统 有谁有任何资
  • java中的时间同步

    在 for 循环中 我通过检索和处理车辆信息来控制基于模拟步骤的交通模拟器 SUMO 为了确保我的程序 实时 模拟 1 个模拟步骤 1 秒 我想在处理阶段之后让我的程序休眠 直到下一个时间步骤开始 为了获得更好的结果 我根据最初采用的参考时
  • 使用 SUMO 场景的子集进行 OMNeT++ 网络模拟(使用 VEINS)

    我正在尝试使用 OMNeT Veins 和 SUMO 评估在车载网络上运行的应用程序 因为该应用程序依赖于现实的流量行为 所以我决定使用LuST场景 https github com lcodeca LuSTScenario 这似乎是此类数
  • 深层类继承层次结构——坏主意?

    希望高手能指点迷津 非常高的概述是 我不是编码初学者 但对 OOP 仍然是新手 这组消息类是我们正在编写的大型模拟应用程序的核心 我不想愚蠢地这样做 这个接口将应用程序从定序器到执行器切成两半 反之亦然 我的问题是 拥有这么深的继承层次结构
  • 在 pygame 物理模拟中添加 wxPython GUI 元素

    我做了一个pygame物理模拟 抛射运动 但它缺乏交互性 比如接受发射角度 速度等 我想添加带有增加 减少箭头的输入框 但不知道如何去做 谢谢您的帮助 也许你可以尝试PGU http www pygame org project 108 菲
  • 在 R 中生成具有不同样本大小的多项式随机变量

    我需要生成具有不同样本大小的多项随机变量 假设我已经生成了样本大小 如下所示 samplesize c 50 45 40 48 然后我需要根据这个不同的样本大小生成多项随机变量 我尝试使用 for 循环并使用 apply 函数 sapply
  • 这个洗牌算法有什么问题吗?

    我一直在做一些休闲假期计算 我的迷你项目是模拟意大利游戏 tomboli 一个关键的组成部分是对以下过程的模拟 游戏由一名男子控制 他拿着一袋 90 个弹珠 编号为 1 到 90 他从袋中随机取出一颗弹珠 每次向玩家喊出弹珠编号 经过一番思

随机推荐

  • 调用EAS单据转换规则(BOTP),生成下游单据

    代码调用单据转换规则 生成下游单据 调用BOTP生成下游单据 用于后台 param ctx 上下文 param sourceType 源单类型 param destType 目标单据类型 param sourceColl 源单集合 para
  • NER问题的模型训练5种相关提升tricks

    NER问题的模型训练5种相关提升tricks 一 cMedQANER数据集介绍 用于医疗领域的命名实体识别任务 实体标签 physiology test disease time drug symptom body department c
  • 快速实现M5311 NBIOT TCP通信

    M5311作为TCP Client和Server通信 一 本例程实现功能 二 Core提供的TCP功能介绍 三 接线图 五 完整代码 前言 虽然在如今的物联网开发中 像MQTT COAP这些专门为了物联网而诞生的协议逐渐成为主流 但其实TC
  • 【VMware】VM虚拟机启动系统黑屏及操作系统未找到 多种详细解决方案

    作者 MiTu 本帖内容著作权归作者所有 转载请务必保留本文链接 VM虚拟机启动黑屏 解决方案大全 前言 1 BIOS虚拟设备支持 2 LSP问题 3 虚拟机配置 4 硬盘启动优先级 5 Opearating System not foun
  • 将sqlite源码放进自己的工程一起编译

    在sqlite官网上http www sqlite com download html下载最新的源代码 目前最新的版本是3 8 11 sqlite的源码包有两类 一类是sqlite amalgamation 3081101 zip 这个包里
  • (三十七)论文阅读

    简介 图1 论文原文 论文聚焦的是在目标检测中的 A n c h o r rm Anchor
  • mysql describe_mysql8 参考手册--EXPLAIN、DESCRIBE语句

    EXPLAIN DESCRIBE DESC tbl name col name wild EXPLAIN DESCRIBE DESC explain type explainable stmt FOR CONNECTION connecti
  • 工控随笔_10_西门子_WinCC的VBS脚本_01_基础入门

    很多人都认为VB语言或者VBS脚本语言是一种很low的语言 从心里看不起VB或者VBS 但是其实VBS不仅可以做为系统管理员的利器 同样在工控领域VBS语言大有用武之地 西门子的WinCC提供了两种脚本语言 C脚本和VBS脚本 通过这两种脚
  • [Unity]改变代码运行场景等待时间太长怎么办

    改变代码运行场景速度太慢怎么办 改变一次代码5分钟 运行场景等待5分钟怎么办 是否是因为项目工程 中的资源文件太大 文件数量太多 尝试把这些资源文件 放入 非 项目工程文件夹Assets内 打包后从服务器下载 这些资源文件 zip文件
  • 网络基础:双绞线

    双绞线的线序 EIA TIA的布线标准中规定了两种双绞线的线序 568A与568B 标准568A 绿白 1 绿 2 橙白 3 蓝 4 蓝白 5 橙 6 褐白 7 褐 8 标准568B 橙白 1 橙 2 绿白 3 蓝 4 蓝白 5 绿 6 褐
  • 用vue构建项目笔记5(在vue-cli项目中引用公用方法)(vue resource统一处理)

    之前用cli脚手架构建的项目废了 又让我改成jq了 悲剧 这次这个项目用纯vue实现了 哈哈 下面介绍如何引入全局方法供每个组件都能调用 1 创建一个js文件 我起的名字叫做 common js 放在assets gt js下 2 在com
  • vue文件夹上传源码

    一 功能性需求与非功能性需求 要求操作便利 一次选择多个文件和文件夹进行上传 支持PC端全平台操作系统 Windows Linux Mac 支持文件和文件夹的批量下载 断点续传 刷新页面后继续传输 关闭浏览器后保留进度信息 支持文件夹批量上
  • [论文解读]UNet++解读 + 它是如何对UNet改进 + 作者的研究态度和方式

    UNet 论文 地址 UNet 论文翻译 地址 UNet 源代码 地址 UNet 作者在知乎 上进行了解读 里面还有视频的详解 深入人心 里面的每一句话都令我印象深刻 我总结如下 很多论文给出了他们建议的网络结构 其中包括非常多的细节 比如
  • Oracle常用及非常用函数

    感于总有些网友提出一些非常基础的问题 比如有没有实现某某功能的函数啊 某某函数是做什么用的啊 格式是什么等等 同时也感受到自己对oracle函数认识的不足 于是集中月余时间专注于oracle函数 小有心得不敢私藏 发之与诸公共享 本文并不准
  • Java 使用BufferedImage快速画出图片

    Java 使用BufferedImage快速画出图片 在上一篇文章中我们学习了类似相机中的一些功能 比如黑白 马赛克等 但是我们发现一个问题 画的太慢了 一张图片能画半天 而且还是一条一条的 今天我们来学习如何迅速的画出图片 新知识 new
  • C++ 正则表达式regex(二)

    正则匹配 查找与替代 书写好模式字符串后 需要将待匹配的字符串和模式字符串进行一定规则的匹配 包括三种方式 匹配 regex match 查找 regex search 替换 regex replace 匹配很简单 直接将待匹配字符串和模式
  • PLSQL连接ORACLE时弹出空白框

    前两天一台数据库服务器坏掉了 重新找了台同型号的替换 服务器系统装好后 就在本地机器上远程操作服务器 配置数据库后 新部署的服务就是起不来 怀疑数据库的问题 就各种折腾 还是没有起作用 用本地PLSQL链接ORACLE时 就出现一个小白框
  • HBase选择Store file做compaction的算法

    The algorithm is basically as follows Run over the set of all store files from oldest to youngest If there are more than
  • Maven : Log4j2 could not find a logging implementation

    1 美图 3 错误信息 Log4j2 could not find a logging implementation Please add log4j core to the classpath 解决办法 pom把log4j api也加进去
  • 开源电路仿真软件CircuitJS1介绍与使用入门

    文章目录 前言 基础介绍 使用入门 界面与显示 绘制与操作 保存为文件 子电路绘制与使用 总结 前言 在做电路设计的过程中经常需要用到电路仿真软件对设计的电路进行仿真 以确定电路工作特性或者元件的参数取值 使用电路仿真软件可以缩短电路开发时