Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Ricerca personalizzata

Collegare tre interruttori in un unico pin?

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteMassimoB, Foto Utentexyz, Foto UtenteWALTERmwp

0
voti

[1] Collegare tre interruttori in un unico pin?

Messaggioda Foto Utentedadothebest » 31 lug 2017, 14:02

Ciao a tutti, vorrei collegare tre interruttori ad arduino in un solo pin in ingresso per controllarci tre diversi dispositivi. Ho eseguito il collegamento abbinando ad ogni interruttore una resistenza diversa (10 - 15 - 20kOhm mi sembra) e mettendone una in serie a tutti gli interruttori da 10kOhm. Ogni volta che si innesca un'interruttore essendo collegati in parallelo ho un valore di resistenza sempre diverso che va dai 15kOhm ai 50kOhm. Ho cosi collegato il tutto su arduino (pin analog 4 e +5Vcc) e avviato lo sketch che mi permette i vedere sulla seriale i valori in ingresso al pin dove sono collegati gli interruttori e ho notato che i valori non sono stabili ma oscillano di qualche valore e anche cambiando combinazione di interruttori si trovano tutti tra 700 e 800 rendendo inutile ogni utilizzo.
La parte hardware non dovrebbe essere sbagliata, quindi credo sia un problema di arduino, secondo voi cosa potrebbe essere?
Avatar utente
Foto Utentedadothebest
23 1 7
Frequentatore
Frequentatore
 
Messaggi: 186
Iscritto il: 25 nov 2013, 16:13
Località: Ascoli Piceno

0
voti

[2] Re: Collegare tre interruttori in un unico pin?

Messaggioda Foto UtenteIsidoroKZ » 31 lug 2017, 14:06

Schema (ovviamente in fidocadj)? Attivi un solo interruttore per volta o hai tutte le 8 combinazioni possibili?
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
96,0k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 17463
Iscritto il: 16 ott 2009, 23:00

0
voti

[3] Re: Collegare tre interruttori in un unico pin?

Messaggioda Foto Utentedadothebest » 31 lug 2017, 15:08

Spiego lo schema che è molto semplice. Ogni interruttore è formato da due morsetti: il primo morsetto di ogni interruttore è collegato tra loro, mentre il secondo ha una resistenza di un valore diverso collegata in serie e ogni capo è collegato insieme. Quindi ho un morsetto (con i tre interruttori in parallelo) che collego a +Vcc e un altro morsetto (con le 3 resistenze in parallelo) che collego all'ingresso analogico di arduino inserendoci una resistenza in serie.
In questo modo per ogni combinazione di interruttori aperto-chiuso ho uno specifico valore di resistenza.
Se non sono stato chiaro riporto lo schema disegnato su fidocadj
Avatar utente
Foto Utentedadothebest
23 1 7
Frequentatore
Frequentatore
 
Messaggi: 186
Iscritto il: 25 nov 2013, 16:13
Località: Ascoli Piceno

0
voti

[4] Re: Collegare tre interruttori in un unico pin?

Messaggioda Foto Utentemir » 31 lug 2017, 15:24

dadothebest ha scritto:Se non sono stato chiaro riporto lo schema disegnato su fidocadj

offro io .. :D
I circuiti sono controcorrente. Seguono sempre la massa
Avatar utente
Foto Utentemir
51,4k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 18675
Iscritto il: 19 ago 2004, 20:10

0
voti

[5] Re: Collegare tre interruttori in un unico pin?

Messaggioda Foto UtenteEcoTan » 31 lug 2017, 15:38

Comincerei a provare la tensione sul pin analog4 col tester, se il valore sia quello previsto per ciascun comando. Poi se le letture digitali, sia pure sballate, siano almeno ripetibili. Quanti bit ha lo ADC? A questo punto guarda il programma, io non conosco Arduino ma se non va ci deve essere l'errore.
Avatar utente
Foto UtenteEcoTan
4.039 4 9 13
Expert EY
Expert EY
 
Messaggi: 2083
Iscritto il: 29 gen 2014, 7:54

0
voti

[6] Re: Collegare tre interruttori in un unico pin?

Messaggioda Foto Utenteclaudiocedrone » 31 lug 2017, 15:45

dadothebest ha scritto: ...ogni interruttore una resistenza diversa (10 - 15 - 20kOhm mi sembra) e mettendone una in serie a tutti gli interruttori da 10kOhm. Ogni volta che si innesca un'interruttore essendo collegati in parallelo ho un valore di resistenza sempre diverso che va dai 15kOhm ai 50kOhm...

Con i valori citati e se lo schema è quello che ha dedotto Foto Utentemir ciò non è possibile, il massimo valore ottenibile è 30 k... (e il minimo 14,6 k...)... 14,6 k, 16,7 k, 18,6 k, 20 k, 25 k e 30 k le combinazioni ottenibili (fatte salve le tolleranze sui valori nominali). O_/
"Non farei mai parte di un club che accettasse la mia iscrizione" (G. Marx)
Avatar utente
Foto Utenteclaudiocedrone
11,5k 3 6 8
Master
Master
 
Messaggi: 8236
Iscritto il: 18 gen 2012, 12:36

0
voti

[7] Re: Collegare tre interruttori in un unico pin?

Messaggioda Foto Utenteedgar » 31 lug 2017, 16:33

Se lo schema è quello il risultato è sempre di portare a +5 V l'ingresso analogico, cambia solo la resistenza in serie.

Così dovrebbe andare meglio

Avatar utente
Foto Utenteedgar
4.005 2 3 8
Master
Master
 
Messaggi: 1890
Iscritto il: 15 set 2012, 21:59

1
voti

[8] Re: Collegare tre interruttori in un unico pin?

Messaggioda Foto UtenteWALTERmwp » 31 lug 2017, 16:40

dadothebest ha scritto:Spiego lo schema che è molto semplice (...)
no, lo schema non si spiega se si può evitare di farlo, lo dovresti disegnare, a maggior ragione se è semplice, e non fare il pigro, almeno tu non abbia difficoltà d'altro genere.
Quindi leggi subito qui, se poi hai problemi puoi sempre chiedere.

Saluti
Avatar utente
Foto UtenteWALTERmwp
16,6k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 5128
Iscritto il: 17 lug 2010, 17:42
Località: le 4 del mattino

2
voti

[9] Re: Collegare tre interruttori in un unico pin?

Messaggioda Foto UtentePietroBaima » 31 lug 2017, 16:44

Non capisco lo schema dell'OP.

Se il pin è configurato come ingresso analogico, allora l'impedenza di ingresso deve essere trascurabile rispetto a 10kOhm, che significa che quello schema non potrà mai funzionare senza un inseguitore di tensione.

Inoltre, cosa più rilevante, il pin collegato all'ingresso andrebbe collegato a GND e l'ingresso andrebbe preso nel punto intermedio fra le resistenze.

Anche facendo così, comunque, il circuito non funziona molto bene, perché il coefficiente di partizione alpha segue una legge del tipo \alpha=\frac{1}{R_{eq}(sw1,sw2,sw3)/R+1}, dove R_{eq}(sw1,sw2,sw3) è la legge con la quale varia la resistenza equivalente del ramo "di sopra" in funzione dello stato degli interruttori (gli interruttori sono SW1,SW2,SW3) e R è la resistenza connessa a GND.

Questo è importante perché significa che la tensione di uscita è non lineare in funzione dello stato degli interruttori e quindi diventerai facile preda del rumore.

Per esempio, se metti le R in serie agli interruttori seguendo la regola R,2R,4R, avendo il convertitore A/D di Arduino 12 bit, dovresti ottenere questi valori digitali, in funzione dello stato degli interruttori:

Codice: Seleziona tutto
{0, 819, 1365, 1755, 2048, 2275, 2457, 2606}


facendo il rapporto incrementale del vettore ottengo:

Codice: Seleziona tutto
{819, 546, 390, 293, 227, 182, 149}


Come previsto fra gli ultimi due c'è un salto di soli 149 valori. Come progetto fa abbastanza pena, considerando che fra i primi due ce ne sono 819. Inoltre non sfrutti tutta la dinamica dell'ADC.

Naturalmente non puoi usare uno switch (nel software intendo) per vedere quale valore digitale ti arriva, perché non ti arriverà mai davvero il valore che ti ho calcolato, perché c'è il rumore e la tolleranza delle resistenze. Dovresti fare un rilevatore a scarto quadratico medio o perlomeno, per farla brutale, controllare quale valore della mia tabella è più vicino al valore letto.

Se, però, come ti è stato chiesto, gli interruttori si dovessero chiudere uno alla volta, allora sarebbe diverso.

Ciao,
Pietro
Generatore codice per articoli:
nomi
emoticon
citazioni
formule latex
Avatar utente
Foto UtentePietroBaima
65,9k 6 12 13
G.Master EY
G.Master EY
 
Messaggi: 7601
Iscritto il: 12 ago 2012, 0:20
Località: Londra

0
voti

[10] Re: Collegare tre interruttori in un unico pin?

Messaggioda Foto Utenteedgar » 31 lug 2017, 16:48

PietroBaima ha scritto: avendo il convertitore A/D di Arduino 12 bit

Ne ha solo 10 ahimè :?
Avatar utente
Foto Utenteedgar
4.005 2 3 8
Master
Master
 
Messaggi: 1890
Iscritto il: 15 set 2012, 21:59

Prossimo

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti