Ho un circuito abbastanza semplice che funziona perfettamente sulla breadboard, ma ho molti problemi a trasferirlo su un PCB. Vedo un comportamento molto strano che si trova al di fuori della mia esperienza attuale, quindi spero di ricevere qualche consiglio.
Il circuito implementa un sensore di movimento wifi, sebbene il problema che sto riscontrando si verifichi prima che arrivi alla parte RF, o anche alla parte uC del diagramma:
Ho cerchiato la parte in difficoltà.
R3 è un resistore pull-down, necessario b / c AMN42121 guida l'uscita HIGH quando viene rilevato un movimento, ma lo lascia sospeso per nessun movimento, quindi è necessario il pull-down.
Ho usato C1 per appianare la transizione tra movimento e nessun movimento. C1 porta il livello di uscita su BASSO lentamente e senza intoppi, quindi lo stato "nessun movimento" viene raggiunto dopo pochi secondi di assenza di movimento.
Inverter c'è che gli interrupt esterni di attiny sono attivati dal livello LOW, quindi ho bisogno di invertire la logica. È un peccato che ho dovuto usare un pacchetto DIP così grande per un inverter, ma non sono riuscito a trovare nient'altro.
Ho realizzato un circuito stampato a doppia faccia per questo circuito, che assomiglia a questo:
Ancora una volta, ho solo assemblato l'area cerchiata finora.
Dopo aver saldato S1, R3 e C1, ricevo il seguente segnale dall'uscita del sensore:
Questo è esattamente quello che voglio vedere, quindi tutto va bene fino a questo punto.
Successivamente ho saldato in una presa per IC2 e collegato l'inverter. Questo è dove iniziano i misteri. All'inizio tutto andava bene, ma dopo un po 'di confusione con la scheda il circuito improvvisamente ha smesso di funzionare. Quando posiziono una sonda sull'uscita del sensore, invece del bel segnale che abbiamo visto sopra, vedo delle variazioni nei seguenti due esempi:
Esempio 1:
Esempio 2:
Nota che, a differenza del primo esempio, il segnale nel secondo esempio non è generato dal movimento - che ha visto la forma del dente emergere da solo senza alcuna azione da parte mia.
Dopo molti test, sono stato in grado di stabilire quanto segue:
- Scollegando l'inverter dalla presa, il sensore funziona di nuovo correttamente.
- Se si interrompe l'alimentazione dell'inverter lasciandolo collegato, il sensore funziona.
- L'uso di un altro inverter non ha alcun effetto.
- Immergere la scheda con un dispositivo di rimozione del flusso o acetone e strofinare con una spazzola a volte fa funzionare di nuovo il sensore, ma molto brevemente. Ad un certo punto sono stato in grado di far apparire il segnale in questo modo strofinando aggressivamente con uno spazzolino da denti:
Si noti che anche in quest'ultima immagine il segnale non sta tornando al livello LOW fino in fondo. L'effetto è scomparso non appena ho smesso di spazzolare.
Finora questo indica un difetto di saldatura, tranne per il fatto che non riesco davvero a vedere il problema. Ho esaminato attentamente la lavagna con un potente ingrandimento e testato tutti i punti a cui potevo pensare per la continuità: tutto è andato a buon fine. Ecco un primo piano del lavoro di saldatura sulla presa IC e sul sensore:
Non ho più idee, quindi ogni consiglio sarebbe molto apprezzato. Grazie.
MODIFICARE:
Ho appena scoperto qualcosa di interessante. Un esame più attento dell'esempio n. 2 (il segnale della forma del dente di sega) rivela che la pendenza verso il basso è un segmento della curva di scarico C1 prevista. Quando il livello di tensione si avvicina alla soglia dell'inverter e trascorre troppo tempo lì, l'inverter sembra confondersi! Sta generando quel piccolo scoppio di rumore e quindi fa qualcosa per riportare l'ingresso su ALTO, o semplicemente riattacca in quello stato rumoroso "indeterminato" indefinitamente fino a quando l'uscita del sensore diventa di nuovo ALTA b / c di movimento (Esempio n. 1).
Per testare questa teoria ho sostituito C1 con un tappo 10 volte più piccolo, rendendo così la curva di scarico molto più ripida e "voilà!" - l'inverter non si confonde più e il circuito funziona!
Ovviamente, questo sconfigge lo scopo di C1, poiché ora non fornisce il ritardo che desidero. Non sono sicuro del motivo per cui non ho avuto questo problema con l'inverter sulla breadboard, ma suggerisce che potrebbe esserci una soluzione molto semplice che può risolvere questo problema. Ho letto che le breadboard hanno una grande capacità "vagante", quindi forse ho solo bisogno di aggiungere strategicamente altri condensatori da qualche parte? Qualche idea?
EDIT 2: Fornire una vista dall'alto poiché alcuni commentatori lo hanno chiesto: