Pagina 1 di 2

Gestione/interpretazione compresenza contatti

MessaggioInviato: 19 giu 2023, 18:50
da NonSo
In pratica ho questi 8 interruttori (A,B,C,D,E,F,G,H) vorrei che se almeno due di essi sono accesi si accenda una lampadina, quini se A e F o G e B sono accesi la lampadina si accende.

Re: Mi serve un aiuto

MessaggioInviato: 19 giu 2023, 19:07
da IsidoroKZ
Sono interruttori meccanici e puoi usare solo quelli, oppure puoi aggiungere circuiteria elettronica?

Re: Mi serve un aiuto

MessaggioInviato: 19 giu 2023, 19:08
da NonSo
meccanici

Re: Mi serve un aiuto

MessaggioInviato: 19 giu 2023, 19:22
da IsidoroKZ
Solo con interruttori credo sia praticamente impossibile.

La prima soluzione che mi viene in mente richiederebbe degli interruttori con contatti multipli. Ad esempio, l'interruttore A è a un contatto solo. L'interruttore B deve avere due contatti distinti, il C 3 e così via fino al G e H che devono avere ciascuno 7 contatti. Mi sembra complicato! Potrebbero esistere soluzioni più semplici, ma non mi vengono in mente.

Re: Mi serve un aiuto

MessaggioInviato: 20 giu 2023, 21:03
da boiler
Non c'è un minimo di contesto :-|
Quando mancano i dettagli, io mi permetto di sceglierli a mio piacere.
Li ho scelti in modo che questo circuito funzioni:



Boiler

Re: Mi serve un aiuto

MessaggioInviato: 21 giu 2023, 8:27
da djnz
Nello schema seguente gli interruttori meccanici vanno collegati agli otto terminali della porta di ingresso di un SZS, chiudono verso GND, e ciascuno deve avere la propria resistenza di pull-up. La lampadina è comandata dal terminale 0 della porta di uscita (1=accesa).

Il codice è molto semplice, richiede solo 23 byte di memoria programma, e usa 0 byte di memoria RAM:
Codice: Seleziona tutto
LOOP:   in     a,(0)
        ld     bc,80H
CLOOP:  rra
        jr     c,NOINC
        inc    c
NOINC:  djnz   CLOOP
        ld     a,c
        cp     2
        ld     a,0
        jr     c,L001
        inc    a
L001:   out    (0),a
        jr     LOOP

Codice: Seleziona tutto
DB000180001F38010C10FA79FE023E0038013CD30018E9

Formalmente parlando le specifiche richieste sono rispettate :roll: :roll: :roll:

Re: Gestione/interpretazione compresenza contatti

MessaggioInviato: 21 giu 2023, 10:23
da djnz
E poi c'è sempre la soluzione elettromeccanica, estendibile a N interruttori:


Re: Gestione/interpretazione compresenza contatti

MessaggioInviato: 21 giu 2023, 12:29
da gekofive
Mi piace la sfida.

Certo che la soluzione con il micro è la migliore, ma se l'OP chiede nessuna elettronica, anche la soluzione a relè e diodi non soddisfa la richiesta. C'è anche da dire che la soluzione con i diodi abbassa la tensione a ogni passaggio e l'ultimo relè se la vede non proprio bella.

Dal punto di vista logico, la soluzione che ho pensato è questa

La parte nel riquadro grigio viene ripetuta il numero di volte che serve.
Di sicuro non sarebbe una bella idea farlo a logica TTL o simili, ma l'insieme AND-OR con gli ingressi in comune si può fare con un comune relè DPDT, collegandolo così

Se si lascia il contatto NC più a destra non connesso al riferimento, si ha anche la funzione di wired OR gratuita.

Utilizzando n-1 relè come questi si ha la funzione per n ingressi

e volendo fare i tirchi, per l'ultimo ingresso sarebbe sufficiente anche un relè SPDT. Altro vantaggio è che il circuito lavora anche in alternata e a tensione di rete, usando i relè adatti.

Re: Gestione/interpretazione compresenza contatti

MessaggioInviato: 21 giu 2023, 13:35
da djnz
Quella del micro naturalmente era sarcastica, visto che OP vuole risposte senza sganciare nessuna informazione.

Invece stavo appunto provando a risolvere con relé senza diodi ma non ero arrivato all'AND/OR con lo stesso relé, creavo degli OR con relé ausiliari e ne saltavano fuori un po' troppi. Ottima soluzione :ok:

Re: Gestione/interpretazione compresenza contatti

MessaggioInviato: 21 giu 2023, 14:09
da gekofive
E credo anche di aver trovato una soluzione che utilizza solo i pulsanti.

Servono pulsanti a doppio scambio, ma non serve altro.
La soluzione sfrutta il circuito logico del messaggio precedente.

Anche in questo caso, volendo essere tirchi, per l'ultimo pulsante basta un semplice NO.