can you do introductory analog electronics lab entirely in PSPICE or a descendant tool?

by “lab” I mean a decent laboratory course that may include building power sources, small radios and stuff like that. Or, perhaps equivalently we could take popular electronics kits that are now (or were in the past) on the market, in case people have experience with them.

Well, so can you do this sort of simple analog stuff entirely in PSPICE and make it all work as an idealized version of real life behavior, plus minus consequences of poor soldering etc? Or, perhaps to be more precise, could this be done if sufficient effort is invested in programming the relevant component libraries?

Or is it the case that, quite to the contrary, PSPICE and similar emulators cannot handle realistic emulation of an entire system even as simple as one likely to be built by students in intro classes and beginner hobbyists?

In my opinion (as an engineer with 23+ years of experience in hardware and software design) simulation programs like PSPICE work well enough that they could teach the analog circuit lesson adequately. However, one important aspect of a hands-on lab is hands-on troubleshooting experience, which you don’t get with a simulation program.

Simulation programs have their place, but hands on experience really needs to be hands on, IMHO.

engineer_comp_geek, thank you for your response.

A follow up question - if we wanted to do this, are the component libraries already available online, or in the academic community, or wherever, already sufficient for this task? Or would they need to be created because basically nobody was ever interested in doing this sort of beginner stuff in PSPICE “for real” and so the relevant libraries do not now exist?

Just about any ‘component’ you would use in a beginning lab will have some sort of model of it. Some of the difficulty is handling every single real world effect in your model. I think one possible approach would be to create your own models that can be dropped in to the circuit that can model one particular aspect in isolation. That’s really the power of SPICE (or any circuit simulation) - your model can be as simple or as complex as you want it to be. Having the chance to add “real-world” effects one at a time would be quite useful for a beginning student to see what may be causing the observed behavior of an actual circuit.

On edit: There are some more and less complex (“realistic”) models available for most components as well, but they may or may not suit your needs. I didn’t mean to imply that they aren’t out there.

Sure, you’ve got plenty of component models available. Want to make an amplifier with an FET input stage, a BJT gain stage, and a darlington output stage? You can do all of that in PSPICE. Want to make an op-amp circuit and fiddle with the resistor values to see what happens? You can do that too. It’s a great learning tool.

PSPICE won’t tell you that your op-amp circuit may howl like a banshee if your bypass cap isn’t close enough to the IC though. PSPICE simulates components, not physical layouts.

Figuring out where you made that bad solder joint is also an important aspect of beginner labs. You don’t want to ignore the consequences of poor soldering (IMHO).

But you could, for example, have “analysis tools” plugged in to the software, so if you have your circuit “on” and simulating, you could click on the “voltmeter” and click two points and it would give you a “reading”.

Similarly, you could have ohmmeters, ammeters, oscilloscopes (complete with front panel), signal analyzers, etc.

Still, there’s nothing like wiring it yourself on the breadboard and learning spacial organization. I was a Computer Science major and I had to take EE on a breadboard.

Not just troubleshooting, but how to use real test equipment, rather than virtual instruments.

Good, but we could even program faults into the virtual “equipment” to help students learn to troubleshoot failed parts or test equipment.

<student raises hand> "Professor, I followed the worksheet, but when I click to take the voltage reading it’s giving me 55.2 instead of between 0.9 and 1.1 like the worksheet says should happen.

<Professor> “You either have a faulty voltmeter or a faulty part. Click Tools, TestBench, then look for the Voltmeter, then click Replace With New Meter. Then retest. If it still fails, start deleting parts from your circuit and adding them back.”

I am not in any way disagreeing with the importance of hands-on experience. I just have a theory that when managing complexity, it’s a good thing to manage it in stages. First you master the complexity of “make a design that makes sense, does not violate Maxwell’s equations and might even work in simulation”, then you proceed to “master complexity of the soldering iron” and so on. Until you have eventually built the thing.

By contrast, the prevailing educational wisdom seems to prefer having all problems and complexities tied up into a big dirty ball of tangled hair 'cause dat’s how things be in da real world. Or maybe because for the instructors it is the path of least resistance - the more “holistic” is the educational experience for the student, the less effort the prof has to spend on analytically breaking things up into tasks that are easier to understand and handle and then managing the students in going from milestone to milestone.

ETA: +100 for robert_columbia. Darn it, I should have thought of that myself :slight_smile:

In programming/computer science, there’s a similar paradigm. All CS people have to know assembly language and how the computer handles things at such a low level. In reality, most programmers do not work at that level nowadays, unless they are handling low level driver software behavior or something like that where they need very fine control over the situation. I took a course in compilers, where we learned how high level code gets translated into assembler. Now that I have an idea how it works, I can work at the high level language level and have some idea what is going to happen below.

It’s just not the same thing. This is like the difference between studying for a multiple choice driving test, and actually getting behind the wheel of the car. You can read that you should turn into a skid a hundred times, but until you actually go into a skid, turn into it, and recover, you’re not actually going to understand how to perform the maneuver. There is a lot about building and designing circuits that requires practical, hands-on knowledge of all the multitude of errors and oversights that can introduce flaws into a design.

Using tools like PSPICE for learning is like reading Shakespeare; you can learn and even quote the dialogue, but until you watch it being portrayed on stage or screen, you don’t understand the dramatic impact or humor.

Stranger

Or even a more succinct analogy: Using a simulator to learn electronics is like reading The Joy of Sex instead of having an actual encounter.
There are some things that have no substitution for actual hands-on experience.

I’m very old school. So I come from the Bob Pease School of Thought when it comes to SPICE. :smiley: It can be a great design tool. But there is no substitute for good, old-fashion breadboarding. You will learn much more from building and troubleshooting real circuits vs. using any simulation tool.