Vai al contenuto
PLC Forum


Funzionamento di un relay switch tramite raspberry


fabro

Messaggi consigliati

Buongiorno a tutti,

premetto che sono un principiante che sta cominciando, un po' a fatica, ad interfacciarsi al mondo dell'elettronica tramite la conoscenza dei componenti di base, il tutto tramite l'ausilio di un Raspberry.

 

Volendo tentare di controllare il funzionamento di uno switch, ho acquistato tempo fa un modulo relay creato per arduino, accorgendomi in seguito però dell'impossibilità (o comunque della grande difficoltà) di controllarlo, in quanto lavora a 5v mentre l'uscita GPIO del Raspberry è a 3.3v. Inoltre non si trovano schemi elettrici, pertanto ho deciso di farmi qualcosa da me tentando di interpretare gli schemi che ho trovato sulla rete.

 

In particolare, l'esempio a cui mi riferisco fa uso dei seguenti componenti:

 

- Relay jqc-3f t73  (dallo schema non ho ben capito se si può usare anche a 3v, difatto non richiedendo quindi un transistor per il controllo, giusto?)

- Un diodo NPN

 

Lo schema che ho trovato è in allegato.

 

Quando attivo l'output a 3.3v del mio GPIO, difatto attivo la base del transistor che permette, se ho ben capito, alla corrente di fluire dal vertice basso dello switch fino alla massa.

 

Quello che non capisco è come questa cosa può attivare lo switch! In pratica si crea la differenza di potenziale tra i 5v e la massa, in quanto il transistor chiude il circuito? 

 

La seconda domanda che avrei da porvi è sull'utilità del diodo che permette alla corrente di fluire in quel verso: quale è il suo scopo? 

 

Grazie mille e scusatemi per le domande banali, ma che sicuramente mi aiuteranno non poco nella realizzazione di ciò che ho intenzione di fare.

 

Relay_schem_small.png

Link al commento
Condividi su altri siti


  • Risposte 66
  • Created
  • Ultima risposta

Top Posters In This Topic

  • Livio Orsini

    25

  • Fabio Montalto

    10

  • Panter

    9

  • fabro

    8

Top Posters In This Topic

Posted Images

Sicuramente ignori i fondamentali dell'elettronica circuitale. Cercherò di spigerti il funzionamento in modo semplificato.

Quando il pin #4 va alto, ovvero la sua tensione è prossima a circa 3.3V nella base del transisto circola corrente. Quanta? Il conto è presto fatto.

Dai 3.3V togli 0.7v che è la tensione della giunzione base-emettitore, ne rimangano circa 2.6V che scorrendo in un resitore di 1k danno luogo ad una corrente di circa 2.6 mA. Questa corrente moltiplicata il fattore di guadagno che probabilmente è di almeno 50, darà luogo ad una corrente di collettore di circa 130 mA. Con questa corrente e con quel carico il transistor satura, ovvero la tensione di collettore sarà pari a circa 0.3V. La bobina del relè, se il relè con bobina da 5V, sarà percorsa da una corrente sufficiente a far commutare il contatto di scambio del relè.

Se vai a misurare in partica la corrente circolante nel relè sarà senz'altro inferiore a 130 mA, perchè questo è il limite teorico con quella polarizzazione di base e con quel guadagno di corrente. L'importante che in base circoli una corrente in grado di far saturare il trnasitore..

 

Quel circuito riportato è molto povero ed ha un difetto fondamentale. Fino a che #4 è pilotato sicuramente a 0 il transistor è aperto. Ma se l'uscita diventa flottante il transitor è .....indeciso. meglio mettere un resistore da 4k7 (il valore non è molto stringente) tra base ed emeitter così da ssicurare sempre e comunque l'interdizione ed aumentare la velocità di apertura del transistor.

 

Link al commento
Condividi su altri siti

Ciao Livio, 

innanzitutto ti ringrazio per il tuo prezioso intervento.

Nel frattempo mi sono informato sull'utilità dei diodi di flyback e mi sono fatto un'idea più chiara sul funzionamento di questo circuito.

 

Non ho ben capito l'ultima parte del tuo intervento: in pratica mi stai dicendo che non essendo il transistor un interruttore on\off, la possibilità di avere valori di tensione leggermente maggiori di zero può portare il transistor ad avere uno stadio intermedio in cui della corrente passa, seppure poca. E' corretto? Non capisco però in che modo può una resistenza tra base ed emettitore potrebbe aiutarmi: mi verrebbe, a rigor di una logica banale e sicuramente da principiante, l'idea di aumentare nel caso la resistenza a monte della base per abbattere un'eventuale tensione maggiore di zero, seppur di poco! In cosa erro?

Link al commento
Condividi su altri siti

Se aumenti il valore del resistore serie diminuisci solo il valore di corrente che può circolare in base, ma non risolvi il problema; aumenti solo un poco l'immunità.

Se metti un rsistore tra base ed emettitore, invece, abbassi l'impedenza d'ingresso dell'amplificatore, crei anche un partitore. Questo migliora sia la sicurezza di commutazione, sia l'immunità ai disturbi, oltre a velocizzara l'apetura del trasistore perchè favorisce lo svuotamento delle cariche della base.

Il tipo di polarizzazione proposto è il peggiore possibile, tanto che qualsiasi testo lo sconsiglia vivamente. Risparmaire un resistore su un apparato amatoriale o prodotto in piccala serie non è significativo; in compenso l'affidabilità è di molto peggiorata.

Alla polarizzazione dei transistori a giuzione, i testi dedicano come minimo un capitolo intero. Questo perchè è un argomento delicato che non si può riassumere in poche righe di un messaggio. Io ti consiglierei francamente di leggerti qualche cosa in merito, magari ricencandolo sul webb. Puoi trovare parecchi documenti, anche scritti dedicati ad allievi di scuole professionali, quind piuttosto pratici.

 

Ovviamente quanto ti ho espsto, come ho premesso nel mio primo messaggio, semplifica e banalizza i concetti ma le cnclusioni sono perfettamente valide.

Link al commento
Condividi su altri siti

 

Ciao Livio, se ho ben capito a cosa ti riferisci dovrei in pratica mettere una resistenza di Pull Down, tra Base ed Emettitore.

Questa resistenza mi permette di evitare un effetto fluttuante della tensione nel caso arrivino valori 0v in ingresso al transistor, dovuti evidentemente ad interferenze ed altre possibili concause.

 

Tale resistenza, a fronte di una piccola corrente (quasi insignificante), mi permette di stabilizzare il segnale, come se mettessi un sasso a sorreggere una finestra aperta e molto leggera.

 

Ora, cercando in giro su internet ho trovato due possibili soluzioni per realizzare tale soluzione. La prima immagine contiene due rappresentazioni che mi sembrerebbero fondamentalmente equivalenti, mentre la seconda è collegata alla base, come da te suggerito.

 

Quali differenze sostanziali esistono tra le due soluzioni proposte?

 

Inoltre da quello che ho capito, maggiore è la resistenza più stabile sarà la soluzione, a fronte di un "piccolo" spreco di corrente, quindi il valore di resistenza non ha molta importanza. Posso pensare di utilizzare sempre intorno ai 10k per circuiti amatoriali?

FhWFA.png

 

ry70Y.gif

 

 

Link al commento
Condividi su altri siti

I circuiti corretti sono i 2 di sinistra. Entrambi i valori possono andare bene. Quello con il partitore 1K e 10K è "meno immune" ed è leggermente più veloce nel chiudere il transistor. Quello con i 2 resistori da 1 K è più "immune" ed è più veloce nel far aprire il transistor.

Io ti ho consigliato 4k7 che è un valore standard per questi tipi di circuiti.

la terza soluzione, quella di dx guardando l'immagine, è meglio non usarla perchè il resistore è ininfluente in caso di tensioni presenti all'ingresso, in pratica da un carico verso zero in caso l'uscita fosse in 3state.

Link al commento
Condividi su altri siti

Ciao Livio, 

ti chiederei un ultimo sforzo nel seguirmi in questa questione.

 

Per cercare di capire al meglio quanto mi trovo di fronte, ho provato a disegnarmi un mio schema che controlla questa volta non un relay, ma una relay board che ho acquistato e che è in realtà pensata per arduino, in quanto vuole i 5v in ingresso.

 

Volevo chiederti se il mio schema è corretto e se sto facendo qualche casino con i calcoli.

 

Per semplificare un po' i calcoli possiamo considerare il circuito contenente il LED come un circuito a sè stante, che può essere aperto e chiuso in funzione dello stato del relay, e fino a qua non avrei grandi dubbi.

 

Ora, dalla descrizione della Relay Board, questa ha bisogno di 20mA per attivare la bobina, quindi Ic = 20 mA?

 

A partire da questa assunzione, e supponendo che il valore di Beta sia pari a 50, avrei bisogno di 20/50 = 0.4mA alla base, giusto? Poichè il transistor draina 0.7 V, abbiamo che (3.3 - 0.7)/0.0004 = 6500 Ohm di resistenza R1 (sullo schema è segnata a 1k per un refuso) prima della base: in questo caso immagino che anche una resistenza maggiore possa andare bene, in quanto sto facendo i conti con la corrente minima necessaria affinchè la mia board funzioni.

La resistenza di pulldown sarebbe standard a 4k7 come da te suggerito.

 

Il mio dubbio più grande è effettivamente come capire se il mio transistor è in saturazione (e quindi lavora come uno switch on\off) oppure no..

Sto per farmi saltare in aria? :D

 

ULLflhn.png

Link al commento
Condividi su altri siti

allora è un piccolo dubbio. Quando un transistor è in saturazione fra il suo collettore e il suo emettitore ci sarà una tensione chiamata VCEsat che solitamente è di 0,2V

Link al commento
Condividi su altri siti

Avevo trovato qualcosa al riguardo, e so che la tensione di saturazione viene indicata nei datasheet, ma come posso controllarla a mio piacimento? Nel senso, se realizzo questo schema e misuro una tensione diversa, come posso agire per portare il mio transistor in saturazione? O meglio, come posso considerarla sistematicamente come variabile del mio sistema, prima di accorgermi che in realtà quanto ho progettato non funziona?

 

Inoltre, mettere la massa del mio Relay direttamente all'uscita dell'emettitore è errato?

Grazie mille, mi state davvero risolvendo mille dubbi.

 

 

New-Schematic-2.png?type=1&width=0&penWi

Link al commento
Condividi su altri siti

Il circuito come lo hai disegnato è solo un brucia transistor, oppure si brucia il fusibile dell'alimentatore a 5V, oppure va in limitazione l'alimentatore.

Devi metterci un resistore di carico tre +5V e collettore. Così a occhio 470 ohm - 680 ohm sono valori che potrebbero andar bene.

Il transitor usato come interruttore è o chiuso (saturo) o aperto 8interdetto). Assolutamente non deve assume re valori intermedi pena un'altissima dissipazione.

Se il transitor non saturo è perchè la corrente di pilotaggio è insufficiente. Sempre che la circuitazione sia corretta, non come nel tuo caso.

Dovresti riportare il link delle specifiche della schedina relè, altrimenti non posso capire se è collegata correttamente.

Se è una scheda delle solite, ed i dip switches son posizionati inmodo corretto, il tuo circuito è adatto a meno del resistore sul collettore, come ho scritto prima.

 

 

Link al commento
Condividi su altri siti

Grazie mille Livio! Io non ho messo il resistore perchè in questo caso avrei meno di 5v in ingresso al Relay, e quindi sarebbe inutile e sarebbe comunque sempre attivato... 
Perchè devo mettere una resistenza prima del collettore? Quando passa corrente il mio carico è fornito dal Relay, no?

 

Comunque la schedina è questa, di schemi non ne ho mai trovati e neppure credo ce ne siano disponibili... 

 

824842-1017715.jpg

 

Sempre grazie mille per la pazienza che state dimostrando con un completo neofita!

Link al commento
Condividi su altri siti

Se il tuo relè si attiva con un livello alto al ingresso , mi sa che devi aggiungere un PNP dopo il NPN ( ma dopo un NPN polarizzato bene :superlol:) .....non come il tuo , destinato al .....cestino...

Link al commento
Condividi su altri siti

Brucia transistor a parte....vedo un non problema. Se quel relè cinese accetta in ingresso un livello TTL compatibile allora significa che

 

ViHmin = 2V quindi un 3,3v in ingresso sarà sicuramente sufficiente per attivarlo....o no? :whistling:

 

Di conseguenza non serve alcun brucia transistor, a meno che non si vogliano bruciare un po' di transistors

Link al commento
Condividi su altri siti

Quei relè li uso anchio e o li piloti come ha scritto Stefano, oppure invece di usare un transistor usi un optoisolatore con alimentazione separata da quella di raspberry.

Questo per evitare, come accade spesso, che i disturbi generati dalla commutazione delc arico del relè interferiscano con il processore.

Ho avuto le mie brutte esperienze con arduino.:smile: poi ho separato galvanicamente il comando ed ho risolto il problema interferenze.

 

Questo è un link che ti spiega come usare proprio quella scheda.

Se usi l'alimentazione separata c'è gia l'optoaccoppiatore che isola il relè dal controllore.

 

Link al commento
Condividi su altri siti

Grazie a tutti per il sostegno.

 

Ho fatto un po' di test e il Relay lavora con livello basso (quindi Low = 0.4V  circa --> Acceso), con 3.3v è sempre acceso quindi non è sufficiente a disattivarlo, per questo cercavo di inventarmi qualcosa per pilotarlo a 5v tramite il transistor.

 

A livello di conoscenze sto cercando di capire perchè è necessaria un'ulteriore resistenza prima del collettore del transistor, pensavo fosse sufficiente il carico dato dalla board ma a quanto pare non è così!

 

Grazie mille Livio, leggerò sicuramente con interesse quanto da te linkato :D

Link al commento
Condividi su altri siti

Quote

A livello di conoscenze .....

 

Perchè quando il transistor conduce non c'è limitazione di corrente, tutta la corrente che può fornire l'alimentatore si riversa nel collettore del transistore e da questo, tramite l'emettitore, si chiude sul comune; in pratica un buon corto circuito. Per evitarlo è indispensabile inserire un resistore di carico tra collettore ed alimentazione.

La cosa più saggia sarebbe che tu studiassi almeno i fondamentali delle circuitazioni dei transitors.

 

Quote

per questo cercavo di inventarmi qualcosa per pilotarlo a 5v tramite il transistor.

 

Osserva bene il circuito del link che ti ho dato.

Tanto per provare metti la scheda con il pontivello del +5V in modo da usare quello che fornisci allascheda. Poi connetti il transtor  come nello schema che hai postato prima, ma senza connettere il collettore al +5V. Se il transistor è ancora sano dovrebbe funzionare.

Link al commento
Condividi su altri siti

L'ho presa dal link che hai indicato.

 

La foto si riferisce all'esempio d'uso di una di quelle schedine relè-optocoupler.

 

Immagine eloquente...compare anche il logo "How to mechatronics"

 

Come realizzare una presa comandata

 

Si prende una prolunga

si taglia il giallo verde

e ci si mette il contatto del relè :superlol:

 

funziona benissssimo

Link al commento
Condividi su altri siti

de vulgari eloquentia

 

d4b560e667b4b306e8b12ccc9a4509bb.png

 

Il "maker" che si destreggia bene con schetch & shields ma digiuno di una qualsiasi minima nozione di elettrotecnica...quale filo taglierà  sulla base di queste ?

 

:thumbdown:

Link al commento
Condividi su altri siti

Non avevo letto tutto l'articolo, mi ero limitato al solo schema di collegamento arduino-relè.

Comunque di maker che fanno cose mirabolanti con un arduino da 3 € ne abbiamo una discreta conosccenza anche su PLCFORUM, o no?:P

Tra l'altro con quel tipo di alimentatore c'è il rischio non remoto che ad ogni commutazione vada in palla il programma di arduino.

Link al commento
Condividi su altri siti

Fabro, mentre il Dott Cicala si fa una "grigliata" con Livio Orsini.....

 

guarda bene lo schema che hai messo:

Il carico del relè non passa in serie al transistor perché "per errore" hai messo anche il +5V sul collettore del transistor!!

Togli il 5V di sinistra che va sul collettore e il tuo ragionamento comincia a filare ;)

Link al commento
Condividi su altri siti

Quote

Fabro, mentre il Dott Cicala si fa una "grigliata" con Livio Orsini..

 

Panter perchè non leggi tutto prima di fare lo spirotoso?

E' la prima cosa che gli ho scritto, te lo riscrivo autocitandomi così tanto per rederti edotto.
 

Quote

 

Il circuito come lo hai disegnato è solo un brucia transistor, oppure si brucia il fusibile dell'alimentatore a 5V, oppure va in limitazione l'alimentatore.

Devi metterci un resistore di carico tre +5V e collettore.....

 

 

Poi leggiti bene tutti i messaggi, dove viene spiegata ad un principiante come deve usare la schedina di interfaccia a relè.

 

Se devi scrivere solo per far dello spirito è meglo che ti astieni.

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...