[OT] richiesta di aiuto per programmino x Accordatore

se vengono inseriti tutti e sei significa che i valori usati sono insufficienti , prova a raddoppiarli o anche a triplicarli

Il problema è che sia con i due segnali uguali, riflessa = diretta che con la riflessa =0, all'avvio inserisce di botto le 6 uscite.
Non è che il modulino lavora al contrario? il relè collegato sul pin13 è eccitato anche se il leddino sulla schedina dopo i lampeggi iniziali è spento.
Se non ricordo male ci dovrebbe essere un ritardo dopo l'inserimento di ogni scalino?!?
Allego foto del montaggio finale.
Tutti gli altri relè rimangono diseccitati.

Andrea

Il codice ci va giù pesante, in fatto di velocità. Prova mettendeo dei delay e facendo debug sulla seriale per vedere se p buggato lui :wink:
Come scrissi quando lo pubblicai, quel codice non l'ho potuto provare perché buttato giù senza avere un Arduino per cui potrebbe anche essere lui il problema :sweat_smile:

Aiutino...... :blush: :blush: :blush:

Basta mettere un delay fra un cambio di uscita ed il successivo.

? :blush: :blush: :blush:

Però non t'imbranare, altrimenti non finiremo mai! :sweat_smile: Un delay è un delay, non puoi dire di non conoscere il comando delay() e ciò che fa e qual è la sua sintassi, altrimenti vai sul reference e leggitelo almeno. Poi localizza nel firmware il punto in cui, fatta la lettura/calcolo del ROS, e visto che non è congruo, il programma fa scattare il relé successivo, subito dopo lo scatto aggiungi un delay, anche di 1000 (1 secondo, tanto siamo a livello di prove), e vedi se la situazione migliora....

Il comando delay () penso di aver capito come funziona ????, la sintassi è molto chiara e Leo lo usa anche nelle prime righe de SW.
Ho provato ad inserirlo in vari punti del SW ma senza alcun risutato, e lo avevo usato nel mio paciugo iniziale.

Dopo aver caricato il SW, con i due segnali (diretta e inversa) collegati ai Pin A0 e A1 la situazione è la seguente:

  1. i relè collegati ai pin PD0....PD7 sono spenti i led sulle schede relè spenti
  2. i relè collegati ai pin PB0....PB5 sono eccitati i led sulle schede relè accesi

Le schedine relè che ho utilizzato eccitano il relè quando l'ingresso relativo è basso.

non succede nulla al variare delle tensioni sui due ingressi PC0 e PC1, mi viene il dubbio che proprio non li legga??? :blush:

Andrea

Beh, a questo punto l'unica è che Leo possa ricontrollare il firmware, con un po' di calma ed attenzione, per vedere se ci sono bug, lui non lo escludeva affatto. Però oggi è al raduno a Bassano. Pazientiamo fino al suo ritorno e vediamo cosa succede; il tuo progetto è molto complesso e senza disporre dell'hardware è difficile riuscire a scrivere un firmware perfetto :cold_sweat:

Resto in attesa di vostri consigli............. magari anche su dove infilare delay () :blush:

ho fatto una verifica, per prova ho caricato il programmio del lampeggiatore per verificare quando il relè si attrae (pin13), quando il led sulla scheda di Arduino è acceso il led sulla basetta è spento e di conseguenza il relè non è attratto!
Sperando possa essere informazione utile.

Andrea

Scusate ma oggi sono stato fuori casa quasi tutto il giorno.
Prova ad inserire alla riga 59, prima del while (!exit) un delay(1000):

         delay(1000);
    } while (!exit);

GRANDE Leo72!!!

Mi spiego,

dopo aver inserito il delay dove indicato, non mi sembrava che fosse cambiato nulla ............

Ho provato a dare lo stesso segnale sui due ingressi A0 e A1, come per magia, il tutto si è messo a lampeggiare scandendo tutte le combinazioni delle 6 uscite! :slight_smile: :slight_smile: :slight_smile:
Non ho ancora collegato nulla, aspettavo di vedere qualcosa muoversi, sui contatti dei relè ma al più presto ci collegherò le resistenze per la simulazione della variazione del segnale delle rifessa.

Al più presto aggiornamenti!!!

Ho inserito un post su Arifidenza con il link a questa discussione http://www.arifidenza.it/forum/topic.asp?TOPIC_ID=220457 speriamo arrivino nuove idee!

Andrea

leo72:
Scusate ma oggi sono stato fuori casa quasi tutto il giorno.
Prova ad inserire alla riga 59, prima del while (!exit) un delay(1000):

         delay(1000);

} while (!exit);

Occhio che "exit" è una funzione void in stdlib.h, per evitare ambiguità sarebbe meglio non usarla proprio. Se proprio la si vuole usare si scrive l_exit da local_exit, o dummy_exit, o altro. A me è capitato di incartarmi di brutto, il codice non compilava e non capivo il perché, scoperto il motivo ho ritenuto utile considerare "exit" una parola chiave del C, anche se non lo è.

Sicuramente il codice commutava troppo velocemente i relè che neanche si mettevano in movimento.
Ciao.

MauroTec:
Occhio che "exit" è una funzione void in stdlib.h, per evitare ambiguità sarebbe meglio non usarla proprio. Se proprio la si vuole usare si scrive l_exit da local_exit, o dummy_exit, o altro. A me è capitato di incartarmi di brutto, il codice non compilava e non capivo il perché, scoperto il motivo ho ritenuto utile considerare "exit" una parola chiave del C, anche se non lo è.

Concordo con te. Non mi ricordavo di questa cosa.

Sicuramente il codice commutava troppo velocemente i relè che neanche si mettevano in movimento.

Probabilissimo. Come detto, il codice è scritto ma non è stato proprio testato con nulla.

Sicuramente il codice commutava troppo velocemente i relè che neanche si mettevano in movimento.

Probabilissimo. Come detto, il codice è scritto ma non è stato proprio testato con nulla.

Confermo quanto detto da voi, i relè non si accorgevano nemmeno dei comandi del SW.
Adesso inserisco le resistenze di prova e vi aggiorno.

Andrea

ma non dovevano essere induttanze? le resistenze si comportano in modo molto diverso!

La prova la faccio con delle resistenze in corrente continua, come da schemino che ho allegato giorni fa, quando poi arriviamo ad un punto di bilanciamento, vuole dire che tutto funziona, passerò alle induttanze in HF.

Andrea

Ho letto il post su ARI Fidenza e devo dire che mi è dispiaciuto la chiusura di quel sito, qui chiunque può iscriversi e scaricare qualunque cosa gli utenti alleghino al post.

Comunque alla fine, hai preso e non hai ancora dato. ]:slight_smile:

Che fine hai fatto?

Ciao.

tira a Campare :stuck_out_tongue_closed_eyes:

Ciao Mauro e Michele,

forse mi sono perso dei pezzi, ma il link postato su Arifidenza di questa ns. chiaccherata è solo per cercare di unire le forze e le idee di più persone e non capisco cosa ci sia di chiuso su Arifidenza.

Da parte mia il progetto non è assolutamente accantonato anzi è sempre qui vicino al mio PC, purtroppo però il tempo a disposizione è quello che è, e se faccio qualche prova in modo superficiale rischio di ottenere dei risultati completamente fuorvianti.

Sottolineo che non ritengo assolutamente di aver preso senza dare niente, il solo pensiero che tu lo scriva, non mi è gradito!
Comunque non voglio entrare in nessuna polemica.

Se poi i miei tempi di lavoro su questo progetto sono troppo lunghi, visto che come tanti altri sono costretto a lavorare, ne sono dispiaciuto, ma che i miei tempi a volte sono biblici lo ho già scritto in altri post.

ciao

Andrea