grande confusione sui relè ed arduino

Ho appena provato al volo su una breadboard (non avendo un rele' di quel tipo, ho usato una resistenza da 100 ohm con in serie due led collegati in antiparallelo), e fondamentalmente funziona (senza alimentazione duale) ... l'unica cosa e' che gli impulsi di accensione e spegnimento hanno due durate diverse (in un senso dura circa mezzo secondo, nell'altro dura il doppio), ma questo e' dovuto alla differenza fra la curva di carica e quella di scarica del condensatore, rispetto alla soglia di tensione dei led, ed e' normale ... inoltre, si puo usare un condensatore elettrolitico normale, basta invertire le posizioni della bobina e del condensatore, collegando il negativo del condensatore a massa ed il positivo alla bobina, e l'altro capo della bobina al totem, cosi la tensione sul condensatore non si inverte neppure del poco che potrebbe causare il ritorno di energia dalla bobina (e se proprio e' indispensabile, si collega un diodo in antiparallelo al condensatore ... catodo al positivo ed anodo al negativo) ...

Per i valori ho usato valori standard, primo transistor, 10K fra base e massa ed 1K verso il pin, le altre due resistenze, 1K verso il positivo e 100 ohm verso le basi (ho provato anche con due resistenze da 100 ohm, una per base, ma non cambia nulla, apparentemente) ... alimentazione a 5V, per la prova ... l'unico vero difetto, se cosi si puo chiamare, e' che, senza segnale in ingresso, alla connessione e disconnessione dell'alimentazione si ha un minimo di impulso sulla bobina (ma essendoci un condensatore, era prevedibile) ... la cosa si riduce di molto collegando la serie rele'-condensatore al positivo invece che a massa (positivo del condensatore al +V, negativo al rele'), in questo modo invece che un'impulso in un senso all'accensione ed uno nell'altro allo spegnimento dell'alimentazione, ho solo un "mezzo impulso" al distacco dell'alimentatore, e piu nulla all'inserimento ...

Poi, ovviamente, tocca provare con il rele', per essere sicuri che gli impulsi siano sufficenti ad attivarlo ...

Quando il PNP conduce la carica accumulata nel condensatore viene scaricata nella bobina, mentre quando conduce il NPN il condensatore si carica, avrai così ad intuito un impulso più lungo durante la carica.

Il valore del condensatore determina la corrente disponibile per eccitare il relè e il valore di C dipende anche dalla R della bobina.

... la cosa si riduce di molto collegando la serie rele'-condensatore al positivo invece che a massa (positivo del condensatore al +V, negativo al rele'), in questo modo invece che un'impulso in un senso all'accensione ed uno nell'altro allo spegnimento dell'alimentazione, ho solo un "mezzo impulso" al distacco dell'alimentatore, e piu nulla all'inserimento ...

In questo caso l'impulso più lungo avviene quando il PNP conduce.

Sarebbe interessante sapere se il circuito funziona con il relè, possiamo saperlo se @info_mare riesce a ricreare su breadbord il circuito e se allo spegnimento la corrente è sufficiente per fare cambiare passo al relè.

Ciao.

Lo farò volentieri, ma visto che non voglio fare un test senza senso, e visto che... state parlando con uno che al momento sta leggendo "imparare l'elettronica partendo da zero", mi fate uno schema di quello che devo mettere in piedi?

Grazie
Mirko

Nb: per guglielmo, messi i diodi ed i condensatori, non scotta più nulla e funziona egregiamente. Grazie

infor_mare:
Nb: per guglielmo, messi i diodi ed i condensatori, non scotta più nulla e funziona egregiamente. Grazie

Ottimo ... se vuoi, per prova, puoi provare a ridurre quel delay(500) ... 50 millisecondi per volta ... così da ridurre veramente al minimo l'impulso e, di conseguenza, il consumo.

Trovato il valore minimo a cui il relè non scatta più, per sicurezza, aggiungici comunque 50 milli ... :wink:

Guglielmo

infor_mare:
... mi fate uno schema di quello che devo mettere in piedi?

... et voila' ... :smiley:

I transistor sono generici, ho usato 327 e 337 perche' li avevo qui comodi ... il rele' e' quello con bobina singola, bistabile, da provare se scatta, per questo ho disegnato dei led sul contatto, ma se anche lo provi con il tester e' lo stesso :wink: ... il condensatore da 47uF, e' un valore indicativo, puo darsi che si possa ridurre, se la bobina e' abbastanza sensibile, o che sia da aumentare, se e' meno sensibile ... lo scopo del test e' in parte anche quello di controllare questa cosa, oltre che di vedere se il sistema funziona (purtroppo nella cinquantina di rele' che ho in casa non ce n'e' neppure uno bistabile, quindi non posso provare io, mi spiace) ... il terminale "pin", dove andrebbe ardino, per fare i test puoi anche collegarci un pulsante o un'interruttore verso il positivo, o anche solo un pezzo di filo per fare il contatto (in quel caso, magari, aggiungi un condensatorino da 100nF fra la base e la massa, sul primo transistor, per fare da debounce) ... basta solo controllare che scatti in un senso collegandolo e nell'altro scollegandolo, e che poi nella bobina non passi corrente finche' lo stato non cambia di nuovo ...

scusa ma non capisco l'ultima parte , quella con i due led in parallelo e un interruttore .
I led in serie li uso per capire se funziona il relè, ma gli altri due?

I due led in antiparallelo, sulla bobina, sono per vedere se alla bobina arrivano impulsi in un senso e nell'altro, e per controllare che poi non rimanga alimentata (cioe' che arrivi solo l'impulso, quando colleghi o stacchi l'ingresso dal positivo, e che poi non ci scorra dentro corrente fino alla successiva inversione) ... gli altri sono sul contatto del rele' (non e' un'interruttore ;)), per controllare che il contatto scatti effettivamente, e che poi rimanga in una o nell'altra posizione anche quando nella bobina non scorre piu corrente ... solo per comodita' visiva, se li controlli con un tester e' lo stesso :wink:

Ok chiaro...

eccomi ....
funziona!
o almeno credo :slight_smile:

Pur essendo il relè a 3v , ho dovuto alimentare a 5 .. .ma credo sia normale.
pin LOW: relè chiuso (led di carico acceso, primo led di controllo bobina un blink quando mando l'impulso)
pin HIGH: relè aperto (led di carico spento , blink sul secondo led di controllo)
i blink sono veramente impercettibili

Non c'è mai corrente nella bobina se non l'impulso. Il condensatore va bene a 47uF, ma forse meglio 100uF (mi sto basando semplicemente sul rumore del relè)

ora una domanda:
perchè in stato di LOW, in verità è chiuso? (infatti il carico è acceso) Questa cosa mi fa pensare o che ho sbagliato qualcosa , o che potrebbe non andare bene per il mio intento.

comunque sinceri complimenti.

Mirko

nb: se uso i due led sul carico come sul tuo disegno, uno dei due è sempre acceso.

ho invertito i pin del relè , :o , ed ora è perfetto :slight_smile:
low: aperto
high: chiuso

bene!
grazie
Mirko

Se uno dei due led e' sempre acceso, significa che l'impulso non dura a sufficenza ... prova ad aumentare il condensatore, a 100uF, o anche 220 ... bisogna trovare qual'e' il valore a cui da' un'impulso sufficente ad attivare effettivamente il contatto (cioe', quando i led sul contatto cambiano stato), lo scopo principale della prova era proprio verificare questo ...

Secondo me è stato un mio errore di connessione del secondo led legato al fatto che avevo invertito la polarità sui pin del relè.
I condensatori li ho usati tutti sino a 1000uF, e dopo i 100 si comportano tutti allo stesso modo, solo con il 1000 il led di controllo sui pin del relè evidenzia un'illuminazione più lunga , ma parliamo di millisecondi.
Sotto i 47uF non funziona. NB: con qualsiasi condensatore il led era sempre acceso, per questo ti dico è stato un mio errore.
Questa sera lo riprovo con i contatti giusti del secondo led, ma sono quasi convinto che funziona.

Due considerazioni ora:

  1. il fatto che il pin debba rimanere in HIGH per accendere la mia lampada , porta ad un maggior consumo? In verità tutto il sistema si comporta lato MCU come un pulsante, ma lato relè è un interruttore. La corrente in bobina c'è solo durante l'impulso, ma in verità per l'MCU non è un impulso ma uno stato da mantenere per tutto il tempo dell'accensione. Immagino che tutto il sistema non consumi , ma durante l'accensione ad esempio si carica il condensatore ... quindi? fra ponte h e questo sistema chi consuma meno?

  2. preferirei usare questo , è molto più semplice capire se una luce è accesa oppure no, basta dare un'occhiata al pin dell'mcu.

mirko

Diffatti Etem ...
... in uno stato hai comunque sempre il consumo di quel po' di corrente che scorre tra Base ed Emettitore ed inoltre ... se metti in "sleep profondo" (avr/sleep.h) e "spegni" (avr/power.h) la MCU ...
... non so se il tutto continua a funzionare. ::slight_smile:

Dal datasheet, pag.43 ...

When entering a sleep mode, all port pins should be configured to use minimum power. The most important is then to ensure that no pins drive resistive loads. In sleep modes where both the I/O clock (clkI/O) and the ADC clock (clkADC) are stopped, the input buffers of the device will be disabled. This ensures that no power is consumed by the input logic when not needed.

Insomma, l'idea è brillante, ma in sistemi dove occorre ridurre al minimo possibile il consumo ... probabilmente è meglio usare il ponte H ... anche perché ... non è che occupi molto più spazio sul CS, anzi ... :wink:

Guglielmo

gpb01:
... se metti in "sleep profondo" ... e "spegni" ...

Hai ragione, questo non l'avevo considerato, ... pensavo ad un circuito sempre alimentato, anche se a basso consumo ... si, anche riducendo i valori, servirebbe comunque sempre almeno 1mA da far passare nel transistor per mantenere lo stato ... si potrebbe usare un flip-flop e controllarlo ad impulsi, per usare un solo pin, ma poi ci sarebbe sempre il consumo dell'ic, anche se minimo ...

Purtroppo l'unica alternativa che mi viene in mente senza usare un ponte H completo, per poterlo pilotare e poi mandare in sleep il micro, comporta comunque l'uso di due pin (usando due transistor che formano mezzo ponte, e due resistenze con valore fra meta' ed 1/3 della resistenza della bobina, che formano l'altro mezzo ponte ... e' una cosa che in pilotaggio continuo non funzionerebbe, perche' le resistenze si cuocerebbero, ma con il pilotaggio ad impulsi dovrebbe funzionare) ... circa come nel primo schema allegato ... ma costringerebbe comunque a generare gli impulsi di pilotaggio alla MCU ... oppure come nel secondo schema, gli impulsi sarebbero generati dai condensatori sulle basi, e la MCU potrebbe limitarsi a mandare alto il pin, poi rimandarlo basso subito prima di andare in sleep senza preoccuparsi delle temporizzazioni ... altre idee cosi al momento non me ne vengono ...

Etemenanki:
Purtroppo l'unica alternativa che mi viene in mente senza usare un ponte H completo ...

... ecco, è questo che non capisco ... perché ?

OK per studio e per dimostrare una teoria, ma ... uno ZHB6718, come quello che sta usando infor_mare è piccolino (7x5 mm), richiede poco HW al contorno e risolve semplicemente il problema senza elettrolitici, transistor e ammennicoli vari :smiley:

Guglielmo

E' stato un test assai istruttivo per me , sono sincero.
Ma il mio micro ponte h (che mi fa dannare per saldarlo!) direi che risolve egregiamente il problema.
In ogni caso questa sera ti finisco il test con il led, giusto per completezza

infor_mare:
... che mi fa dannare per saldarlo ...

... eeeehhhh ... hai ben 1.5 mm tra pin e pin e ti lamenti ? :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes:

Dai, dai, quella è roba che ancora a mano si arriva a saldare (... ovvio con un buon saldatore ed una punta adatta) ... è quando cominci ad andare sui TQPF32 che la mano ... comincia a tradirti :smiley: :smiley: :smiley:

Guglielmo

il datasheet del relè

1836111.pdf (1.22 MB)

sono sicuro che il secondo led sul carico non si può inserire , il mio modello è il G5RL-U1A-E , con un unico contatto e non il G5RL-U1-E.

Questo significa che i test di ieri sono tutti esatti ed il tuo progetto funziona a dovere.

Mirko

Eccomi di nuovo.
Diciamo che il mio progettino va avanti e funziona. Ho anche buttato giù un primo codice per un serverino che gestisce le richieste , anche se vorrei provare il server di blynk in locale.
Oggi ho provato a montare nella scatola il primo prototipo (che funziona!) e mi sono trovato un nuovo dilemma:

la luce che voglio comandare ha anche un altro interruttore nella camera , dove c'è un deviatore, quindi pensavo a come gestire la cosa:

  1. secondo voi è possibile collegare il deviatore al relè (non credo quello che ho ora, dovrà essere almeno a due scatti immagino)
  2. o forse è meglio cambiare il deviatore con un pulsante vimar e collegarlo all'arduino? Ma come faccio? ho i cavi sufficienti fra le due scatole? Il pulsante ha bisogno di due cavi , uno per il positivo di arduino e l'altro per il pin configurato come input. Vorrei evitare di tirare cavi!
  3. in una scatola metto il relè con arduino , nelle altre eventuali scatole metto solo un arduino ed i cavi della fase li collego tutti. Con gli arduino "remoti" comando sempre lo stesso relè (che in questo caso sarebbe l'unico punto in cui il loop della fase è spezzato) collegato al primo arduino. Un pò macchinosa ... forse.

Detto sinceramente , preferirei mantenere i deviatori , al massimo un pulsante. Mi date qualche consiglio?

Grazie

Mirko