Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

rilevazione contatti puliti

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

[1] rilevazione contatti puliti

Messaggioda Foto Utenteaduri » 18 mar 2022, 15:58

Buongiorno a tutti,
ho una strana situazione in cui devo monitorare un filtro surplus siemens il quale commuta le posizioni dei 7 filtri di banda RF da 2,7MHz a 24MHz.
Per sapere quale filtro è selezionato è presente una morsettiera che, sequenzialmente, apre un contatto.

Ho fatto un sw che a seconda della sequenza di apertura riesce a capire quale filtro è attivo.

Mi funziona in simulazione ma ho problemi con i contatti di morsettiera per poterli gestire con un micro controllore come arduino.

Se analizzo la sequenza più a destra in cui i contatti sono controllati singolarmente ho una sequenza su cui ho basato il mio codice mentre se metto a massa rispettivamente
i connettori a destra ed a sinistra della morsettiera ottengo un'altra sequenza.

Faccio ora la domanda, come faccio ad analizzare un contatto aperto senza che interagisca con gli altri?

Allego lo schema e le sequenze nei vari casi in modo che si chiarisca meglio il problema.

P.S. Non sono riuscito a trovare lo schema.

ciao
Antonio
Allegati
sequenza passa basso corretta.JPG
Avatar utente
Foto Utenteaduri
435 1 5 11
Expert
Expert
 
Messaggi: 937
Iscritto il: 29 giu 2005, 23:13
Località: Genova

0
voti

[2] Re: rilevazione contatti puliti

Messaggioda Foto Utenteaduri » 18 mar 2022, 16:10

Mi rispondo da solo forse si potrebbe fare così utilizzando un partitore quindi sia con resistenza di pull-up che pull-down.

Pull down da 10K e pull-up da 3,3K.

ciao
Antonio
Allegati
partitore.JPG
Avatar utente
Foto Utenteaduri
435 1 5 11
Expert
Expert
 
Messaggi: 937
Iscritto il: 29 giu 2005, 23:13
Località: Genova

0
voti

[3] Re: rilevazione contatti puliti

Messaggioda Foto UtenteIlGuru » 18 mar 2022, 17:17

Quando il contatto è chiuso è collegato a Vcc o a GND?
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
5.482 2 10 13
G.Master EY
G.Master EY
 
Messaggi: 1924
Iscritto il: 31 lug 2015, 23:32

0
voti

[4] Re: rilevazione contatti puliti

Messaggioda Foto UtenteMarcoD » 18 mar 2022, 17:45

Quanto scrivi non è molto chiaro.
Hai quattro contatti con i quali codifichi 16 posizioni, di cui ne usi 7 per il selettore di banda?
Forse rilevi errori (aleee) durante le transizioni delle commutazioni.
Forse, per eliminare l'alea, dovresti leggere (a 20 msecondi di distanza) almeno due volte di seguito i valori della configurazione e utilizzarli quando rilevi che le configurazioni sono uguali. Oppure adoperare una codifica in cui cambia un solo bit alla volta, non ricordo più il nome.
Per evitare il partitore, se i contatti chiudono verso massa. potresti adoperare come Vin, la tensione + 5 V di arduino con una resistenza di pullup in serie da 3,3 kohm.

Oppure hai sette contatti di cui uno solo alla volta si chiude?

O_/
Avatar utente
Foto UtenteMarcoD
12,2k 5 9 13
Master EY
Master EY
 
Messaggi: 6696
Iscritto il: 9 lug 2015, 16:58
Località: Torino

0
voti

[5] Re: rilevazione contatti puliti

Messaggioda Foto Utenteaduri » 20 mar 2022, 11:00

Scusate se rispondo solo ora e cerchero' di essere piu' chiaro, come collegare i contatti lo posso decidere io. Non avendo lo schema, ho rilevato sulla morsettiera che i contatti sono normalmente chiusi e, con una certa sequenza molto strana, uno alla volta si aprono. La sequenza piu' a destra l'ho rilevata verificando la continuita,' nelle 4 coppie di contatti, col tester. L'approccio piu' semplice per rilevare la posizione con arduino sarebbe stato quello di mettere a massa il lato sinistro od il lato destro dei contatti ma la sequenza cambia, come nella parte a sinistra dell'allegato. Probabilmente ci sono dei collegamenti interni che non conosco. ciao Antonio
Avatar utente
Foto Utenteaduri
435 1 5 11
Expert
Expert
 
Messaggi: 937
Iscritto il: 29 giu 2005, 23:13
Località: Genova

0
voti

[6] Re: rilevazione contatti puliti

Messaggioda Foto Utenteaduri » 20 mar 2022, 12:49

Ecco il partitore che ho utilizzato.
Probabilmente dovro' utilizzare un antirimbalzo.

Ottengo combinazioni strane.


ciao
Antonio
Allegati
schema acq.jpg
Avatar utente
Foto Utenteaduri
435 1 5 11
Expert
Expert
 
Messaggi: 937
Iscritto il: 29 giu 2005, 23:13
Località: Genova

0
voti

[7] Re: rilevazione contatti puliti

Messaggioda Foto Utenteaduri » 20 mar 2022, 13:58

Non e' una questione di falsi contatti si presenta, in una sequenza di 10 passi (commutazioni del sistema) sempre uguale con soli 4 contatti che si aprono contro gli 8 rilevati col tester.

D8 D10 D9 D8
0111
1111
1111
1101
1011
1111
1110
1111
1111
1111


Allego una foto e sw di test

Codice: Seleziona tutto
#include <LiquidCrystal_I2C.h>
#define DEFOLDCODE 10
#define D8 8
#define D9 9
#define D10 10
#define D12 12
LiquidCrystal_I2C lcd(0x3f, 16, 2); // usare scanner i2c per verif. 0x27 o 0x3f



void setup() {
  Serial.begin(115200);
  lcd.begin();

  pinMode(D8, INPUT); // pin morsettiera Passa basso 11
  pinMode(D9, INPUT);// pin morsettiera Passa basso 7
  pinMode(D10, INPUT);// pin morsettiera Passa basso 9
  pinMode(D12, INPUT);// pin morsettiera Passa basso 5

}

void loop() {
int a = digitalRead(D8);
int b = digitalRead(D10);
int c = digitalRead(D9);
int d = digitalRead(D12);
Serial.print(a);
Serial.print(b);
Serial.print(c);
Serial.print(d);
Serial.flush();
Serial.println();
delay(1000);

}


ciao e buona domenica
Antonio
Allegati
passa basso colleg.jpg
Avatar utente
Foto Utenteaduri
435 1 5 11
Expert
Expert
 
Messaggi: 937
Iscritto il: 29 giu 2005, 23:13
Località: Genova

0
voti

[8] Re: rilevazione contatti puliti

Messaggioda Foto Utentedjnz » 20 mar 2022, 17:34

Quando si legge un livello digitale si cerca di averlo il più possibile vicino a GND e Vcc. Con un partitore che lo porta in un range di tensioni intermedie si possono avere letture casuali o inaffidabili. Quindi si usa O una pull-up O una pull-down, non un partitore.

Problemi dovuti all'assenza di un antirimbalzo invece li noti solo se (ri)leggi gli ingressi troppo rapidamente (con meno di qualche 10 millisecondi di intervallo tra una lettura e l'altra) o in presenza di disturbi elettrici captati dagli ingressi stessi.
Una domanda ben posta è già mezza risposta.
Avatar utente
Foto Utentedjnz
1.590 1 4 7
Master
Master
 
Messaggi: 708
Iscritto il: 26 lug 2020, 14:52

0
voti

[9] Re: rilevazione contatti puliti

Messaggioda Foto Utenteaduri » 20 mar 2022, 20:11

djnz ha scritto:Quando si legge un livello digitale si cerca di averlo il più possibile vicino a GND e Vcc. Con un partitore che lo porta in un range di tensioni intermedie si possono avere letture casuali o inaffidabili. Quindi si usa O una pull-up O una pull-down, non un partitore.

Sono stato costretto ad usare questo sistema per fare in modo che i collegamenti interni dei contatti non influissero sulla rilevazione.

ciao
Antonio
Avatar utente
Foto Utenteaduri
435 1 5 11
Expert
Expert
 
Messaggi: 937
Iscritto il: 29 giu 2005, 23:13
Località: Genova

0
voti

[10] Re: rilevazione contatti puliti

Messaggioda Foto UtenteMarcoD » 20 mar 2022, 20:38

Sono stato costretto ad usare questo sistema per fare in modo che i collegamenti interni dei contatti non influissero sulla rilevazione.


rilevazione contatti puliti

Per contatto pulito intendo un contatto (interruttore) i cui due morsetti sono isolati da tutto.
Se ci sono collegamenti interni allora non è così.

Di solito è conveniente collegare a massa un morsetto, creando così dei contatti riferiti a massa.
Vengono poi letti da un ingresso digitale il cui ingresso ha un resistore di pull-up ( ancoraggio verso l'altro), di solito la tensione di alimentazione della elettronica digitale.

Forse, solo a scopo diagnostico provvisorio, potresti collegare un morsetto del contatto al +5 o +12 V a un LED con un resistore da 1000 ohm in serie, in modo che anche senza arduino, puoi verificare che quando il contatto è chiuso il LED si accende (l'altro morsetto connesso a massa RTN 5 o 12 V).

Ma se non capisci come sono connessi i contatti e come corrispondono alle posizioni dei filtri è difficile (impossibile) decodificarli.

O_/
Avatar utente
Foto UtenteMarcoD
12,2k 5 9 13
Master EY
Master EY
 
Messaggi: 6696
Iscritto il: 9 lug 2015, 16:58
Località: Torino

Prossimo

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti