Eu tenho um circuito bastante simples que funciona perfeitamente na placa de ensaio, mas estou tendo muitos problemas para transferi-lo para uma PCB. Estou vendo um comportamento muito estranho que está fora da minha experiência atual, por isso espero receber alguns conselhos.
O circuito implementa um sensor de movimento wifi, embora o problema que eu estou tendo ocorra antes de chegar à parte de RF, ou mesmo à parte uC do diagrama:
Eu circulei a parte que está tendo problemas.
R3 é um resistor de pull-down, que é necessário porque o AMN42121 aciona a saída HIGH quando o movimento é detectado, mas o deixa suspenso sem movimento, portanto, o pull-down é necessário.
Eu usei C1 para suavizar a transição entre movimento e nenhum movimento. C1 faz com que o nível de saída vá para LOW lenta e suavemente, para que o estado "sem movimento" seja alcançado após alguns segundos sem movimento.
Inversor há interrupções externas do b / c attiny são acionadas por baixo nível, então eu preciso inverter a lógica. É uma pena que eu tenha usado um pacote DIP tão grande para um inversor, mas não consegui encontrar mais nada.
Eu fiz um PCB de dupla face para este circuito, que se parece com isso:
Novamente, apenas montei a área circulada até agora.
Depois de soldar S1, R3 e C1, recebo o seguinte sinal da saída do sensor:
É exatamente o que eu quero ver, então está tudo bem até este ponto.
Em seguida, soldei um soquete para o IC2 e liguei o inversor. É aqui que os mistérios começam. No começo estava tudo bem, mas depois de um tempo mexendo com o quadro, o circuito parou de funcionar. Quando coloco uma sonda na saída do sensor, em vez do sinal agradável que vimos acima, vejo variações nos dois exemplos a seguir:
Exemplo 1:
Exemplo 2:
Observe que, ao contrário do primeiro exemplo, o sinal no segundo exemplo não é gerado pelo movimento - que a forma do dente de serra apenas surge por si própria sem qualquer ação minha.
Após muitos testes, consegui estabelecer o seguinte:
- Desconectar o inversor da tomada faz com que o sensor funcione corretamente novamente.
- Cortar a energia do inversor e deixá-lo conectado faz com que o sensor funcione.
- O uso de um inversor diferente não tem efeito.
- Mergulhar a placa com removedor de fluxo ou acetona e esfregar com uma escova às vezes faz com que o sensor funcione novamente, mas muito brevemente. Em um ponto, consegui fazer o sinal parecer assim esfregando agressivamente com uma escova de dentes:
Observe que, mesmo nesta última imagem, o sinal não está retornando ao nível LOW até o fim. O efeito desapareceu quase assim que parei de escovar.
Até agora, isso indica algum defeito de solda, exceto que eu realmente não consigo ver o problema. Analisei cuidadosamente o quadro com ampliação poderosa e testei todos os pontos em que pude pensar em continuidade - tudo dá certo. Aqui está um close do trabalho de solda no soquete IC e no sensor:
Agora estou sem idéias, então qualquer conselho seria muito apreciado. Obrigado.
EDITAR:
Acabei de descobrir algo interessante. Um exame mais detalhado do exemplo # 2 (o sinal da forma dente de serra) revela que a inclinação descendente é um segmento da curva de descarga C1 esperada. Quando o nível de tensão se aproxima do limiar do inversor e passa muito tempo lá, o inversor parece estar ficando confuso! Ele está gerando essa pequena explosão de ruído e, em seguida, faz algo para retornar a entrada para HIGH, ou simplesmente fica nesse estado barulhento "indeterminado" indefinidamente até que a saída do sensor fique ALTA novamente b / c de movimento (Exemplo # 1).
Para testar essa teoria, substituí C1 por uma tampa 10 vezes menor, tornando a curva de descarga muito mais íngreme e "voila!" - o inversor não está mais ficando confuso e o circuito funciona!
Obviamente, isso derrota o propósito de C1, já que agora não está fornecendo tanto atraso quanto eu quero. Não sei por que não tive esse problema com o inversor na placa de ensaio, mas sugere que poderia haver uma solução muito fácil que possa resolver esse problema. Eu li que as tábuas de pão têm uma grande capacitância "perdida", então talvez eu só precise adicionar estrategicamente mais capacitores em algum lugar? Alguma ideia?
EDIT 2: Fornecendo uma vista superior, já que alguns comentaristas solicitaram:
fonte
Respostas:
EDIT - por causa da minha interpretação incorreta do circuito, estou editando a resposta para focar na saída do sensor - você está usando a saída analógica para alimentar o inversor - se estiver, talvez deva tentar um gatilho Schmitt como um 74HC14
fonte
Sem estudar seu circuito detalhadamente, o óbvio é que você não tem capacitores de desacoplamento.
Solde um nos pinos de alimentação de cada chip.
Além disso, o comentário 'esfregar faz com que funcione' sugere que você tem uma junta seca ou uma conexão intermitente em algum lugar. Inspecione toda a sua solda com cuidado.
Com relação ao exagero de um chip DIL, você poderia ter usado apenas um transistor e colocar o atraso no software.
fonte
Sua principal preocupação parece estar reduzindo o consumo de energia.
O AMN42121 consome cerca de 50uA continuamente. O 74HC04 consome cerca de 20uA continuamente. O ATTINY85 consome cerca de 300uA intermitentemente, quando acordado. O rádio usará miliamperes quando transmitir.
Com que frequência o sensor será acionado? Você fez algum cálculo de energia para estimar a vida útil da bateria?
Sugiro que você descarte o inversor e o capacitor de "desaceleração", conecte o sensor diretamente ao MCU com um pulldown de 10K de acordo com a folha de dados do sensor e escreva a lógica de atraso no MCU.
[EDIT] Embora você tenha entendido um pouco errado, fico feliz em ver que você está testando seu circuito em um estágio de cada vez. É muito mais fácil do que tentar encontrar um projeto concluído com falha.
fonte