Projetando circuitos com vida útil mais longa


11

Eu aprendi sobre o microcontrolador de pic por um período de tempo e tenho uma quantidade razoável de conhecimento sobre o manuseio de eletrônicos digitais. Trabalhei em projetos eletrônicos básicos e agora preciso trabalhar em algumas aplicações comerciais.

Minha pergunta é sobre como projetar e construir circuitos confiáveis ​​e duradouros. Eu construí um circuito automático de controle de luz que pega a entrada de um LDR e exibe o valor da leitura analógica em um painel de sete segmentos. Em seguida, ele faz alguns cálculos e controla a luz através de um relé. Este circuito precisa ser ligado permanentemente (24 horas por dia). Nos primeiros meses, o circuito funcionou perfeitamente, mas após cerca de 6 meses começou a funcionar mal. Ele mostrou coisas sem sentido no visor de 7 segmentos (mostrou apenas partes de números) e acende a lâmpada no LED indicador, mas não liga o relé. Esse não é o comportamento esperado. O problema é que nem sempre funciona assim. Às vezes funciona perfeitamente. Em seguida, começa novamente a funcionar mal. Não há uma ordem exata em que ele funciona.

Agora, minha pergunta é por que esses circuitos se comportam dessa maneira. Suponho que isso ocorra porque ele funciona o dia todo, sem intervalos. Esse tipo de aplicativo precisa funcionar o dia todo. Eu uso o PIC porque eu sei apenas sobre a foto. Atmal é mais confiável que pic? (Perguntei porque o atmal é usado na maioria dos aplicativos de automação, com mais frequência do que a foto). Preciso de alguns conselhos de um especialista em eletrônica digital. Como esse tipo de aplicativos industriais é construído? Existem regras especiais a serem seguidas? Como projetar circuitos mais confiáveis? Qualquer conselho ou orientação de um especialista será muito apreciado. Obrigado...

EDITAR

Conforme sugerido nas respostas, editarei minha resposta fornecendo recursos adicionais para ajudar a descobrir os erros no design.

Abaixo está uma imagem descrevendo a aparência do circuito após a sua construção. É um transformador de derivação central de 12V que fornece energia ao circuito. Ele é retificado usando um retificador de meia onda e depois regulado usando um 7805 IC.

insira a descrição da imagem aqui

Abaixo está o desenho esquemático.

insira a descrição da imagem aqui

Se alguma informação adicional for necessária, fornecerei tudo o que for necessário. Se o programa for necessário, eu o adicionarei. O programa é um pouco longo e usa interrupções.


6
Se você usar um IC dentro das classificações especificadas (consulte a folha de dados), quase todo fabricante garante uma vida útil de 10 anos. E isso está em alta temperatura. Você pode culpar os componentes, mas acho que o problema é que há algo inesperado no seu design. Ou talvez um dos chips sofra de uma descarga ESD e que esteja surgindo apenas agora. Você precisa primeiro encontrar o componente defeituoso antes de receber conselhos úteis.
Bimpelrekkie

2
Além do que o FakeMoustache disse, duvido que o PIC seja a fonte do fracasso. Provavelmente são componentes discretos ou relacionados ao design do circuito.
DigitalNinja #

1
Tenho PICs trabalhando o tempo todo em muitos lugares difíceis. Sem problemas. O único problema que tive foi a corrosão nos plugues e um capacitor elétrico TFT fisicamente forçado com um pino quebrado.
Szidor 16/02

1
E BTW, eu acho que você quer dizer Atmel em vez de "atmal". Além disso, o PIC é um microC da MicroChip (a MicroChip os fabrica). A Atmel também é um fabricante de microC, eles fabricam os microControllers Atmega. Ambos são simplesmente CIs digitais feitos em processos de fabricação semelhantes e com confiabilidade semelhante. Se um fosse mais ou menos confiável que o outro, ninguém os compraria (a um preço semelhante).
Bimpelrekkie

3
Você precisa postar um esquema e, idealmente, uma imagem do sistema problemático. Também duvido que seus problemas sejam a "expectativa de vida útil", mas faltam algo realmente básico, como limpeza da fonte de alimentação ou EMI.
Techydude 16/02

Respostas:


17

Antes de começar a pensar em mudar, verifique se possui um bom design sólido. Você precisa começar a pensar em todas as maneiras pelas quais você pode ter problemas no seu design. Uma boa maneira de fazer isso é parar de pensar em um microprocessador como uma "caixa mágica" na qual você coloca o código, faz o que você pede e começa a pensar em como ele funciona, no nível do portão e do sistema. Você precisa manter seu microprocessador feliz.

  1. Energia - Se a energia dos microprocessadores não estiver limpa, ela não funcionará corretamente. Isso significa olhar para o design da placa de circuito impresso e garantir um bom caminho de baixa indutância da fonte de alimentação e garantir que você tenha limites de energia adequados próximos ao chip. Monitore e meça a potência de um projeto que você sabe que não funciona com um osciloscópio e voltímetro, é essa a potência? Você vê o problema acontecer quando há um pico ou queda no poder? Você vê picos ou quedas na sua linha Vcc?
  2. Código \ Relógio - Há uma falha no código que está fazendo com que ele não funcione corretamente? Você já olhou o código em uma unidade intermitente? Ele verifica (corresponde) ao código que você tem agora? Você está recebendo degradação do flash? E o relógio? A energia pode realmente degradar o relógio ao longo do tempo . O seu relógio é o que precisa ser? Se você desacelerar o relógio, seu código para de funcionar?
  3. Proteção Ambiental. Você está operando o microprocessador nas especificações para as quais ele foi projetado? A temperatura é constante nas unidades que falham? Eles estão em uma área com fatores ambientais, como poeira, EMI, ESD ou temperatura, que podem causar falhas. Suas entradas estão protegidas para o mundo exterior; as pessoas poderiam estar zapeando a unidade? O calor fará coisas ruins para os eletrônicos ao longo do tempo. Compre uma câmera térmica e veja se tudo está normal

O que você realmente precisa fazer é encontrar o mecanismo de falha, você precisa saber por que ele está falhando. Depois de saber por que está falhando, você pode solucionar o problema. Se você não conseguir encontrar isso, precisará tornar seu design invencível para impedir a ocorrência de problemas. Caso contrário, você pode trocar de microprocessador e ainda tem os mesmos problemas. Se você deseja trocar, o ST produz ótimos microprocessadores mais adequados para aplicações industriais.


2
Adicione radiação à lista de fatores ambientais. A radiação ionizante da maioria dos tipos (atômica, fotônica, etc.) pode fazer com que a eletrônica experimente SEU ou perturbações de evento único que resultam em uma saída ilegível.
Rdtsc

Como você sugeriu, atualizei minha resposta adicionando recursos adicionais. o desenho esquemático e uma imagem se o circuito. você pode descobrir quaisquer erros no design.
Danial weaber

Muito obrigado. Eu tive uma idéia e mais conhecimento sobre como dessing circuitos mais confiáveis. Eu tenho que aprender mais antes de começar a construir aplicações comerciais. Muito obrigado. Aceito como resposta.
Danial weaber 17/02/16

Eu meio que suponho que a radiação não seja um fator, mas se você estiver executando essas coisas ao lado de uma usina nuclear ou outra fonte de radiação (ou no espaço, isso se tornará um problema sério com um MCU comercial com alguns SEU por semana, até Rad processadores rígidos terão SEU's). Um MCU comum poderia ter um SEU, mas eu acho que seria da ordem dos anos a probabilidade disso em um ambiente normal.
Voltage Spike

@danial weaber um 7805 não vai parar uma queda de energia com as tampas que você tem. Digamos que o consumo de energia do registro de 5V seja 100mA máximo (você pode executar esses cálculos se medir sua corrente máxima atual), isso seria como uma carga de 50Ohm. Seu limite é 10uf, então tau = RC -> tau = 50 * 10uf = 0,5 ms. Esse é aproximadamente o tempo que levaria para você ter um problema. Você pode comprar uma "verruga de parede" chinesa barata por alguns dólares, que pode tolerar algum abandono da rede elétrica. Ou você pode usar um conversor de CC para CC que seja mais tolerante. Como é o seu aterramento no PCB?
Voltage Spike

7

Como você não diz, questiono como o circuito problemático é fisicamente construído - já que isso soa EXATAMENTE o tipo de problema que normalmente é visto quando alguém que não solda constrói um circuito em uma tábua de pão "empurrar para conectar" temporariamente e sai por alguns meses.

Se isso se assemelhar ao seu caso, o problema será seu; caso contrário, eu ainda suspeitaria de más conexões, mas isso se torna mais uma questão de "habilidade em soldar" do que uma questão de "falha em soldar qualquer coisa".


3
O acréscimo a essa técnica de soldagem inadequada pode produzir juntas com baixa resistência mecânica e outros problemas que causam a falha da junta após um período muito mais curto.
crasic 17/02

Muito obrigado. Eu atualizei minha resposta e se você puder descobrir algum bug no projeto, seria muito grato.
Danial weaber

As soldas parecem boas, sem efeitos visíveis na solda. Pode ser um problema relacionado ao programa. Mas então como é que funciona bem em um momento
Weaber danial

... fornecer uma imagem do lado da solda? Quanto aos problemas de programação que às vezes funcionam, às vezes não, várias opções já foram mencionadas nos comentários sobre a questão. E há o soquete no qual o IC está como um ponto de falha potencial sem solda (entre o soquete e os pinos do IC). Às vezes, os soquetes são uma boa idéia, mas podem causar problemas. Se os problemas melhorarem por um tempo, se você remover e substituir o IC, isso poderá fazer parte do problema. ... também, seus capacitores de filtro de fonte de alimentação parecem um pouco pequenos - todos os 33 pF entre a ponte e a entrada do regulador? Verdade?
Ecnerwal 17/02

5

Você não possui um capacitor de desacoplamento na fonte PIC, mas em uma placa pequena como essa você provavelmente se safará. Você também pode querer adicionar proteção de escurecimento para que o PIC seja redefinido se a tensão cair abaixo de um limite.

Mas eu estaria olhando seu código.

Para iniciantes, você deve ativar o watchdog no micro. Se o código parar de funcionar corretamente, o cão de guarda o reiniciará.

Muito provavelmente, você acabou de encontrar um bug em algum lugar. Como engenheiro de software embarcado por profissão, eu acho que está relacionado às interrupções, porque é aí que os iniciantes geralmente cometem erros. Como iniciante, porém, há um enorme conjunto de erros que você pode cometer no código, então esse é apenas o primeiro lugar que eu procuraria. (Não se ofenda - eu cometi muitos desses erros, inclusive quando eu realmente deveria saber melhor. ;-)


+1 muito obrigado. Agora entendo que cometi alguns erros. Preciso aprender muito mais antes de começar a criar aplicativos comerciais.
danial weaber 19/02/16

3

Concordo com os comentários de que você precisa de um bom capacitor de gordura de ambos os lados do 7805. Especialmente com um relé lá. Espero que este seja o problema principal. Eu adicionaria um capacitor de desacoplamento nas linhas de fonte de alimentação do PIC também.

Eu também estaria procurando por juntas secas.

Eu também verificaria minuciosamente meu programa e usaria qualquer instalação de vigilância existente.

Mas aqui estão alguns trechos interessantes da sua pergunta:

Ele mostrou coisas sem sentido na tela de 7 segmentos (mostrou apenas partes dos números)

Eu estaria tentando descobrir o que aconteceu. O PIC falhou, por exemplo?

Agora, se eu li o seu esquema corretamente, para que cada um dos 7 segmentos seja exibido mostrando algo e algo diferente e constante em pelo menos dois deles, então cada um dos Q1, Q2 e Q3 ainda deve estar sendo ativado em sequência e as saídas para os segmentos devem estar corretas. Isso me diria que seu PIC ainda está executando pelo menos parte de seu código, mas de alguma forma a saída de dígitos foi embaralhada. Por exemplo, talvez não tenha sido fornecido um dígito de 0 a 9 para exibir, mas um dígito 17 ou semelhante (para o qual ele obtém o layout do dígito a partir de um local de memória aleatória).

Você diz:

acende a lâmpada no LED indicador, mas não está ligando o relé

Observando o esquema, a menos que a saída PIC esteja pulsando ou algo assim (não é impossível, pois também é uma porta de saída com timer), isso teria que ser uma falha elétrica (por exemplo, junta seca), um problema de PSU (veja os capacitores acima) , ou o transistor Q4 (talvez) não está totalmente saturado. Não li a folha de dados do PIC, mas um BC547 tem um máximo de C de 100mA (espero que seja o suficiente para acionar o relé e o LED) e hFE de 120 nesse tipo de nível, portanto, você precisará de cerca de 1mA in. 10k pode, portanto, ser um pouco demais. Eu poderia tentar 3k3.

Além disso, você não possui meios úteis de depuração. Como a tela está sempre ligada, talvez você possa fazer o ponto decimal final piscar uma vez por segundo (ou similar) para indicar que está tudo bem.

Se eu tivesse que fazer uma facada selvagem no escuro, acho que, particularmente quando o relé está ligado, o circuito está consumindo uma corrente significativa. Devido à falta de um capacitor grande no lado de entrada do 7805, quando a tensão CA ultrapassar zero, o 7805 não fornecerá nenhuma corrente de saída (e pode realmente estar drenando o capacitor) - da folha de dados do 7805 ' a tensão de entrada deve permanecer tipicamente 2,0 V acima da tensão de saída, mesmo durante o ponto baixo da tensão de ondulação de entrada ' . A tensão no PIC será, portanto, reduzida, talvez o suficiente para travá-lo. Coloque um escopo da linha de 5V ao lado do PIC e se você não vir nada além de uma boa linha de 5V sólida, você sabe que tem um problema.


+1 muito obrigado. Esta resposta me deu uma boa idéia sobre como projetar o circuito e alguns erros que cometi. Vou verificar os capasitores e informar os resultados.
Danial weaber 19/02/16

3

Sempre que você tem um comportamento irregular em um microprocessador, existem duas fontes principais para o problema. 1) capacitores "bypass" ausentes ou insuficientes, 2) pinos do microprocessador "flutuantes".
Todo "chip" precisa ter uma tampa de derivação, diretamente no pino do chip conectado ao Vcc (+ 5v).
Qualquer pino não usado deve ser amarrado alto ou baixo, mas nunca deixado "flutuante".

Concordo que você não está dirigindo "com força suficiente" Q4, eu recomendo 1K para R12.


+1 obrigado na resposta. Vou tentar adicionar os capasitores bipass. É necessário atribuir valores para pinos que não estou usando no design.
Weaber Danial

A palavra correta é "desacoplar" o capacitor, não "desviar". Também concordou que pinos flutuantes podem fazer coisas engraçadas. Eu adicionaria uma terceira fonte principal - apagões ou condições de redefinição duvidosas semelhantes. Mas mesmo assim, nesse caso, quando você tem um iniciante fazendo coisas complexas com interrupções, meu dinheiro está sempre no software.
Graham
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.