proximity switch pnp

salve a tutti. Ho un macchinario industriale su cui è montato un proximity switch per misurare la traslazione (tipo così ValinOnline.com: Process Control, Filtration, Motion Control & Automation Products). Ora vorrei interfacciare arduino per misurare la traslazione, ma ho 2 problemi:

  1. La tensione in uscita è 12 volt, ho visto che posso usare delle resistenze con dei diodi zener, corretto?
  2. Come posso contare gli impulsi per poi misurare la distanza? Se uso questa libreria FreqCount Library, for Measuring Frequencies in the 1 kHz to 5 MHz Range potrei avere dei rallentamenti nel programma? grazie

Per la tensione potresti utilizzare un partitore, tipo così:
INPUT
|

/ R1

|_____________Pin di Arduino
| |
\ /\ D1
/ R2 |
\ |
GND GND

i valori di R1 e R2 andrebbero scelti in maniera tale che 12*R2/(R1 + R2) sia minore o uguale 5
il diodo D1 è uno zener da 5.1v e serve a evitare che le oscillazioni dei 12v possano far salire il valore che mandi sul pin oltre i 5v.
dp_1

p.s.: Non ho mai realizzato questo circuito, quindi sarebbe meglio se qualcun'altro controllasse ciò che ho detto :slight_smile:

dp_1:
Per la tensione potresti utilizzare un partitore, tipo così:
INPUT
|

/ R1

|_____________Pin di Arduino
| |
\ /\ D1
/ R2 |
\ |
GND GND

i valori di R1 e R2 andrebbero scelti in maniera tale che 12*R2/(R1 + R2) sia minore o uguale 5
il diodo D1 è uno zener da 5.1v e serve a evitare che le oscillazioni dei 12v possano far salire il valore che mandi sul pin oltre i 5v.
dp_1

p.s.: Non ho mai realizzato questo circuito, quindi sarebbe meglio se qualcun'altro controllasse ciò che ho detto :slight_smile:

Perfetto, grazie mille :slight_smile:

ok. Ora penso di aver capito come adattare il segnale per arduino:
INPUT
|

/ R1 = 1470 ohm

|_________________Pin di Arduino
| |
\ /\ D1
/ R2 =1000ohm |
\ |
GND GND
con questa configurazione dovrei avere circa 4,8v in uscita, e con il diodo da 5,1 come suggeritomi, non dovrei avere problemi di tensione, ma ho visto che la corrente erogata in uscita dal proximity è circa 200mA. Con questi valori di resistenza posso avere problemi riguardo alla troppa corrente in ingresso sul pin di arduino?
Grazie

non so a che frequenza lavori, ma se hai un oscilloscopio controlla come vengono gli inpulsi forse è ecesso di zeolo, lo so, ma se veloce il segnale con partitori resistivi potresti avere sorprese :wink: (ovviamente è solo un controllo maniacale).

i 200mA che da il sensore non da problemi perche il partitore ne consuma circa 3 milliampere, quindi molto al disotto.

Martinix:
non so a che frequenza lavori, ma se hai un oscilloscopio controlla come vengono gli inpulsi forse è ecesso di zeolo, lo so, ma se veloce il segnale con partitori resistivi potresti avere sorprese :wink: (ovviamente è solo un controllo maniacale).

i 200mA che da il sensore non da problemi perchè il partitore ne consuma circa 3 milliampere, quindi molto al disotto.

ok grazie mille! Purtroppo non ho l'oscilloscopio, ma comunque la movimentazione è molto lenta. A me interessa che quei 200 mA in entrata non siano troppi per gli ingressi di arduino, ma da come ho capito (correggimi se sbaglio) il partitore li diminuisce drasticamente

ntoniudra:
A me interessa che quei 200 mA in entrata non siano troppi per gli ingressi di arduino, ma da come ho capito (correggimi se sbaglio) il partitore li diminuisce drasticamente

No, il problema è che stai confondendo quanto un pin di Arduino può dare al massimo come corrente con quanta corrente esso ... "assorbe" ...

Un pin di Arduino, usato come INPUT, è un pin che ha un'alta impedenza e quindi ... "assorbe" ... pochissima corrente (uA) ... mentre se usato come OUTPUT può fornire al massimo 40 mA (ma, per sicurezza, mai assorbire più del 65 - 70 % di detto valore).

Mi sembra comunque che ... dovresti fare un ripasso del concetto base di "corrente" ... :wink:

Guglielmo

gpb01:

ntoniudra:
A me interessa che quei 200 mA in entrata non siano troppi per gli ingressi di arduino, ma da come ho capito (correggimi se sbaglio) il partitore li diminuisce drasticamente

No, il problema è che stai confondendo quanto un pin di Arduino può dare al massimo come corrente con quanta corrente esso ... "assorbe" ...

Un pin di Arduino, usato come INPUT, è un pin che ha un'alta impedenza e quindi ... "assorbe" ... pochissima corrente (uA) ... mentre se usato come OUTPUT può fornire al massimo 40 mA (ma, per sicurezza, mai assorbire più del 65 - 70 % di detto valore).

Mi sembra comunque che ... dovresti fare un ripasso del concetto base di "corrente" ... :wink:

Guglielmo

ok grazie. D'altronde ho studiato come meccanico, non elettronico. Tutto quello che so lo ho imparato come autoditatta, non posso contare come Lei su di una pluridecennale esperienza nel campo. Grazie comunque :wink:

ntoniudra:
ok grazie. D'altronde ho studiato come meccanico, non elettronico. Tutto quello che so lo ho imparato come autoditatta, non posso contare come Lei su di una pluridecennale esperienza nel campo. Grazie comunque :wink:

E va bene, capisco, però, visto che con passione hai deciso di avvicinarti a questo mondo ... alcune basi te le devi fare dedicando un po' di tempo anche allo studio e non solo alla sperimentazione pratica :wink:

Per cominciare ... puoi fare questa ricerca con Google "imparare l'elettronica partendo da zero pdf" ... sicuramente troverai un bel libro, in .pdf, che pubblico molto tempo fa Nuova Elettronica. Non posso metterti il link perché ... pur essendo Nuova Elettronica ormai fallita, comunque il materiale è soggetto a copyright ... ma vedrai che con una ricerca su Google lo trovi al primo colpo ... :wink:

Guglielmo

come gia detto sopra, il partitore di tensione, serve appunto per "ridurre" proprozionalmente una tensione di ingresso.
ma chi fornisce la tensione DEVE anche fornire una corrente per sostenere il tutto. Anche il partitore di suo consuma uan corrente che dipende dalla tensione in ingresso e dalle resistenze in gioco.

detto questo chi fornisce la tensione/corrente, deve fornire un corrente uguale (ma meglio superiore) al consumo del partitore, altreimenti sballa tutto. nel tuo caso sei ben dentro (con i valori indicati) a queste specifiche (200mA >> 4mA = OK) ma se tu per aumentare le volictà decidessi di abbassare le resistenze, dovresti tenerne conto per non superare il limite dei 200mA.

Ad arduino non interessa in ingresso la corrente fornita dal sensore ma è importantissimo rispettare i valori massimi di tensione (massimi e minimi affinche legga zero o uno).

detto questo, concordo con guglielmo, hai me un minimo di teori di base bisogna averla perche nel elettronica non si può improvvisare piu di tanto :frowning:

ok grazie ad entrambi :slight_smile: