Newsgroup: it.hobby.elettronica.digitale
Titolo: Proteggere pin del uC

Alcuni pin del uC a 5V vengono usati come ingressi digitali e portati
su un connettore con un pull-up. Il connettore si collega ad una
scheda esterna dove può esserci qualcuno che butta giù il segnale
(tramite un relè che chiude verso massa, un open-collector, ...)
 
Come proteggereste l'ingresso del uC? Normalmente utilizzo una
resistenza serie da 100R (prima del pull-up) e una coppia di diodi
Schottky, uno dal segnale verso la +5V e l'altro da massa verso il
segnale. In questo modo spero di poter evitare rotture per
sovratensioni o tensioni negative.
 
Suggerimenti? Si può semplificare?

 sovratensioni o tensioni negative.
 
Non è il massimo.
Se la sovratensione è robusta te la ritrovi, grazie ai diodi,
sull'alimentazione del micro che può danneggiarsi.
La resistenza equivalente vista ai capi dell'alimentazione dovrà
essere parecchio bassa quindi e/o ben provvista di capacità
multistrato per assorbire i transienti.
Se il segnale varia lentamente e non ha temporizzazioni critiche, un
bel condensatore ceramico in parallelo all'input non guasta mai.
Poi ci sono sempre i soppressori veri e propri (tipo quelli per l'USB)
che vanno scelti in base ai possibili disturbi (ampiezza, durata).
 
Piccio.


Oltre a quanto già detto da Piccio, aggiungo che ho visto utilizzare dei 
fotoaccoppiatori senza isolamento sull'alimentazione. In pratica avevano 
lo stesso comune in ingresso e in uscita. E' poco più che utilizzare un 
banale 40106.
 
L'idea è quella di non entrare direttamente sui pin del micro, così nel 
caso di danni si sostituisce il fotoaccoppiatore o il buffer.
 
Certo che per una protezione vera e propria non sono l'ideale (anche 
perché se l'eventuale sovratensione arriva sulla linea degli 0V non 
servono a nulla).
 
Marco
 

 ha
scritto:

Dipende da cosa li devi proteggere, se è come hai detto un semplice input
digitale basta la resistenza da 100 ohm, i diodi li hanno anche gli input CMOS,
se invece hai possibilità di tensioni più elevate allora potresti mettere uno
zener da 5,6V dopo la R, in modo da evitare di influire sulla Vcc con danni
peggiori.
In caso di tensioni elevate la 100ohm magari una 0603 o più piccola farebbe da
fusibile e lo zener proteggerebbe l'ingresso.
Io lo zener louso abitualmente con degli inputs a 24V, la resistenza è da 2k2
però.
 
 
--
ciao
  Stefano

 servono a nulla).
 
Non pretendo di proteggere il micro dalla trifase.

 però.
 
Una resistenza serie da 2k2?  Che pull-up usi?  Se metti una 10k il 
partitore viene proprio male.  Con una 100k dovrebbe andare bene.
 

 viene proprio male.  Con una 100k dovrebbe andare bene.
 
Non è un partitore e non c'è pullup, la resistenza è in serie 
all'ingresso del µC e vicino all'input c'e lo zener.
E' una soluzione per input più veloci.
 
In alternativa puoi mettere una resistenza da 100K direttamente in 
serie al pin di input, i diodi nel substrato limiteranno le 
sovratensioni, occhio però che se sono parecchi e l'assorbimento del 
circuito è basso può aumentare troppo la 5V e danneggiare qualche IC.
In quel caso uno zener andrebbe messo sulla Vcc per intervenire.
 
Se invece gli input sono pochi e alimenti una batteria o una 
retroilluminazione LCD non c'è problema.
 
 

 Suggerimenti? Si può semplificare?
 
Io metterei uno zener da 5V1 (o 5V6) in parallelo sull'alimentazione e
i diodi sull'ingresso da te indicati.
In questo modo si è sicuri che la tensione d'ingresso non superi mai
la tensione di alimentazione se non di poche centinaia di mV, sia che
il circuito sia acceso, spento o vie di mezzo.
Lo zener sull'ingresso lo usavo anche io ma a uC sottoalimentato non
serve a niente.
Inoltre, se cambi tensione di alimentazione non devi far altro che
sostituire un solo zener anzichè uno per ingresso.
 
Piccio.

 In quel caso uno zener andrebbe messo sulla Vcc per intervenire.
 
Stavo pensando a qualcosa del genere, fidandomi soltanto dei diodi 
interni all'IC:
 
[FIDOCAD]
MC 120 80 0 0 080
LI 130 80 140 80
LI 140 80 150 80
TY 165 80 5 3 0 0 0 * uC
MC 105 80 2 0 000
LI 120 80 105 80
TY 120 85 5 3 0 0 0 * 100k
MC 80 85 0 0 750
MC 80 100 0 0 040
LI 80 80 80 85
LI 100 80 80 80
MC 150 80 0 0 073
TY 70 65 5 3 0 0 0 * Connettore
TY 75 70 5 3 0 0 0 * esterno
LI 115 80 115 70
MC 115 60 1 0 080
MC 115 60 3 0 010
TY 120 65 5 3 0 0 0 * 10k
 
Spostando la resistenza prima del pull-up, verso il mondo esterno, posso 
usare resistenze più elevate.
 

 usare resistenze più elevate.
 
Stavo per proporti lo stesso schema, solo con le resistenze divise per 
10. Motivo: abbassare l'impedenza della linea = meno possibilita' di 
disturbo. Magari quella verso il micro si puo' anche alzare, ma l'altra 
non la metterei piu' grande, c'e' anche un discorso di "corrente di 
bagnatura", cioe' un minimo in grado di garantire un contatto stabile. 
Lo schema che ho usato in alcune occasioni dove c'erano di mezzo 
distanze di molte decine di metri e' questo:
 
 
[FIDOCAD]
MC 100 55 0 0 080
LI 110 55 120 55
LI 120 55 130 55
MC 85 55 2 0 000
LI 100 55 85 55
MC 60 60 0 0 750
MC 60 75 0 0 040
LI 60 55 60 60
LI 80 55 60 55
MC 130 55 0 0 073
TY 50 40 5 3 0 0 0 * Connettore
TY 55 45 5 3 0 0 0 * esterno
MC 95 35 1 0 080
MC 95 35 3 0 010
MC 120 55 3 0 200
MC 120 70 3 0 200
MC 120 70 0 0 040
MC 120 40 3 0 010
SA 120 55
SA 95 55
MC 95 60 1 0 170
LI 95 60 95 45
MC 95 70 0 0 040
TY 101 48 5 3 0 0 0 * 10k
TY 98 38 5 3 0 0 0 * 1k
TY 98 62 5 3 0 0 0 * 100n
TY 123 45 5 3 0 0 0 * 1N4148
TY 142 52 5 3 0 0 0 * CMOS

 [FIDOCAD]
[...]
 
L'unica fregatura di aver spostato la resistenza dal mondo esterno
verso il uC
è che, con una connessione parallela (cosa che mi capita di usare) di
due
circuiti allo stesso switch esterno, con uno dei due circuiti spento,
la linea
viene vista a livello basso anche con lo switch aperto.
 
[FIDOCAD]
MC 100 55 0 0 080
LI 110 55 120 55
LI 120 55 130 55
MC 85 55 2 0 000
LI 100 55 85 55
MC 60 60 0 0 750
MC 60 75 0 0 040
LI 60 55 60 60
MC 130 55 0 0 073
TY 50 40 5 3 0 0 0 * Connettore
TY 55 45 5 3 0 0 0 * esterno
MC 95 35 1 0 080
MC 95 35 3 0 010
MC 120 55 3 0 200
MC 120 70 3 0 200
MC 120 70 0 0 040
MC 120 40 3 0 010
SA 120 55
SA 95 55
MC 95 60 1 0 170
LI 95 60 95 45
MC 95 70 0 0 040
TY 101 48 5 3 0 0 0 * 10k
TY 98 38 5 3 0 0 0 * 1k
TY 98 62 5 3 0 0 0 * 100n
TY 123 45 5 3 0 0 0 * 1N4148
TY 142 52 5 3 0 0 0 * CMOS
MC 100 120 0 0 080
LI 110 120 120 120
LI 120 120 130 120
MC 85 120 2 0 000
LI 100 120 85 120
MC 130 120 0 0 073
MC 95 100 1 0 080
MC 95 100 3 0 010
MC 120 120 3 0 200
MC 120 135 3 0 200
MC 120 135 0 0 040
MC 120 105 3 0 010
SA 120 120
SA 95 120
MC 95 125 1 0 170
LI 95 125 95 110
MC 95 135 0 0 040
TY 101 113 5 3 0 0 0 * 10k
TY 98 103 5 3 0 0 0 * 1k
TY 98 127 5 3 0 0 0 * 100n
TY 123 110 5 3 0 0 0 * 1N4148
TY 142 117 5 3 0 0 0 * CMOS
LI 80 120 65 120
LI 65 120 65 55
SA 65 55
LI 80 55 60 55
TY 55 125 5 3 0 0 0 * Connettore
TY 60 130 5 3 0 0 0 * esterno

 [FIDOCAD]
[...]
 
Sì, a questo punto i diodi li toglierei, visto che dovrebbero essere
integrati
nell'IC.

usare resistenze piů elevate.
 
Si, dipende anche dai relč che usi.
 
 
--
ciao
  Stefano