Hacker News new | ask | show | jobs
by mbell 4664 days ago
That usually doesn't help as a large source of the problematic parasitics is contact between the part's leads and the 'grippers' inside the breadboard. Lead diameter, corrosion, 'gripper' spring strength, etc all come into play there.
1 comments

So if it's so random that you can't reliably measure it because it changes every time you plug and unplug the same pin (let alone different pin diameters), how can software hope to model it?
When I say 'model it', I mean that loosely, perfect modeling of electronics circuits isn't realistic anyway, any modeling worth the effort will assume a range of possible values for anything under test. A simple example would be if the software warned the user that an active filter design was dangerously close to instability and thus had a decent chance of oscillating when real world parasitics are present.
I realize I'm posting late but its modeled the same way you model tolerances everywhere else.

There is no such thing as a 1K resistor as in 1000.000 ohms. At least not unless you pay an insane amount of money. What there is, is a random-ish spectrum of values where sorted into EIA "preferred value" bins, 10% tolerance resistors that are too high to fit in the EIA E12 bin of 820 ohms, but too low to fit in the EIA E12 bin of 1200 ohms, are by definition dropped into the EIA E12 bin for "1K" resistors.

So a lot of (good) modeling work is screwing around with placing the "wrong" value resistors, simulating, and seeing what happens. So you've got a budget constraint such that you'd like to use cheap 10% resistors. An a theoretical equation said 1063.237 ohms is just right. So you'd superficially think simulating a 1K resistor is good enough, but you really need to simulate what happens when you insert a perfect 820 or a perfect 1200... Will it explode and kill people, or merely clip and distort into a guaranteed product return and/or unhappy customer? In which case its time to start fighting with the boss to spend some extra nickles (times millions of units) to install 5% or 1% resistors. Or maybe it doesn't matter and you get to save some dough.

What makes it even more exciting is quite a few performance characteristics depend on multiple devices. You're not building a little small signal RF amp with one real world random resistor in the bias ckt and every other component is theoretically perfect. No, both your base bias resistors and collector resistor and transistor beta and everything else is "fuzzy".

There exist semi-automated tools to fuzz-n-sim for the pros... this will only confuse the heck out of the noobs so its not often discussed.

Imagine if when you wrote code, you didn't really write "if-then" and "do-while" and "for-loop" but really wrote things that are within 10% of a "do-while" almost all the time, but its never really perfect. And that's what EE work is like. Fun, eh?

Each time you virtually plug something in the program's breadboard, generate a random number. If the number is lower than a threshold, prevent the connection from working. Change the threshold at every program loading and randomly during use.
Haha I assume you're joking; that would give the user zero benefit and immense pain.