Keeping your head from exploding when designing... tips? - Page 1
Forum section: electronics / beginners

author: David Aurora
author_rank: Frequent Contributor
timestamp: June 17, 2012, 02:21:24 pm
content: I just spent the most frustrating couple days troubleshooting what is a really stupidly simple design (just an active optical volume control using phase cancellation). And in the last hour I had two eureka moments where I finally went "Oh you dickhead... OF COURSE that isn't going to work right!". Literally 1 minute with the hot air gun and some part swaps and I'd made the board a winner.I'm still fairly fresh to electronics, definitely no expert. So I always try to make sure I learn from mistakes, and here's what I think went wrong (and this is a fairly common occurrence with design problems I have)- through the process of going from idea, to PCB design, to working prototype, I lost sight of some of my reasoning behind bits of the design and then totally jacked the circuit by tweaking things without proper care for my original design choices. I'll try to explain with my usual design process.- I started out with an idea in my head and scribbled it down as a rough collection of black boxes and intended/desired functions.- I took some basic measurements of parts to see if it was plausible and fine tune part selection (in this project, that was the useful range of a light dependent resistor, and choosing the optimum LED to vary it as well as playing with potentiometer tapers for smooth control).- I then put down a fairly complete schematic on a whiteboard. Not really worrying about drawing up assumed things like protection diodes and bypass caps and stuff, just the guts of the real circuit.- Once I've gone through that and it looks right I'll fire up Eagle and draw it in, fine tuning part package selection and playing with values to make the most of bulk ordering parts- Then I'll etch the board, slap it together and fire it up for a test run.And that's where things usually go to shitIt'll start with a little thing like not being happy with a pot taper or realising I need a little more filtering somewhere. So I'll tweak something, which might mean a few components need a tweak for the function to be adjusted the way I want it. OK, fair enough. Then I'll realise that suddenly the majority of resistors or caps or something has shifted to a different value, so I'll start thinking "Hmm... well, I guess I could adjust this section over here to make use of component value X rather than Y to simplify the BOM...", and I'll do that. Then I'll find a glitch or think of an enhancement or something and think "That's easy to fix, I'll just swap this jumper for an ___ ohm resistor..." and before you know it, I've just lost 6 hours and my device is way off what I was aiming for!Tonight I found myself getting to the very end of a lot of chasing my tail before I realised that the best part of 2 days had just been lost to ONE capacitor and TWO resistors needing value changes. That's it. The resistors were a mistake from a false assumption (calculated based on a difference source impedance), and the original capacitor choice had actually been right but I'd second guessed myself when the circuit didn't function right. And I must have pulled the board apart and gone back to the drawing board 10 times trying to make the damn thing work the way I want, I'd already started redesigning from scratch and was about to delete the old board design, it was just out of nowhere that I finally clicked to the issues going on.Maybe that's just the point of prototyping, maybe I'm just venting, I don't know haha. I just hate wasting time over stupid mistakes I should have caught. I'd rather the thing exploded or didn't work at all than be frustrated by it being JUST out of spec or having a minor bug, but that's what always happens to me. Any tips for how to avoid running around in circles? I'm thinking maybe from now on I might write a rundown on the operating principles of a circuit once I've come up with the schematic, so that if I then want to change something I have a sheet of paper in front of me reminding me why I chose a particular value here or there. I think that way I might avoid changing things for "logical" reasons rather than functional reasons. Thoughts?

author: Eonir
author_rank: Contributor
timestamp: November 01, 2013, 06:24:43 pm
content: Quote from: David Aurora on June 17, 2012, 02:21:24 pmI get the feeling you specifically wrote that to sound more impressive, or perhaps were scared to sound like a newbie. Don't worry! Everybody's been there. Sometimes it can go for days, sometimes longer.There are two realms where we can look for the source of the problem. Outside and inside. Outside reasons include but are not limited to:Lack of documentation, or (even worse) false documentation, quickfixes, logistic problems, understaffing, impossible deadlines or unrealistic assumptions... the list goes on.Sometimes the reason is inside your head. Systematic negligence of one little issue can breed problems. Sometimes your eye simply ignores certain things until it's too late. Sometimes we're trapped in our old ways of thinking and can't notice certain mistakes until someone else points them out.These are problems of most people who have any kind of responsible job! We're all in it together. Sometimes you have to fix other people's mistakes. It is then and there important that you remember that you yourself experience the same thing. Some people complain about other people's mistakes while committing similar ones.

author: Stonent
author_rank: Super Contributor
timestamp: November 01, 2013, 08:08:00 pm
content: Also you could have a masterpiece on your hands and then suddenly some non technical person throws a new requirement at you that forces you to redo it or build something that you're not proud of.It happens in many technical fields."I realize the design was originally a transistor radio but let's add a touch screen and get rid of the volume knob. Oh yeah and let's keep to our target price mmmkay?"

author: mcinque
author_rank: Unknown
timestamp: November 01, 2013, 10:17:08 pm
content: Quote from: David Aurora on June 17, 2012, 02:21:24 pmWe're in the same club!In my case this results are mostly due to my hurry to end the project both with some lack of experience.

author: Unknown
author_rank: Unknown
timestamp: November 01, 2013, 10:59:00 pm
content: Myself, I always spend a lot of time (probably too much!) thinking of where & what potential problems might be at the design/fine tune/selection stage. It's not necessarily conscious; often I just keep it in the back of my mind. Things never work right the first time, so it helps to have a few ideas of where & how things could go wrong when they do...Quote from: David Aurora on June 17, 2012, 02:21:24 pmYou're also missing the breadboarding/rough prototyping stage.I'm just getting back into electronics as a hobby now after a fairly long hiatus. I'm currently tending towards RF-ish stuff (HF & low VHF) which comes with its own issues when prototyping, but they're much less frustrating to deal with than having a brilliant insightafteryou've spent 30 minutes making a board...

author: bgsteiner
author_rank: Contributor
timestamp: November 02, 2013, 04:24:35 am
content: I know how you feel. I have similar problems when designing and programming. The main thing that i focus on is creating a system where I can recognise my frustration or the point at which I am just overlooking all the problems and what could be causing them, and force myself to take a break. You should always take a break when you find a complex problem. After I compile a program or finish a schematic I always stop and come back 15 minutes later so that by looking it over one last time I have forgotten the subconscious things that I did when last working on it because that is one major area mistakes can be made or problems can arise because it wouldn't work for a specific situation. If you ever find yourself getting really frustrated at what you are working on I recommend just stopping and find something else to occupy your mind like listening to music.Remember sometimes the simplest solutions can fix the most complex problems.

author: Mechatrommer
author_rank: Super Contributor
timestamp: November 02, 2013, 12:56:22 pm
content: Quote from: bgsteiner on November 02, 2013, 04:24:35 amjust a "constructive" suggestion... during the rest time, wash your face, hand, hair, feet with water and put your head on the floor to make blood inrush into your brain, your mind will refuel and rejuvenate faster. and if you had sit for longer than 5 hours (iirc) do a little bit of light stretching such as stand straight, raise your hand and then lean your body forward hand to the kneehttp://www.travel-impact-newswire.com/2012/10/sitting-for-long-causes-lower-back-pain-what-can-be-done/#axzz2jUaQZFDI

author: Abstr7ct
author_rank: Regular Contributor
timestamp: November 02, 2013, 01:21:22 pm
content: Quote from: Mechatrommer on November 02, 2013, 12:56:22 pmThat's some subtle preaching.

author: Bored@Work
author_rank: Super Contributor
timestamp: November 02, 2013, 03:08:16 pm
content: Pick up drinking.

author: Whuffo
author_rank: Regular Contributor
timestamp: November 02, 2013, 05:18:31 pm
content: Quote from: Bored@Work on November 02, 2013, 03:08:16 pmWorks for me. Don't overdo it, though.

author: Kryoclasm
author_rank: Regular Contributor
timestamp: November 02, 2013, 08:04:50 pm
content: Try to break up the total project (schematic) into smaller functional chunks that you can test independently.Then start to tie them together and test after each one is connected up.That way, at least, you know where you are starting to get a problem.When I hit the wall and can't troubleshoot anymore, I just walk away from it for a while, or overnight. I tend to wake up in the middle of the night with a solution, but that's me.

author: fcb
author_rank: Super Contributor
timestamp: November 02, 2013, 08:10:30 pm
content: I've been designing electronic products professionally for well-over 20 years, if you find the solution please post it.

author: KJDS
author_rank: Super Contributor
timestamp: November 03, 2013, 10:58:49 am
content: Quote from: fcb on November 02, 2013, 08:10:30 pmMe tooThe one thing that helps is a decent model, in Spice or more usually for me ADS or Microwave Office. It will rarely show the solution but usually give a hint as to what could cause the problem.

author: blewisjr
author_rank: Frequent Contributor
timestamp: November 03, 2013, 01:12:17 pm
content: Wish I could give some advice to this... I am a total noob as well and my head always explodes. Thank goodness it grows back.It is odd so much comes easy to me when it comes to the software world and server world. When I try electronics it feels like I was thrown into the Ocean with some bricks on my ankles to drown.My biggest issue is designing circuits the software/firmware part comes much easier for me. I guess I am just not much of a hardware guy lol.I keep wanting to give up but I keep thinking come on it can't really be that hard... Then my head explodes again

author: David Aurora
author_rank: Frequent Contributor
timestamp: November 03, 2013, 04:35:28 pm
content: Quote from: Eonir on November 01, 2013, 06:24:43 pmHoly old thread resurrection Batman!Haha which part sounded impressive? I recall feeling like a total dumbass when I originally posted this, there was definitely nothing impressive about it!It seems I'm not alone in the frustration of designing, I *think* that's comforting in a schadenfreude kind of way

author: KJDS
author_rank: Super Contributor
timestamp: November 03, 2013, 05:21:33 pm
content: There is always a logical explanation of why a circuit isn't doing what you want it to. Finding that logical reason is best done logically. Often a second pair of eyes helps. If they aren't available then writing down what should be happenning, what is happening and what you've tried so far, so that you can send it to someone for review, or even just to post on here can give you enough of an idea to try a new line of investigation.What is crucial is to listen when advice comes. I remember one engineer struggling for weeks to remove the 32kHz spurs on his oscillator, Four other engineers told him that the spur frequency was the line scan rate in the spec ana he was using. A spec ana with a CRT with big coils thwapping away at 32kHz right niext to his sensitive oscillator and that it was possible to take a single shot measurement with the display turned off. This advice was repeated daily for six weeks. Eventually the boss sat next to him, got him to agree that he'd been told about thirty times over a six week period that it was worth doing, showed him how to do it and magically the spurs disappeared. What did appear was a P45 and an invitation to pursue interests outside of the organization.