Engenharia não é apenas criar designs robustos, mas criar um design que atenda a algumas especificações. Geralmente, os jovens designers não entendem completamente que fatores econômicos fazem parte da especificação . O problema é que, às vezes, esses fatores econômicos não são bem especificados (isso geralmente é culpa da gerência), mas espera-se que um bom projetista considere também aspectos não estritamente técnicos em seus projetos, como:
Custos relacionados à lista técnica: quem se importa se 1% das unidades falhar em campo se for mais econômico enviar uma nova para o cliente em vez de torná-las mais confiáveis!
Tempo para o mercado: quem se importa se as unidades forem mais confiáveis se nossos concorrentes enviarem suas coisas com um mês de antecedência!
Obsolescência planejada: (triste e não ecológica, mas geralmente é assim): por que devemos enviar unidades que podem durar 20 anos se as comercializamos para poder trabalhar por 5 (e fizemos um preço mais baixo ponto para isso)?!?
etc.
Tudo isso depende do campo para o qual o design que você está criando é direcionado, é claro. Se você visar um mercado em que uma única falha possa custar vidas (por exemplo, um novo desfibrilador), você aplicará mais margens de segurança ao seu projeto (e será forçado a fazer isso, em alguns casos, pelos padrões de segurança obrigatórios).
Especificações mais rigorosas são boas se, por exemplo, você estiver projetando uma placa de missão crítica para uma sonda espacial para uma missão de ~ 1 G $ a Plutão. Nesse caso, você realmente gostaria de prever o imprevisível e testar qualquer coisa maldita que possa dar errado. Mas isso é contrabalançado, economicamente, pelo risco de ser processado (ou demitido) pela NASA porque seu código de MCU de baixa qualidade fez com que toda a missão desse errado!
Para recapitular, designers de sucesso experientes sabem como gerenciar todos esses fatores econômicos. É claro que alguns deles são realmente inteligentes e realmente compreendem todos os delicados equilíbrios necessários para levar o projeto ao sucesso (seja o novo Apple iMostUselessMuchHypedphone ou os melhores instrumentos para detectar bactérias em um cometa). Alguns outros, incríveis, mas verdadeiros, têm apenas sorte e encontram o nicho certo onde o "O protótipo funciona depois de ser maltratado um pouco? Ok! Vamos enviá-lo!" mantra funciona bem!
BTW, um bom designer deve sempre ter cuidado com os requisitos que ele recebe. Às vezes, as pessoas que fornecem as especificações não sabem realmente o que querem ou precisam. Até a comunicação entre o designer e o cliente (ou a gerência) pode ser enganosa. Por exemplo, se um cliente solicitar uma estação barométrica remotamente controlável que possa funcionar bem durante o inverno, não importa se ele é do Alasca ou da Arábia Saudita! Um bom designer deve elaborar as especificações com o cliente, se ele estiver em posição de fazê-lo, e um designer de sucesso geralmente pode fazer as perguntas certas para definir as especificações reais do design para fazer o cliente feliz.
Eu posso entender que, para alguns engenheiros, é convincente elaborar todos os detalhes, especialmente para algumas pessoas apaixonadas que realmente amam criar coisas que funcionam bem. Não é uma falha em si, mas é importante entender que a capacidade de fazer trocas faz parte da engenharia. Com a experiência, essa capacidade melhorará, especialmente se você trabalhar em conjunto com bons designers seniores.
Você também pode descobrir que trabalha para um empregador com padrões muito baixos para o seu gosto e isso pode levá-lo a procurar outro emprego. Mas isso deve ser feito depois que você adquirir um pouco mais de experiência e aprender alguns truques do ofício e torná-lo mais "apetitoso" para um empregador melhor.
Estou com você 100%. Dito isto, há coisas (por exemplo, hFE) em que você precisa confiar que as coisas não ficam muito complicadas entre (digamos) dois pontos garantidos e que nada nas físicas e nas curvas típicas sugeriria qualquer tipo de comportamento estranho.
Se você usa uma abordagem de cortar e tentar, que pode ser a maneira prática de lidar com parasitas complexos, diga, pelo menos descubra a que distância você está do desastre testando limites ou margem de fase, etc. Isso também funciona. OK.
O problema com a abordagem descuidada é que, se você não conhece algo como o envelhecimento do acoplador óptico ou certos tipos de desvio ou outros efeitos a longo prazo, começa a ter 10% de falhas no campo após um ano ou dois. Ou você acaba com quedas de 5% ou 10% porque alguns componentes são mais típicos que outros, e 5 a 10% das não-quedas falham mais tarde no campo em condições difíceis de reproduzir.
Ainda estou queimado pelo risco que corri com os dois olhos abertos - avaliados, testados e revisados, mesmo que a peça estivesse fora das condições operacionais recomendadas ou do uso pretendido. É sempre algo que não foi considerado e saiu do campo esquerdo. Pensar em todas as coisas que podem dar errado é como você pode minimizar esses problemas. Mesmo que não sejam "sua culpa". Alguns deles são coisas no nível de sistemas que não têm nada a ver diretamente com o design. Por exemplo, uma fonte de alimentação ativada e desativada 5x em 2 segundos não deve falhar, mas isso pode não estar nas especificações, portanto, pode não ter sido projetada ou testada.
Violar os limites máximos absolutos é quase sempre uma muito má ideia, mesmo nos cantos mais distantes do espaço de design (temperatura ambiente máxima, carga máxima, tensão máxima de entrada, ventilação mínima etc.). Pode haver alguns casos estranhos em que isso pode ser justificado. Alguns produtos precisam funcionar apenas uma vez, por exemplo.
Para a abordagem oposta, consulte Muntzing . As vendas de capacitores de derivação certamente cairiam se isso fosse uma prática aceita.
fonte
Farei uma análise dos piores casos dos circuitos em que os valores dos componentes podem ter um efeito significativo no desempenho do circuito; por exemplo, o ganho de um amplificador operacional em que esse ganho é importante para o próximo circuito conectado à saída do amplificador operacional. E farei a mesma análise para uma fonte de alimentação comutada, para que eu possa esperar que a tensão esteja dentro dos limites esperados. (Sendo principalmente um designer digital, amplificadores operacionais e fontes de alimentação são o limite dos meus conhecimentos analógicos.) O LTSpice pode ser usado para realizar essa análise. Mas não me importo com a tolerância de um resistor de pull-up, por exemplo; não se pode esperar que varie o suficiente para fazer a diferença.
Embora não mencionado na pergunta, esse tipo de análise às vezes também é importante para projetos digitais. As folhas de dados para a maioria dos ICs digitais incluem tempos mínimos e máximos para vários parâmetros, como tempos de configuração e espera. Ao combinar vários CIs, às vezes variações de tempo em outros chips, incluindo atrasos na propagação, causarão problemas no atendimento a esses requisitos de tempo. Em particular, eu me deparei com questões como essa ao interagir com memórias.
Quanto ao assunto da obsolescência planejada, isso às vezes é necessário por razões econômicas. Por exemplo, uma bateria Li-Poly pode ter uma vida útil esperada de apenas três ou quatro anos. Você fornece uma maneira de o cliente trocar a bateria? Ou você a guarda dentro de um estojo fechado, como a Apple faz com seus iPhones, onde a bateria só pode ser trocada em uma de suas lojas (a menos que o cliente tenha comprado uma ferramenta secreta e siga um vídeo no YouTube).
Outro exemplo é um modem celular. Alguns anos atrás, ao trabalhar em um projeto usando um modem celular apenas para transmissão de dados, foi tomada a decisão de usar um modem 2G em vez de 3G, mesmo sabendo que o 2G seria eliminado. O motivo foi o modem 2G custar metade do preço do 3G. Encontramos uma operadora que prometeu que o 2G estaria disponível a partir deles durante o tempo de vida útil esperado do dispositivo.
fonte
Eu acho que a melhor estratégia a seguir depende do tipo de produto que você está projetando. Se é algo simples e não crítico, apenas uma implementação de um circuito na folha de dados de um IC. Então provavelmente a abordagem do seu colega é boa o suficiente. É garantido que o IC e outros componentes funcionem sobre o que está especificado. Não há muita necessidade de uma verificação extra.
Mas se (por exemplo) você estiver projetando uma referência de tensão muito precisa sem usar um IC para isso, todas as coisas mencionadas se tornarão mais importantes, pois as variações influenciarão o desempenho.
Mas se você projetar de maneira "inteligente", poderá compensar muitas coisas. Por exemplo, o VBE de um BJT, no design de IC, usamos espelho de corrente em todos os lugares, pois os transistores de entrada e saída são feitos na mesma etapa de fabricação, são quase idênticos e as diferenças no VBE não importam muito. Em um design discreto (fora do chip), você pode usar um opamp para criar um espelho atual preciso. Basta usar resistores precisos e um opamp de baixo deslocamento, por exemplo. Um espelho de corrente pode ser mais preciso usando resistores de emissor, por exemplo, ou uma implementação de circuito de compensação de corrente de base.
Com a experiência, você consegue reconhecer as partes críticas das menos críticas. Mas se você não conhece (sem experiência), investigar a sensibilidade às variações agora dará uma idéia.
Acho que o truque é manter uma atitude prática e colocar em perspectiva as variações: o que importa, o que não importa? Onde preciso de uma investigação completa e onde não é necessário.
fonte
Depende de quão robusto você precisa que o design seja.
Engenharia tem tudo a ver com tradeoffs. Se você deseja que o design seja robusto ao máximo, sua abordagem está correta.
Eu iria ainda mais longe e aplicaria um fator de correção além dos valores mínimo / máximo da folha de dados, a menos que você saiba muito sobre como o fabricante chegou a esses valores.
Mas fazer isso tem um custo - em dinheiro, em um esforço que poderia ser dedicado a outras coisas, a tempo de comercializar. Nem todo projeto precisa ser tão robusto.
Se você está projetando uma bomba atômica (e deseja ter certeza de que ela não dispara por acidente), ou um desfibrilador cardíaco ou uma sonda espacial, esses custos provavelmente valem a pena.
Se você estiver projetando um brinquedo de tamagouchi que será vendido por US $ 5, provavelmente não.
Até certo ponto, seu colega está certo - para muitos propósitos, um design conservador que visa a faixa intermediária de parâmetros funcionará bem 99,99% do tempo, sem a necessidade de análises e testes extensivos.
Se a falha em 0,01% dos casos for aceitável, tudo bem. Sério.
Você precisa avaliar a troca entre o custo da otimização do design e o que você recebe em troca.
fonte
Toda a resposta que você recebeu é muito boa. No entanto, há um outro aspecto que eu acho que não foi abordado. Você e a reputação da sua empresa . No meu caso, eu preferiria "errar" ao lado de "robustez". A razão é que eu ganharia reputação por projetar circuitos que funcionem de maneira confiável sob condições variadas, e minha empresa obteria reputação por fornecer produtos confiáveis. Todas (a maioria) outras considerações, eu as deixaria ao meu gerente / supervisor.
Se meu projeto for muito caro ou demorar muito para ser construído e testado, eu deixaria meu gerente "recuar" para mim e me dissesse para modificar o design para que ele custe menos ou seja feito mais cedo, etc. Portanto, sim , usar valores mínimo / máximo é uma boa prática .
fonte
Projetar um dispositivo que funcione se os componentes tiverem uma combinação de comportamentos permitidos pela folha de dados é uma boa prática quando é prático. Infelizmente, muitas folhas de dados falham ao especificar o comportamento do dispositivo com detalhes suficientes para torná-lo viável.
Como um exemplo simples, suponha que se pegue um 74HC374 e conecte as saídas Q0-Q5 diretamente às entradas D2-D7, para fins de usá-lo como um registrador de deslocamento de 2x4 bits. Tais projetos são comuns e funcionam bem na prática. Uma folha de dados típica, no entanto, especificará que um dispositivo tem um tempo de propagação mínimo de 0ns (o que significa que a saída pode mudar instantaneamente em resposta a uma borda do relógio) e um tempo de espera mínimo de 2ns (o que significa que o comportamento do dispositivo não é garantido se a entrada muda dentro de 2ns da borda do relógio). Na prática, é improvável que um dispositivo para o qual qualquer entrada possa funcionar incorretamente se alterar 2ns após uma borda do relógio, com saídas que mudam mais rapidamente que isso, mas nada na folha de dados garante isso. Em teoria, pode-se garantir o comportamento correto do circuito adicionando um circuito de atraso RC em cada saída antes de retornar à próxima entrada,
Não tenho certeza se existe alguma razão específica para que os fabricantes geralmente não forneçam informações suficientes para garantir o comportamento correto do dispositivo (por exemplo, especificando que o tempo de propagação mais rápido de qualquer dispositivo em um lote, medido a partir de quando o relógio ultrapassar o VIL, excederá por pelo menos __ns mais o tempo de espera do dispositivo mais lento do lote, medido a partir de quando o relógio ultrapassa VIH), mas geralmente não; embora seja possível adicionar circuitos adicionais para garantir o comportamento correto em todas as combinações de parâmetros, isso às vezes pode dobrar o custo dos circuitos envolvidos.
fonte