Circuit Simulation

From Adam Colton
Jump to navigation Jump to search

The first thing that I need is a circuit simulator. I've run into a surprising amount of trouble here.

Look at:

Lush Projects

http://lushprojects.com/circuitjs/

I like this one, good basic simulator.

Circuit Lab

https://www.circuitlab.com/

Ok, but the free version was very limited. Subscriptions are expensive $15/month (cheapest plan is fine for me).


QUCS

Desktop FOSS. I kind of liked it but it was a pita to use and after figuring out some very odd quirks, I started running into problems with it's simulation. Basic oscillator circuits would crash the simulator.

The other significant disadvantage is that there was very little support.

Spice

Tried a few variants. Extremely difficult to use, and I ran into the same issue as QUCS.

EEVblog recommend LTspice, I should give that another try.

GNU CAP

No information

Roll-My-Own

How could I not consider this? Since the field is so sparse, I should consider contributing.

Were I to do this, my goals would be:

  • Simple "bread-board" simulation out-of-the-box
  • runs in browser
  • sub-circuits and components
  • real-world considerations that can be "turned on", temp, noise
  • export to other standards, particularly board layout tools
  • always does mixed (because why not)

Sub Circuit

Nothing fancy here, useful both for add standard ICs and for abstracting circuits. A sub circuit has exposed wires (pins).

Components

A component is a class. It has some number of constant parameters and takes some number of circuit parameters. For instance, a resistor is defined by a resistance. During simulation, this value is constant. It has two pins and performs simulation calculations for them.

Data

This is where I think I could build something really cool. I would like to see things like where energy is lost, save rolling graphs, or even have intelligent triggers that save graph data around critical events.

Input and Layout

I'd like the ability to have different types of input and have the circuit "clean" itself up. Drag and drop is nice, particularly for tweaking, but I'd love to have a "spreadsheet" view that shows all the components and their values and nodes.

I'd like this to be able to render a veroboard/stripboard mode, also PCB templates for toner transfer.

Falstad

https://www.falstad.com/circuit/circuitjs.html

Source:

I should be able to produce text inputs for this as well.

  • x: increases l to r
  • y: increases b to t
  • $: sim parameters?
  • voltage: v -vx -vy +vx +vy ? ? ? dcv ? ? ?