Vai al contenuto
PLC Forum


Sfruttare le uscite OC di un sistema d'allarme con Raspberry


majinjoko

Messaggi consigliati

9 ore fa, Panter scrisse:

Inoltre manca il pullup per le Gpio, oppure hai programmato il pullup interno

 

Sono R1, R2, R3 i 3 resistori di pull up.

Ha fatto un po' di confusione sui piedini.

Inoltre non legge quello che gli scrivo.

Gli emettitori dei transitors devono andare allo zero volt, mentre i collettori devono andare agli ingressi della scheda.

R1 sul pin 15 va bene perchè è sul collettore, così come R3.

Sono stati scambiati tra loro i piedini 13 e 14.

Questo è il data sheet del cny74-4

Idem per gli ingressi 1 e 5 sono oK, mentre vanno invertiti tra loro 3 e 4.

Mi ricito

21 ore fa, Livio Orsini scrisse:

Se disegnassi gli schemi, anche a mano, in modo un po' più ordinato e comprensibile.....

 

Link al commento
Condividi su altri siti


  • Risposte 93
  • Created
  • Ultima risposta

Top Posters In This Topic

  • majinjoko

    42

  • Livio Orsini

    25

  • Panter

    11

  • ilguargua

    6

Top Posters In This Topic

Posted Images

Benissimo,

ora faccio un po' di ordine.

Allego un estratto dello schema (nel senso che il resto del circuito viene ripetuto, se serve lo disegno per intero).

Le porte dell'opto sono invertite (la 16 è fisicamente sopra la 15) per rispettare il verso del passaggio di corrente nel simbolo dell'optoisolatore che ho trovato).

 

In pratica, lato centralina d'allarme:

- il +12v entra nel collettore dell'opto (1)

- l'emettitore (2) entra in una resistenza del valore di 1k Ohm (è corretta?)

- la resistenza è collegata ad un relé pilotato da un segnale esterno al circuito. il relé si apre quando - ad esempio - il sistema d'allarme è armato

- l'altro contatto del relé va a terra

Lato Raspberry Pi invece:

- l'ingresso (15) è collegato al pin del +3,3V del raspberry

- l'uscita (16) è collegata ad una resistenza del valore di 1k Ohm (è corretta?)

- la resistenza è infine collegata ad un pin del GPIO del raspberry configurato in pull-down

 

In questo modo:

- se il sistema d'allarme non è armato, il relé è aperto, non passa corrente tra (1) e (2), quindi neppure tra (15) e (16), il circuito dal lato del rpi è aperto così sul GPIO leggo un segnale basso

- se il sistema d'allarme è armato, il relé è chiuso, scorre corrente tra (1) e (2), quindi si apre il canale tra (15) e (16), il circuito dal lato del rpi è chiuso così sul GPIO leggo un segnale alto

 

Questo "pezzo" di circuito viene poi ripetuto altre due volte (ho un altro relé da "leggere", ed una uscita Open Collecor che in pratica si sostituisce al Relé nel terzo caso). Allego anche la variante con l'Open Collector, che sulla mia centralina è di tipo NPN.

 

Nel circuito finale, optoisolatore e resistenze saranno tutte collegate in una basetta.

 

 

Venendo invece alle domande di Panter:

13 ore fa, Panter scrisse:

 

Sono sbagliati i collegamenti tra alcune uscite del'optoisolatore e le Gpio del Rasp, Le uscite dell'opto (emettitore) sono pins 16, 13, 12, 9  e non 16, 14, 12, 10

 

Questa l'avevo proprio mancata! Grazie! Ho controllato lo schematico ed, effettivamente, le porte si "girano" ogni volta.

 

13 ore fa, Panter scrisse:

Inoltre manca il pullup per le Gpio, oppure hai programmato il pullup interno? comunque non capisco il motivo delle R messe così, e sarebbe bene lo spiegassi..

 

Perché nell'ultimo suo post, Livio mi suggeriva di configurare i pin del GPIO in pulldown ed usare resistenze esterne.

 

13 ore fa, Panter scrisse:

 

ps. perché quel "?" sulla terza uscita della centrale che pilota il secondo relè?

 

 

Perché quel relé non è pilotato da un'uscita in centrale, l'elettricista l'ha collegato a.. non so cosa. Probabilmente la sirena interna. Però è un componente fuori dal mio controllo.

 

 

Come al solito.. qualsiasi consiglio è ben accetto! Tanto meglio se invece fosse un "ok" a procedere.

 

 

Buon week end a tutti,

Michele

 

Schermata del 2018-03-10 12-01-16.png

Schermata del 2018-03-10 12-17-28.png

Link al commento
Condividi su altri siti

 

3 ore fa, Livio Orsini scrisse:

Inoltre non legge quello che gli scrivo.

Gli emettitori dei transitors devono andare allo zero volt, mentre i collettori devono andare agli ingressi della scheda.

R1 sul pin 15 va bene perchè è sul collettore, così come R3.

 

il 7/3/2018 at 10:03 , Livio Orsini scrisse:

Per fare un buon lavoro prepara una basetta con i 3 foto accoppiatori (oppure usi un fotoaccoppiatore quadruplo), ci monti i 3 resitori con il comune che colleghwrai al 3.3V di raspberry. i 3 colettori li invii ai 3 ingressi. Programmi gli ingressi con pull down.

 

 

 

Ciao Livio,

ti assicuro che ti leggo eccome.

Probabilmente faccio confusione, però l'ultimo tuo post mi suggeriva di collegare gli emettitori a resistenza e 3,3v o sbaglio?

Ho comunque disegnato meglio i circuiti nel post più sopra, per sgomberare la confusione che posso aver fatto.

 

Grazie e buona giornata,

Michele

 

Link al commento
Condividi su altri siti

Comunque lo schema era errato.....

 

Quindi usi i pulldown interni del Rasp .....solo perché hai trovato uno schema qualsiasi su internet!!!

Quindi non hai preso in considerazione i consigli di alcuno. .....Bravo :angry:

Link al commento
Condividi su altri siti

ps. i pin di un Led (o di un diodo) si chiamano anodo e catodo e non collettore emettitore. Inoltre la resistenza di limitazione corrente è preferibile collegarla tra il + e l'anodo.e mettere il catodo (K) a massa. Stesso ragionamento (se non in casi particolari) per un transistor.

Link al commento
Condividi su altri siti

2 ore fa, majinjoko scrisse:

Come al solito.. qualsiasi consiglio è ben accetto! Tanto meglio se invece fosse un "ok" a procedere.

 

Beh..., forse a te servirebbe uno schema pratico più che consigli. L'OK può essere dato solo se tutto è veramente OK.

Ti era stato anche consigliato di non usare i pullp o down interni del Rasp, ma non li hai presi in considerazione o spiegato perché hai deciso diversamente......

 

Link al commento
Condividi su altri siti

35 minuti fa, Panter scrisse:

Comunque lo schema era errato.....

 

Quello scritto su carta o l'ultimo disegnato al pc?

Quello su carta l'ho stracciato, avevo interpretato male il pinout dell'optoisolatore (me ne sono accorto grazie al tuo post).

 

 

 

Quote

.....solo perché hai trovato uno schema qualsiasi su internet!!!

Quindi non hai preso in considerazione i consigli di alcuno. .....Bravo :angry:

 

No no no, fermi. Non sto guardando alcun altro schema in rete proprio per evitare di fare danni. Sto utilizzando solo le indicazioni che mi date in questo post.

Inizialmente utilizzavo i GPIO del rpi in configurazione pullup. Poi (se ho capito bene) nell'ultimo post Livio mi consigliava di usare pulldown, quindi ho ridisegnato il circuito.

Mi spiace che passi il messaggio che non tenga in considerazione i consigli, non è affatto così.

 

28 minuti fa, Panter scrisse:

ps. i pin di un Led (o di un diodo) si chiamano anodo e catodo e non collettore emettitore. Inoltre la resistenza di limitazione corrente è preferibile collegarla tra il + e l'anodo.e mettere il catodo (K) a massa. Stesso ragionamento (se non in casi particolari) per un transistor.

 

Anche qui, potrei aver frainteso le indicazioni.

 

Ciao,

Michele

Link al commento
Condividi su altri siti

7 minuti fa, Panter scrisse:

 

Beh..., forse a te servirebbe uno schema pratico più che consigli. L'OK può essere dato solo se tutto è veramente OK.

Ti era stato anche consigliato di non usare i pullp o down interni del Rasp, ma non li hai presi in considerazione o spiegato perché hai deciso diversamente......

 

 

Non li ho inseriti perché ho sbagliato. Provo a disegnare l'intero circuito.

Link al commento
Condividi su altri siti

12 minuti fa, majinjoko scrisse:

Inizialmente utilizzavo i GPIO del rpi in configurazione pullup. Poi (se ho capito bene) nell'ultimo post Livio mi consigliava di usare pulldown, quindi ho ridisegnato il circuito.

 

Se ti erano sembrati in contrasto i suggerimenti di Livio e quelli di Ilguargua, avresti dovuto precisare cosa avevi capito e la soluzione che avresti voluto applicare, altrimenti i consigli servono a poco.

 

Inoltre sarebbe bene che capissi i vantaggi del pullup esterno con il transistor dell'opto che tira a massa l'ingresso GPIO; poi... ciò permetterebbe di mettere una resistenza di protezione in serie al GPIO di 1K senza interferire sul partitore.

La resistenza di protezione serve, nei circuiti sperimentali, ad evitare danni alla GPIO nel caso di operazioni maldestre, cosa non possibile con i pullup interni dato che l'ingresso non sarebbe perfettamente polarizzato a massa dal collettore del transistor. Perché? perché la R di protezione entrerebbe a far parte del partitore non mettendo perfettamente a Zero l'ingresso.

 

Come vedi il consiglio di @ilguargua andava perlomeno discusso dal momento che i consiglio di Livio l'hai frainteso, e francamente ora non so quale decisione hai preso nel nuovo schema che hai detto di voler presentare. Chiarisciti prima la teoria e poi affronta la pratica.

Link al commento
Condividi su altri siti

Sto leggendo di nuovo tutte le vostre risposte per far chiarezza sul lato del circuito interessato dal raspberry.

Al momento ho disegnato la parte che sta dal lato dei diodi dell'optoisolatore, quindi quella che interfaccio alla centralina.

Posso chiedervi se per questa metà di circuito vedete criticità?

Ho controllato il datasheet dell'opto che andrò ad utilizzare:

http://www.vishay.com/docs/83526/83526.pdf

Che riporta 1,3v e 20mA per i diodi dell'opto. Facendo i conti, mi risulta che le R2, R3 ed R4 dovrebbero valere 535 Ohm (ovvero: 12V - 1,3V, diviso 0.02A). Se utilizzo una resistenza da 1k Ohm il transistor si aprirà comunque?

Non so se serve in questo caso, ma il +12v della centralina emette al massimo 500mA.

 

 

10 ore fa, Livio Orsini scrisse:

Gli emettitori dei transitors devono andare allo zero volt, mentre i collettori devono andare agli ingressi della scheda.

 

Quindi tu mi suggerisci di utilizzare una configurazione di pull up? O meglio, domanda assolutamente stupida: c'è qualche aspetto da considerare per decidere su pullup o pulldown?

 

3 ore fa, Panter scrisse:

Come vedi il consiglio di @ilguargua andava perlomeno discusso dal momento che i consiglio di Livio l'hai frainteso, e francamente ora non so quale decisione hai preso nel nuovo schema che hai detto di voler presentare. Chiarisciti prima la teoria e poi affronta la pratica.

 

Sto pensando che, non "leggendo" direttamente i due relé con il rpi ma riferendomi solo all'opto, e poiché l'opto è a pochi centimetri, potrei usare le resistenze interne.

A tal proposito:

3 ore fa, Panter scrisse:

Inoltre sarebbe bene che capissi i vantaggi del pullup esterno con il transistor dell'opto che tira a massa l'ingresso GPIO; poi... ciò permetterebbe di mettere una resistenza di protezione in serie al GPIO di 1K senza interferire sul partitore.

La resistenza di protezione serve, nei circuiti sperimentali, ad evitare danni alla GPIO nel caso di operazioni maldestre, cosa non possibile con i pullup interni dato che l'ingresso non sarebbe perfettamente polarizzato a massa dal collettore del transistor. Perché? perché la R di protezione entrerebbe a far parte del partitore non mettendo perfettamente a Zero l'ingresso.

 

Una domanda per capire: escludendo l'operazione maldestra, se nell'emettitore entra il +3,3v del rpi enel collettore il pin del rpi con pulldown interno, come potrebbe accadere che nel pin entri "troppa corrente"? Capisco se io stupidamente lo mettessi in corto con il +5V, ma diversamente.. come potrebbe accadere?

 

Grazie per i chiarimenti,

ciao!

Schermata del 2018-03-10 18-58-53.png

Link al commento
Condividi su altri siti

1 ora fa, majinjoko scrisse:

se nell'emettitore entra il +3,3v del rpi enel collettore il pin del rpi con pulldown interno, come potrebbe accadere che nel pin entri "troppa corrente"?

 

rpi enel???

 

Tieni presente che che gli ingressi Gpio del rasp sono collegati direttamente al microcontrollore, e non si è mai visto, in un circuito che ri rispetti, collegare i pin di una IO collegati direttamente a un circuito estrno senza una resistenza serie di protezione in grado di limitare la corrente d'ingresso, corrente dovuta a extra tensioni di qualsiasi origine, soprattutto considerando che in un circuito sperimentale potrebbero anche accadere collegamenti errati (tipo quelli già fatti da te precedentemente e che, a tuo dire, hanno "fatto secco" il Rasp,

 

1 ora fa, majinjoko scrisse:

Sto pensando che, non "leggendo" direttamente i due relé con il rpi ma riferendomi solo all'opto, e poiché l'opto è a pochi centimetri, potrei usare le resistenze interne.

 

Tu sai qual'è il valore della R del pullup interno? se poi usi il pullup interno non hai bisogno di nessuna R se non quella di protezione.

Comunque sia, per tenere stabile il Gpio in commutazione, l'emettitore dei transistor deve essere a massa (negativo del Rasp) come ti ha detto Livio, e non tramite una R da 1K. Penso che la R da 1K che ha detto livio era di pullup, e quel "Programmi gli ingressi con pull down" sia una svista (salvo smentita)..

 

2 ore fa, majinjoko scrisse:

Facendo i conti, mi risulta che le R2, R3 ed R4 dovrebbero valere 535 Ohm

 

680 Ohm è un valore ottimale.sia per il diodo-led sia per la centrale anche se dovessi usare OC delle espansioni della centrale Inim non ufficiale.

 

Link al commento
Condividi su altri siti

majinjok

non so se non leggi con attenzione o se fai confusione comunque è il terzo schema che non va bene, almeno dal lato raspberry.

 

Allora lo riscrivo per l'ennesima volta e poi basta.

 

3.3V di raspberry, resistore che ca sul collettore del transistor di uscita opto, emettitore dello stesso va allo zero volt di raspberry; collettore (pin 15 o 14 per esempio) collegato alla GPIO.

In questo modo quando chiude il relè dell'allarme l'ingresso di GPIO va basso.

 

 

Link al commento
Condividi su altri siti

Gabri si è così, ma è talmente semplice che dopo averlo scritto per 3 volte non ci dovrebbe essere bisogno di schema.:)

 

Dimenticavo un'ultima cosa.

Usando CNY74-4 con 12V e 1000 ohm, come R2, R3 e R4 dell'ultimo schema , si avrebbe una corrente di circa 10ma sul diodo. corrente che garantidce un rapporto di trasferimento >50%, quindi più che sufficiente per i 3 mA circa dal lato uscita (resistenza di pull up da 1000 ohm).

Link al commento
Condividi su altri siti

29 minuti fa, Livio Orsini scrisse:

che dopo averlo scritto per 3 volte non ci dovrebbe essere bisogno di schema.

:)

Ti devo contraddire , è proprio per questo che ci vuole lo schema .:thumb_yello:

Link al commento
Condividi su altri siti

1 ora fa, gabri-z scrisse:

Che sia cosi ?

GPIO.gif.b2d776ef486c51b8a8783e2734dd5fc0.gif

 

Ho bisogno di un ultimo chiarimento affinché io possa presentarvi finalmente il circuito completo e corretto: con questa configurazione, il GPIO deve essere configurato in pull up via software, è corretto?

Oppure.. no? Deve essere un semplice pin di input?

Link al commento
Condividi su altri siti

14 minuti fa, dott.cicala scrisse:

..E invece io vi dico che la R1 non la metto e funziona tutto benissimo. C'è già quella di pull-up interna.  :)

Questo lo sapete voi , io ho cercato soltanto di tradurre le parole in schema , tanto da evitare altri messaggi a '' vuoto '' :)

Link al commento
Condividi su altri siti

1 ora fa, majinjoko scrisse:

Deve essere un semplice pin di input?

 

Si.

1 ora fa, dott.cicala scrisse:

C'è già quella di pull-up interna.

 

Certo, ma con un pull up esterno stabilisci tu quanta corrente deve drenare il transistor dimuscita dell'opto.

Se usi solo il pull up interno hai un resistore di valore fisso di qualche kohm (non ricordo a memoria i valori per rspberry).

 

Quando si usano interfacce simili a questa è buona norma mettere i ressitori sterni di pull up o di pull down. Non  lo spazio e/o il costo di qualche resistore in più a spsotare il costo di un apparato costruito in pochissimi esemplari, se non unico.

A fronte di qualche decina di cent in più si ha un circuito molto più robusto, anch dal punto di vista distrubi.

Link al commento
Condividi su altri siti

Da quello che ho capito, il circuito completo dovrebbe essere questo:

 

5aa53cf1775c1_Schermatadel2018-03-1115-26-57.thumb.png.396eccb63e44b8c263b30159f5ced677.png

 

I 3 pin del raspberry configurati come input, senza attivare il pull-up interno.

L'unico dubbio che mi resta, a questo punto è se serve una resistenza prima del pin del GPIO. Se ne aggiungessi una, sarebbe un problema? Potrebbe servire a proteggere il pin del GPIO ulteriormente, oppure a proteggere il transistor?

 

5 ore fa, Livio Orsini scrisse:

Dimenticavo un'ultima cosa.

Usando CNY74-4 con 12V e 1000 ohm, come R2, R3 e R4 dell'ultimo schema , si avrebbe una corrente di circa 10ma sul diodo. corrente che garantidce un rapporto di trasferimento >50%, quindi più che sufficiente per i 3 mA circa dal lato uscita (resistenza di pull up da 1000 ohm).

 

Quindi tutte le resistenze sono di 1k Ohm, grazie.

 

5 ore fa, dott.cicala scrisse:

...E invece io vi dico che la R1 non la metto e funziona tutto benissimo. C'è già quella di pull-up interna.  :)

Però così facendo colleghi il pin del rpi al collettore e lo configuri come pullup, per poi collegare l'emettitore allo 0v, giusto? Ovvero nel tuo collegamento non utilizzi il pin a 3,3v del rpi, corretto?

 

 

Grazie e buona domenica a tutti!

Michele

Link al commento
Condividi su altri siti

Si lo schema questa volta sembra corretto.

Prima di collegarlo alla centrale prova la schedina, che costruirai, simulando i relè con degli interuttori esterni.

 

 

Link al commento
Condividi su altri siti

16 ore fa, majinjoko scrisse:

Però così facendo colleghi il pin del rpi al collettore e lo configuri come pullup, per poi collegare l'emettitore allo 0v, giusto? Ovvero nel tuo collegamento non utilizzi il pin a 3,3v del rpi, corretto?

 

Si utilizzi solo lo zero volt di raspberry, però la corrente che scorre nel transistor dell'opto non la fissi tu.

Link al commento
Condividi su altri siti

56 minuti fa, Livio Orsini scrisse:

Si lo schema questa volta sembra corretto.

Prima di collegarlo alla centrale prova la schedina, che costruirai, simulando i relè con degli interuttori esterni.

 

 

 

Ringrazio te e tutti i partecipanti per la pazienza e avermi aiutato così tanto.

Perfettamente in linea con l'idea di fare dei test preliminari parziali!

 

45 minuti fa, Livio Orsini scrisse:

 

Si utilizzi solo lo zero volt di raspberry, però la corrente che scorre nel transistor dell'opto non la fissi tu.

 

Grazie, era giusto per curiosità.

 

 

Posso lasciare in coda un paio di domande assolutamente secondarie? Beh, ci provo :)

1) l'elettricista ha misurato col tester la caduta di tensione tra il +12v dell'allarme e un GPIO pulluppato del rpi che in quel momento buttava fuori 3,3v, leggendo ovviamente circa 9V. Questa operazione è pericolosa oppure non c'è nessun rischio perché il voltmetro è sicuro?

2) non riesco a capire qual è il valore massimo di corrente che può passare nel transistor dell'opto.. mi sembra che da datasheet sia pari a 2mA (il valore di Ic alla voce "Saturation voltage, collector emitter"), è giusto? 

3) finché il raspberry non avvia il mio script che configura i pin del GPIO, come sono "configurati"? I 3 pin del GPIO che uso da Input, prima di impostarli con il mio script, come si comportano?

 

Buona giornata a tutti!

Michele

Link al commento
Condividi su altri siti

1 ora fa, majinjoko scrisse:

l'elettricista ha misurato col tester la caduta di tensione tra il +12v dell'allarme e un GPIO pulluppato del rpi che in quel momento buttava fuori 3,3v, leggendo ovviamente circa 9V. Questa operazione è pericolosa oppure non c'è nessun rischio perché il voltmetro è sicuro?

 

Questo significa che lo zero volt di centrale è in comune con quello di raspberry. Cosa da non fare assolutamente!

Si mettono gli isolatori galvanici proprio per garantire la completa separazione dei 2 circuiti.

 

1 ora fa, majinjoko scrisse:

non riesco a capire qual è il valore massimo di corrente che può passare nel transistor dell'opto.

 

Devi osserverei dati massmi, quelli che compaiono alla voc "absolute maximum......."

 

1 ora fa, majinjoko scrisse:

finché il raspberry non avvia il mio script che configura i pin del GPIO, come sono "configurati"? I 3 pin del GPIO che uso da Input, prima di impostarli con il mio script, come si comportano?

 

Non lo so a memoria, dovrei consultare il manuale di raspberry. In genere nei microcontrollori le porte sul power on si dispongono come ingressi.

 

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

×
×
  • Crea nuovo/a...