[OT] richiesta di aiuto per programmino x Accordatore

Non ho esperienza di accordatori automatici, ho usato in passato quelli manuali (anche autocostruiti) quindi i miei riferimenti sono relativi alle operazioni che si eseguono quando si accorda manualmente.
In caso di ROS elevato non si tiene in TX più di alcuni secondi alla volta, a meno di avere dei finali valvolari che sono molto più resistenti.
Per questo proponevo quelle pause, anche per evitare che il trasmettitore fosse in TX durante le commutazioni. Ma si può benissimo mettere dopo, come rifinitura, con un altro PIN che pilota un circuitino che manda a GND il contatto del connettore microfono relativo alla commutazione TX/RX inserendo delle pause in caso di ROS elevato in modo da non sollecitare troppo i finali e mettendo invece pause brevi (solo durante le commutazioni) in caso di ROS più basso di una certa soglia - diciamo 2.2.

In ogni caso... sta venendo fuori veramente un bel progetto.

Ciao a tutti

Il tempo di ritardo mi serve anche in fase di prove con il prototipo per simulare la variazione dei due segnali di ingresso, uno generato da un potenziometro multigiri e l'altro dai vari scalini dei relè che inseriranno, sempre in fase di prototipo, delle resistenze.
Appena funzionerà il primo blocco di programma realizzerò un doppio accoppiatore RF per leggere segnali RF reali.

Per quanto riguarda i segnali in ingresso, bisogna lavorare per l'accordo solo in loro presenza, se mancano bisogna bloccare tutte le elaborazioni e non muovere nulla di quello già inserito e/o disinserito.

X Michele
A proposito del frequenzimetro di cui parlavi in post precedente, alla fine del progetto potrebbe essere utile integrarne una porzione..............
Ma per ora non mettiamo troppa carne sul fuoco!

Andrea

leo72:
Oggi vedo se butto giù 2 righe di sketch (lavoro permettendo.. :cold_sweat:)

Tranquillo Leo, fai ciò che puoi, ma attieniti a quanto ho stabilito io per ora... ANdrea sta iniziando ad "allargarsi" e questo è un grosso errore in questa fase.

Andrea: leggi sopra... tutto ciò che affermi è probabilmente vero e realistico, ma qui stiamo partendo da 0 con un software che dovrà pilotare un apparecchio che non c'è (lo capisco ora, visto che parli di potenziometri e resistenze); spero che tu sappia cosa stai facendo con questa simulazione hardware, altrimenti quando passerai alla fase reale toccherà rifare tutto e lì io e Leo ti diamo giù un fracco di legnate, quindi regolati ]:smiley: Il metodo di inserimento binario è quello migliore, l'altra possibilità costringe a tornare indietro un sacco di volte, quindi alla fine non cambia nulla; sta a te poi trovare la giusta combinazione delle 6 induttanze (il mio range 1 ÷ 63µH era un banale esempio). Anche la questione degli 8-10 gradini, con la MEGA potremo disporre di PORT interi ma sempre a 8 bit, con Arduino UNO siamo già al limite con la struttura che ho indicato. Anche qui partiamo da un minimo di funzionante e poi si vede.

Paulus: concrordo sulla pericolosità di un ROS elevato, questa è una cosa da tener conto in fase definitiva, prima di fare le prove con apparecchiature reali, e per quanto riguarda la pausa, come vedi, l'avevo già "acquisito" il tuo suggerimento.

Purtroppo il rischio che l'intervallo tra una commutazione è l'altra sia dell'ordine dei secondi c'è, io penso che sotto il secondo non si può scendere. Per ridurre ancora almeno in teoria il tempo totale richiesto per trovare la migliore configurazione ci sono le solite strade da seguire. Per come si è partizionato il range da 0 63 in 2 partizioni lo si può partizionare in 4, ma per scegliere la giustra strategia occorrono i dati reali di ROS, cioè occorre un database di ROS da studiare al fine di verificare come cambia nel tempo il ROS durante la ricerca in modalità sequenziale, cioè a step di 1uH o quello che sarà il minimo step scelto.

Ciò che occorre è un algoritmo di predizione ROS, e come tutte le predizioni può fallire, ma del fallimento l'algoritmo si può accorgere e provedere a fare una nuova predizioni basata sui stessi dati rilevati oppure con una correzione.

Ci possono essere alcuni dati costanti e alcuni dinamici che contribuiscono a calcolare la predizione. I dati statici vengono dedotti analizzando i dati reali di ROS e se possibile si ricavano queste costanti. Quelli dinamici vengono ricavati dal funzionamento dell'algoritmo. Insieme dati costanti e dinamici vengono usati da un algoritmo al fine di attuare una appropriata strategia.

64 / 4 = 16

range
0-15
15-31
31-47
47-63

commutazione a 15
misuraROS
commutazione a 31
misuraROS
continua fino a 4 misurazioni

Es valori campionati nelle quattro lettura di sopra 3.0 2.9 2.0 2.2
E chiaro che il miglior valore di ROS dovrebbe trovarsi nei dintorni della 32 configurazione, cioè si parte da 31 si incrementa o si decrementa fino a trovare il miglior ROS.

Bene o male che vada ci sono 4 + 16 commutazioni, ma è possibile fare un calcolo (2.9 - 2.0) e (2.0 - 2.2) per capire che prima devo decidere di commutare a salire da 2.0 verso 2.2, perche 0.9 > 0.2.

Tutta teoria di supposizioni senza studiare i dati reali tipici, qui @campa dovrebbe poter fare qualcosa no o chi per lui deve fornire un'insieme di dati su cui fare elucubrazioni mentali.

Andrea: leggi sopra... tutto ciò che affermi è probabilmente vero e realistico, ma qui stiamo partendo da 0 con un software che dovrà pilotare un apparecchio che non c'è (lo capisco ora, visto che parli di potenziometri e resistenze);

Rimane sempre il punto fermo fissato prima da Michele, cioè il codice al momento deve fare la commutazione sequenziale il logica binaria partendo da 0 o da 64/2, e non occore sia scritto alla perfezione permettendo ad esempio la modifica del solo algoritmo decisionale, va bene una accrocco limitato a fare da muletto, sarebbe però opporturno pensare di creare una collezioni di dati durante il funzionamento, o interna al micro oppure spedita via seriale senza prima collezionarla nel micro.

Soluzione che uso spesso:
myFunc(int8_t direction)
{
static uint8_t counter = 0; // mantiene il valore dell'indice o della configurazione
if (direction)
++counter;
else
--counter;
// meglio direction ? ++counter : -- counter;
// meglio ancora se messo in una define
// nota che posso modificare direction in corsa, se devo condividere la direction con il chiamante direction deve essere
// globale o un puntatore.

}

Ciao.

Lontano da me l'idea di incasinare le cose.......... :slight_smile: :slight_smile: :slight_smile:

Tranquillo Leo, fai ciò che puoi, ma attieniti a quanto ho stabilito io per ora... ANdrea sta iniziando ad "allargarsi" e questo è un grosso errore in questa fase.

Andrea: leggi sopra... tutto ciò che affermi è probabilmente vero e realistico, ma qui stiamo partendo da 0 con un software che dovrà pilotare un apparecchio che non c'è (lo capisco ora, visto che parli di potenziometri e resistenze);

Il mio progetto è ancora in fase di prototipo e il gioco con i potenziometri è solo per evitare al mio povero IC-706 troppe bastonate da parte dell'ormai famigerato ROS.

spero che tu sappia cosa stai facendo con questa simulazione hardware, altrimenti quando passerai alla fase reale toccherà rifare tutto e lì io e Leo ti diamo giù un fracco di legnate, quindi regolati smiley-twist Il metodo di inserimento binario è quello migliore, l'altra possibilità costringe a tornare indietro un sacco di volte, quindi alla fine non cambia nulla; sta a te poi trovare la giusta combinazione delle 6 induttanze (il mio range 1 ÷ 63µH era un banale esempio). Anche la questione degli 8-10 gradini, con la MEGA potremo disporre di PORT interi ma sempre a 8 bit, con Arduino UNO siamo già al limite con la struttura che ho indicato. Anche qui partiamo da un minimo di funzionante e poi si vede.

va benissimo ragionare sui 6 scalini!!!

Paulus: concordo sulla pericolosità di un ROS elevato, questa è una cosa da tener conto in fase definitiva, prima di fare le prove con apparecchiature reali, e per quanto riguarda la pausa, come vedi, l'avevo già "acquisito" il tuo suggerimento.

Il problema che sottopone Paulus è molto serio, però non si può pensare di mandare in trasmissione il TX a scatti, al massimo se le potenze in gioco sono elevate si potrà pensare di mandare all'accordatore solo una porzione di RF ma per ora pensiamo ad imbastire bene il nucleo principale del PRG poi ci ragioniamo.

Per gli esperimenti che ho fatto con il mio SW e da una mia sensazione alla fine il ritardo da inserire dopo l'inserimento di uno scalino sarà di alcuni millisecondi giusto il tempo di dare ad Arduino la possibilità di leggere e calcolare i nuovi valori.

Per quanto riguarda la realizzazione di un prototipo reale, voglio evitare, almeno per ora, la vicinanza fra radiofrequenza ed Arduino, prima lui deve funzionare bene, poi accoppiatore a toroidi e tante schemature per tenere ben lontana la RF dalla scheda e dai suoi accessori.

Andrea

Attenzione! ricordiamoci che l'accordo và comunque fatto "velocemente", un accordatore commerciale accorda al massimo in una manciata di secondi. Altimenti ti fumi i finali del Trasmettitore.

Andrea

Per gli esperimenti che ho fatto con il mio SW e da una mia sensazione alla fine il ritardo da inserire dopo l'inserimento di uno scalino sarà di alcuni millisecondi giusto il tempo di dare ad Arduino la possibilità di leggere e calcolare i nuovi valori.

Quindi se mi tengo largo è dico che ogni commutazione avviene ogni 100ms, 64 commutazioni richiedono (10064)/1000= 6.4 secondi.
Allora se questi sono i tempi probabilmente la commutazione che parte da centro trova la configurazione migliore nel peggiore tempo di (100ms
32)/1000 cioè poco più 3.2 secondi.

Il problema che sottopone Paulus è molto serio, però non si può pensare di mandare in trasmissione il TX a scatti, al massimo se le potenze in gioco sono elevate si potrà pensare di mandare all'accordatore solo una porzione di RF ma per ora pensiamo ad imbastire bene il nucleo principale del PRG poi ci ragioniamo.

No no, parliamone adesso, perchè non so come questo sia possibile, spiega please.

Ciao.

Quindi se mi tengo largo è dico che ogni commutazione avviene ogni 100ms, 64 commutazioni richiedono (10064)/1000= 6.4 secondi.
Allora se questi sono i tempi probabilmente la commutazione che parte da centro trova la configurazione migliore nel peggiore tempo di (100ms
32)/1000 cioè poco più 3.2 secondi.

Dalle prove che ho fatto con il mio 'paciugo' penso che il tempo potrà essere ridotto ulteriormente, tieni anche conto che dopo le induttanza bisogna anche inserire i condensatori ed il tempo che hai suggerito si duplica.
Un accordatore commerciale nelle condizioni ottimali arriva all'accordo in un tempo max di 5-6 secondi senza usare artifici come meorie ed altre cosette che non ho ben capito.

Per quanto riguarda il trasmttitore dobbiamo ragionare che la radiofrequenza continui a rimanere presente e quando mancherà tutto si deve congelare nel punto in cui è arrivato. Al ritorno della RF se l'accordo è buono bene altrimenti resetta tutto e riparte tutto il calcolo.

I valori del ROS possono variare per mille motivi non prevedibili,e a parità di valore iniziale l'accordo potrà essere ottenuto con l'inserimento di combinazioni L C diverse, per cui va sempre ricalcolato.

Andrea

Ho buttato giù uno sketch grezzo.
Fa una prima taratura con gli induttori e poi con i condensatori.
Il ciclo è quello teorizzato da Michele e semplificato da Mauro: parte da 0 e poi accende binariamente i relé
00001
00010
00011
00100
00101
00110
ecc...

Provatelo perché:

  1. non ho capito se ho... capito bene la logica di funzionamento
  2. l'ho scritto senza provarlo in alcuna maniera per cui potrebbe anche impazzire
  3. se funziona, adattatelo al vostro uso come megli credete
  4. se non funziona, ditemi cosa devo correggere
    :smiley:

accordatore_antenna.ino (2.32 KB)

OK, scusate l'assenza forzata, ma nell'unico momento libero il Forum non funzinabava, ieri pomeriggio ]:smiley:
Andrea e Mauro: avete ragione entrambi, ma visto che siamo in fase di test inutile massacrarci alla ricerca di tempi supersonici, soprattutto perché il test viene fatto manualmente e non ci sono potenze e rischi di sorta.
Leo: grazie, sono certo che tutto andrà bene al primo colpo, ma Andrea deve iniziare a fare qualche test, allo stato vogliamo sapere solo se la procedura si comporta in maniera corretta, anche se io non ho capito niente di come il suo circuito reagirà in modo automatico alle variazioni delle induttanze, visto che lavora con partitori e potenziometri, ma certamente lui sa quello che fa. Hai detto di aver previsto i condensatori, ma è una situazione ancora da definire: alla prova del primo condensatore bisogna gestire anche il relé di commutazione, per vedere se il risultato migliore si ottiene collegando il C (ed i successivi) lato TX o lato ANTENNA, ossia PRIMA o DOPO le induttanze, non so se ciò ti fosse chiaro al momento.
Andrea: ora serve il tuo test, il ragionamento di Mauro, anche se ti sfugge il suo modo "C"iistico di comunicare, non fa una grinza, ed il suo sistema di indice ad albero (peraltro usato fino a non molto tempo fa per la gestione dei contenuti degli HD) è il più veloce possibile ed a prova di errore; a mio parere il modo di velocizzare seriamente la procedura, applicando il principio di Mauro, è quello di usare valori di induttanza più distaccati tra loro, e non differenziati di un solo µH ad ogni passaggio. Quindi gentilmente fai i test come si deve e poi riporta una relazione dettagliata, con una bella tabella di foglio elettronico nella quale riporti combinazioni, valori, tempi, risultati. Ciò che vuoi fare non è uno scherzo da ragazzini, richiederà parecchio tempo, e non è detto che si riesca alla fine; io sono ottimista, ma non dobbiamo perdere tempo in obiezioni e valutazioni inutili perché, ripeto, stiamo discutendo sulla base di un software appena nato e di un hardware che non esiste. A mio parere dovresti procurare un apparecchietto "muletto", mettere antenna ed accordatore(quello vero e funzionante), in modo da limitare all'origine il ROS ad un valore 2, che non romperà mai i finali, e collegarci in mezzo il circuito, facendo prove VERE, diversamente temo davvero l'insuccesso.

Andre, sei rimasto fulminato al primo tentativo? :smiley: Dai tira fuori i problemi che stai incontrando oppure dacci i primi risultati, siamo curiosi :slight_smile:

Ciao a tutti,
come ha detto Michele sono stato letteralmente fulminato dal lavoro di Leo72 :astonished:

Vista la mia assoluta mancanza di esperienza di programmazione purtroppo non sono in grado di capire come inserire la lettura degli ingressi + calcolo della media (se necessario) + calcolo del ROS all'interno del lavoro di Leo.
Questo 'problema' logicamente mi impedisce di poter fare qualunque prova sul SW.
Per la parte HD ieri pomeriggio mi hanno consegnato gli ultimi due blocchi da 4 relè ed i relativi cavetti.
Spero di ricevere ancora un po di aiuto per poter iniziare a fare le prove, da parte mia garantisco che il progetto mi interessa molto.

Andrea

da una rapida lettura dello sketch posso dirti che il software fa già tutto ciò che deve fare; i due ingressi usati sono A0 (per la potenza riflessa) e A1 (per la potenza diretta), ovviamente riferiti a GND; il vero problema è che non avendo tu previsto alcuna forma di indicazione visiva non capisco come tu possa pensare di "vedere" i valori letti. Per fortuna c'avevo pensato io nel senso che ho lasciato liberi i pin della seriale, così possiamo inserire due comandi di visualizzazione sul serial monitor. Però qui dobbiamo capire prima (e bene) che tipo di prova intendi fare con l'accrocchio manuale, altrimenti qui ci perdiamo di vista. Per cui, gentilmente, considerando che il software attualmente fa tutto ciò che deve fare, come pensi di usarlo allo stato attuale? Puoi cioè descrivere ogni singolo passaggio che intendi fare per verificare se sta funzionando?

Ieri non mi sono sentito bene, e non ho seguito questa discussione.
Non ho però capito se campa ha provato oppure no il software. Ovviamente è una bozza grezza, dovrebbe fare solo l'accordatura secondo lo schema proposto, nessuna info passata all'utente di ciò che sta facendo... Ma questo è facilmente risolvibile con un pò di messaggi sulla seriale o con qualche led lampeggiante XD

Ad ogni modo io sono un pò incasinato in questi giorni per cui non posso metterci le mani nel caso qualcosa non funzioni. O fate voi gli interventi oppure aspettate che mi liberi :wink:

Non ha capito che avevi già pensato a tutto tu e credeva di dover metterci mano... e poi non gli era chiaro dove andavano collegate le due sorgenti di simulazione delle potenze. Tu prenditi il tuo tempo senza problemi, ovvio che ognuno di noi, anche Andrea (Campa1957), ha il proprio lavoro e le proprie cose da fare, qui si dedica un parte del (poco) tempo libero che abbiamo, quindi tutti devono avere la giusta pazienza.
Il problema, dal mio punto di vista è diventato un altro: comprendere dal punto di vista hardware cosa Andrea ha messo in piedi per testare lo sketch. Se pensiamo che normalmente tutto debba avvenire in automatico, io non capisco dovendo lui gestire le potenze in modo "simulato" e manuale, coma faccia a vedere gli effetti dell'inserimento delle impedenze e come faccia in tempo reale a fornire le nuove info al software. Allora prima di andare avanti gli ho chiesto che ci spieghi in modo chiaro, dettagliato e comprensibile come funziona la sua simulazione rispetto al funzionamento prestabilito del software, altrimenti qui corriamo il rischio di procedere su strade diverse e divergenti.
Una volta che lui ci spiega tutto tu potrai valutare se la cosa è "compatibile" col tuo attuale firmware, poi se c'è da mettere mano si aspetta quando sarai libero.
Io resto assolutamente dell'avviso che lui dovrebbe fare i test con un apparecchio muletto collegato ad un accordatore manuale in modo che si possa valutare tutto in tempo reale, almeno io farei così....

Io sono partito dal presupposto che il suo accordatore fosse composto da 16 relé 8 per pilotare le impedenze ed 8 per i condensatori.
Se usa quei relé dotati di led di segnalazione, alla fine del processo di accordatura avrà alcuni relé attivi, e di conseguenza gli basterà verificare quali sono per capire l'impedenza e la capacità che gli servono per accordare l'antenna.

leo72:
Io sono partito dal presupposto che il suo accordatore fosse composto da 16 relé 8 per pilotare le impedenze ed 8 per i condensatori.
Se usa quei relé dotati di led di segnalazione, alla fine del processo di accordatura avrà alcuni relé attivi, e di conseguenza gli basterà verificare quali sono per capire l'impedenza e la capacità che gli servono per accordare l'antenna.

ah :grin: allora non hai letto il mio schema :sweat_smile: i relé sono 6+6 e ti ho indicato anche le relative uscite, che spero tu abbia rispettato, altrimenti davvero qui facciamo Babilonia :stuck_out_tongue_closed_eyes: Inoltre c'è un settimo relé che quando inizia la fase dei condensatori fa due test immediati: OFF mette il C PRIMA delle induttanze rimaste collegate, e legge il ROS, ON lo sposta DOPO le induttanze rimaste collegate, e rilegge il ROS, li compara e poi si "piazza" definitivamente nella posizione migliore tra le due, per poi proseguire con gli altri C. Proprio perché questa cosa era un tantino più complessa ti avevo chiesto di non realizzarla e di fermarti alle sole induttanze.
Comunque Leo, resta quanto ho scritto nel precedente post, quindi aspettiamo il fondamentale intervento di risposta di Andrea.

Scusa, i relé sono 6+6.
Sul fatto dei condensatori mi sa che ho saltato quella parte, ma Andrea fa presto ad eliminarla perché deve giusto commentare il secondo richiamo della funzione di setup.

Ciao a tutti,

grazie per il grosso lavoro fatto!

spero dopocena di riuscire a studire quello che avete postato :slight_smile: :slight_smile: :slight_smile:

Scusate la lentezza con cui lavoro al progetto in questi giorni ma il lavoro mi rompe precchio le p...e!!!

Andrea

Ciao a tutti.

cerco di inserire un breve riepilogo e di rispondere a qualche domanda che mi è stata fatta, spero poi tra oggi e domani di riuscire a provare il SW.

  1. il numero dei relè non è particolarmente importante, soprattutto in questo fase del lavoro, 6 va benissimo. Nella migliore delle ipotesi si potrebbe pensare di fare un qualcosa che in un secondo tempo si possa espandere, ma in questa fase è comunue superfluo.
  2. allego più sotto la scansione dello schema del circuito di prova, semplicissimo. Con Pot1 vario la tensione del segnale 'Riflessa" e con i contatti dei relè cortocircuitando le varie R cerco di riportare il valore della 'Diretta' al miglior rapporto di ROS possibile. Così funziona, provato con il mio vecchio SW, per il ramo delle "L", devo valutare come aggiustare i valori delle R per per provare anche il ramo "C".
  3. appena inizia a funzionare il tutto assemblo l'accoppiatore RF e allora inizieranno le prove SeRiE! :slight_smile:
  4. nel frattempo mi sono arrivati anche gli altri 2 blocchi di 4 relè così posso simulare anche le 6 uscite del ramo "C"

Appena verificato il funzionamneto del SW vi informo.

Andrea