Buon Giorno a tutti,
come da titolo, avevo compilato un semplicissimo programmino (su arduino uno) che consentiva di far lampeggiare il led con sequenza di tre cicli come volevo:
Fin quì, niente di strano ed l'effetto era gradevole.
Pensavo poi di comandare per mezzo di 20 relè la 12V su ogni singolo pannello costituito da 24 LED.
Quindi circa 500ma x pannello e 10 A TOTALI.
l'alimentatore che ho preso e da 50 A, in quanto se 24 led da 10.000 mcd l'uno, non producessero un effetto sufficientemente visibile, aumenterei il numero.
Pensandoci però, mi sono reso conto che a livello meccanico, con quelle frequenze di intervento, i relè andranno sicuramente incontro ad una breve vita. O mi sbaglio?
A questo punto, visto che qui si fermano le mie conoscenze elettroniche, mi chiedo se fosse possibile realizzare un circuito per pilotare i led, senza far uso dei relè.
Magari, esistono dei circuiti che già di suo farebbero l'effetto strobo , rendendo quasi superfluo l'uso del micro controllore.
Potresti usare dei transistor o meglio dei MOSFET, la cui velocità di commutazione è superiore a quella dei relè.
Non ho capito, però, se i canali sono uno o più di uno: nel caso fosse un solo canale puoi comandare tutti i pannelli con un unico MOSFET dotato di opportuno dissipatore.
Potresti anche comandarlo in PWM in modo da variare l'intensità luminosa.
Dovresti usare un transistor se non sbaglio, solo che non sono molto ferrato in materia, per questo meglio chedere (o aspettare un intervento) a cyberhs o a qualcun'altro del forum che conosca bene i transistor presenti in commercio.
EDIT cyberhs è più veloce di me a individuare i post
Bene, inizio a chiarirmi le idee e grazie alle vostre risposte mi confermate quanto appreso in una intera giornata di studio su internet. (banale forse....ma per me è stata una sofferenza fatta di calcoli, prove ragionamenti scopiazzature....)
Alla fine, come da voi suggerito sto optando x uno, o meglio anche 5 mosfet, così da ridurre il carico. Sbaglio?
Pensavo di usare il mosfet IRL540 , considerato che l'assorbimento totale dovrebbe essere di circa 11A (144W) a 12 V. L'alimentatore eroga 50A quindi non dovrei aver problemi.
Per capirsi, ho 5 colonne, e devo piazzare 4 lampade strobo x ogni colonna. Ogni lampada è composta da 24 LED Gialli 2V (22mA) collegati in parallelo ed ognuno con la sua R dedicata da 620 hom. Un totale di 20 lampade e di 480 LED.
Allego (perdonate la qualità) una immagine del circuito che andrei a realizzare. Notate errori?
Scusate, domanda forse banale,
meglio evitare di alimentare arduino come ho esposto nel disegno, attraverso il Vin? L'alimentatore e switch stabilizzato con trimmer,ma di prezzo modesto.
Sarebbe preferibile alimentare magari a 9v nel ingresso jack con i comuni alimentatori da presa ?
Notavo che, alimentando nel jack con l'alimentatore 12v del starter kit, il regolatore scalda parecchio ed alla luce di una funzionamento continuativo per h 10 ore giornaliere, possa comprometterne la durata.
Questa mia convinzione mi fa preferire l'alimentatore da 9V.
Preoccupazioni Ingiustificate le mie?
Grazie Viperita
Per il mosfet, prendine uno che regga una corrente molto superior a quella che ti serve.
C'e' un motivo valido per questo, non solo la portata ... piu il mosfet ha una corrente massima alta, piu la sua RdsON e' bassa, e quindi in proporzione causa minore caduta di tensione ad alte correnti ... faccio un'esempio:
IRL540 ... corrente masima 28A (20A se surriscaldato), RdsON 77milliohm ... su un carico da 10A causerebbe una caduta di tensione di 770mV ...
IRL3713 (solo come esempio, dato che costano circa un'euro l'uno), corrente massima dichiarata 260A, RdsON di 3 milliohm, caduta di tensione a 10A di 30 millivolt con una dissipazione di 0.3W (non serve neppure il dissipatore) ... ed anche se usassi, diciamo, il triplo dei led, avresti comunque una caduta di tensione di 90mv soltanto per 30A di carico, con una dissipazione di soli 2.7W ... il tutto con un solo mosfet ...
Grazie a entrambi per le precise spiegazioni.
oggi vedrò che mosfet riesco a reperire.
Come viene calcolata la resistenza da mettere nel GATE ?
Avevo trovato un progetto che azionava in dissolvenza una lampada ad incandescenza e li avevo visto la capacità usata del resistore. ignoro il calcolo da fare.
Purtroppo si (o per fortuna...) le lampade le sto costruendo io, non appena mi arrivano i led, inizierò a vedere l'effetto complessivo e se soddisfacente, inizierò con le altre 19 rimanenti, altrimenti modificherò numero di led e incisioni sul plexy etc.
Secondo voi, sapete se esiste qualcosa già pronto o modificabile, idoneo a questo scopo?
Il resistore viene calcolato pensando che il gate si comporta come un condensatore di capacità relativamente piccola (dipende dal MOSFET).
Quando è scarico, applicando una tensione esso appare come un corto ed in teoria la corrente che scorre è infinita.
Ecco il motivo del resistore: a 5V una resistenza di 220 ohm fa passare al massimo 22mA (5/220 = 0.22A), corrente compatibile con le uscite digitali di Arduino (max 40mA).
La stessa cosa succede quando scarico il condensatore (l'uscita digitale a LOW).
Se usassi 10k avrei a che fare con una corrente troppo piccola ed il fronte di salita/discesa sarebbe alterato (vedi circuito RC).
I LED li puoi organizzare in serie da 5 LED (5x2V = 10V) ed ogni serie con un resistore da 100 ohm (12V - 10V) / 0.02A = 100 ohm).
Inoltre, potresti scegliere LED da 10mm, più potenti di quelli da 5mm (80.000mcd contro 10.000mcd).
Ovviamente costano di più, ma ridurresti il numero di pannelli.
Vista anche la disposizione nelle "lampade", dalla foto, potrebbe fare serie di 4 led, il che semplificherebbe i cablaggi (sono gia a file di 4) e darebbe un po piu di tolleranza alle resistenze (che per valori bassi a volte sono critiche)
Inoltre, dato che deve farli funzionare ad impulsi, potrebbe anche sovralimentarli un po (non tantissimo, ma considerando il modo in cui sono pilotati, potrebbe tranquillamente farli funzionare intorno ai 30mA o poco piu, con un'incremento proporzionale di resa)
Con un'alimentazione a 12V, si potrebbe usare una resistenza da 180 ohm (per 22mA) oppure da 150 ohm (per 26/27mA), oppure da 120 ohm (per 33mA, ma e' proprio al massimo) per ogni fila di 4 led ... basterebbero delle normali resistenze da 1/4 di W ...
Mi e' anche venuto un'altro dubbio, viperita, suppongo che siano per segnalazione, e quindi maggiore e' l'angolo di visuale e meglio e', giusto ? (suppongo che sia anche per quel motivo, che fai quelle fresature a griglia sul plexiglass frontale) ... hai considerato la possibilita' di usare i led "straw hat" invece di quelli normali, che hanno un'angolo di visibilita' maggiore ?
Con 480 LED da saldare, sarebbe buona cosa fare serie da 4 con R credo da 120 ohm (dato che la targa dei led gialli presi è la seguente:
tensione 1,8v (20mA) - 2,2v (25mA)
angolo vis. 20°
luminosità min. 10.000 mcd
max 12.000 mcd
Dovrebbero avere una discreta luminosità.
Probabilmente, visto l'uso intermittente, potrei alimentarli con 26mA, ma non vorrei che su 480, ve ne siano di più "sensibili" e si brucino intere serie di LED (motivo per il quale mi sarebbe piaciuto il parallelo).
Hai ragione sul fatto che forse andavano meglio quelli con angolo 180° ma avevo paura che quest'ultimi "perdessero un pò l'effetto strobo" richiesto (lampo) per una illuminazione più diffusa e soft.(Mia considerazione personale, non dettata da esperienza diretta con LED straw hat.
Lo scopo di questi pannelli sono quello di Yellow Flag nelle corse automobilistiche (nello specifico tracciato di KART INDOOR)
Non vedo l'ora di realizzare la prima e vedere se il risultato è quello sperato....o tutto da rifare.
Molto spesso i conti fatti a spanne non tengono conto di valori omessi per sbaglio, quindi chiedo a voi:
Non conoscendo la generosità dell'alimentatore ordinato, ma sapendo che (teoricamente dovrebbe erogare 50 A massimi a 12 V ed essendo "trimmerabile" potrei in via teorica fare serie di 6 LED ?
Se riuscissi a tenere ai capi dei LED 12,1V con R 3,6 ohm su serie di 6 LED dovrei avere su ogni singolo LED 2V (27.77 mA) . Corretto?
Il problema sarebbe poi la tolleranza della resistenza ... piu e' bassa, piu un'eventuale scostamento del valore va ad influire sulla corrente dei led ...
Esempio, se usi serie da 6 led, per 12V di caduta, ed un'alimentazione di 12.1V, con resistenze da 3.6 ohm (che comunque non e' un valore standard, gli standard piu vicini sono 3.3 e 3.9), anche una piccola variazione della resistenza darebbe ampie variazioni della corrente ... inoltre, i 2V di caduta dei led sono "teorici", nella realta' i componenti sono influenzati da parecchie cose, ad esempio la temperatura influisce, la corrente di utilizzo anche, poi da un lotto di produzione all'altro gli stessi led potrebbero variare la loro caduta (ad esempio la maggior parte dei costruttori di led danno per i led gialli ad alta efficenza una caduta tipica di 2.2V, che puo andare da 2V minimi a 2.4V massimi) ...
Non e' mai una buona cosa progettare qualcosa tenendosi "ai limiti" dei componenti, meglio avere sempre un buon margine ... con 4 led per serie hai un "margine" di 4V, se anche ci fossero led di lotti diversi che hanno VF differenti e resistenze diverse a causa della tolleranza, avresti magari alcuni dei led un po piu o un po meno luminosi, ma non abbastanza da influire sul risultato visivo finale ... con 6 led e poche centinaia di mV di margine, se te ne capitano alcuni con una VF diversa, rischi di avere dei pannelli con alcune righe piu accese, altre meno, ed altre magari quasi spente ...
Rieccomi di nuovo,
Ho provato inutilmente a cercare la soluzione ma invano.
In pratica, premo il pulsante, iniziano a lampeggiare i led, ma non riesco a far fermare i led con la pressione dello stesso.
Ho provato con il pulsante su porta ANALOGICA, sulla porta DIGITALE, ma nrssun risultato.
Questo quello che vorrei ottenere,
1 SOLO pulsante,
premo , si avvia il lampeggio
premo si arresta il lampeggio.
A furia di tentativi ero giunto al punto che accendevo e spegnevo, ma solo se beccavo la pressione al punto esatto del programma.
Proprio non riesco a venirne a capo.
E' una cosa così complicata quello che voglio ottenere?
Premessa, io sono tenace ed ostinato...ma sono all' ABC di arduino, e cose forse banali, mi creano grosse confusioni in testa...
Pippo 72, ora gli dò immediatamente un occio, stavo leggendo che probabilmente il mio problema e causato dai delay che uso, motivo per il quale sarebbe preferibile usare millis....ma onestamente non è così intuitiva la soluzione o l'utilizzo di millis al mio scopo.
Vedo i programmi da te citati sperando di capirci....
Allora, debounce è eccezzionale, fa proprio quello che volevo ed è "abbastanza intuitivo" anche se me lo dovrò studiare meglio.
Blink without Delay invece, funziona egregiamente se bisogna far lampeggiare con un tempo costante il LED, ma nel mio caso specifico, se non ho interpretato male, non mi sembra possa funzionare.
void loop
LED acceso 70 ms
LED spento 90 ms
LED acceso 70 ms
LED spento 90 ms
LED acceso 70 ms
LED spento 90 ms
attendi 300 ms prima di ripetere il ciclo
Mi sbaglio?
PS:
questo non mi è molto chiaro,
unsigned long currentMillis = millis();
if(currentMillis - previousMillis >= interval)
// se tempo corrente (meno) precedente tempo è maggiore o = all'intervallo impostato del lampeggio
// salva il tempo dell'ultimo lampeggio del LED ?
previousMillis = currentMillis;
// che deve essere uguale al tempo corrente ?
Questo fa in modo di avere lo stesso tempo di LED acceso e LED spento?
Perdonate il raggionamento contorto forse complice anche l'orario...