[OT] richiesta di aiuto per programmino x Accordatore

O si elimina il pulsante oppure devi rivedere lo schema ed usare magari una coppia di ULN2803 comandati da una coppia di 74HC595.

Direi di eliminare il pulsante, comunque i 2803 li ho già usati anche in questo schema per i 74HC595 se servono posso studiare il loro funzionamento, sicuramente il loro utilizzo potrebbe pormettere futuri sviluppi "futuribili" di questo progetto, (vedi un cambio banda utomatico). Se rititeni che il loro utilizzo non complichi troppo la parte SW, per me andrebbe bene.

La cosa potrebbe funzionare così: 1) partenza all'accensione o al reset, senza nessun pulsante di start 2) calcolo della "L" 3) calcolo su dove inserire "C" 4) calcolo della "C" 5) temporizzazione se in un numero definito di secondi non accorda si ferma, Led lampeggia veloce, lascia inserite tutte le uscite comunque per il miglior ROS, in questa condizione non è arrivato all'accordo ma la situazione per il TX è sicuramente meglio di prima! 6) se il ROS varia, possono essere vari i motivi, compreso un cambio banda, si riparte dall'inizio. Questo lo deve fare sempre!

Campa1957

Spiega il punto 3... ;)

Ho aggiornato il mio post precedente mentre tu mi chiedevi lumi per il punto 3

Spiega il punto 3... smiley-wink

Finito il giro "L", si deve inserire il primo scalino "C", una volta inserito bisogna verificare se inserirlo all'inizio o alla fine della catena delle "L" ovvero, leggere il ROS nel primo punto di inserimento, attivare l'uscita in più per vedere se collegando lo stesso condensatore sul capo opposto della catena "L" il valore migliora, se migliora si lascia l'uscita alta se invece peggiore si riporta bassa l'uscita. Al termine di questa verifica si fà il giro dei "C" come per le "L" sempre con l'intento di raggiungre il miglior valore di ROS possibile.

Come detto nel mio precedente post se si rispsrmiano un po di uscite potrebbe essere utile per un "futuribile" ampliamento del progetto.

grazie

Campa1957

Dimmi come va.
Ripeto, sempre programma NON testato (sono a lavoro per cui non ho Arduini sottomano neanche per una simulazione sulla seriale). Però se hai da fare delle modifiche, puoi farle anche tu, ora. Il codice è abbastanza commentato. Ho messo tutti i pin in 2 array. Ah, ho rivisto anche la piedinatura del circuito, che è all’inizio dello sketch. Se vuoi cambiare qualcosa, basta farlo nelle dichiarazioni dei pin.

accordatore_antenna_2.ino (4.17 KB)

Non mi è chiaro se durante il test degli induttori e poi dei condensatori tutti i relé debbano essere disattivati. Io così ho fatto, se non ti sta bene, c'è una semplice modifica da fare, che consiste nel togliere la parte che azzera le variabili induttori e condensatori nella funzione checkAntenna.

1) all'avvio tutti i relè devono essere disattivati. 2) fatto il primo giro dei relè "L" tutti i relè il cui inserimento ha prodotto un abbassamento del valore del ROS devono rimanere attivati 3) dopo aver attivato il primo condensatore fa la verivica su dove inserire i condensatori e se necessario lascia inserito il relè di scelta 4) riparte da capo con il giro dei relè "C" e alla fine lascia inseriti i relè del giro "C" che hanno contribuito ad abbassare ulteriormente il valore di ROS 5) il Led in queste fasi potrebbe lampeggiare 'piano' in fase di accordatura, 'veloce' se il valore finale è superiore al valore stabilito inizialmente, 'fisso' se accordo è OK 6) sia il giro "L" che il giro "C" dovrebbero fermarsi indipendentemente dal valore raggiunto, ma comunque al miglior valore di ROS possibile. 7) la verifica del valore del ROS deve sempre essere eseguita anche quando la procedura di accordo, buono o meno che sia, è terminata. Ad un repentino cambio di valore del ROS si deve ripartire dal punto 1), dal TX si potrebbe aver fatto un cambio banda che deve portare alla ricerca di un nuovo punto di accordo.

Adesso provo il tuo sketch e ti faccio sapere.

Campa1957

Campa1957: Adesso provo il tuo sketch e ti faccio sapere.

Le piccole modifiche le puoi implementare tu ;) Almeno ti serve come apprendimento :P

Io ci provo mooooooolto volentieri maaaaaa ................. :blush: :blush: :blush:

Da una prima verifica mi sembra che funzioni, ma appena avviato il tutto si è definitiamente scaricata la batteria che uso come alimetatore, fra un'oretta riprovo.

Campa1957

X mike: non mi risulta la possibilità di escludersi dalla funzione Replies. È vero che pian piano i topic muoiono e quindi il fastidio si autorisolve, ma effettivamente non si può escludere la notifica nella zona Replies, mentre invece questo è previsto per le notifiche via mail.

Sul progetto due cose: Dagli ultimi messaggi di campa sembrerebbe che lui preferisca puntare alla migliore accordatura possibile, non fermarsi a 1.45 Questo sia in prima battuta, all accensione, che su controlli successivi, credo corretta la cosa, perché accontentarsi di 1.45 quando si può fare di più ?

Per la quantità di pin può anche pensare alla Mega.

Dagli ultimi messaggi di campa sembrerebbe che lui preferisca puntare alla migliore accordatura possibile, non fermarsi a 1.45 Questo sia in prima battuta, all accensione, che su controlli successivi, credo corretta la cosa, perché accontentarsi di 1.45 quando si può fare di più ?

si in effetti se si riesce ad avere un risultato migliore di 1:1,45 come ROS non sarebbe male, per quello che il SW dovrebbe fermarsi al miglior risultato e non se il valore calcolato risulta inferiore a 1.45

Per la quantità di pin può anche pensare alla Mega.

Il passaggio da Arduino UNO ad Arduino MEGA cosa comporta a livello SW???

Campa1957

x Leo72

ho provato lo sketch.

A prima impressione fa quello che deve fare, l'unica cosa che non ho ancora potuto verificare se lavora l'uscita di selezione del punto di inserimento dei condensatori perchè non ci ho collegato ancora niente. Nel suo insieme mi viene il dubbio ci siano troppi ritardi inseriti all'interno del SW, ho fatto dei 'tentativi' per rendere più veloce l'esecuzione delle due serie di inserimenti ma senza risultati positivi. :blush: Ho fatto anche dei tentativi per capire come fare a non fargli resettare le uscite ma senza riuscire nell'intento. :blush: :blush: :blush: Ricordo benissimo che ti avevo detto che il funzionameto del SW era troppo veloce e non mi permetteva i gestire la simulazione, però adesso è realmente troppo lento. Bisogna tenere presente anche che quando arriverà nella fase definitiva il tutto dovrà essere fatto in una manciata di secondi al massimo, i ritardi saranno necessari per gestire, al massimo, i tempi di inserimento dei relè e niente altro. Altrimenti i finali vanno in fumo!!!

Campa1957

1) il valore minimo del ROS è selezionabile nello sketch. C'è una costante da impostare. Se si mette pari a 1.0 il programma lavorerà fino a trovare il minimo ROS possibile (che, come tutti sappiamo, NON potrà mai essere pari a 1.0 ma sarà sempre qualcosina sopra). 1.45 deriva da quanto letto nel thread. 2) il reset delle uscite si ha con il reset delle variabili condensatori e induttori nella funzione checkAntenna, lo avevo anche scritto 2 messaggi più sopra che se non si voleva il reset delle uscite bastava togliere la reinizializzazione di quelle 2 variabili. 3) troppo lento, troppo veloce, troppo lungo, troppo corto... :stuck_out_tongue_closed_eyes: è tutto relativo, ci sono dei delay e dei flash del led di stato fatti con una funzione che accetta il numero di flash ed il ritardo tra un flash e l'altro. Basta regolare questi 2 parametri e diminuire i delay che si trovano sparsi a giro per avere il programma che funziona secondo i propri tempi.

3) troppo personalizzabile :D

3) capita quando si fanno i programmi per gli altri, perché non sai le esigenze delle persone quali possono/potrebbero essere ;)

Campa un consiglio, qui sono tutti a disposizione, addirittura c'e' un tizio che ti sta scrivendo il codice da zero ed un altro che sta' disegnando la logica del progetto, e c'e' solo da ammirarli, pero' non puoi non trovare il tempo/voglia (perche' le capacita' le hai), di entrare nel vivo del sw, non per riscriverlo, ma almeno per giostrare da te piccole modifiche come quelle che sono la gestione di un delay, o la modifica di una soglia di ROS Cioe' qui parliamo di comprare almeno Arduino Partendo Da zero, il libro di Banzi che spiega le basi, niente di scientificamente inavvicinabile. Poi per carita', se non hai voglia-tempo di farlo, ti voglio bene lo stesso :)

x Leo72

1) il valore minimo del ROS è selezionabile nello sketch. C'è una costante da impostare. Se si mette pari a 1.0 il programma lavorerà fino a trovare il minimo ROS possibile (che, come tutti sappiamo, NON potrà mai essere pari a 1.0 ma sarà sempre qualcosina sopra). 1.45 deriva da quanto letto nel thread.

Che 1.45 è un valore impostato mi è chiaro, e mi hai chiarito anche che il SW lavora fino al miglior risultato possibile se non raggiunto il valore impostato. Magari avere un'antenna con ROS 1:1, nenche un carico fittizio da questo risultato.

2) il reset delle uscite si ha con il reset delle variabili condensatori e induttori nella funzione checkAntenna, lo avevo anche scritto 2 messaggi più sopra che se non si voleva il reset delle uscite bastava togliere la reinizializzazione di quelle 2 variabili.

Ci ho provato commentando le righe che mi avevi indicato, ma il risultato sono stati solo degli errori di compilazione

3) troppo lento, troppo veloce, troppo lungo, troppo corto... smiley-yell è tutto relativo, ci sono dei delay e dei flash del led di stato fatti con una funzione che accetta il numero di flash ed il ritardo tra un flash e l'altro. Basta regolare questi 2 parametri e diminuire i delay che si trovano sparsi a giro per avere il programma che funziona secondo i propri tempi.

Concordo con te che il trascorrere del tempo è una cosa soggettiva :) il tuo primo lavoro [u]NON era veloce[/u] era quello che mi permetterei definire una palla da schioppo :) questa versione è un po una lumachina :) Scherzi a parte ho provato a modificare le varie temporizzazioni però mi sono accorto che sono concatenate, se ho capito bene alcuni delay si sommano.

x Testato

Poi per carita', se non hai voglia-tempo di farlo, ti voglio bene lo stesso smiley

Anche io ti voglio bene :) però scusami ma non ritengo che tu possa dirmi che non ho tempo o voglia, sul tempo posso dirti che ne ho poco, anzi ancora meno, di fatti i miei interventi vanno a singhiozzo e basta guardare le date. Sulla voglia NoN ti rispondo.

Resta il fatto che io ho dichiarato fin da subito e ribadito altre volte la mia incapacità come programmatore, sicuramente studiando libri e manuali come mi suggerite, allora imparerei, forse, a fare il programmatore, ma quello non è il mio obiettivo. Il mio obiettivo e realizzare un accordatore automatico di antenna, invece che andare su Ebay e comprarlo fatto e funzionante, capendo si come funziona e magari sapendo variare qualche dettaglio della programmazione però sicuramente senza diventare un programmatore anche solo a livello hobbistico.

Chiarito quanto sopra spero che Leo e Michele che fino ad ora mi hanno, non posso dire dato una mano, perchè Leo ha fatto tutto il SW e con Michele abbiamo chiarito alcuni punti su cui basare il lavoro, vogliano continuare il questo sviluppo che a mio misero parere è già molto avanti e con pochi dettagli potrebbe essere sistemato.

Campa1957

Mettiamola così: Campa ha sempre detto che di programmazione non ne capisce nulla ed ha sempre lasciato intendere che non ha alcuna intenzione di capirci qualcosa, quindi le prove che fa le fa senza nemmeno prendersi la briga di rileggersi il suo stesso thread e riorganizzare le informazioni. Lui aveva tentato un'altra volta e siccome nessuno l'ha aiutato ha aperto questo thread, se ben ricordo, (basta rileggere il post di apertura) per chiedere di essere contattato da qualcuno della sua zona per affidargli il lavoro a pagamento. Chiaro che probabilmente, risolto questo problema, il nostro caro Campa non lo vedremo più qui sul Forum, a meno che nel frattempo non si metta a studiare per il prossimo progetto.... La "colpa" è stata mia che ho insistito che almeno spiegasse come si deve (cosa che non aveva mai fatto, il vero motivo del primo insuccesso) che voleva realizzare, e mi sono offerto per tradurlo in uno schema logico (progetto) utile per un esperto sw che avesse voluto dare una mano. Inoltre lui ha i suoi tempi, arriva scrive, poi sparisce per 7-10 o più giorni e si riprende a discutere, è una cosa che gli ho dovuto sottolineare tempo fa per toglierli l'abitudine di sollecitare risposte quando era libero lui :grin: Leo ha scritto il firmware basandosi sulla mia descrizione e su richieste successive di Campa, il quale prima si lamentava che, essendo troppo veloce, non succedeva nulla, quando in realtà succedeva tutto ma non veniva lascito al circuito il tempo di "rispondere"; allora sono stati aggiunti dei parametri e dei ritardi per creare una sorta di debug, ben sapendo che non fanno alcun danno visto che lui NON sta sperimentando con un circuito vero ma con un simulatore. Ovvio che quando si arriverà a regime e problema risolto la procedura sarà snellita e velocizzata in quanto non ci sarà alcun bisogno di vedere i vari passaggi ma solo di seguirla (magari tramite il famoso led). Quindi lui non deve fare altro che continuare la sperimentazione badando a chiedere cosa è utile per far funzionare il progetto e non iniziando contestualmente a chiederne le migliorie delle versioni definitive. San Leo è uno armato di santa pazienza ma nel punto 3 del suo ultimo intervento io, che lo conosco benino, ho iniziato a vedere segni di cedimento, quindi il mio consiglio appassionato (pure io voglio ormai vedere tale progetto funzionante appena possibile) è: bada al funzionamento sostanziale del circuito, e cioè verifica con le tue simulazioni se la Procedura riesce SEMPRE ad abbattere il ROS INIZIALE, quando sarai arrivato ad un risultato soddisfacente inizierai ad agire sui parametri che Leo ti ha indicato, e magari ti indicherà nuovamente :sweat_smile:, fino ad arrivare al miglior tempo, se non sarà soddisfacente si potranno sempre provare i correttivi logici che all'epoca ci aveva fornito il buon Mauro, che a me sembravano molto "potenti" ed efficaci, oltre che statisticamente più rapidi.

Ciao Michele,

mi permetto di dire ancora una cosa, sarei molto contento di imparare a programmare anche a livello Hobbistico. Ci ho anche provato due o tre volte, vedi prove con i PIC e similari, ne ho ancora una decina in qualche cassetto, senza alcun risultato e magari anche inc....ndomi un pò. Ultimante ho provato a mettere insieme, scopiazzando dalla rete, qualche riga di SW che ho anche inserito tempo addietro, ma giustamente perchè penso fosse una boiata, è stata cassata senza possibilità di replica.

Per tutto il resto condivido quello che dice Michele nel post precedente ribadendo comunque che il lavoro che stiamo facendo, come già più volte affermato, avrei piacere fosse reso disponibile a chiunque abbia la voglia / interesse a realizzare una cosa che sono alcuni anni che provo a mettere insieme.

Campa1957

E così sarà, non ti preoccupare, con Leo alle spalle (a debita distanza, ovvio :stuck_out_tongue_closed_eyes:) una soluzione si trova sempre a tutto. Se davvero lo vorrai rendere disponibile e replicabile, quando tutto sarà finito lo schema elettrico te lo disegno io, e magari tiriamo fuori anche un PCB :)

Musica per le mie orecchie :)