crestan2000:
Allego la cartella con i file di LIFA_base al cui interno c'è LIFA_base.ino il firmware che ho installato su arduino uno.
... peccato che tu abbia allegato SOLO il Lifa_base.ino che, se lo hai guardato, NON fa nulla sui pin, ma include piuttosto un file di nome "LabVIEWInterface.h" che, probabilmente, contiene le funzioni che vengono richiamate da Lifa_base.ino: syncLV(), checkForCommand() e sampleContinously() ... :
Allega pertanto anche il LabVIEWInterface.h (e altri files che esso eventualmente include/usa) altrimenti è tutto inutile.
crestan2000:
Che ne dite se nel file Lifa_base inserisco alcune righe per settare i pin come input e poi in labview li setto come output per gestire i miei relè?
Non vedo nulla nella funzione syncLV() (che è chiamata nel setup) che possa fare quanto tu dici; le altre due funzioni servono solo a "colloquiare" con LV, quindi ... ho idea che il problema sia nel programma LV (sul PC) e su cosa esso invia in fare di inizializzazione.
Se esamini in dettaglio e con attenzione i moduli, ti rendi conto che sono SOLO degli "interpreti" di comandi che gli arrivano tramite la seriale da LV e NON prendono iniziative, quindi smbrerebbe che ... qualunque cosa accada sia controllata dal programma LV.
Quindi io per verificare che il firmware non imposti nessun pin a livello logico alto devo caricare di nuovo il lifa base e prima di aprire labview e testare qualsiasi programma , vado a verificare ľuscita di ogni pin digitale.
E se dovessi trovare tutte le uscite a livello low il problema ricadrebbe su labview , altrimenti sul firmware.
Ho capito bene..?
Direi che potrebbe essere una buona prova ...
... carichi solo il .ino ma non lanci nulla sul PC. Secondo me trovi i pin in uno stato NON determinato dato che, all'avvio, sono tutti in tri-state quindi basta un nulla che a te sembrino in uno stato o in un altro.
Dato che il .ino ha il suo setup() ... perché li dentro non inizializzi tu tutti i pin in un modo ben definito e poi, all'occorrenza, LV se li riprogramma secondo quanto gli serve ?
gpb01:
Direi che potrebbe essere una buona prova ...
... carichi solo il .ino ma non lanci nulla sul PC. Secondo me trovi i pin in uno stato NON determinato dato che, all'avvio, sono tutti in tri-state quindi basta un nulla che a te sembrino in uno stato o in un altro.
Dato che il .ino ha il suo setup() ... perché li dentro non inizializzi tu tutti i pin in un modo ben definito e poi, all'occorrenza, LV se li riprogramma secondo quanto gli serve ?
Guglielmo
Come ultima prova prima di rivedere tutto ho caricato con labview anche il firmware LINX piu recente di Lifa, ma anche qui con il programma di esempio il pin 2 accendeva il led del relè quando io comandavo come segnale uno zero(low).
Quindi ho deciso di ricominciare da capo, ho tolto la scheda relè ho cablato un seplice circuito con un led rosso dove un cavo lo porto al gnd e uno al pin digitale 2.
Ho caricato il file blink.ino su arduino e all' avvio si accendeva in intermitteza il led 13 .
Poi ho cambiato il programma introducendo tre righe di codice ,in una ho impostato il pin2 come output
la seconda riga mi è servita per impostare il segnale high e per ultima dopo un delay il seglale low.
"Al fin della fiera" il led 13 si accendeva in sincronismo co il led rosso del pin 2 in sincronismo perfetto .
Quindi deduco che il problema si trovi sul modulo relè difettoso o mal funzionante.
Qualcuno ha una vaga idea di cosa abbia questo modulo relè?
Quando si saranno caricati i video su youTube mandero i link delle prove che ho fatto e poi se realmente
questo modulo ha problemi ne prendero un altro.
crestan2000:
"Al fin della fiera" il led 13 si accendeva in sincronismo co il led rosso del pin 2 in sincronismo perfetto .
Quindi deduco che il problema si trovi sul modulo relè difettoso o mal funzionante.
Ti è già stato spiegato che i moduli relè possono essere sia con logica positiva che negativa, il tuo è con logica negativa, ovvero il relè scatta, e il relativo led si accende, quando gli arriva in ingresso lo ZERO logico, si spegne con l'UNO logico.
Non c'è nessun mistero e nessun malfunzionamento.
astrobeed:
Ti è già stato spiegato che i moduli relè possono essere sia con logica positiva che negativa, il tuo è con logica negativa, ovvero il relè scatta, e il relativo led si accende, quando gli arriva in ingresso lo ZERO logico, si spegne con l'UNO logico.
Non c'è nessun mistero e nessun malfunzionamento.
Ok grazie per ľaiuto ,proverò ad usare questo modulo relè nel modo in cui hai detto tu e vi farò sapere se ci sono altri problemi.