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.
Abaixo está o desenho esquemático.
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.
fonte
Respostas:
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.
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.
fonte
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".
fonte
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. ;-)
fonte
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:
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:
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.
fonte
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.
fonte