Perché il collegamento di un dispositivo ad alta corrente al mio circuito digitale provoca comportamenti strani?


19

Ho un

  • arduino
  • microcontrollore
  • altra cosa digitale

e quando collego a

  • il motore
  • pompa
  • riscaldatore
  • altra cosa ad alta corrente

Io ho esperienza

  • strane misurazioni ADC
  • riavvii
  • si blocca
  • errori nella comunicazione digitale
  • altri comportamenti imprevisti

Il mio alimentatore è dimensionato correttamente per alimentare tutti questi dispositivi. Non ho un oscilloscopio, quindi non riesco a vedere molto cosa sta realmente accadendo nel circuito. Qual è una causa probabile?

Risposte:


18

Senza dettagli è impossibile dare una risposta specifica. Guarda queste cose da vicino:

  1. Messa a terra . Questo è esattamente il sintomo che si ottiene da una scarsa strategia di messa a terra complessiva. Senza uno schema a blocchi che mostri la potenza e i motivi di tutto ciò che è collegato, è impossibile dare consigli specifici. Tuttavia, visualizzare attentamente tutte le correnti di ritorno a terra e considerare che qualsiasi corrente su un conduttore di terra provocherà un offset di messa a terra.

  2. Disaccoppiamento locale . Accertarsi che sia presente un tappo in ceramica di circa 1 µF il più vicino possibile tra ciascuna coppia di pin di alimentazione e di terra di ciascun chip. Queste connessioni devono essere brevi, perché anche una piccola induttanza in serie riduce significativamente la loro efficacia.

  3. Capacità di sovratensione dell'alimentazione. Assicurarsi che vi sia una capacità sufficiente del serbatoio di massa sull'alimentatore per gestire i transitori per tutto il tempo necessario affinché l'alimentatore stesso raggiunga e fornisca più corrente.

  4. Diodi a cattura induttiva. Assicurarsi davvero che ogni possibile carico induttivo, che include qualsiasi carico esterno, abbia un diodo a polarità inversa su di esso. Per tensioni fino a 50-100 V circa, queste dovrebbero essere Schottky a causa della loro alta velocità. Questo vale per i carichi azionati da DC. Poiché sono sempre guidati con una polarità, il diodo può cortocircuitare in modo sicuro l'altra polarità. Come ha sottolineato Tut in un commento, per i carichi CA è necessario utilizzare circuiti di snubber e / o clipping più complicati .


2
Diodi di cattura induttivi quando carichi induttivi guidati da CC. Per AC hai bisogno di qualcosa come MOV e / o snubbers.
Tut

@Tut: buon punto. Ho aggiornato la mia risposta di conseguenza.
Olin Lathrop,

15

Considera questi due circuiti:

schematico

simula questo circuito - Schema creato usando CircuitLab

Sono gli stessi? Nel modello a elementi raggruppati lo sono. Tuttavia, il nostro modello trascura quello che potrebbe essere un fatto rilevante: i cavi reali hanno resistenza. Introduciamo un paio di schemi che modellano questo:

schematico

simula questo circuito

Considera nel circuito a destra cosa succede quando la corrente assorbita dal motore cambia. Un momento è spento e disegna 0A, quindi è acceso e disegna 1A. Questo 1A deve fluire attraverso R1 e R3. Secondo la legge di Ohm , ci deve quindi essere una caduta di tensione attraverso questi resistori di1UN1Ω=1V. Con 1 V della tensione di alimentazione persa su ciascuno di R1 e R3, dal punto di vista del microcontrollore, la tensione di alimentazione è improvvisamente di 10 V, non di 12 V.

Un sacco di elettronica digitale non piace quando la loro tensione di alimentazione cambia rapidamente. Ulteriori problemi si verificano quando ci sono più dispositivi che tentano di comunicare tra loro tramite un bus digitale, ma le correnti elevate nei binari di alimentazione stanno dando a ciascun dispositivo un'idea diversa di cosa sia "terra". Guarda "ground" per l'MCU e il motore in questo caso. Tutte le resistenze hanno 1A in esse e quindi 1V attraverso di esse. "Terra" sull'MCU è 1 V diverso da "terra" sul motore! Se si tratta di dispositivi digitali che segnalano uno "0" stabilendo una tensione uguale a "terra", non comunicheranno molto bene quando non sono in grado di stabilire quale sia la "terra".

Una soluzione a ciò è quella di eseguire entrambi i collegamenti di alimentazione per ciascun dispositivo fino alla batteria o al regolatore di tensione, e realizzare tutti i collegamenti di alimentazione per ciascun dispositivo lì. Questa è la situazione modellata nel circuito a sinistra. Qui, quando il motore si accende, ci saranno correnti elevate in R5 e R7. Ci sarà una caduta di tensione qui, ma al motore non dispiacerà. Nel frattempo, la corrente in R6 e R8 rimane invariata, così come la tensione. Pertanto, la tensione di alimentazione vista dal microcontrollore è costante.

Non devi farlo tutto il tempo, per ogni dispositivo, ma devi pensare a dove correranno le alte correnti quando il tuo circuito include un tale dispositivo. Ricorda che tutti i tuoi fili hanno una certa resistenza e quindi subiranno una caduta di tensione quando le correnti elevate li attraversano. Quindi pianificare i cavi o le tracce in modo che le correnti elevate non scorrano attraverso l'alimentazione dei componenti sensibili, causando problemi di rumore.

Questa è solo una possibile spiegazione. Altre risposte forniranno senza dubbio ulteriori possibilità.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.