Vraag:
Is het circuitontwerp gebaseerd op een goede praktijk voor min / max-waarden?
christoph
2015-07-08 00:07:32 UTC
view on stackexchange narkive permalink

Keer op keer ruzie met een collega van mij over de bovenstaande vraag. Wanneer ik een circuit ontwerp voor massaproductie (> 10k / a), wil ik het robuust maken tegen elke mogelijke variatie van componentparameters die ik ken. Dit betekent bijvoorbeeld:

  • BJT-parameters zoals VBE, stroomversterking etc. vs. bias en temperatuur
  • Toleranties, temperatuurafhankelijkheden, veroudering en soldeerdrift van passieven
  • Levensduur van componenten

Verder beschouw ik elke schending van absolute maximumwaarden onder normale bedrijfsomstandigheden als onaanvaardbaar.

Zoals ik begrijp, vindt mijn collega het gewoon een nutteloze zaak om om parasieten en dergelijke te geven. Zet het gewoon allemaal samen en probeer of het werkt, dat is alles. Doe wat stukjes in de warmtekamer, laat ze rijpen en als ze daarna nog werken ben je klaar. Hij heeft meer ervaring met het ontwerpen van commerciële elektronica dan ik, maar ik hou echt niet van zo'n benadering. Ik ben ervan overtuigd dat ik als ingenieur over een onderdeel van een circuit had moeten nadenken voordat ik het voor de eerste keer opbouwde.

Is mijn benadering gewoon ziek perfectionisme of heeft het iets redelijk? Ik heb al ontdekt dat veel elektronische ontwerpers niet geven om robuust ontwerp ...

Zeven antwoorden:
Lorenzo Donati -- Codidact.com
2015-07-08 00:30:27 UTC
view on stackexchange narkive permalink

Engineering gaat niet alleen over het maken van robuuste ontwerpen, maar ook over het maken van een ontwerp dat aan bepaalde specificaties voldoet. Meestal begrijpen jonge ontwerpers niet helemaal dat economische factoren deel uitmaken van de specificatie . Het probleem is dat die economische factoren soms niet goed gespecificeerd zijn (dat is vaak de fout van het management), maar van een goede ontwerper wordt verwacht dat hij ook niet-strikt technische aspecten in zijn ontwerpen meeneemt, zoals:

  • Stuklijstgerelateerde kosten: wat maakt het uit als 1% van de eenheden het in het veld niet lukt als het voordeliger is om een ​​nieuwe naar de klant te sturen in plaats van ze allemaal betrouwbaarder te maken!

  • Time-to-market: wat maakt het uit als de eenheden betrouwbaarder zijn als onze concurrenten hun spullen een maand van tevoren verzenden!

  • Geplande veroudering: (triest, en niet milieuvriendelijk, maar meestal gaat het als volgt): waarom zouden we eenheden willen verzenden die 20 jaar meegaan als we ze op de markt brengen voor 5 kunnen werken (en daar hebben we een lagere prijs voor gemaakt)?!?

  • etc.

Dit alles hangt natuurlijk af van het veld waarop het ontwerp dat u maakt, is gericht. Als je je richt op een markt waar een enkele storing levens kan kosten (bijvoorbeeld een nieuwe defibrillator), zul je meer veiligheidsmarges op je ontwerp toepassen (en in sommige gevallen zul je daartoe gedwongen worden door verplichte veiligheidsnormen). / p>

Strengere specificaties zijn goed als je bijvoorbeeld een missiekritisch bord ontwerpt voor een ruimtesonde voor een ~ 1G $ missie naar Pluto. In dat geval zou je echt het onvoorziene willen voorzien en testen op elk verdomd klein ding dat fout kan gaan. Maar dit wordt economisch gecompenseerd door het risico te worden aangeklaagd (of ontslagen) door NASA omdat je waardeloze MCU-code ervoor zorgde dat alle missies mislukten!

Om samen te vatten, ervaren succesvolle ontwerpers weten hoe ze met al deze economische factoren moeten omgaan. Sommigen van hen zijn natuurlijk heel slim en begrijpen echt alle delicate balansen die nodig zijn om een ​​project tot een succes te maken (of het nu de nieuwe Apple iMostUselessMuchHypedphone is of de beste instrumenten om bacteriën op een komeet te detecteren). Sommige anderen, ongelooflijk maar waar, hebben gewoon geluk en vinden de juiste niche waar "Werkt het prototype nadat het een beetje is mishandeld? Oké! Laten we het verzenden!" mantra werkt goed!

Trouwens, een goede ontwerper moet altijd op zijn hoede zijn voor eisen die hij krijgt. Soms weten mensen die u de specificaties geven, niet echt wat ze willen of nodig hebben. Zelfs de communicatie tussen de ontwerper en de opdrachtgever (of het management) kan misleidend zijn. Als een klant bijvoorbeeld vraagt ​​om een ​​op afstand bedienbaar barometrisch station dat goed kan werken in de winter, maakt het wel uit of hij uit Alaska komt of uit Saoedi-Arabië! Een goede ontwerper zou de specificaties met de klant moeten uitwerken, als hij daartoe in staat is, en een succesvolle ontwerper kan meestal de juiste vragen stellen om de werkelijke specificaties van het te maken ontwerp vast te leggen de klant tevreden.

Ik begrijp dat het voor sommige ingenieurs dwingend is om alle details uit te werken, vooral voor sommige gepassioneerde individuen die er echt van houden om dingen te maken die goed werken. Het is op zichzelf geen fout, maar het is belangrijk om te begrijpen dat het maken van afwegingen onderdeel is van engineering. Met ervaring zal dit vermogen verbeteren, vooral als je samenwerkt met goede senior ontwerpers.

U zou ook kunnen ontdekken dat u voor een werkgever werkt met te lage normen naar uw smaak, en dit zou u ertoe kunnen aanzetten om een ​​andere baan te zoeken. Maar dit moet worden gedaan nadat je wat meer ervaring hebt opgedaan en een aantal kneepjes van het vak hebt geleerd en je meer "smakelijk" maakt voor een betere werkgever.

+1: 'goed', 'slecht', 'beste' etc. moet altijd in een context worden begrepen.De eerste stap van het creëren is het identificeren (soms kwantificeren!) Van de context, die vaak veel breder is dan alleen de expliciete specificaties.Pas daarna kan het echte plezier beginnen.
Zeer goede analyse.+1
Ik werk eigenlijk in een vrij jong bedrijf met slechts één elektronische ontwerper die meer dan 10 jaar werkervaring heeft.En we zijn nu al maanden wanhopig op zoek naar een senior engineer en krijgen niet eens zinvolle sollicitaties.Die jongens zijn echt moeilijk te vinden! Trouwens, is er een boek dat leert hoe je goede circuits kunt maken (richtlijnen voor een jonge ingenieur)?
Zie [dit antwoord van mij] (http://electronics.stackexchange.com/a/178812/29434) voor een onmisbaar boek voor EE-ontwerpers (Art Of Electronics 3e ed.).Er is ook [analoog Seekrets] (http://www.logbook.freeserve.co.uk/seekrets/) dat [gratis in pdf beschikbaar] (http://www.eevblog.com/files/seekPDF.pdf).
Ja, ik had "The Art Of Electronics" gereserveerd voordat het uitkwam, maar mijn vrouw liet het me alleen op mijn werk lezen;).Bedankt voor de andere referenties!
@LorenzoDonati Goed om te zien dat het H & H-boek nog steeds goed gaat .. het was een "verplichte aankoop" voor mijn EE-opleiding in '82.Een echte aanrader, ook al heb ik er niet zoveel van gelezen als ik had moeten doen ...
Spehro Pefhany
2015-07-08 00:25:28 UTC
view on stackexchange narkive permalink

Ik ben 100% bij je. Dat gezegd hebbende, er zijn dingen (bijvoorbeeld hFE) waar je op moet vertrouwen dat dingen niet te gek gaan tussen (laten we zeggen) twee gegarandeerde punten en dat niets in de fysica en typische curven enig soort raar gedrag suggereert.

Als je een 'cut-and-try'-benadering gebruikt, wat eigenlijk de praktische manier kan zijn om met complexe parasieten om te gaan, zoek dan in ieder geval uit hoe ver je van een ramp verwijderd bent door limieten of fasemarge te testen, enz. Dat is ook werk, en dat is oké.

Het probleem met de cavalier-benadering is dat als je niets weet over veroudering van de optocoupler of bepaalde soorten drift of andere effecten op de langere termijn, je na een jaar of twee 10% veldstoringen krijgt. Of je krijgt uiteindelijk 5% of 10% uitval omdat de sommige componenten meer typisch zijn dan andere, en 5-10% van de niet-uitval faalt later in het veld onder moeilijk te reproduceren omstandigheden.

Ik moet nog worden verbrand door een risico dat ik met beide ogen open heb genomen - geëvalueerd, getest en herzien, zelfs als het onderdeel buiten de aanbevolen bedrijfsomstandigheden of het beoogde gebruik viel. Het is altijd iets dat niet werd overwogen en uit het linkerveld kwam. Door na te denken over alle dingen die mogelijk fout kunnen gaan, kunt u die problemen minimaliseren. Zelfs als ze niet 'jouw schuld' zijn. Sommigen van hen zijn dingen op systeemniveau die niets rechtstreeks met ontwerp te maken hebben. Een voeding die bijvoorbeeld 5x in 2 seconden wordt in- en uitgeschakeld, mag niet falen, maar dat staat misschien niet in de specificaties, dus is deze mogelijk niet ontworpen of getest.

Het overtreden van absolute maximumwaarden is bijna altijd een echt slecht idee, zelfs in de verste hoeken van de ontwerpruimte (maximum omgevingstemperatuur, maximum belasting, maximum ingangsspanning, minimum ventilatie enz. .). Er kunnen een paar rare gevallen zijn waarin het gerechtvaardigd kan worden. Sommige producten hoeven bijvoorbeeld maar één keer te functioneren.

Zie Muntzing voor de tegenovergestelde benadering. De verkoop van bypass-condensatoren zou zeker kelderen als dat werd geaccepteerd.

tcrosley
2015-07-08 01:27:02 UTC
view on stackexchange narkive permalink

Ik zal een worst-case analyse maken van circuits waarbij de componentwaarden een significant effect kunnen hebben op de prestaties van het circuit; bijvoorbeeld de versterking van een op-amp waarbij die versterking belangrijk is voor het volgende circuit dat is aangesloten op de uitgang van de op-amp. En ik zal dezelfde analyse doen voor een schakelende voeding, zodat ik kan verwachten dat de spanning (en) binnen de verwachte limieten valt. (Omdat ik voornamelijk een digitaal ontwerper ben, zijn op-amps en voedingen ongeveer de limiet van mijn analoge expertise.) LTSpice kan worden gebruikt voor het uitvoeren van dergelijke analyses. Maar de tolerantie van bijvoorbeeld een pull-up-weerstand kan me niet schelen; er kan niet van worden verwacht dat het voldoende varieert om een ​​verschil te maken.

Hoewel niet vermeld in de vraag, is dit soort analyse soms ook belangrijk voor digitale ontwerpen. De datasheets voor de meeste digitale IC's bevatten minimum- en maximumtijden voor verschillende parameters, zoals instel- en bewaartijden. Wanneer verschillende IC's samen worden gecombineerd, zullen soms timingvariaties in andere chips, inclusief voortplantingsvertragingen, problemen veroorzaken bij het voldoen aan deze timingvereisten. In het bijzonder ben ik dit soort problemen tegengekomen bij het omgaan met herinneringen.

Wat betreft geplande veroudering, dit is soms noodzakelijk om economische redenen. Een Li-Poly-batterij heeft bijvoorbeeld een verwachte levensduur van slechts drie of vier jaar. Biedt u de klant een manier om de batterij te vervangen? Of bewaar je hem in een gesloten hoesje, zoals Apple doet met zijn iPhones, waar de batterij alleen in een van hun winkels kan worden vervangen (tenzij de klant een geheime tool heeft gekocht en een video volgt op YouTube).

Een ander voorbeeld is een mobiel modem. Een paar jaar geleden, toen we aan een project werkten waarbij alleen een gsm-modem werd gebruikt voor datatransmissie, werd besloten om voor een 2G-modem te kiezen in plaats van 3G, hoewel we wisten dat 2G zou worden uitgefaseerd. De reden was dat de 2G-modem de helft van de prijs van de 3G kostte. We hebben een koerier gevonden die beloofde dat 2G bij hen beschikbaar zou zijn gedurende de verwachte levensduur van het apparaat.

Bimpelrekkie
2015-07-08 00:31:46 UTC
view on stackexchange narkive permalink

Ik denk dat de strategie die je het beste kunt volgen, afhangt van het soort product dat je ontwerpt. Als het iets eenvoudigs en niet-kritisch is, gewoon een implementatie van een circuit op de datasheet van een IC. Dan is waarschijnlijk de aanpak van je collega goed genoeg. Het IC en andere componenten werken gegarandeerd over wat is gespecificeerd. Er is niet veel extra controle nodig.

Maar als u (bijvoorbeeld) een zeer nauwkeurige spanningsreferentie ontwerpt zonder daarvoor een IC te gebruiken, worden alle dingen die u noemt belangrijker omdat variaties de prestaties beïnvloeden .

Maar als je op een "slimme" manier ontwerpt, kun je veel dingen compenseren. Bijvoorbeeld de VBE van een BJT, in IC-ontwerp gebruiken we overal de huidige spiegel, aangezien de in- en uitgangstransistor in dezelfde fabricagestap worden gemaakt, zijn ze bijna identiek en doen verschillen in VBE er niet veel toe. In een discreet (off-chip) ontwerp zou je een opamp kunnen gebruiken om een ​​nauwkeurige stroomspiegel te maken. Gebruik bijvoorbeeld nauwkeurige weerstanden en een lage offset opamp. Een stroomspiegel kan nauwkeuriger worden gemaakt door bijvoorbeeld emitterweerstanden te gebruiken of een basisstroomcompenserende circuitimplementatie.

Met ervaring leer je de kritieke delen van de minder kritische te herkennen. Maar als je het niet weet (geen ervaring), dan zal het onderzoeken van de gevoeligheid voor variaties je nu een idee geven.

Ik denk dat het de kunst is om een ​​praktische houding aan te nemen en variaties in perspectief te plaatsen: wat telt, wat niet? Waar heb ik een volledig onderzoek nodig en waar is dat niet nodig.

nerdfever.com
2015-07-08 23:02:20 UTC
view on stackexchange narkive permalink

Het hangt ervan af hoe robuust het ontwerp moet zijn.

Bij engineering draait alles om afwegingen. Als u wilt dat het ontwerp maximaal robuust is, dan is uw aanpak correct.

Ik zou nog verder gaan en een fudge-factor toepassen die verder gaat dan de min / max-waarden van de datasheet, tenzij u veel weet over hoe de de fabrikant kwam tot die waarden.

Maar dat kost geld, moeite die aan andere dingen zou kunnen worden besteed, in time-to-market. Niet elk ontwerp hoeft zo robuust te zijn.

Als je een atoombom ontwerpt (en je wilt er zeker van zijn dat hij niet per ongeluk afgaat), of een hartdefibrillator, of een ruimte onderzoek, zijn die kosten waarschijnlijk het dragen waard.

Als je een tamagouchi-speeltje ontwerpt dat voor $ 5 wordt verkocht, waarschijnlijk niet.

Tot op zekere hoogte heeft je collega gelijk - voor velen Een conservatief ontwerp dat zich richt op het middenbereik van parameters zal 99,99% van de tijd prima werken zonder de noodzaak van uitgebreide analyse en testen.

Als falen in 0,01% van de gevallen acceptabel is, dan is dat prima. Echt.

U moet de afweging maken tussen de kosten van ontwerpoptimalisatie en wat u ervoor terugkrijgt.

Guill
2015-07-12 02:11:48 UTC
view on stackexchange narkive permalink

Alle antwoorden die u heeft ontvangen, zijn erg goed. Er is echter nog een ander aspect waarvan ik denk dat het niet is aangepakt. De reputatie van u en uw bedrijf. In mijn geval zou ik liever "vergissen" aan de kant van "robuustheid". De reden hiervoor is dat ik een reputatie zou krijgen voor het ontwerpen van schakelingen die betrouwbaar werken onder verschillende omstandigheden, en mijn bedrijf zou de reputatie krijgen betrouwbare producten te leveren. Alle (de meeste) andere overwegingen zou ik aan mijn manager / supervisor overlaten.
Als mijn ontwerp te duur is, of te veel tijd gaat kosten om te bouwen en te testen, zou ik mijn manager laten "terugduwen" naar mij en vertel me dat ik het ontwerp moet aanpassen zodat het minder kost of eerder klaar is, enz. Dus ja het gebruik van min / max-waarden is een goede gewoonte .

supercat
2015-07-08 22:37:05 UTC
view on stackexchange narkive permalink

Het ontwerpen van een apparaat dat werkt als componenten een combinatie van gedrag vertonen die door hun gegevensblad is toegestaan, is een goede gewoonte wanneer dit praktisch is. Helaas zijn veel gegevensbladen niet voldoende gedetailleerd om het apparaatgedrag te specificeren om dat werkbaar te maken.

Als een eenvoudig voorbeeld, stel dat men een 74HC374 neemt en de uitgangen Q0-Q5 rechtstreeks naar de ingangen D2-D7 bedraadt, voor doeleinden om het te gebruiken als een 2x4-bit schuifregister. Dergelijke ontwerpen zijn alledaags en werken prima in de praktijk. Een typisch gegevensblad geeft echter aan dat een apparaat een minimale voortplantingstijd van 0ns heeft (wat betekent dat de uitvoer onmiddellijk kan veranderen als reactie op een klokflank) en een minimale houdtijd van 2ns (wat betekent dat het apparaatgedrag niet gegarandeerd is als de input verandert binnen 2ns van een klokflank). In de praktijk is het onwaarschijnlijk dat een apparaat waarvoor een input defect zou kunnen zijn als het 2ns na een klokflank verandert, outputs heeft die sneller veranderen, maar niets in de datasheet garandeert dat. In theorie zou men een correct circuitgedrag kunnen garanderen door een RC-vertragingscircuit aan elke uitgang toe te voegen voordat deze terugkoppelt naar de volgende ingang, maar in de praktijk worden dergelijke dingen bijna nooit gedaan wanneer de uitgangen van een onderdeel worden teruggevoerd naar andere ingangen van hetzelfde onderdeel. die door dezelfde klok worden bediend.

Ik weet niet zeker of er een bepaalde reden is waarom fabrikanten in het algemeen onvoldoende informatie verstrekken om het juiste apparaatgedrag te garanderen (bijvoorbeeld door te specificeren dat de snelste voortplantingstijd van elk apparaat in veel, gemeten vanaf het moment dat de klok boven VIL komt, zal de wachttijd van het langzaamste apparaat in de partij, gemeten vanaf het moment dat de klok boven VIH stijgt, met minstens __ns langer worden overschreden, maar dat doen ze over het algemeen niet; hoewel het mogelijk zou zijn om extra schakelingen toe te voegen om correct gedrag onder alle combinaties van parameters te garanderen, kan dit soms de kosten van de betrokken schakelingen verdubbelen.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...