Electronic – Is circuit design based on min/max values good practice

best practicedesignindustrial

Time and again I am arguing with a colleague of mine about the question above. When I design a circuit for mass production (> 10k/a) I want to make it robust against every possible variation of component parameters that I know about. This means for example:

  • BJT parameters like VBE, current gain etc. vs. bias and temperature
  • Tolerances, temperature dependences, aging and soldering drift of passives
  • Lifetime of components

Furthermore I consider any violation of absolute maximum ratings under normal operation conditions as unacceptable.

As I understand my colleague he just deems it a useless business to care about parasitics and the like. Just put it all together and try if it works, that's it. Put some pieces into the heat chamber, age them and if they still work afterwards you're done. He has more experience in designing commercial electronics than I do, but I really don't like such an approach. I am convinced that as an engineer I should have thought about any part of a circuit before I build it up for the first time.

Is my approach just sick perfectionism or has it something reasonable? I have already discovered that a lot of electronic designers don't care about robust design…

Best Answer

Engineering is not only about creating robust designs, but is about creating a design that meets some specifications. Usually young designers don't fully understand that economic factors are part of the specification. The problem is that sometimes those economic factors are not well specified (that's often a management's fault), but a good designer is somewhat expected to consider also non-strictly-technical aspects in his designs, such as:

  • BOM-related costs: who cares if 1% of the units fail in the field if it is more economical to ship a new one to the customer instead of making all of them more reliable!

  • Time to market: who cares if the units are more reliable if our competitors ship their things one month in advance!

  • Planned obsolescence: (sad, and not environmentally friendly, but usually it goes like this): why should we want to ship units that can last for 20 years if we marketed them to be able to work for 5 (and we made a lower price point for that)?!?

  • etc.

All this depends on the field to which the design you are creating is targeted, of course. If you aim at a market where a single failure could cost lives (say a new defibrillator), you will apply more safety margins to your design (and you will be forced to do that, in some cases, by mandatory safety standards).

Stricter specs are good if, for example, you are designing a mission-critical board for a space probe for a ~1G$ mission to Pluto. In that case you really would want to foresee the unforeseeable and test for any darned little thing that can go wrong. But this is counterbalanced, economically, by the risk of being sued (or fired) by NASA because your crappy MCU code made all the mission go awry!

To recap, experienced successful designers know how to manage all these economic factors. Of course some of them are really smart and really understand all the delicate balances needed to bring a project to success (be it the new Apple iMostUselessMuchHypedphone or the best instruments for detecting bacteria on a comet). Some others, incredible but true, are just lucky and find the right niche where the "Does the prototype work after being mistreated a bit? Ok! Let's ship it!" mantra works well!

BTW, a good designer should always be wary of requirements he is given. Sometimes people giving you the specs don't really know what they want or need. Even the communication between the designer and the client (or the management) could be misleading. For example, if a client asks for a remotely-controllable barometric station that can work well during winter, it does matter if he is from Alaska or from Saudi Arabia! A good designer should work out the specs with the client, if he is in the position to do so, and a successful designer usually can ask the right questions to nail down the actual specs of the design to make the client happy.

I can understand that for some engineers it is compelling to work out all the details, especially for some passionate individuals that really love creating things that work well. It is not a fault in itself, but it is important to understand that the ability to make tradeoffs is part of engineering. With experience this ability will improve, especially if you work together with good senior designers.

You could also discover that you work for an employer with too low standards for your taste and this could push you to seek another job. But this should be done after you get a bit more experience and learn some tricks of the trade and make you more "appetizing" for a better employer.