Arduino Forum

International => Italiano => Software => Topic started by: Campa1957 on Jun 01, 2013, 09:03 am

Title: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jun 01, 2013, 09:03 am
Ciao a tutti,

da un po di tempo mi sto picchiando con la mia schedina di Arduino per realizzare un accordatore di antenna, progetto che mi frulla per la testa da parecchio tempo, e da quando ho scoperto Arduino ho provato a realizzarlo, purtroppo senza risulato  =( =( =(

Scrivo questo mio post in cerca di un aiuto genovese che abbia tempo e voglia di darmi una mano nella realizzaione del mio progettino, la mail è nel mio profilo.

grazie

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino
Post by: menniti on Jun 01, 2013, 10:13 am
Non puoi provare a spiegare la tecnica di realizzazione di un accordatore d'antenna, in modo da iniziare dal circuito hardware e poi passare alla programmazione? Non è detto che non risolvi qui se fornisci le necessarie e dettagliate informazioni.
Title: Re: [OT] richiesta di aiuto per programmino
Post by: Campa1957 on Jun 01, 2013, 11:24 am
Ciao Michele,

ti ringrazio per il consiglio, dopo queste mie righe inserisco il pezzo di programma che ho realizzato e che avevo già postato tempo addietro senza però riuscire ad avere indicazioni terra terra da essere capite anche me.

Premetto che la mia idea è utilizzare 6 valori di "L" e 6 valori di "C" con rapporti 1, 2, 4, 8, 16, 32 da inserire  scalini.

la mia idea è:

se un valore calcolato (calcRos) è superiore ad una soglia inserisco uno scalino della serie "L",
continuo ad inserire scalini fino a quando il valore calcolato scende,
quando verifico che il valore calcolato anzichè scendere, dopo l'ultimo inserimento, è salito vorrei disinserire il primo scalino inserito, quello con valore più piccolo, della serie "L",
continuo a togliere scalini fino a quando il valore calcolato risale,
a questo punto dovrei valuatere se reinserire o meno lo scalino che è stato appena disinserito, sempre in base al valore calcolato
dopo di che questo 'giro' sarebbe ultimato.

In questo punto va inserito un criterio di scelta, sempre riferito al valore calcolato, che valuti se inserire lato TX oppure lato antenna la serie "C".

Con lo stesso criterio dovrei inserire i vari scalini della serie "C"

Code: [Select]


/*
*******************************
Accorda0106 TEST
*******************************

Inserisce uscite se ROS>1.5 e disinserisce l'ultima se ros aumentato invece che diminuire!!!

*/

#define NUMREADINGS0 10  // 10 valori da leggere
#define NUMREADINGS1 10  // 10 valori da leggere
#define inputPin0 3 // Sensore collegato al pin analogico 3 POT. RIFLESSA filo verde
#define inputPin1 5 // Sensore collegato al pin analogico 5 POT. DIRETTA filo blu
// #include <LiquidCrystal.h>   // INCLUDE LA LIBRERIA
int readings0[NUMREADINGS0];  // Letture da input analogico
int readings1[NUMREADINGS1];  // Letture da input analogico
int index0 = 0;  // Indice della lettura0 corrente
int index1 = 0;  // Indice della lettura1 corrente
int total0 = 0;  // Totale letture0
int total1 = 0;  // Totale letture1
int saltoind = 0;  // seleziona cosa fare salto0 variabile il cui valore indica dove swicciare x ind
int saltocap = 0;  // seleziona cosa fare salto0 variabile il cui valore indica dove swicciare x cap
float average0 = 0;  // Media0 RIFLESSA, int non visualizza decimali, float visualizza due decimali
float average1 = 0;  // Media1 DIRETTA, int non visualizza decimali, float visualizza due decimali
float average0old = 0;  // Media0old RIFLESSA
float average1old = 0;  // Media1old DIRETTA
float calcRos = 0;     // Ros calcolato
float calcRosold = 0;  // vecchio valore di Ros
float calcRosold1 = 0; // vecchio vecchio valore di Ros per il disinserimento degli scalini dopo averne inseriti troppi
float calcPot =0;  // Potenza calcolata
float calcPotOld =0;
// LiquidCrystal lcd(8, 9, 4, 5, 6, 7);   // INIZIALIZZA LA LIBRERIA LCD
int led1 = 13;  // SELEZIONA PIN 13
int led2 = 12;  // SELEZIONA PIN 12
int led3 = 11;  // SELEZIONA PIN 11
int led4 = 10;  // SELEZIONA PIN 10
int led5 = 9;  // SELEZIONA PIN 9
int led6 = 8;  // SELEZIONA PIN 8
int led7 = 7;  // SELEZIONA PIN 7
int led8 = 6;  // SELEZIONA PIN 6
int led9 = 5;  // SELEZIONA PIN 5
int led10 = 4;  // SELEZIONA PIN 4
int led11 = 3;  // SELEZIONA PIN 3
int led12 = 2;  // SELEZIONA PIN 2
int led13 = 1;  // SELEZIONA PIN 1
int led14 = 0;  // SELEZIONA PIN 0
long previousMillis = 0; // ******************** ritardo
long interval = 1000;    // ******************** tempo di ritardo


void setup()
{
 {
   pinMode (13, OUTPUT);
   pinMode (12, OUTPUT);
   pinMode (11, OUTPUT);
   pinMode (10, OUTPUT);
   pinMode (9, OUTPUT);
   pinMode (8, OUTPUT);  
   pinMode (7, OUTPUT);
   pinMode (6, OUTPUT);
   pinMode (5, OUTPUT);
   pinMode (4, OUTPUT);
   pinMode (3, OUTPUT);
   pinMode (2, OUTPUT);
   pinMode (1, OUTPUT);
   pinMode (0, OUTPUT);
 }
 for (int i = 0; i < NUMREADINGS0; i++){
   readings0[i] = 0;  //Mette tutti 0 nell'array
 }

 for (int a = 0; a < NUMREADINGS1; a++) {
   readings1[a] = 0;  //Mette tutti 0 nell'array    
 }
}
void loop()
{
 {
   total0 -= readings0[index0];  //Sottrae l'ultima lettura
   readings0[index0] = analogRead(inputPin0);  //Legge i valori provenienti dal sensore e li salva nell'array
   total0 += readings0[index0];  //Aggiunge la lettura al totale
   index0 = (index0 + 1);  //Incrementa l'indice
 }
 if (index0 >= NUMREADINGS0) {
   index0 = 0;  //Alla fine dell'array resetta l'indice a 0
   average0 = total0 / NUMREADINGS0;  // Calcola la media DELLA RIFLESSA
 }
 {
   total1 -= readings1[index1];  //Sottrae l'ultima lettura
   readings1[index1] = analogRead(inputPin1);  //Legge i valori provenienti dal sensore ??? e li salva nell'array
   total1 += readings1[index1];  //Aggiunge la lettura al totale
   index1 = (index1 + 1);  // Incrementa l'indice
 }
 if (index1 >= NUMREADINGS1) {
   index1 = 0;  // Alla fine dell'array resetta l'indice a 0
   average1 = total1 / NUMREADINGS1;  // Calcola la media DELLA DIRETTA
 }
 {
   // CALCOLO ROS

   calcRos = ((1 + ( average0 / average1)) / (1 - ( average0 / average1)));
 }
 unsigned long currentMillis = millis();
 if(currentMillis - previousMillis > interval) {
   previousMillis = currentMillis;

   // da queste parti bisogna inserire la scelta se andare a saltoind o saltare a saltocond (???)
   // poi verificare se sono stati fatti tutti i giri di controllo e visualizzare il risultato
   // LED Verde OK, LED Rosso se il valore del ROS è > del valore di soglia!

   {
     if(calcRos>=1.5) saltoind++;                       // se ROS >= a 1.5 incrementa di 1 saltoind
     if(calcRosold>calcRos) if(saltoind<7) saltoind=7;  // se ultima lettura > lettura precedente saltoind=7
     if(calcRosold>calcRos)saltoind++;                  // se ROSnuovo > ROS vecchio, inserito troppa IND inizia a spegnere le uscite da led1
     calcRosold=calcRos;                                // manca il controllo in spegnimento delle uscite !!!!!!!!!!!!
     // bisogna verificare come NON aggiornare il valore di calcRosold fino al miglior calcRos.

   }

   switch (saltoind)   {
   case 1: // Inserisco primo scalino ind
     digitalWrite(led1, HIGH);
     break;      
   case 2: // Inserisco scalino 2 ind
     digitalWrite(led2, HIGH);
     break;
   case 3: // Inserisco scalino 3 ind
     digitalWrite(led3, HIGH);
     break;      
   case 4: // Inserisco scalino 4 ind
     digitalWrite(led4, HIGH);
     break;
   case 5: // Inserisco scalino 5 ind
     digitalWrite(led5, HIGH);
     break;      
   case 6: // Inserisco scalino 6 ind
     digitalWrite(led6, HIGH);
     break;

   case 7: // Non fa' nulla!!!
     break;

   case 8: //disinserisco primo scalino ind ************ SPEGNIMENTI *******************
     digitalWrite(led1, LOW);
     break;
   case 9: // Inserisco scalino 3 ind
     digitalWrite(led2, LOW);
     break;      
   case 10: // Inserisco scalino 4 ind
     digitalWrite(led3, LOW);
     break;
   case 11: // Inserisco scalino 5 ind
     digitalWrite(led4, LOW);
     break;      
   case 12: // Inserisco scalino 6 ind
     digitalWrite(led5, LOW);
     break;
   case 13: // Inserisco scalino 6 ind
     digitalWrite(led6, LOW);
     saltoind=0;  // pone a 0 il valore della variabile per avitare che continui nel vuoto
     break;



     // 000
   case 50:
     digitalWrite(led1, LOW);
     digitalWrite(led2, LOW);
     digitalWrite(led3, LOW);
     digitalWrite(led4, LOW);
     digitalWrite(led5, LOW);
     digitalWrite(led6, LOW);
     saltoind=0;  // dopo aver spento tutto riporta saltoind=0
     break;
   case 100:
     break;
   }
 }
}




































spero di essere riuscito a spiegare quale è la mia idea

grazie

Andrea
Title: Re: [OT] richiesta di aiuto per programmino
Post by: menniti on Jun 01, 2013, 12:24 pm
Non molto, forse è per questo che hai avuto difficoltà ad ottenere aiuto la volta scorsa, considera che parli di una materia che tu conosci e molti altri no. P.es. dopo la spiegazione teorica sarebbe utile un esempio pratico con valori reali e comportamento del display e dei LED, una cosa semplice ma comprensibile...
Inoltre, io non sono un programmatore ma da quel poco che vedo a me pare che il tuo programma abbia un sacco di istruzioni inutili e ridondanti: vedo costanti fissate allo stesso valore, dichiarazioni dei pin del display che non sono richieste, ed il metodo di lettura e scarto dei due ingressi ADC è tanto pesante quanto inutile. Le letture le fai solo al fine di ottenere un valore medio ad ogni ciclo, che ti frega di creare un array, azzerarlo, riempirlo, totalizzarlo, quando puoi usare una sola semplice variabile sommatoria e dividerla per il numero di letture? Vedo che vai a sottrarre il valore della prima lettura non puoi semplicemente ignorarlo?
Per una situazione simile alla tua io ho fatto:
Code: [Select]

val = 0;
for (int i=0; i<media; i++) {
        val += analogRead(f_comp_reg);
    }
    val = (val/media); 

come vedi azzero la variabile val, sommo il numero "media" di successive letture nella stessa variabile, infine divido il totale ottenuto per il numero di letture.
Alla fine il mio risultato è uguale al tuo (non ho ignorato la prima lettura perché uso un solo ingresso ADC), a che ti servono i valori di array se poi non li usi da nessuna parte e perché li dovresti azzerare visto che ogni volta li riempi nuovamente tutti?
Title: Re: [OT] richiesta di aiuto per programmino
Post by: Maurotec on Jun 01, 2013, 12:32 pm
Campa1957, per come la vedo io, tu mi vorresti fare studiare un altro linguaggio di programmazione, che poi sarebbe il tuo linguaggio, io conosco il C/C++ ecc.

Se mi metti un blocco {} dentro un altro blocco io da programmatore penso che dentro crei variabili temporanee che fuori dal blocco vuoi distuggere. Se dopo una if (cond...) {} mi apri un altro blocco {} io penso che nel mezzo hai dimenticato "else", ma mi dico no forse chissa, gli serve creare varibili temporanee che poi vuole distruggere.

I blocchi annidati non legati ad una parola chiave si creano solo nel caso in cui c'è rischio di consumare memoria (e c'è sempre il rischio). I blocchi si usano per creare variabili temporanee che poi vengono distrutte al termine del blocco.

Tradotto io non sono capace di leggere quel codice e capirci qualcosa.

Hai un valore letto dal A0, posta una casistica dei valori possibili nella unità di tempo, esempio.
Nell'arco di x tempo vengono letti e salvati i seguenti valori:
800, 875, 900, 888, 1000, 999, 1000, 998, 1001

Da questi valori determino un andamento crescente tendente alla normalizzazione. Questo devono essere i valori raw, cioè non normalizzati o compensati dal circuito di accordo, posto nella posizione iniziale di default.

Suppongo che il programma debba cercare di prendere delle decisioni in base alla azione posta in essere prima della valutazione corrente, quindi la storia è importante. l'obbiettivo è quello di cercare di minimizzare il valore letto su A0, minore è il valore letto minori sono le onde stazionarie e migliore è l'accordatura.

Io penso che si possa adattare l'algoritmo "PID", lasciando da parte l'integrale e la derivata, quindi solo la P di proporzionale.

PS:riscrivi il codice attuale senza i blocchi {} superflui.

Ciao.
Title: Re: [OT] richiesta di aiuto per programmino
Post by: menniti on Jun 01, 2013, 01:05 pm
Ciao Mauro, il problema purtroppo è che lui ha esordito dicendo
Quote
avevo già postato tempo addietro senza però riuscire ad avere indicazioni terra terra da essere capite anche me.
, quindi bisogna sperare che comprenda i tuoi saggi consigli, d'altra parte non gli si può certo riscrivere il codice, comunque mi stai confermando che c'è molta roba inutile lì dentro...
Title: Re: [OT] richiesta di aiuto per programmino
Post by: Campa1957 on Jun 01, 2013, 01:11 pm
Il discorso è molto semplice,
come già dichiarto più volte anche in altro post, le mie basi di programmazione sono pari a ZERO, e allora ho girovagto in rete fino a trovare un qualcosa che pensato per fare altro con un pò di 'magnuscamenti' fa quasi quello che serve a me........
I pin per lcd sono ancora nel listato perchè il primo obiettivo è stato visualizzare i tre valori, due misurati e uno calcolato, e non li ho ancora tolti!
Per quanto riguarda il ragionamento sulle parentesi graffe ......................  :smiley-eek: :smiley-eek: :smiley-eek: non mi è molto chiaro il loro funzionamento.

Spero che dopo quello che ho scritto vogliate ancora darmi una mano..............

grazie

Andrea
Title: Re: [OT] richiesta di aiuto per programmino
Post by: menniti on Jun 01, 2013, 01:17 pm
Sì certo, ma devi anche rispondere a ciò che ti viene chiesto, se mantieni il tuo atteggiamento passivo non ti aiuta nessuno, e non per cattiva volontà, ma perché nessuno ha il tempo di scervellarsi per capire le cose che ti ostini a non voler spiegare. Ok, di programmazione non ne capisci nulla, ma almeno ci ciò che vuoi fare ed ottenere sarai in grado di metterci al corrente con esempi pratici?
Title: Re: [OT] richiesta di aiuto per programmino
Post by: Campa1957 on Jun 01, 2013, 01:56 pm
Obiettivo:
realizzare un accordatore di antenna per le HF.

Come realizzarlo:
inserendo con vari step prima delle induttanze (6) in serie fino al miglior rapporto di Ros possibile, e poi dei condensatori (6) in serie all'antenna, da valutare se l'inserimento va fatto lato TX oppure lato Antenna.
Tutte le verifiche vanno fatte con l'obiettivo di abbassare il valore del Ros.
Una volta che è stato effettuato il primo giro, effettuare un secondo giro di affinamento del valore ottenuto.

HD:
Scheda Arduino UNO, interfacce relè commeciali (n.4 da 4 relè) che a loro volta andranno a comandare dei relè sotto vuoto.

Andrea
Title: Re: [OT] richiesta di aiuto per programmino
Post by: menniti on Jun 01, 2013, 02:19 pm
Ah, ora si comincia a ragionare, quindi tu:
1 - rilevi una misura (anzi due, perché? cosa sono? che tipo di valori ti aspetti?) col tipico sistema della lettura ADC
2 - in base al discostamento della lettura rispetto ad un valore IDEALE (qual è?) tu attivi 0,1...6 relé ognuno dei quali inserisce una impedenza in serie al polo centrale dell'uscita del TX rispetto al corrispondente polo dell'antenna, contemporaneamente attivi 0,1....6 relé per l'inserimento di altrettanti condensatori sempre in serie al polo centrale dell'uscita del tx (non in parallelo, vero?)
3 - dopo l'inserimento ripeti la lettura per vedere se è il caso di togliere/inserire qualche valore.

Dovresti rispondere a queste domande e poi fare un esempio pratico: leggo X su ADC1, leggo Y su ADC2 quindi devo fare così....e spieghi... poi rileggo e ottengo X1 su ADC1 e Y1 su ADC2, a questo punto faccio.....

Cioè devi farci "vedere" come lavora il tuo hardware in ingresso e come vorresti far lavorare il tuo hardware in uscita, poi magari proviamo a tirare fuori un semplice flow diagram e qualche riga di codice; ora devo andar via, non farti prendere dalla fretta e vedrai che ne usciremo, anche perché quando vedranno un minimo di ordine poi inteverranno i nostri professionisti software a risolvere le problematiche più importanti, ormai so che funziona così. Ci si sente stasera, tu intanto scrivi e descrivi più che puoi, meglio se fai un po' di esempi di situazioni diverse, meglissimo se tracci uno schema dell'hardware in ingresso ed in uscita, così lo verifichiamo assieme, non è detto che non ci sia qualche errore anche lì.
Ciao  ;)
Title: Re: [OT] richiesta di aiuto per programmino
Post by: Maurotec on Jun 01, 2013, 02:41 pm
Ok, se tu persona dovessi fare l'accordatura dell'antenna come agiresti?
Prendi delle decisioni in base a dei dati rilevati, quali sono questi dati?
Prendi decisioni in base ad una logica, quindi devi escludere l'intuito umano che non può essere programmato.

Quando hai descritto tutto il procedimento manuale eseguito da un operatore che si basa sulla logica, poi si può
passare alla codifica del codice.

Fondamentalmente a noi non serve sapere cosa accade quando un pin attiva un relè è viene inserita un L o C, a noi interessa sapere cosa accade di certo quando un pin va alto o basso, cioè domanda: è possibile determinare con certezza che un inserimento di L comporta un miglioramento, o viceversa, io penso di no, penso che il programma deve determinare se l'azione casuale iniziale ha portato un peggioramento e in tal caso deve tentare di migliorare aggendo per tentativi, inserendo ulteriormente altre L o C per analizzare se c'è un peggioramento o miglioramento. Purtroppo prima o poi deve trovare un punto stabile perchè altrimenti c'è continua commutazione alla ricerca del miglior risultato, e trovato uno non vuol dire che non sia possibile fare di meglio facendo altre combinazioni.

Io non ho conoscenza di elettronica HF.

Ciao. 
Title: Re: [OT] richiesta di aiuto per programmino
Post by: Campa1957 on Jun 01, 2013, 05:36 pm
Per maggior comprensione quoto e rispondo nel testo

Quote


Ah, ora si comincia a ragionare, quindi tu:
1 - rilevi una misura (anzi due, perché? cosa sono? che tipo di valori ti aspetti?) col tipico sistema della lettura ADC

Rilevo 2 misure di tensione, Potenza diretta e Potenza riflessa. Una volta lette faccio un calcoletto il cui risultato è CalcRos

2 - in base al discostamento della lettura rispetto ad un valore IDEALE (qual è?) tu attivi 0,1...6 relé ognuno dei quali inserisce una impedenza in serie al polo centrale dell'uscita del TX rispetto al corrispondente polo dell'antenna, contemporaneamente attivi 0,1....6 relé per l'inserimento di altrettanti condensatori sempre in serie al polo centrale dell'uscita del tx (non in parallelo, vero?)

Se il valore di CalcRos è maggiore di un valore impostato inserisce il primo scalino di L dopo aver inserito lo scalino deve rifare le letture, ricalcolare e verificare se il valore di CalcRos è diminuito ed è sempre superiore al valore impostato deve inserire un nuovo scalino, e così lo deve fare fino all'inserimento di tutte le L oppure al raggiungimento del valore minimo impostato. Nel caso l'inseriemento di una L portasse ad un aumento di CalcRos devono essere disinseriti gli scalini già inseriti partendo da quello con valore più piccolo  

3 - dopo l'inserimento ripeti la lettura per vedere se è il caso di togliere/inserire qualche valore.

alla 3 penso di aver già risposto sopra.

Per spiegare la parte HD, le induttanze veranno inserite in serie all'antenna mentre i condensatori verranno inseriti in parallelo ma con una scelta, se lato TX oppure lato Antenna. In pratica a monte o a valle delle bobine.
 

Dovresti rispondere a queste domande e poi fare un esempio pratico: leggo X su ADC1, leggo Y su ADC2 quindi devo fare così....e spieghi... poi rileggo e ottengo X1 su ADC1 e Y1 su ADC2, a questo punto faccio.....

Cioè devi farci "vedere" come lavora il tuo hardware in ingresso e come vorresti far lavorare il tuo hardware in uscita, poi magari proviamo a tirare fuori un semplice flow diagram e qualche riga di codice; ora devo andar via, non farti prendere dalla fretta e vedrai che ne usciremo, anche perché quando vedranno un minimo di ordine poi inteverranno i nostri professionisti software a risolvere le problematiche più importanti, ormai so che funziona così. Ci si sente stasera, tu intanto scrivi e descrivi più che puoi, meglio se fai un po' di esempi di situazioni diverse, meglissimo se tracci uno schema dell'hardware in ingresso ed in uscita, così lo verifichiamo assieme, non è detto che non ci sia qualche errore anche lì.
Ciao  smiley-wink




Spero di essere riuscito a spiegare il funzionamento HD e più o meno cosa deve fare il SW.

Andrea

Title: Re: [OT] richiesta di aiuto per programmino
Post by: camperos on Jun 01, 2013, 05:45 pm
chiedo scusa se intervengo con una risposta essendo un principiante.

qui sul forum mi hanno dato una dritta sul "min" e "max" e grazie a questo ora ho una antenna digitale terrestre motorizzata portatile che si punta sul ripetitore automaticamente


del tuo sketch ci ho capito poco ma potresti tentare come logica:
primo collegamento  con primo filtro L o C e arduino misura l'ingresso (calcRos)
secondo collegamento con secondo filtro L o C e arduino misura l'ingresso (calcRos)
terzo
quarto
quinto
sesto
quando arduino ha memorizzato l'ingresso (calcRos)  "max" di queste sei, dici ad arduino di tornare indietro e  ricollegare i filtri uno ad uno finché ritrova il "max"

con il "min"   penso sia lo stesso

Title: Re: [OT] richiesta di aiuto per programmino
Post by: Campa1957 on Jun 01, 2013, 05:53 pm
Ciao Camperos,

tutti i suggerimenti posso essere utili!

Nel mio caso ho bisogno di abbassare il più possibile il valore di CalcRos inserendo in modo ragionato più o meno scalini di L e/o di C. Sempre comparando il valore di CalcRos nuovo / vecchio e/o precedente  :smiley-eek:

Aspettiamo consiglio dei Guru!

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Maurotec on Jun 01, 2013, 08:58 pm
Supponiamo di avere 3 configurazioni hardware commutabili; dubbio: non so se c'è una coppia LC da inserire e quini es 6 coppie sarebbero sei configurazioni diverse, oppure ci sono 6 L e 6 C che possono essere combinati tra loro con esempio un L + C + C.

Stabiliamo che all'accensione dell'apparecchio la configurazione di default è 0, cioè nessuna L e/o C.
L'accordatore deve iniziare da subito ad accordare, oppure la routine di accordatura avviene a richiesta premendo un pulsante?

Stabilisco che è necessario premere un pulsante per dare il via alla ricerca.

Condizione da verificare con if o switch; non è detto che il programma inizi ad inserire o rimuovere LC, perchè la configurazione attuale potrebbe essere già buona, si può verificare ciò e se si come si può esprimere la condizione ottimale che arresta la ricerca della configurazione? (penso che non si possa)

Premessa: Si usa una porta di 8 bit in uscita alla quale vengono collegati i relè (cioè il circuito che attiva i relè), e la chiamiamo
PORTA. In una porta i bit vengono numerati così : 0000 0001 (vale uno decimale) 1000 0000 (vale 127 decimale)
Partendo da 0 non si può fare altro che salire verso 1, 2, 3, puoi compilare una tabella riempendo "bit di PORTA".
configurazione                      bit di PORTA
0                                          0000 0000                                          
1                  
2
3
4
5
6

eventualmente ci fossero + configurazioni aggiungele tu.

Il programma fa:
currentConfig    contiene il numero di configurazione attuale, inizialmente vale 0 (zero)
typedef enum Action Action;            // definisce un alias per enum Action, ora posso creare tipi Action senza specificare enum
enum Action { STANDBY, START_SEARCH, CANCEL_SEARCH, ecc altre azioni };
setRos è impostato dall'utente
Code: [Select]
loop() {
   Acquisisce stato da tastiera e lo salva in currentAction
   if (currentAction == START_SEARCH) {
       legge e ricava calcRos
       if (calcRos > setRos) {
           stabilisce il valore della variabile 'operazione'
           chiama funzione di ricerca accordatura tuningRos()
       }
   }
}

void tuningRos()
{
    // azione Inserisci o rimuovi, sono sinonimi di vai avanti o torna indietro
    oldRos = calcRos;
   // e qui non so più andare avanti
}
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 01, 2013, 09:19 pm
Azz, se tu facessi esami con me non la supereresti mai la mia materia, io ti faccio domande chiare, tu rispondi in base al cuore e poi sei convinto di aver risposto, non ti farei nemmeno la domanda di recupero ]:D Tu dici che non capisci niente di sw e vuoi imboccato lo sketch col cucchiaino, noi ti diciamo che non capiamo un czz di ROS e tu continui a non spiegarci niente di come funziona la cosa, se non sprazzi di notizie, per di più con quesiti da dissipare, fenomenale :smiley-zipper: Tanto per capirci: QUANDO LI INSERISCI I CONDENSATORI??? tu dicevi che erano in serie ed io ti ho suggerito che probabilmente erano in parallelo, poi parli di lato tx o lato antenna, e non metti uno straccio di schema per farci capire cosa intendi. Lo vuoi risolvere il tuo problema? DEVI farci VEDERE cosa devi fare nelle varie circostanze, ossia abbiamo bisogno dello schema elettrico con le uscite di Arduino che pilotano i XX relé e come tali relé agiscono con i loro contatti per inserire/disinserire (E DOVE) impendenze e condensatori. Senza questa fondamentale informazione andremo a tentoni all'infinito, con uno schema elettrico e qualche domanda di chiarimento invece penso proprio che troveremo rapidamente la soluzione.
Comunque finora ho capito questo:
1 - leggo i valori V1 e V2
2 - eseguo una formula con questi due valori ed ottengo un risultato R1
3 - confronto R1 con RD (preimpostato)
4 - scelta:
    4a: se R1<= RD ---> END (l'antenna è accordata, il valore di ROS è ottimale)
    4b: se R1>RD attivo un'uscita di Arduino (inserimento di un'impedenza, il come lo si capirà dallo schema elettrico)
5 - ripeto i passi da 1 a 4
ma in tutto ciò i condensatori dove stanno? riusciresti ad implementaree completare questo mio schema logico prevedendo tutte le necessarie opzioni? :smiley-sweat:

PS: come vedi Mauro è nelle mie stesse condizioni, ad un certo punto gli mancano le informazioni ed ha i miei stessi dubbi, quindi io non sono un deficiente :)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: paulus1969 on Jun 01, 2013, 10:53 pm
Ma idue classici condensatori variabili magari gestiti da due motori passò passò o servo?
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 01, 2013, 11:06 pm
Intendi automatizzare un accordatore manuale? Ma sempre facendo le letture dei valori in uscita, spero...
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Maurotec on Jun 01, 2013, 11:33 pm
Dunque ho riletto il codice e ho capito questo:
Ci sono 14 led, connessi ai pin da 0 a 13, 6 di queste uscite azionano dei relè, rimane il dubbio circa la sequenza di azionamenti.
Prendendo 6 bit di una porta da 8 bit partendo dal bit LSB fino al 5 bit, a caso prendiamo PORTA

PORTA = "b00111111"
Le possibili combinazioni sono in totale 64 incluso lo 0.
Si deve progressivamente commutare le uscite partendo da 0 fino a 63?
oppure basta accender il bit 0, poi in caso spegne lo 0 e accende 1, poi spegne 1 e accende 2 e così fino a 6.

Nel primo caso le configurazioni possibili sono 64, nel secondo sono solo 6.

Nel caso le configurazioni fossero 64 potrebbe essere utile partire dalla configurazione 64/2 = 32, in questo modo
male che vada devo effettuare 32 commutazioni per trovare quella che mi da un ros minore di tutte.

Concettualmente, la configurazione candidata è:
se nuovo_valore < vecchio_valore
    configCandidate = currentConfig
e si fa il test per tutte le 32 combinazioni


Tempo addietro ho fatto un potenziometro a partitori commutati, con attenuazione totale di 127.5 decibel, quindi per aumentare l'attenuazione mi bastava incrementare il valore di una porta da 8 bit, per ridurre l'attenuazione ovviamente lo decrementavo, mi sa tanto che "campa" ha realizzato un sistema simile ma nel suo caso ciò che varia è l'impedenza.

@Michele
Non disperare, sono stati scritti libri dove emerge palesemente la difficolta di dialogo tra il committente di un software e gli ingegneri del software. Io in alcune situazioni avevo davanti persone e mi immagginavo di scrivere rm -f commercialista e vederlo scomparire. ]:D

PS: rm -f file :su unix sta per rimuovi forzatamente il file 'file'

Ciao
   
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 01, 2013, 11:49 pm
ROTFL XD XD XD
no, non dispero, anzi spero di arrivare fino in fondo, io posso essere utile nell'impostazione logica, la trasformazione in codice la farete voi esperti il fatto è che non puoi risalire all'hadrware da un codice nato per fare una cosa diversa ed adattato malamente (infatti non funziona), per cui credo fermamente che si debba vedere l'hardware e capire come debba funzionare, a quel punto penso non sarà molto difficile scrivere qualche riga di codice, sono certo che lo sketch finale sarà moooolto più breve di quello attuale.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: leo72 on Jun 02, 2013, 12:05 am
@Michele:
il ROS in ambito radio è il rapporto delle onde stazionarie.
Detto in parole povere, è il rapporto fra la potenza erogata dalla radio e la potenza che torna verso la radio stessa per via del fatto che l'antenna non è tarata, ossia la sua lunghezza si discosta troppo dalla lunghezza d'onda su cui si sta modulando.
Per tarare un'antenna si usa un Rosmetro, o misuratore di ROS che si inserisce in serie sul cavo dell'antenna. Il ROS deve stare sempre sotto ad un rapporto di 2, pena il bruciare i finali della radio. Un buon ROS è su 1,5, un ROS molto buono è fra 1 e 1,5.
Per tarare l'antenna si misura il ROS sul canale 1 del CB, poi si registra il segnale con le manopole del ROS in modo che ricada in un certo punto. A questo punto ci si sposta sul canale 40. Se il ROS misurato è pù alto sul canale 1, significa che l'antenna è corta, viceversa se il ROS è più alto sul canale 40 l'antenna è lunga. Ogni volta si allunga/accorcia l'antenna (di mm) agendo su delle viti di fissaggio alla base dell'antenna stessa e ripetendo la misura.
Quando il ROS su entrambi i canali 1 e 40 è prossimo ad 1, l'antenna è tarata.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 02, 2013, 12:22 am
Ahi Leo, dovevi farti i fattacci tuoi :D io sono un ex CB, ho ancora tutta la strumentazione (3 baracchini, di cui uno professionale, due amplificatori valvolari, di cui uno marcato "NASA" :D) ho parlato e scambiato cartoline con mezzo mondo, so benissimo cos'è il ROS, e cos'è un accordatore d'antenna, che possiedo (T1000 se non ricordo male) e che serve per compensare il rapporto tra TX e antenna evitando di dover allungare/accorciare non tanto l'antenna quanto il cavo che pochi sanno andrebbe dimensionato in base alla frequenza operativa e steso come si deve; tutto ciò che non viene eseguito correttamente provoca appunto una sorta di "permanenza" di parte della potenza sul bocchettone, rischiando appunto di bruciare i finali di potenza dell'apparato trasmittente. Se questo disadattamento non è eccessivo un normale accordatore d'antenna, mediante le sue due manopoline e lo strumento (allora e nel mi caso a lancetta, oggi non so....) riescono a compensare il tutto garantendo il perfetto funzionamento dell'impianto, eliminando tutti quegli effetti collaterali, come disturbi negli apparecchi radio-televisivi, notevole diminuzione della portata in trasmissione, ecc.
Detto questo onestamente non conosco la tecnica che vuole adottare il nostro amico, non il suo fine...., quindi se lui spiega cosa deve fare con i suoi relé, impedenze e condensatori, allora tiriamo fuori un flow diagram che facilmente voi esperti trasformerete in sketch semplice e funzionante. ;)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: leo72 on Jun 02, 2013, 12:32 am
Ah, ok. Credevo non fosse una domanda retorica  :smiley-sweat:

Cmq se hai scambiato cartoline vuol dire che hai modulato su bande non CB ma radioamatoriali. Con la CB classica non vai a più di 50 km ma per farlo devi stare su un monte  :smiley-yell:
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 02, 2013, 12:47 am

Ah, ok. Credevo non fosse una domanda retorica  :smiley-sweat:

Cmq se hai scambiato cartoline vuol dire che hai modulato su bande non CB ma radioamatoriali. Con la CB classica non vai a più di 50 km ma per farlo devi stare su un monte  :smiley-yell:

beh, ovviamente avevo i canali lsb/ssb, ma sempre in gamma CB 27-30MHz (potrei sbagliare sigle, è davvero da tanto che non ci metto mano), ma avevo una stupenda antenna Mantova 1 (1000w di carico) ed una direttiva con tanto di rotore controllato dall'interno con cui scandagliavo 270°; il problema non è la frequenza ma la potenza e la propagazione, ho dialogato con la Spagna ed il Portogallo anche con i canali tradizionali, quando attaccavo l'ampli da 300W le onde a 27-30MHz si vedevano fisicamente in cielo XD. Ricordo di aver contattato una volta anche la Toscana, non ricordo se fosse Empoli, ricdordo solo che era famosa per la "Fiera del Ciuco" o qualcosa del genere, legata ad una asino "volante" (forse...), ricordo una cosa incredibile: lui mi mando' la cartolina tipica di questa festa, io dimenticai di rispondergli, dopo un po' di giorni ci sentimmo di nuovo (e non era per nulla facile), e mi fece un bordello infinito, hai voglia a dirgli che forse si era persa, la mattina dopo gliene mandai due per il terrore di sentirlo di nuovo  :smiley-sweat:
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: leo72 on Jun 02, 2013, 01:00 am
Ah, se andavi nelle bande laterali allora sì. Ma serviva una radio apposita. C'era un mio amico che aveva una signora radio (non mi ricordo più quale) con cui aveva modulato anche lui con Paesi esteri mentre il mio Lafayette Texas con lineare da 100W (imboscato nel cruscotto) ed antenna a base magnetica sul tetto dell'auto più di quello non poteva certo fare  ;)

PS: confermo. Il "volo del ciuco" è una fiera tradizionale di Empoli. Anzi, il caso vuole che proprio stasera sia stata la 534a  ricorrenza della festa!!!  :smiley-yell:
http://www.volodelciuco.it/blog/storia-del-volo/
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 02, 2013, 01:15 am

Ah, se andavi nelle bande laterali allora sì. Ma serviva una radio apposita. C'era un mio amico che aveva una signora radio (non mi ricordo più quale) con cui aveva modulato anche lui con Paesi esteri mentre il mio Lafayette Texas con lineare da 100W (imboscato nel cruscotto) ed antenna a base magnetica sul tetto dell'auto più di quello non poteva certo fare  ;)

Io sono attrezzatissimo: un apparecchio professionale con orologio/timer incorporato, originale americano, una bestia larga 40cm con tutti i canali possibili ed immaginabili, ora mi sfugge il marchio, poi un Lafayette sempre con bande laterali, ed in Intech 40 canali 5W.

Quote

PS: confermo. Il "volo del ciuco" è una fiera tradizionale di Empoli. Anzi, il caso vuole che proprio stasera sia stata la 534a  ricorrenza della festa!!!  :smiley-yell:
http://www.volodelciuco.it/blog/storia-del-volo/

ma dai, incredibili certe coincidenze  XD XD XD
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Maurotec on Jun 02, 2013, 01:34 am
Mi avete fatto ricordare la buonanima di mio Papà. Io ragazino con lui sul fiorino D con lungissima antenna sul tetto (che quando frenavi di botto la vedevi da dentro l'abitacolo) a girare per paesi a fare le simulazioni di catastrofe, e si allora non esistevano i cellulari e per e con la protezione civile facevamo ponte radio mobile, cioè dovevi camminare per le montagne e con la complicità o meno di stazioni da campo agiravi gli ostacoli insormontabili come le montagne.

Ho ancora il bellissimo ricordo della esercitazione fatta a Campo Felice di Roccella (Cefalù).

Mi sono rimasti alcuni alan68, un lafayet, un ERE con WFO (2 telai + alimentatore 20A) un 2 telai + alim 144MHZ, un glorioso SOMMERKAMP FL e qualcosa. Con il Sommerkamp a manetta con antenna direttiva su rotore, una notte di propagazione eccezionale abbiamo fatto un dialogo con la Francia, credo si chiami contest, con scambio di cartoline ecc.

Comunque, Break per un QRK, come vi arrivo, ok sei in zona allora facciamo una Verticale. :P

Grazie per avermi fatto ricordare quel periodo spenzierato della mia vita.

Si leo, il rosmetro c'è l'ho lo so usare, e concordo con te su tutto quello che hai detto, ma onde stazionarie di 1 mai viste, cioè non c'è potenza riflessa, che tratotto è 1:1. Ma comunque questo non vuol dire essere un esperto di HF e di accordatori di antenna ecc.

Ciao.

Non riesco a crederci ho trovato iw9ayt (mio Papà) http://hamcall.net/call/IW9AYT (http://hamcall.net/call/IW9AYT)
Ho i brividi.

Scutate l'OT, e ancora grazie =(
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 02, 2013, 09:36 am
Dopo la divagazione notturna sulla 27 Mhz, di cui ho fatto parte negli anni ruggenti, '70 '80. Mi metto d'impegno e cerco di superare l'esame c0n il buon Michele  :) :) :)

Quote


Azz, se tu facessi esami con me non la supereresti mai la mia materia, io ti faccio domande chiare, tu rispondi in base al cuore e poi sei convinto di aver risposto, non ti farei nemmeno la domanda di recupero smiley-twist

Nella mia vita un po di esami li ho dati, ma purtroppo sono passati troppi anni!!!

Tu dici che non capisci niente di sw e vuoi imboccato lo sketch col cucchiaino, noi ti diciamo che non capiamo un czz di ROS e tu continui a non spiegarci niente di come funziona la cosa, se non sprazzi di notizie, per di più con quesiti da dissipare, fenomenale smiley-zipper

In questo caso mi permetto di contraddirti parzialmente, il mio massimo sarebbe ricevere delle indicazioni / consigli / porzioni di programma da capire bene come funzionano nella loro semplicità e poi studiare a capire come metterli insieme

Tanto per capirci: QUANDO LI INSERISCI I CONDENSATORI??? tu dicevi che erano in serie ed io ti ho suggerito che probabilmente erano in parallelo, poi parli di lato tx o lato antenna, e non metti uno straccio di schema per farci capire cosa intendi.

I condensatori li vorrei inserire dopo aver effettuato il miglior adattamento di CalcRos mediante l'inserimento della giusta somma di L e dopo aver verificato sempre leggendo Calcros il miglior punto di inserimento fra lato TX e lato Antenna dell'accordatore

Lo vuoi risolvere il tuo problema? DEVI farci VEDERE cosa devi fare nelle varie circostanze, ossia abbiamo bisogno dello schema elettrico con le uscite di Arduino che pilotano i XX relé e come tali relé agiscono con i loro contatti per inserire/disinserire (E DOVE) impendenze e condensatori.

ho provato ad inserire una immagine ma senza risultato, mi spiegate come si fa' ???

Senza questa fondamentale informazione andremo a tentoni all'infinito, con uno schema elettrico e qualche domanda di chiarimento invece penso proprio che troveremo rapidamente la soluzione.

Comunque finora ho capito questo:
1 - leggo i valori V1 e V2
2 - eseguo una formula con questi due valori ed ottengo un risultato R1
3 - confronto R1 con RD (preimpostato)
4 - scelta:
     4a: se R1<= RD ---> END (l'antenna è accordata, il valore di ROS è ottimale)
     4b: se R1>RD attivo un'uscita di Arduino (inserimento di un'impedenza, il come lo si capirà dallo schema elettrico)
5 - ripeto i passi da 1 a 4
ma in tutto ciò i condensatori dove stanno? riusciresti ad implementaree completare questo mio schema logico prevedendo tutte le necessarie opzioni? smiley-sweat
Tutto corretto!!!
Se CalcRos > RD inserisci il primo scalino, ricontrolla CalcRos se sempre > RD inserisce secondo scalino e così via fino a quando uno scalino inserito crea un aumento di CalcRos rispetto alla lettura precedente.
A questo punto partendo dal valore più piccolo devono essere disabilitate le uscite fino ad arrivare al miglior ROS possibile. 

PS: come vedi Mauro è nelle mie stesse condizioni, ad un certo punto gli mancano le informazioni ed ha i miei stessi dubbi, quindi io non sono un deficiente smiley



Mi spiegate come fare ad inserire un'immagine così inserisco uno schema simile  quello che vorrei realizzare

Un grande grazie anche a Mauro che vedo si sforza di capire il mio fumoso progetto, appena riesco a postare lo schema penso che si chiariranno molte cose.



grazie

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: paulus1969 on Jun 02, 2013, 09:40 am
CB... CB... Eh... ma erano cose fuori legge, si potevano usare solo 5 W e solo nei 40 canali regolamentari e senza SSB...
Pirati dell'etere!
Non si potevano usare amplificatori, non ho mai usato un amplificatore a 5 valvole (1 pre e quattro a griglia comune) con il quale - quindi - non ho mai comunicato regolarmente con il Sud America e con mezzo mondo.
Bei ricordi, non c'era l'ADSL e neppure i cellulari erano ancora economici e così ci si attrezzava, poi quelli più appassionati e tecnologici ci dilettavamo a fare "esperimenti".

Tornando all'accordatore.
Credo che qui si voglia realizzare un accordatore per tutte le HF.
Un accordatore che copre solo la banda degli 11 metri è più semplice, basta un solo induttore ed uno o due condensatori variabili.

Pensavo di suggerire uno schema con diversi induttori commutabili e due condensatori variabili gestiti da motori, l'induttore dipende dalla banda scelta e poi si regolano i due condensatori misurando le variazioni di ROS conseguenti alla rotazione oraria ed antioraria.

Come si usa "all'antica", senza automazione:
si sceglie l'induttore, si regolano grossolanamente C1 e C2 poi si lavora su C1 fino a trovare il punto ottimale, poi si passa a C2 ed infine si torna su C1. Esistono anche altri schemi.

Una gestione automatica dovrebbe fare le stesse cose.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 02, 2013, 10:32 am
Ciao Paulus

senza dubbio ai tempi della 27 ero giovane..............

veniamo adesso all'accordatore che vorrei realizzare, premesso che ho un accoradatore ex militare nella conformazione roller + condensatore, ha solo un piccolo problema se metto lui sul poggiolo devo togliere quelle quattro piante che soprvvivono alle intemperie.

Premesso questo, vorrei realizzare un accordatore automatico per tutte le HF, dai 180 ai 6 metri, del tipo di quelli commerciali.

L'idea di base è inserimento a scalini, le induttanze in serie e i condensatori in parallelo rispetto al carico (Antenna). Ulteriore scelta da fare è selezionare dove inserire la batteria di condensatori, lato TX o lato Antenna.
Questa è la parte elettromeccanica che vorrei realizzare, i relè che lavoreranno in HF saranno del tipo sottovuoto comandati dai piccoli relè accessori di Arduino.

Per la parte SW spero di essere riuscito a spiegarmi più sopra, ma provo a riepilogare:
1) Per la lettura dei segnali di pilottaggio ho preferito pensare ad un accoppiatore a due trasformatori chiamato TANDEM MATCH da cui prelevo i due segnali, Potenza diretta e Potenza riflessa, che verranno opportunamente filtrati, livellati e adttati alle tensioni ammesse da Arduino.
2) n.1 ingresso per il segnale Potenza Diretta
3) n.1 ingresso per il segnale Potenza Riflessa
4) n.6 uscite per abilitare n.6 relè sul lato L
5) n.1 uscita per abilitare n.1 relè di selzione punto insrimento condensatori (lato Antenna o lato TX)
6) n.6 uscite per abilitare n.6 relè sul lato C

E adesso spero di ricevere tanti 'buoni consigli'  :)  :)  :)

grazie a tutti

Andrea



Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 02, 2013, 01:20 pm
Bene, si cominciano a chiarire le idee allora ti basta preparare una immagine in formato standard (jpg, png, ecc) ideale 640x480 meglio 800x600 (oltre non conviene).
Clicca in basso a sinistra su Additional Options
Cerca la posizione dell'immagine con Sfoglia e poi invia regolarmente il post. Fatto  ;)
Aggiorno la logica e tu controllala di nuovo please:
Comunque finora ho capito questo:
1 - leggo i valori V1 e V2
2 - eseguo una formula con questi due valori ed ottengo un risultato RD
3 - confronto RD con CalcRos (preimpostato)
4 - scelta:
     4a: se RD<= CalcRos ---> END (l'antenna è accordata, il valore di ROS è ottimale)
     4b: se RD>CalcRos attivo l'uscita "1" di Arduino (inserimento di un'impedenza, il come lo si capirà dallo schema elettrico)
5 - ripeto i passi da 1 a 4
     5a: se RD>CalcRos attivo l'uscita "2" (impedenza più grande della precente) e poi ai cicli successivi "3", "4"....."6"
     5a: se CalcRos>RD disattivo l'uscita "1" (la più piccola di quelle attive), poi a seguire "2", "3"...."5"
In tutti questi passaggi memorizzo i valori in modo che alla fine scelgo la combinazione che mi porta ad avere il valore RD più vicino possibile, quindi alla fine ritorno a questa (ma allora c'è qualcosa che non torna nella situazione 4a)
6 - A questo punto inizio lo stesso percorso con altri relé per inserire i condensatori, ancora non capisco se lato antenna o tx deve essere una scelta da fare a priori e resta fissa oppure se va fatta sempre in base alle solite due misure.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 02, 2013, 03:01 pm
Come al solito quoto e rispondo.

Quote


Bene, si cominciano a chiarire le idee allora ti basta preparare una immagine in formato standard (jpg, png, ecc) ideale 640x480 meglio 800x600 (oltre non conviene).
Clicca in basso a sinistra su Additional Options
Cerca la posizione dell'immagine con Sfoglia e poi invia regolarmente il post. Fatto  smiley-wink
Aggiorno la logica e tu controllala di nuovo please:
Comunque finora ho capito questo:
1 - leggo i valori V1 e V2
2 - eseguo una formula con questi due valori ed ottengo un risultato RD

Il risultato della formula è CalcRos, RD è un valore da trovare sperimentalmente ma comunque fisso.

3 - confronto RD con CalcRos (preimpostato)

confronto CalcRos con RD (preimpostato)

4 - scelta:
    4a: se RD<= CalcRos ---> END (l'antenna è accordata, il valore di ROS è ottimale)

4a: se CalcRos<= RD ---> END (accordata)

    4b: se RD>CalcRos attivo l'uscita "1" di Arduino (inserimento di un'impedenza, il come lo si capirà dallo schema elettrico)

4b: se CalcRos> RD attivo l'uscita "1" di Arduino  

5 - ripeto i passi da 1 a 4

5a: se CalcRos> RD attivo l'uscita "2" (impedenza più grande della precente) e poi ai cicli successivi "3", "4"....."6"
5b: se con ultimo inserimento CalcRos>CalcRosmisuraprecedente disattivo l'uscita "1" (la più piccola di quelle attive), poi a seguire "2", "3"...."5" tutto calcolato sull'ultimo valore di CacRosmisuraprecedente (in pratica quando l'inserimento in salita delle induttanze crea un aumento di CalcRos, bisogna disinserire gli scalini più piccoli fino al raggiungimnto del miglior valore possibile.
 

    5a: se RD>CalcRos attivo l'uscita "2" (impedenza più grande della precente) e poi ai cicli successivi "3", "4"....."6"
    5a: se CalcRos>RD disattivo l'uscita "1" (la più piccola di quelle attive), poi a seguire "2", "3"...."5"

In tutti questi passaggi memorizzo i valori in modo che alla fine scelgo la combinazione che mi porta ad avere il valore RD più vicino possibile, quindi alla fine ritorno a questa (ma allora c'è qualcosa che non torna nella situazione 4a)

A mio avviso non serve memorizzare i valori precedentemente ottenuti per andare eventualmente a ripescarli, basta solo memorizzare il CalcRos precedente e quando servirà perche si è inserito troppa induttanaza e/o capacità utilizzarlo per arrivare al miglior valore possibile

6 - A questo punto inizio lo stesso percorso con altri relé per inserire i condensatori, ancora non capisco se lato antenna o tx deve essere una scelta da fare a priori e resta fissa oppure se va fatta sempre in base alle solite due misure.

La scelta va fatta in base alle misure quando inserisci il primo condensatore



Ho allegato un file PDF che è il lavoro di un collega radioamatore americano, NON è farina del mio sacco, però mi piacerebbe alla fine realizzare qualcosa di simile.
Lui si è fermato con un progetto ancora in fase Alfa e non sono riuscito a capire se ha intenzione di portarlo avanti.
Io sarei ben contento di realizzare un fratellino minore ma che funzioni al meglio.

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Maurotec on Jun 02, 2013, 06:36 pm
Quello che c'è nel pdf è più o meno quello che ho realizzato io, ma con i partitori di tensione dove la cosa è più semplice.
Se metti in cascato 3 partitori di il 1° attenua 0.5db il secondo 1db e il terzo 2db, commutando i relè con logica binaria ottieni tutte le attenuazioni da 0db a 3.5db.

Nel caso dei partitori l'ordine di commutazione è conosciuto, nel tuo caso il non conosco l'ordine di inserimento.
Il perchè non lo conosco è semplice, io non ho conoscenze di radio frequenza e adattamento di impedenza ecc, quindi non ho idea
se devo inserire L1 e se il ros è ancora alto ma comunque si è ridotto rispetto a prima cosa devo fare, inserire C1, come stabilisco la necessità di inserire C1 anziché C6, quindi se non è chiaro devi specificare l'ordine di progressione tutto con precisione e dettaglio che anche un tonto saprebbe capirlo, definito ciò si mette a capitolato di progetto.

Capisci che ci sono tantissime informazioni sconosciute a noi e anche a te, perchè ad esempio io potrei descriverti l'ordine preciso di inserimento dei vari relè che compongono un attenuatore a partitori resistivi compensati, potre farti i calcoli di attenuazione in db, in tensione ecc, tu e nussun altro al momento è in grado di fare una tabella contenente l'ordine di progessione e tutto quello che ne consegue.

Use case, cosa sono.
I Casi d'uso sono una serie di descrizioni delle modalità operative possibili e quello possibili ma da impedire, cioè la cosa ovvia è che durante l'inserimenti di una password i caratteri non si vedono e loro sostituzioni vengono mostrati degli asterischi, capisci questo è ovvio ora, ma no 30 anni fà.

Quindi in definitiva non vuoi aiuto a codificare ma vuoi aiuto o collaborazione per questo progetto, di cui al momento c'è solo l'idea e uno schema non tuo di cui puoi spiegare poco.

In definitiva secondo me il problema non è il software ma tutto il progetto che ancora non è definito, dopo la definizione si passa alla codifica.

Ciao.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 02, 2013, 07:10 pm
Come sopra rispondo nel testo per maggio chiarezza.

Quote


Quello che c'è nel pdf è più o meno quello che ho realizzato io, ma con i partitori di tensione dove la cosa è più semplice.
Se metti in cascato 3 partitori di il 1° attenua 0.5db il secondo 1db e il terzo 2db, commutando i relè con logica binaria ottieni tutte le attenuazioni da 0db a 3.5db.

Nel caso dei partitori l'ordine di commutazione è conosciuto, nel tuo caso il non conosco l'ordine di inserimento.
Il perchè non lo conosco è semplice, io non ho conoscenze di radio frequenza e adattamento di impedenza ecc, quindi non ho idea
se devo inserire L1 e se il ros è ancora alto ma comunque si è ridotto rispetto a prima cosa devo fare, inserire C1, come stabilisco la necessità di inserire C1 anziché C6, quindi se non è chiaro devi specificare l'ordine di progressione tutto con precisione e dettaglio che anche un tonto saprebbe capirlo, definito ciò si mette a capitolato di progetto.


I valori di L e di C sono in progressione  1 2 4 8 16 32 i valori reali sono ancora da definire ma la progressione è quella, nel primo giro vanno inseriti in sequenza senza salti o condizionamenti. Una volta arrivati al punto in cui CalcRos anzichè scendere sale allora si deve, secondo la mia idea, disinserire gli scalini di valore più basso partendo sempre dal più piccolo fino ad arrivare al miglior valore di CalcRos.
 


Capisci che ci sono tantissime informazioni sconosciute a noi e anche a te, perchè ad esempio io potrei descriverti l'ordine preciso di inserimento dei vari relè che compongono un attenuatore a partitori resistivi compensati, potre farti i calcoli di attenuazione in db, in tensione ecc, tu e nussun altro al momento è in grado di fare una tabella contenente l'ordine di progessione e tutto quello che ne consegue.


Tutto il ragionameto parte da un valore sconosciuto e random come la lunghezza dell'antenna a cui dovrà essere collegato l'accordatore, antenna che nel tempo e per mille altri motivi può cambiare. Non è una cosa predeterminata, tu hai un pezzo di filo lungo quello che puoi all'altezza da terra per quello che l'installazione ti permette. L'accordatore ha il compito di adattare un valore casuale all'impedenza di antenna del trasmettitore.



Use case, cosa sono.
I Casi d'uso sono una serie di descrizioni delle modalità operative possibili e quello possibili ma da impedire, cioè la cosa ovvia è che durante l'inserimenti di una password i caratteri non si vedono e loro sostituzioni vengono mostrati degli asterischi, capisci questo è ovvio ora, ma no 30 anni fà.

Quindi in definitiva non vuoi aiuto a codificare ma vuoi aiuto o collaborazione per questo progetto, di cui al momento c'è solo l'idea e uno schema non tuo di cui puoi spiegare poco.


Scusami se mi permetto, ma lo schema che ho allegato è uno degli schemi più completi che ho trovato in rete e ho fatto mio inquanto molto bello, completo e rispecchia fedelmente quello che voglio realizzare, anche se ha tutta una parte per conto mio superflua, e comunque mi sembra specifichi più che chiaramente quello che si andrà a pilotare dei semplicissimi relè.
Per quanto riguarda la parte SW ho dichiarato fin dal primo post la mia incapacità a realizzare in autonomia il tutto, dichiarando fin da subito che quanto ho messo insieme sono pezzi copiaincollati da lavori non miei.


In definitiva secondo me il problema non è il software ma tutto il progetto che ancora non è definito, dopo la definizione si passa alla codifica.


Ti garantisco che il progetto è ben definito e ho già tutti i materiali per realizzarlo, cosa che farò non appena la parte SW andrà un po più avanti di dove sono arrivato.




ciao

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 02, 2013, 08:14 pm
Allego la foto del mio primo Arduino al lavoro



e allego anche una foto del lavoro fatto dal collega americano autore dello schema che ho allegato prima.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 02, 2013, 08:25 pm
Dallo schema mi pare di capire però che vengano usati DUE rami di impedenze, uno per ogni uscita (che significa? uno per il centrale e l'altro per massa?) e che il ramo dei condensatori venga collegato o ad uno o all'altro. Tu stai facendo la stessa cosa o hai abolito uno dei due rami di impedenza?
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 02, 2013, 08:49 pm
Lo schema che ho allegato è un progetto è molto completo, fin troppo.
Io pensavo di realizzare solo un ramo L, quello superiore, e il ramo C.
Nei due rami L le bobine dei relè sono in parallelo e Il secondo ramo serve solo in casi particolari.

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 02, 2013, 10:03 pm
1 domanda: Le foto che hai postato sono il tuo circuito ed il suo funzionamento (errato, immagino) su Arduino?
2 domanda: hai ASSOLUTA certezza di aver replicato alla perfezione il circuito hardware o hai dubbi anche lì?
3 domanda: anche i condensatori (a prescindere dal lato di collegamento) dovranno essere inseriti partendo dal più piccolo, come per le impedenze?
4 domanda: hai detto che se alla prima misura RD<CalcRos non c'è da fare nulla, l'impedenza è a posto, perché quando arrivi alla stessa condizione dopo aver aggiunto x impedenze devi eliminare la (o le) più piccola?

Dopo resta da fare solo una cosa, arrivare al dunque, ma servono altri passaggi, il primo dei quali è una specie di tabella in cui indichi il pin di Arduino ed il corrispondente valore di impedenza o di condensatore, inoltre serve il pin con il quale commuti le capacità lato TX o lato antenna, oltre ai due pin analogici con cui leggi le due tensioni, quindi in tutto dovresti aver usato 6+6+1+2 = 15 pin
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Maurotec on Jun 02, 2013, 11:17 pm
@campa
Di ciò che ho scritto ne ha preso 1 %, allora mi tocca fare da me, ma che sia chiaro che non c'è nessun progetto e non insistere perchè al momento è chiaro che c'è solo una idea. Lo schema e il software funzionanti non sono il progetto, da schema e software si può ricavare il progetto.

Capitolato di progetto:
Voce 1 commutazione impedenze.
Obbiettivo: variare L nel range da Lmin a Lmax.
Attuazione: Commutazione di L tramite relè
Logica di attuazione: Connessioni di L in step di L0, dove L0 = Lmin.
Tabbella di possibili valori sequenziali, secondo la commutazione in logica binaria:

PORTA           Descrizione/Stato        Valore Lcomplessivo
0000 0000    Nessun relè eccitato    0
0000 0001    Relè 0 eccitato            0.08uH
0000 0010    Relè 1 eccitato            0.16uH
0000 0011    Relè 0e1 eccitato        0.08+0.16 = 0.24uH
0000 0100    Relè 2 eccitato            0.32uH
ecc

Note: Fare caso ai pesi di bit di un byte e al valore di ogni induttanza 0.08(bit0), 0.16(bit1), 0.32(bit2), 0.64(bit3) ecc.
Le induttanze vengono inserite in modo in logica binaria per un totale combinazione di valori diversi L di 256.
Sarebbe il caso di partire da 255/2, se 128+1 ros peggiora esiguire ramo negativo 128-1 se il ros migliora continua 128(--), e viceversa (rivalutare logica quando è più probabile trovare la giusta L? da nel range 0-32 o  222-255).
Nota di sviluppo: usa una funzione con idx static con auto gestione incremento decremento global.

Rimane da stabilire i nomi di attori, azioni


Ciao.
     

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 03, 2013, 06:19 pm
Quote


1 domanda: Le foto che hai postato sono il tuo circuito ed il suo funzionamento (errato, immagino) su Arduino?

La prima foto, quella con l'LCD è la mia realizzazione del misuratore di ROS, la seconda è la foto del lavoro del collega americano che ha anche realizzato lo schema elettrico di cui sopra

2 domanda: hai ASSOLUTA certezza di aver replicato alla perfezione il circuito hardware o hai dubbi anche lì?

La parte HD è quella dello schema, solo la parte radio frequenza, e un solo ramo L e il ramo C

3 domanda: anche i condensatori (a prescindere dal lato di collegamento) dovranno essere inseriti partendo dal più piccolo, come per le impedenze?

esatto

4 domanda: hai detto che se alla prima misura RD<CalcRos non c'è da fare nulla, l'impedenza è a posto, perché quando arrivi alla stessa condizione dopo aver aggiunto x impedenze devi eliminare la (o le) più piccola?

Inserendo le impedenze non è detto che si arrivi ad un valore molto basso, sicuramente si arriva al miglior valore possibile ma difficilmente è ottimale ed allora si usano i condensatori. Resta da verificare mediante prove pratiche se una volta raggiunto il miglior valore di ROS con le L e poi anche con i C è il caso di rifare il giro una o due volte per migliorare ancora l'accordo. 

Dopo resta da fare solo una cosa, arrivare al dunque, ma servono altri passaggi, il primo dei quali è una specie di tabella in cui indichi il pin di Arduino ed il corrispondente valore di impedenza o di condensatore, inoltre serve il pin con il quale commuti le capacità lato TX o lato antenna, oltre ai due pin analogici con cui leggi le due tensioni, quindi in tutto dovresti aver usato 6+6+1+2 = 15 pin

Attualmente uso come iningressi A5 e A3, e come uscite ho pensato da 0 a 13 utilizzando pin0 per il valore L più basso e il pin6 per la C più bassa, si potrebbe utilizzare il pin 13 per indicare se valore di ROS raggiunto è ottimale o meno 



x MauroTec

Quote


Capitolato di progetto:
Voce 1 commutazione impedenze.
Obbiettivo: variare L nel range da Lmin a Lmax.
Attuazione: Commutazione di L tramite relè
Logica di attuazione: Connessioni di L in step di L0, dove L0 = Lmin.
Tabbella di possibili valori sequenziali, secondo la commutazione in logica binaria:

fino all'ultima riga tutto OK dall'ultima riga in poi mi perdo  :)  :)  :)



Spero di essere riuscito a spiegarmi al meglio

grazie

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: leo72 on Jun 03, 2013, 06:33 pm
Un appunto. Questo tuo modo di quotare mi rende difficile leggere il messaggio.
La risposta si mette sotto al testo quotato. Se devi rispondere a più punti, spezzi con [ / quote] e [ quote] (senza gli spazi) dove devi mettere la tua risposta:

Quote

quanti anni hai?

10

Quote

Dove vivi?

A casa

Quote

Cosa fai?

Nulla.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 03, 2013, 08:29 pm
Leo, oggi sei pignolo  :D dai che si legge anche in nero e rosso :smiley-sweat:, per farti perdonare appena possibile io ti scrivo lo schema logico e tu lo traduci in un bel codice semplice semplice per campa, ok? se non ti va allora chiediamo a campa qualche giorno di pazienza e provo a buttarlo giù io e poi tu lo supervisioni XD

campa: i pin 0 e 1 ti servono per la seriale, se la usi, oppure assieme ai restanti analogici per gestire l'LCD; comunque se il circuito non è fatto ed i pin da definire sono a scelta. Ok fino a qui ci siamo, altre domande:
1 - qual'è la formula che usi per calcolare CalRos? Immagino sia in rapporto alle due tensioni misurate...
2 - quali sono i range di valori in Volt che ci si può aspettare dalle due misure analogiche? Di norma si lavora su base 12V, hai previsto un qualche partitore o i valori sono <=5V?

Guarda che per come la vedo io siamo molto vicini alla soluzione, il ragionamento che ti sta facendo Mauro è più avanti del mio, e probabilmente sarà il destino finale del tuo software, ma io non sono bravo a programmare quindi preferirei operare singolarmente sulle 19 linee e poi magari lasciamo a Leo o a lui il compito di usare i PORT; magari nella dichiarazione dei pin starò accorto ad accorpare tutti gli L e tutti i C, per facilitare il loro lavoro di conversione. SOlo che devi avere pazienza qualche giorno, stasera ho pochissimo tempo e domani e dopodomani niente, quindi se ne parla giovedì, a meno che qualcuno non arrivi prima con uno sketch bell'e pronto; con le risposte che darai a queste ultime domande io avrò la situazione chiara, quindi mi devo buttare giù uno schema pratico e poi lo schema logico, e quindi tradurlo in codice, che poi tu testerai.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 03, 2013, 09:08 pm
Quote

campa: i pin 0 e 1 ti servono per la seriale, se la usi, oppure assieme ai restanti analogici per gestire l'LCD; comunque se il circuito non è fatto ed i pin da definire sono a scelta. Ok fino a qui ci siamo, altre domande:

Non uso la seriale e nemmeno l'LCD per cui le uscite sono tutte utilizzabili per pilotare i relè
Quote

1 - qual'è la formula che usi per calcolare CalRos? Immagino sia in rapporto alle due tensioni misurate...

Code: [Select]

calcRos = ((1 + ( average0 / average1)) / (1 - ( average0 / average1)));

Quote

2 - quali sono i range di valori in Volt che ci si può aspettare dalle due misure analogiche? Di norma si lavora su base 12V, hai previsto un qualche partitore o i valori sono <=5V?

per ora ragiono sui 5V una volta che farò il primo prototipo 'reale' sicuramente si dovrà realizzare un partitore e una protezione per evitare sovratensioni sugli ingressi.
Quote

Guarda che per come la vedo io siamo molto vicini alla soluzione, il ragionamento che ti sta facendo Mauro è più avanti del mio, e probabilmente sarà il destino finale del tuo software, ma io non sono bravo a programmare quindi preferirei operare singolarmente sulle 19 linee e poi magari lasciamo a Leo o a lui il compito di usare i PORT; magari nella dichiarazione dei pin starò accorto ad accorpare tutti gli L e tutti i C, per facilitare il loro lavoro di conversione. SOlo che devi avere pazienza qualche giorno, stasera ho pochissimo tempo e domani e dopodomani niente, quindi se ne parla giovedì, a meno che qualcuno non arrivi prima con uno sketch bell'e pronto; con le risposte che darai a queste ultime domande io avrò la situazione chiara, quindi mi devo buttare giù uno schema pratico e poi lo schema logico, e quindi tradurlo in codice, che poi tu testerai.

Spero di essere stato sufficientemente chiaro!
Un enorme GrAzIe

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Maurotec on Jun 03, 2013, 10:58 pm
Io penso che sia istruttivo creare del codice e dell'hardware provvisorio.

A riposo tutti i relè ponticellano l'impedenza, eccitandoli si apre il ponte e viene introdotta la L.
Visto che la sequenza di introduzione delle induttanze segue la logica di un contatore binario è sufficiente una porta intera composta da 8 bit, purtroppo non ci sono due porte libere nel 328, per cui si deve trovare un modo non naturale per contare in binario.

Io un modo c'è l'ho, nel senso che ho scritto codice, ma non mi ricordo dov'è e ora non saprei scriverlo su due piedi.
Per semplicità si può partire dal pin d8 di arduino che equivale al bit0 di porta B chimato appunto PB0
byte counter = 0;
counter++;
PORTB = counter;

oppure sempre se funziona PORTB++ incrementa di uno.
ferma l'icremento se PORTB > 62 perchè 6 bit tutti accesi vale 63 in decimale
Quando PORTB == 63 tutti i relè sono eccitati e viene quindi introdotto il valore massimo di L perchè tutte le 6 L si trovano in serie.
Ancora non ho capito con quale logica si devono introdurre le C, dopo aver contato da 0 a 63 o tra un conteggio è l'altro, comunque anche per C l'inserimento segue la logica binaria.
se devo introdurre la sequenza:
L0->controllo->C0->L1->controllo->C1->controllo->L0L1->controllo->C0C1->controllo ecc
Si devono incrementare due contatori, un colpo uno un colpo l'altro.

Ciao.



Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 04, 2013, 06:07 am
Quote

Io penso che sia istruttivo creare del codice e dell'hardware provvisorio.

Una prima bozza di HD provvisorio l'ho fatta utilizzando le uscite digitali dalla 8 alla 13, ma se mi dici che è più semplice usare altre uscite io in questo momento posso utilizzare 8 relè ed eventualmente le altre uscite le collego a dei led. Per la parte HD se mi dite come è meglio organizzare la cosa, in riferimento alla parte SW, non ci sono problemi.
Quote

A riposo tutti i relè ponticellano l'impedenza, eccitandoli si apre il ponte e viene introdotta la L.
Visto che la sequenza di introduzione delle induttanze segue la logica di un contatore binario è sufficiente una porta intera composta da 8 bit, purtroppo non ci sono due porte libere nel 328, per cui si deve trovare un modo non naturale per contare in binario.

L'inserimento, io lo avevo pensato sequenziale, come anche il disinserimento quando raggungo un valore inserito troppo alto. Ricordiamoci che tutto il mondo esterno all'accordtore è assolutamente random e può cambiare nel tempo.
Quote

Io un modo c'è l'ho, nel senso che ho scritto codice, ma non mi ricordo dov'è e ora non saprei scriverlo su due piedi.
Per semplicità si può partire dal pin d8 di arduino che equivale al bit0 di porta B chimato appunto PB0
byte counter = 0;
counter++;
PORTB = counter;

oppure sempre se funziona PORTB++ incrementa di uno.
ferma l'icremento se PORTB > 62 perchè 6 bit tutti accesi vale 63 in decimale
Quando PORTB == 63 tutti i relè sono eccitati e viene quindi introdotto il valore massimo di L perchè tutte le 6 L si trovano in serie.
Ancora non ho capito con quale logica si devono introdurre le C, dopo aver contato da 0 a 63 o tra un conteggio è l'altro, comunque anche per C l'inserimento segue la logica binaria.
se devo introdurre la sequenza:
L0->controllo->C0->L1->controllo->C1->controllo->L0L1->controllo->C0C1->controllo ecc
Si devono incrementare due contatori, un colpo uno un colpo l'altro.

Per l'inserimento del ramo C la logica è assolutamente uguale a quella del ramo L, salvo la scelta che va fatta, lato TX oppure lato Antenna, una volta che è stato inserito il primo condensatore.

Con i relè attualmente disponibili le prove con il ramo L le posso fare senza problemi spero nel giro di un paio di giorni di avere gli altri due blocchetti da quattro per poter fare tutte le simulazioni.

grazie

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: leo72 on Jun 04, 2013, 10:03 am

Leo, oggi sei pignolo  :D dai che si legge anche in nero e rosso :smiley-sweat:,

E' una questione di usare il forum in modo corretto e tale da renderlo fruibile a tutti.  ;)

Quote

per farti perdonare appena possibile io ti scrivo lo schema logico e tu lo traduci in un bel codice semplice semplice per campa, ok?

No problem.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 04, 2013, 11:12 am
Ottimo Leo, grazie, allora Campa può Campare tranquillo :smiley-mr-green:
Appena possibile (la mia giornata sul Forum finisce in questo momento....) preparo lo schema pratico e quello logico (passo-passo), così tu lo traduci in firmware ed il nostro amico lo testa.
Buona giornata a tutti.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 04, 2013, 06:35 pm
Grazie ragazzi!!!   :)  :)  :)

resto in trepidante attesa!!!

intanto allego foto del primo pezzo dell'HD, l'LCD visualizza il ROS calcolato come da formuletta di qualche post fa' più atri paramentri indicativi.

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 07, 2013, 06:08 pm
Sto preparando lo schema pratico, appena finisco passo a quello logico, vediamo se in serata riusciamo a fare una prova :smiley-sweat:
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 07, 2013, 07:35 pm
In allegato la descrizione base del Progetto e lo schema descrittivo dei collegamenti. Ho raggruppato i controlli dei relé delle induttanze e dei condensatori per PORT in modo da favorire la programmazione; il relé che commuta i condensatori su TX o ANTENNA è collegato allo stesso PORT (D) dei relé dei condensatori, nel caso venisse comodo raggrupparli.
Intanto che provo a stilare lo schema logico consideratevi tutti arruolati :D Coloro che hanno seguito la discussione o che volessero iniziare ora sappiano che tutte le info necessarie, grazie all'interrogatorio estenuante a cui è stato sottoposto Campa1957, sono nei vari post del Topic, basta rileggere.....
Sono a disposizione per qualsiasi chiarimento, se non ci saranno osservazioni su questa prima parte appena finisco pubblico la logica per gli esperti software; se non impiegassi una settimana di tempo (che non ho) lo scriverei io, gli esperti penso se la caveranno con un'oretta scarsa.
Ho l'impegno di Leo, ma se si fa avanti qualcun altro garantisco io che non si offenderà ;) e se invece non si fa avanti nessuno resterà l'impegno di Leo. :)
Grazie per i contributi che darete.

EDIT: ho integrato lo schema logico per la preparazione del firmware, è parziale e riferito alla sola sezione delle induttanze, se si procederà e dopo collaudo positivo, potremo implementare la gestione dei condensatori.

EDIT: elimino il Progetto con schema logico, che ora ho inserito nel mio ultimo post, in versione aggiornata.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 07, 2013, 09:53 pm
Grande Michele!

questa sera sono stanchissimo........... :~  :~  :~

domani pomeriggio quando rientro studio con attenzione il tuo lavoro e vediamo se ci fosse qualche piccolo aggiustamento da fare, da una prima occhiata direi che non sarà il caso............

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 07, 2013, 10:02 pm
ok, buon riposo allora :smiley-sleep:; naturalmente prima di procedre aspetto la tua valutazione, ho qualche dubbio su quanto ho "spiegato" riguardo la tecnica di test delle impedenze.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 08, 2013, 06:05 pm
Grande Michele!!!

riporto di seguito con il copia e incolla, spero quotato al meglio, alcuni suggerimenti

Quote


INTRODUZIONE
Obiettivo:
realizzare un accordatore di antenna per le HF automatico.
Tecnica:
Lettura di due valori di tensione (Potenza diretta e Potenza riflessa) applicati a due ingressi analogici e
calcolo del ROS mediante la formula
ROS_reale = ((1 + (pot_rifl / pot_dir)) / (1 - pot_rifl / pot_dir)));
pot_rifl e pot_dir sono frutto della media di xx letture dei due valori analogici.
Confronto tra ROS_reale ed ROS_ideale (costante 1.5); se inferiore la procedura non è richiesta, se >=
invece parte la procedura correttiva.
Inserimento di un massimo di 6 induttanze in serie al centrale d'antenna, con altrettanti step, per ottenere
il miglior valore di Ros possibile. Si usando 6 relé pilotati da altrettanti pin di Arduino.
Inserimento di un massimo di 6 condensatori in parallelo al centrale d'antenna, con test automatico per
valutare se l'inserimento va fatto lato TX oppure lato Antenna. Si usando 6 relé pilotati da altrettanti pin di
Arduino più un settimo relé per la commutazione TX/ANT.
Si può prevedere un pin che accenda un LED verde quando la procedura è finita e solo se il ROS ha
raggiunto un livello corretto.
Connessioni ai pin del mega328 (pin fisici, v. schema pighixxx per connessioni Arduino):
PIN 14 - 15 - 16 - 17 - 18 - 19 (PB0 ÷ PB5) Controllo dei 6 relé delle induttanze
PIN 2 - 3 - 4 - 5 - 6 - 11 (PD0 ÷ PD5) Controllo dei 6 relé dei condensatori
PIN 12 (PD6) Controllo del relé di commutazione TX/ANT (stesso PORT dei relé dei condensatori)
PIN 13 Controllo del LED ROS_OK
PIN 23 (A0) Ingresso segnale Potenza riflessa
PIN 24 (A1) Ingresso segnale Potenza diretta
PIN 25 - 26 - 27 - 28 (A2 ÷ A5) Pin analogici liberi da DISABILITARE
Logica del firmware:
1. Imposto ROS_ideale <1.5
2. Leggo A0 x volte e faccio la media (= pot_rifl)
3. Leggo A1 x volte e faccio la media (= pot_dir)
4. Calcolo ROS_reale= ((1 + (pot_rifl / pot_dir)) / (1 - pot_rifl / pot_dir)));
5. Confronto ROS_reale e ROS_ideale
a. Se ROS_reale<ROS_ideale l'accoppiamento TX/ANTENNA è corretto e la procedura termina
b. Viceversa (ROS_reale>=ROS_ideale) inizio la procedura correttiva
Procedura correttiva
6. Attivo il relé PB0
7. Ripeto da 2 a 5b

7. Ripeto da 1 a 5b
Quote

8. Se è ancora vero il punto 5b attivo ANCHE il relé successivo (PB0+PB1)
9. Ripeto da 2 a 5b

9. Ripeto da 1 a 5b
Quote

10. Se è ancora vero il punto 5b confronto ROS_reale(PB0) con ROS_reale(PB0+PB1)
a. se ROS_reale(PB0)> ROS_reale(PB0+PB1) lascio entrambi accesi
b. INVECE Se ROS_reale(PB0)< ROS_reale(PB0+PB1) significa che la coppia PB0-PB1 è eccessiva
c. Spengo il relé PB0 (resta acceso solo PB1)
d. Ripeto da 2 a 5b

d. Ripeto da 1 a 5b
Quote

11. Attivo il relé successivo (PB2)
12. Ripeto da 7 a 10d confrontando PB0+PB1 con PB0+PB1+PB2
13. Se necessario dopo 10d ripeto la procedura spegnendo anche PB1 (resta acceso solo PB2)
Forse a questo punto è meglio spiegare come avviene la procedura, fornendo ulteriori info, per ora restiamo solo sulle impedenze. Le 6 impedenze sono tra loro in rapporto "binario"; es. supponendo che la prima sia 1?H, le successive sono 2-4-8-16-32?H. La procedura inizia (p.es. ROS=3.5) inserendo in serie al centrale d'antenna 1?H, si ripete la misura, se necessario (p.es. ROS=3) si inserisce anche la 2?H che in serie alla precedente fa 3?H; se il risultato è migliore del precedente (p.es. ROS=2) si procede inserendo anche la 4?H (totale 7?H); se invece il risultato con 3?H fosse peggiore (p.es. ROS=3.2) allora si elimina la 1?H per testare la sola 2?H. Tutto questo metodo si ripete fino ad ottenere il valore di ROS più vicino possibile a 1.5, a quel punto si passa all'equivalente procedura coi condensatori.
Andando avanti mettiamo di essere arrivati al 5° passaggio (31?H) in una progressiva diminuzione del ROS, ora aggiungiamo la 6° (63?H) e notiamo invece un aumento del ROS, dobbiamo trovare la miglior combinazione possibile eliminando una per volta le impedenze da 1?H a 16?H, partendo dalla più piccola e via via eliminando ANCHE la successiva cioè si testa: 63-1, 63-3, 63-7, ecc, saltando i passaggi intermedi (almeno per il momento procediamo così, altrimenti un ciclo negativo diventa lunghissimo…).
Quindi io direi di preparare il firmware considerando le sole impedenze, vediamo i risultati che ottiene Campa1957 col suo circuito e poi procediamo nei giorni a venire.

Propongo di ripartire dal punto 1 anziche dal punto 2 inquanto il valore di ROS potrebbe scendere sotto il valore 'ottimale' dopo l'inserimento di qualunque scalino e a quel punto tanto vale bloccare il processo.
Per poter fare meglio la verifica di funzionamento potrebbe essere utile inserie un piccolo ritardo, da ridurre poi a pochi millisecondi, dopo l'inserimento di ogni scalino, durante il mio tentativo di cui ho allegato il listato mi permetteva di variare il valore di comparzione.

Per il resto, quanto hai scritto, è la perfetta trascrizzione del mio progetto.

Grazie

Andrea

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Maurotec on Jun 08, 2013, 08:21 pm
Quote
Forse a questo punto è meglio spiegare come avviene la procedura, fornendo ulteriori info, per ora restiamo solo sulle impedenze. Le 6 impedenze sono tra loro in rapporto "binario"; es. supponendo che la prima sia 1?H, le successive sono 2-4-8-16-32?H. La procedura inizia (p.es. ROS=3.5) inserendo in serie al centrale d'antenna 1?H, si ripete la misura, se necessario (p.es. ROS=3) si inserisce anche la 2?H che in serie alla precedente fa 3?H; se il risultato è migliore del precedente (p.es. ROS=2) si procede inserendo anche la 4?H (totale 7?H); se invece il risultato con 3?H fosse peggiore (p.es. ROS=3.2) allora si elimina la 1?H per testare la sola 2?H. Tutto questo metodo si ripete fino ad ottenere il valore di ROS più vicino possibile a 1.5, a quel punto si passa all'equivalente procedura coi condensatori

No, non ha senso dopo aver inserito la 1uH inserire anche la 2 uH, semmai ha senso disinserire la 1uH è inserire la 2uH,
il prossimo inseriemento segue il conteggio binario
decimale    binario    valore in uH
1                000001   1uH
2                000010   2uH
3                000011   1uH + 2uH = 3uH
4                000100   4uH
5                000101   4uH + 1uH = 5uH
continua fino a
63              111111   1uH + 2uH + 4uH + 8uH + 16uH + 32uH = 63uH

bestROS = 1.5
Lstep = 0;
oldROS = calcROS(); // oldROS = 3
ciclo:
{  // Lstep = 0
   if (bestROS{1.5} < oldROS{3}) {
       if (Lstep > 0)
          oldROS = bestROS;

       Lstep++{1}
       bestROS{2.8} = calcROS(); // oldROS = 2.8
   } else {
       
   }
}

ciclo:
{  Lstep = 1
   if (bestROS{2.8} < oldROS{3}) {
       if (Lstep > 0)
          oldROS{2.8} = bestROS{2.8};

       Lstep++{2}
       bestROS{2.0} = calcROS(); // oldROS = 2.1
   }
}

ciclo:
{  Lstep = 2
   if (bestROS{2.0} < oldROS{2.8}) {
       if (Lstep > 0)
          oldROS{2.0} = bestROS{2.0};

       Lstep++{3}
       bestROS{2.1} = calcROS(); // oldROS = 2.1
   }
}

ciclo:
{  Lstep = 3
   if (bestROS{2.1} < oldROS{2.0}) {
       if (Lstep > 0)
          oldROS = bestROS;

       Lstep++{4}
       bestROS{2.0} = calcROS(); // oldROS = 2.8
   } else {
       Lstep{3} è la migliore configurazione
   }

}

Ciao.

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 08, 2013, 10:01 pm
Andrea, il punto 1 serve solo per fissare inizialmente il valore minimo di ROS da correggere, la verifica viene effettuata ogni volta al punto 5a, infatti c'è scritto che se siamo OJ la procedura termina  ;)

Mauro: hai perfettamente ragione, seguendo la logica binaria provo tutti i valori e quando arrivo ad un ROS superiore al precedente mi basta tornare indietro di un passo, la cosa apparentemente allunga ma di fatto si semplifica notevolmente. Allora interrompo il mio articolo e rimetto mano al "Progetto" e riscrivo la logica. Come ho detto però io mi fermo qui perché non sono in condizioni di scrivere in tempo decente il codice da far testare a Campa1957, quindi spero che tu abbia voglia e tempo di arrivare fino in fondo, altrimenti mi tocca bussare da Leo che intanto latita..... :smiley-sweat:

EDIT: allego il Progetto modificato sulla base del prezioso suggerimento di Mauro; resta sempre l'invito ai softwaristi bravi di voler tradurre questa logica in uno sketch da far testare a Campa1957, non mi deludete!! XD
Mi era sfuggito un particolare: dopo l'attivazione di una nuova combinazione di relé conviene inserire un ritardo fisico per dare il tempo alle impedenze di svolgere il loro lavoro, quindi si può passare ad una nuova lettura, è sufficiente un delay(2000), a ridurlo ci siamo sempre.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Maurotec on Jun 08, 2013, 11:13 pm
Quote
Mauro: hai perfettamente ragione, seguendo la logica binaria provo tutti i valori e quando arrivo ad un ROS superiore al precedente mi basta tornare indietro di un passo, la cosa apparentemente allunga ma di fatto si semplifica notevolmente.


Si, dipende, cioè se la configurazione migliore è la 63° li devo scorrere tutte da 0 a 62 per scoprire la 63° è meglio della 62°, per questo nei post precedenti ho ipotizzato l'idea di partire dal centro, cioè da 64 / 2 (perchè da 0 a 63 ci sono 64 configurazioni diverse), quindi si parte da 32.

Questa volta l'algoritmo prima deve sceglire il senso, cioè se incrementando ROS peggiora, non resta che fare la cosa opposta cioè decrementare.

Però se per caso estremo il ROS migliore si trova nella configurazione 2, per poi dopo 2 ore trovarsi nella configurazione 63, devo per forza  testare tutte le configurazioni intermedie. Un decisioni in merito alla logica va presa appunto a ragion veduta e al momento non sappiamo cosa è più saggio.

Estrema:
Sicuramente è possibile stabilire qualè la differenza di ROS tra una configurazione e l'atra successiva, es Conf[23] e Conf[24], che per lavorare con i numeri la ipotizzo io a caso attribuendogli un valore di 0.1 ROS, quindi es Conf[23]-ROS1.8 e Conf[24]-ROS1.8 - 0.1.
Sicuramente è possibile creare una tabella, in base al ROS come valore assoluto con riferimento ad una configurazione di default, che potrebbe essere 64/2, quindi se con ROS= 2 la differenza tra configurazioni adiacenti vale 0.1, con  ROS = 3 la differenza tra configurazioni adiacenti è 0.2, ecc. Questa tabella potrebbe essere il software stesso a compilarla, anzi spedisce i dati al computer dove c'è un programma che li archivia di modo che si possano studiare al fine di determinare un algoritmo che possa ad esempio decidere di saltare 5 configurazioni di colpo perchè la tabella dice che almeno 5 configurazioni più in la si dovrebbe trovare il migliore dei ROS, magari non è così, ma bastano alcune iterazioni per vedere se la migliore è la precedento o la successiva, comunque un bel salto di 5 velocizza di molto l'algoritmo.

Il tempo che l'algoritmo impiega per trovare il miglior ROS è fondamentale, perchè più allunghiamo il tempo più il ROS cambia per cause ambientali e ad esempio la configurazione scartata ora potrebbe essere quella migliore.

Io non posso codificare lato arduino, perchè uso il C nudo è crudo è sono una schiappa con Arduino core, ci ho perso la mano, quindi non scrivo codice intero, se possibile scrivero spezzoni di codice C generico, ma l'impegno non posso neanche prendermelo perchè sto scrivendo un protocollo PC to arduino e di tanto in tanto divago quando mancano le ide e vengo qui sul forum. Però non vorrei affatto si sottovalutasse il contributo che sto dando in merito alla analisi del problema e alla logica del programma. In definitiva Michele come hai detto tu l'obbiettivo è realizzare il pezzo di programma che gestisce solo L, si lavora su questo e quando lo si ritiene opportuno si passa ad altro, no perchè il codice che funziona mostra lati del problema che prima non apparivano lampanti.

Ciao.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 08, 2013, 11:37 pm
Qui non si sottovaluta niente e nessuno, ci mancherebbe! Ognuno apporta il proprio contributo e tutto è importante ai fini della risoluzione del problema, resta il fatto che il codice va scritto pr Arduino, quindi certamente i tuoi suggerimenti sono più che validi ai fini della realizzazione dello sketch, chi sa programmare è perfettamente in grado di convertire il tuo C in linguaggio "arduinico"; io potrei riuscire a scriverlo ma mi occorre molto tempo, perché ogni volta che scrivo uno sketch sto sempre lì con manuale alla mano, riga per riga, una faticaccia, ma nemmeno io ho tutto questo tempo, specialmente ora che ho iniziato a scrivere l'articolo sul Frequenzimetro e sono ancora alle prese con l'ottimizzazione del mio sketch.
MI piace anche la logica dell'inizio con la lettura dei due valori centrali della scala, per scegliere la "direzione" di inserimento, ma a questo punto bisogna necessariamente "arruolare" un'anima pia che se voglia tradurre in codice quanto abbiamo stabilito; a me non sembra, almeno sulla carta, una cosa molto impegnativa, ho visto alcuni qui sul Forum scrivere decine e decine di righe di codice in qualche minuto, però ora non mi sento nemmeno più di sollecitare Leo, se vuole si fa avanti lui, altrimenti è giusto rispettare la libertà di tutti, ognuno ha i suoi propri impegni.

Andrea, ho visto che sei combinato pure tu malaccio quindi non ci provo proprio a dirti di iniziare a scriverlo, però se non troviamo nessuno forse la strada più semplice è quella di iniziare a cimentarti, su un pezzo di sketch già scritto è più semplice dare una mano. Personalmente ho mantenuto l'impegno preso e continuo a farlo, potrò anche mettermi a scrivere lo sketch, ma questo non potrà essere prima di fine mese, ho davvero troppi casini, ma almeno così una scadenza l'abbiamo. Se non troviamo nessuno tu inizia a scrivere e pian piano arriviamo a qualcosa di decente. ok? Però se decidi di partire fallo da 0, cancella tutta quella roba, ed inizia passo-passo.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: leo72 on Jun 09, 2013, 12:38 am
Scusate mi ero dimenticato di questa discussione..... allora lo schema logico "giusto" è quello dell'ultimo post di Mike?
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 09, 2013, 01:24 am

Scusate mi ero dimenticato di questa discussione..... allora lo schema logico "giusto" è quello dell'ultimo post di Mike?

Figurati Leo, ma chiarisco che quella dell'altra sera era solo una battuta, non sei impegnato a far nulla, ma se vuoi è graditissimo :)
Ciò che ti serve eventualmente è il mio allegato ed una lettura dei 4 post precedenti al tuo, ci sono info importanti su quanto ha detto e consigliato Mauto e su quanto ho pensato di recepire io....
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: paulus1969 on Jun 09, 2013, 09:01 am


Mi era sfuggito un particolare: dopo l'attivazione di una nuova combinazione di relé conviene inserire un ritardo fisico per dare il tempo alle impedenze di svolgere il loro lavoro, quindi si può passare ad una nuova lettura, è sufficiente un delay(2000), a ridurlo ci siamo sempre.


Secondo me è troppo.

Un altro dettaglio mi sfugge.
Il trasmettitore rimane in trasmissione tutto il tempo?
Non sarebbe meglio mettere un altro PIN che manda in trasmissione il trasmettitore solo per il tempo strettamente necessario alla misura del ROS?

Code: [Select]

SCHEMA LOGICO:
1 TX ON
2 MISURA ROS
3 TX OFF
4 IF ROS <= 1.5 THEN GOTO 7
5 COMMUTAZIONI VARIE L - C
6 GOTO 1
7 END


(Perdonatemi il simil-basic)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 09, 2013, 09:06 am
Ciao a tutti,

l'inserimento binario, a mio modesto parere potrebbe avere pregi e difetti, sicuramente l'inserimento è più lineare, però gli inserimenti sono parecchi.

Sottolineo che la scelta di utilizzare 6 scalini è stata da me presa in considerazione al numero delle uscita di Arduino UNO, gli accordatori Belli hanno da 8 a 10 scalini, al fine di garantire un ROS ancora migliore ai nostri poveri TX.
Sicuramente l'idea di partire dal centro della tabella e decidere da che parte 'andare' magari utilizndo ancora con un po' di salti calcolati ottimizzerebbe di molto i tempi e gli inserimenti, però temo che le letture con valori molto alti di ROS possano essere poco affidabili sulla direzione che posso suggerire.

Nel caso si decidesse che le combinazioni di 8 oppure 10 scalini possono essere gestite senza grossi problemi SW il primo blocco (L) lo potrei testare su Arduino UNO e poi crescendo il progetto utilizzare un MEGA, spero di non aver detto un'ersesia ma mi sembra sia possibile migrare il SW da uno all'altro senza grossi problemi.

Non è da trascurare che i relè che lavorano in RF non gradisono tanti cicli di lavoro (sono sempre tirati per il collo, gli unici più robusti sono quelli sottovuoto, ma costano un botto!)

GrAzIe

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: leo72 on Jun 09, 2013, 11:13 am
Oggi vedo se butto giù 2 righe di sketch (lavoro permettendo..  :smiley-roll-sweat:)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 09, 2013, 12:07 pm
Con i normali accordatori la trasmissione avviene per tutto il tempo dell'operazione, il trasmettitore in questione è proprio un apparato, non è uno schedino, quindi bisognerebbe usare un altro relé per chiudere il contatto del microfono. C'è un periodo di stabilizzazione quando si avvia la trasmissione, complichiamo troppo la cosa, ma queste comunque sono finezze, una volta giunti a fine lavoro, possiamo poi correggere ogni cosa; il tempo del delay è indicativo, ma qui hai a che fare con RF non più con controllori, quindi la dilatazione dei tempi ci sta, in pratica è come se tu tagliassi il filo dell'antenna per inserire in serie un'induttanza, subito dopo il TX cambierà comportamento; se non metti un ritardo decente corri il rischio di fare una lettura falsata della "nuova" potenza e sballare tutto il restante procedimento; per ora lascia tranquillamente 2sec, consideralo una sorta di debug, sarà poi Andrea a dirci se si può diminuire e di quanto.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: paulus1969 on Jun 09, 2013, 12:53 pm
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.

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 09, 2013, 01:05 pm
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


 
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 09, 2013, 01:34 pm

Oggi vedo se butto giù 2 righe di sketch (lavoro permettendo..  :smiley-roll-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 ]:D 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.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Maurotec on Jun 09, 2013, 01:46 pm
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.


Quote
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.
 
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 09, 2013, 02:10 pm
Lontano da me l'idea di incasinare le cose..........  :)   :)   :)

Quote

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.
Quote

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!!!
Quote

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
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 09, 2013, 02:18 pm
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
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Maurotec on Jun 09, 2013, 02:26 pm
Quote
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 (100*64)/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.

Quote
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.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 09, 2013, 02:54 pm
Quote

Quindi se mi tengo largo è dico che ogni commutazione avviene ogni 100ms, 64 commutazioni richiedono (100*64)/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
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: leo72 on Jun 09, 2013, 03:16 pm
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
:D
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 10, 2013, 11:51 am
OK, scusate l'assenza forzata, ma nell'unico momento libero il Forum non funzinabava, ieri pomeriggio  ]:D
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.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 10, 2013, 09:53 pm
Andre, sei rimasto fulminato al primo tentativo? :D Dai tira fuori i problemi che stai incontrando oppure dacci i primi risultati, siamo curiosi :)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 11, 2013, 05:47 am
Ciao a tutti,
come ha detto Michele sono stato letteralmente fulminato dal lavoro di Leo72  :smiley-eek:

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

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 11, 2013, 10:18 am
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?
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: leo72 on Jun 11, 2013, 10:31 am
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  ;)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 11, 2013, 01:24 pm
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ì....
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: leo72 on Jun 11, 2013, 02:08 pm
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.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 11, 2013, 02:23 pm

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 :smiley-mr-green: allora non hai letto il mio schema :smiley-sweat: i relé sono 6+6 e ti ho indicato anche le relative uscite, che spero tu abbia rispettato, altrimenti davvero qui facciamo Babilonia :smiley-yell: 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.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: leo72 on Jun 11, 2013, 02:59 pm
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.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 11, 2013, 07:28 pm
Ciao a tutti,

grazie per il grosso lavoro fatto!

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

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

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 15, 2013, 10:37 am
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!  :)
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
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 15, 2013, 10:46 am
Finalmente ho capito! Vedi che quando vuoi.. XD Quindi tu manualmente generi il ROS ma la risposta è poi automatica, allora va bene anche se vedrai che nelle prove SERIE il ROS non si comporterà allo stesso modo, ma comunque a noi interessa il meccanismo di massima. Ok allora aspettiamo l'esito delle prove. :)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 15, 2013, 11:05 am
Nel mio post precedente mi sono dimenticato di dire che le misure le faccio con un'altra scheda Arduino UNO su cui è montato un LCD 2x16 che visualizza le due tensioni e il ROS calcolato con la formuletta che sappiamo oltre a una teorica potenza in uscita.
Penso la lettura possa essere affidabile e di continuare le prove con i due Arduino in parallelo salvo vostre diverse indicazioni.

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 15, 2013, 11:09 am
sì, va bene, poi vedremo di ottimizzare tutto quanto alla fine.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 23, 2013, 08:19 am
Ciao a tutti,

scrivo questo post solo per dire che non ho accantonato il progetto, in tutto questo tempo sono solo riuscito a mettere insieme tutte le componenti HD, mancano solo i collegamenti al riduttore di tensione 12 --> 5V.
Spero domani di riuscire a fare gli ultimi collegamenti e caricare il SW.

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: leo72 on Jun 23, 2013, 08:32 am
Noi non scappiamo  ;)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: menniti on Jun 23, 2013, 12:51 pm

Noi non scappiamo  ;)

anche perché ci acchiapperebbero subito :D
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore HF
Post by: Campa1957 on Jun 24, 2013, 06:59 pm
Ciao a tutti,

finalmente sono riuscito a collegare i blocchi di relè, alimentarli e caricare il programma di Leo.
Ho collegato sui pin A0 e A1 i due segnali (diretta e riflessa) generati tramite due potenziometri multigiri.
Non ho ancora collegato le resistenze per simulare l'inserimento delle induttanze.

non trovando un punto di 'pareggio' vengono inseriti tutti i sei relè!

Spero domani di riuscire a fare il simulatore con le rsistenze

Resto in attesa di vostri consigli ...........

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Jun 25, 2013, 07:06 pm
se vengono inseriti tutti e sei significa che i valori usati sono insufficienti , prova a raddoppiarli o anche a triplicarli
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jun 26, 2013, 06:19 pm
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
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Jun 26, 2013, 08:42 pm
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  ;)
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  :smiley-sweat:
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jun 27, 2013, 08:30 pm
Aiutino......   :smiley-red:  :smiley-red:  :smiley-red:
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Jun 27, 2013, 09:19 pm
Basta mettere un delay fra un cambio di uscita ed il successivo.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jun 29, 2013, 12:54 pm
?   :smiley-red:  :smiley-red:  :smiley-red:
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Jun 29, 2013, 02:09 pm
Però non t'imbranare, altrimenti non finiremo mai! :smiley-sweat: 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....
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jun 29, 2013, 05:32 pm
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???  :smiley-red:

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Jun 30, 2013, 12:23 pm
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 :smiley-roll-sweat:
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jun 30, 2013, 01:15 pm
Resto in attesa di vostri consigli............. magari anche su dove infilare delay ()   :smiley-red:

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
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Jul 01, 2013, 08:48 pm
Scusate ma oggi sono stato fuori casa quasi tutto il giorno.
Prova ad inserire alla riga 59, prima del while (!exit) un delay(1000):

Code: [Select]

         delay(1000);
    } while (!exit);
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 02, 2013, 06:32 pm
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!  :)  :)  :)
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


Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Maurotec on Jul 02, 2013, 10:30 pm

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

Code: [Select]

         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.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Jul 02, 2013, 10:34 pm

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.

Quote

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.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 03, 2013, 05:26 pm
Quote

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


Quote

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

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Jul 03, 2013, 05:33 pm
ma non dovevano essere induttanze? le resistenze si comportano in modo molto diverso!
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 03, 2013, 06:26 pm
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
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Maurotec on Jul 09, 2013, 07:55 pm
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.  ]:)

Che fine hai fatto?

Ciao.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Jul 09, 2013, 08:02 pm
tira a Campare :smiley-yell:
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 13, 2013, 11:48 am
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
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Jul 13, 2013, 12:14 pm
Andrea, io non mi sono accomunato al post di Mauro, ognuno scrive quello che pensa ed io lo rispetto, ma la mia era solo una battuta relativa al fatto che ogni tanto appari sul Forum come il topolino che esce dalla tana per fare scorta di formaggio e poi scompari per giorni e giorni, il perché l'hai davvero già spiegato, quindi ci si scherza su XD
Detto questo neanche Mauro mi è sembrato poi così polemico (c'è anche una faccina a dimostrarlo) da meritarsi la tua indignazione; in fondo si tratta di gente che ti sta dando una mano ed è anche giustamente curiosa di come va a finire il progetto.
Forse hai beccato un pessimo momento per rispondere....
Ciao
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 13, 2013, 01:21 pm
Ciao Michele, assolutamente non volevo rispondere a te in tono polemico!!!

Probabilmente sono troppo stanco per apprezzare un po' di ironia...................... .

Spero al più resto di fare le prove che ormai latitano da molti giorni e poter proseguire il progetto tutti insieme sia qui che si Arifidenza.

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Maurotec on Jul 14, 2013, 03:46 am
Aspè campa, quindi io non posso vedere i pdf e in genere i documenti allegati ai post di ARIFidenza, ma contribuisco al progetto accordatore. Purtroppo io vedo uno sbilanciamento a sfavore mio, e quindi non quello che ho dato ho dato, per il resto mi tiro fuori. Poi se vuoi creare un repositor su cui ostare il progetto sotto i termini di una licenza libera sicuramente qualche contributo da parte mia ci sarà.

Michele ha detto bene, qui ognuno esprime il proprio parere personale, e agisce per proprio conto, quindi se polemica deve essereci la sollevi nei mie confronti.

Evidentemente io l'ho buttata li, è aggiunto la faccina indiavolata, ma ciò non vuol dire che il problema per me è reale. L'informazione condivisa deve essere totale. Il fatto che io non ne capisca di Radio Frequenza non vuol dire che non ho le basi di elettronica/elettrotecnica per arrivare a comprendere le discussioni tecniche pertinenti l'accordatore, quindi non è da escludere che i documenti inerenti lo sviluppo del progetto siano di mio interesse, essendo a me preclusi i contenuti allegati ai post di ARIFidenze e non essendo un radio amatore, non posso iscrivermi al forum di quel sito. Quindi non si tratta di polemica sterile ma di effettivo svantaggio, ed è per questo che mi tiro fuori.

Ma ripeto questo vale per me.

Ciao.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 14, 2013, 11:41 am
Ciao Mauro,

molto probabilmente ho capito male e risposto peggio  :smiley-red:

Se ho caito bene tu non essendo iscritto non riesci a vedere delle parti del sito?
Io purtroppo non riesco a verificare la cosa dal mio PC!

Il progetto dell'accordatore l'ho già scritto più volte è una cosa che mi gira in testa da parecchi anni e aver trovato chi mi da una mano nella sua realizzazione mi fa molto piacere.

Purtroppo non ho le capacità per creare un posto dove tutti possano collaborare a questo progetto, il mio obiettio è di rendere totalmente pubblico e disponibile a tutti il mio progetto HD e se riusciremo a mettere insieme un progetto funzionanate per quanto di mia competenza sarò ben contento che chiunque sarà interessato alla cosa possa avere la massima disponibilità di quanto messo in piedi.

aver postato i link incrociati penso dimostri quanto sopra, poi se i gestori di Arifidenza hanno inserito regole più restrittive posso provare a chiedere lumi ma non sono certo io che posso chiedere cambiamenti.

Se mi spieghi meglio il problema di accesso ad Arifidenza vedo di scrivere ai gestori per chiedere se è possibile fare qualcosa.

ciao

Andrea

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Jul 14, 2013, 08:07 pm
La cosa è semplice: se un utente è accreditato e registrato può accedere ai file allegati, altrimenti può solo leggere la discussione, è una forma di restrizione che hanno molti siti. Altri, come Grix, ti impediscono l'accesso alle varie Guide e Tuorial, scritte gratuitamente dagli utenti, se non raggiungi un certo livello mediante numero di post.
Penso che Mauro non dovrebbe prendersela tanto in quanto il materiale è pubblicato anche qui e se non lo fosse sarebbe tua giusta azione pubblicarlo anche qui, così nessuno di noi avrebbe necessità di andare su un altro sito, e la cosa si chiude senza problemi.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 14, 2013, 08:20 pm
Non mi ero accorto di questa limitazione su Arifidenza, sarà mia cura postare anche qui eventuali allegati o cose interessanti che potrebbero non essere visualizzati a chi non è iscritto.

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Jul 14, 2013, 08:49 pm
Ottimo Andrea, grazie, personalmente ritengo che la questione si possa chiudere, allora aspettiamo i tuoi prossimi risultati, ovviamente quando ti sarà possibile. Ciao
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Maurotec on Jul 15, 2013, 12:14 pm
Per creare un repositor dove depositare il progetto puoi partire dalla voce di wikipedia riguardo a GIT.
Il mio progetto è depositato su gitorius https://gitorious.org/ (https://gitorious.org/)
Quando depositi un progetto, tu sei l'autore e quindi il progetto è tuo e nussuno può dire diversamente.
Tu puoi ricevere contributi al progetto e sarà compito tuo gestire questi contributi e rendere noto il contributo, sia il nome di chi ha contribuito, sia come, specificando in modo sintetico il problema che ha risolto e se possibile il codice o la logica suggerita e poi adottata dal progetto. Puoi anche chiedere ai contribuitori di curare loro un trafiletto dove spiega (come, perchè ecc) il contributo che ha apportato al progetto.
Il contributo è libero e non c'è garanzia che trovi posto nel progetto, in sostanza è come un consiglio, che può essere preso o scartato, e non c'è necessità di motivare lo scarto.

Quindi Campa1957, io ti consiglio di dedicare del tempo per creare un repositor su cui depositare il progetto e tutti i file, accessori, documentanti, schematici definitivi o di sperimentazione. La potenziale visibilità del progetto è globale, quindi i contributi possono venire da tutto il globo.

Capisco che la cosa ti spaventi, ma qualcosa devi pur farla tu, e il tuo progetto, se ad esempio creassi io il repositor il progetto sarebbe a nome mio e dovrei gestirlo io, quindi se vuoi essere l'autore del progetto ti devi dare da fare per gestirlo usando strumenti adeguati. Il forum non è uno strumento adeguato, ci sono le maillist, ci sono le chat e ci sono i repositor su cui depositare i progetti gratuitamente.

Quello di creare io il repositor è solo un esempio e se sapessi come crearlo per poi darlo in mano a te, lo farei ma a quello che so la cosa non è possibile.

Gli strumenti GUI per GIT esistono anche per windows, ma di più non posso sapere perchè non uso windows, non so neanche a che versione sono arrivati.

Il repositor con git è sia locale che remoto, quando apporti modifiche al progetto in locale rimane storia di quella modifica tanto che puoi estrarre le versioni antecedenti a quella attuale. Dopo una o più modifiche (commit) al repositor locale avrai necessità di mettere in sincro il repositor locale con quello remoto, aggiornando il repositor remoto che alla fine sarà idendico a quello locale. Chi vuole collaborare clona il repositor remoto (creando un clone remoto) e clonando in locale sul proprio computer per lavora sul progetto, quando questi e pronto, farà l'aggiornamento sul repositor remoto clonato e ti farà richiesta di merge.

Il merge ha lo scopo di unificare le modifiche, anche se tu nel frattempo hai modificato la tua copiare remota.

Gestire il progetto non è cosa semplice, ma è fattibile ed è la migliore soluzione per tutti.

Ciao.


Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: lestofante on Jul 15, 2013, 12:20 pm
guarda, per un novello consiglio github visto che recentemente è possibile caricare/modificare/cancellare file tutto direttamente dal browser, il che evista la necessità di installare GUI git etc.

Però camba ti assicuro che lavorare con un sito del genere è una manna dal cieloanche se devi perderci un pò di tempo, e non solo per quanto riguarda il codice.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Maurotec on Jul 15, 2013, 01:10 pm
Non conosco come funziona github, ma in questo modo si perdono le funzionalità di GIT o no?

Normalemente in locale c'è copia del repositor remoto, se il repositor locale viene modificato, questo e il remoto *non sono più in sincro e quindi si deve aggiornare il remoto. Con github si possono gestire i repositor locali anche tramite browser? Se fosse così sarebbe molto comodo sia per un principiante che per uno esperto che però non lavora al progetto giornalmente e si scorda alcuni comandi git (io).


Ciao.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: lestofante on Jul 15, 2013, 02:20 pm
Quote
ma in questo modo si perdono le funzionalità di GIT o no?

no perchè? ricorda che git funziona più come peer-to-peer, dove ognuno ha il suo repository, il fatto che poi uno di questi sia scelto come "principale" e stia su un server dedicato è poca roba(Infatti puoi specificare più remote oltre ad origin).
Probabilmente ogni modifica è presa come un commit separato.

Quote
non sono più in sincro e quindi si deve aggiornare il remoto.

no, devi aggiornare il locale con una fetch, poi se sui sovrascrivere il locale con il remoto fai la pull.

Ma in generale questo problema non si pone se lavori in modo corretto, avero creando il tuo branch che poi mergi sul master. In generale il master dovrebbe sempre essere compilabile e funzionante, mentre tutti i lavori si fanno su branch semparati (vedi su github il grafico merge di arduino, per avere un'idea di cosa sto parlando: c'è il master che è fermo alla 1.0.5, se non erro, poi vari rami con modifiche alla Serial, al network, il cuore della 1.5.0 etc..)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Maurotec on Jul 15, 2013, 06:21 pm
Non ho capito, cioè io uso il sistema tradizionale, ho il repo locale che ha un ramo che è sempre in sincro con il repositor remoto, alcuni rami locali non sono presenti nel repo remoto, perchè magari sono di transito per la sperimentazione e poi dopo il merge il ramo viene rimosso. Ora mi sembra di capire che con il browser non si agisce sul repo locale, cioè apporto modifiche al ramo locale è effettuo il commit sempre locale, poi se voglio aggiornare il ramo stabile con le modifiche faccio il merge sempre locale, e poi aggiorno il repo remoto.

L'ideale sarebbe una interfaccia web che mi permetta di gestire il repo indifferentemente che sia remoto o locale, in questo modo si usa solo una interfaccia web indifferentemente dal sistema operativo, se tramite github fosse possibile sarebbe l'ideale.

Ciao.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: lestofante on Jul 15, 2013, 06:41 pm
la commit agisce solo in locale, è la push che manda anche sul remoto. Quindi puoi avere rami sia in solo locale che anche in remoto. Il "master" è un ramo come un altro, a parte il fatto che è quello di default siamo noi a dargli un significato particolare
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 15, 2013, 08:26 pm
Ragazzi....................
NoN fate le cose troppo difficili..........

Prometto che se c'è qualche allegato su Arifidenza lo posto anche qui

Andrea
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 20, 2013, 03:34 pm
Ciao a tutti,

finalmente sono riuscito a verificare il funzionamento dell'insieme SW + HD.  :)  :)  :)

Riepilogo del modo in cui ho fatto la prova:
Il segnale potenza diretta è generato mediante un potenziometro da 10K con gli estremi collgati a +5V e 0V, il segnale è prelevato dal centrale.
Per il segnale della riflessa ho collegato 6 resistenze da 1,2K ai contatti NC dei relè, collegando un capo della catena a 0V e l'altro attraverso una resistenza da 1,2K al 5V.

Risultato:
Dopo aver scansionato parecchie combinazioni, si riesce quasi a trovare un punto 'di accordo' solo se il segnale della potenza diretta è pari al 50% della tensione di alimentazione, restano abilitate due sole uscite, però dopo il ritardo inserito per la lettura del led di stato vengono abilitate tutte le 6 uscite su cui lavorano le resistenze ed il tutto si ferma.

Questi sono i primi risultati, proverò, spero domani, cambiando i valori delle resistenze e mettondoli scalati a vedere cosa cambia nell'inserimento.

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 20, 2013, 04:09 pm
Domanda per Leo72,

Leggi il mio post seguente (Aggiornamento 1)

grazie

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Jul 20, 2013, 05:16 pm
Leo è in ferie, anche se ogni tanto una sbirciata la dà al Forum, non so se sarà in condizioni di darti una risposta esaustiva, mi sa che stavolta dovrai aspettare tu... comunque la situazione mi sembra già abbastanza buona :)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 20, 2013, 05:27 pm
Beato lui!!!

Visti i miei di tempi non mi posso certo lamentare se Leo tarda a respondere  :)  :)  :)

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 21, 2013, 10:13 am
Aggiornamento 1

a) fra la scheda di Arduino e la schedina dei relè ho inserito un ULN2803 (8 buffer invertente) utilizzato solo per le 6 uscite gestite fino a questo momento. La modifica è stata inserita inquanto la schedina dei relè inverte lo stato del segnale in uscita da Arduino.
b) ho collegato le resistenze di simulazione del ROS sui contatti NA dei relè, nella realtà le induttanze dovranno essere collegate sui contatti NC però a me questo serve per poter far variare il segnale nel modo giusto.

Il funzionamento è il seguente:

Inserisce tutte le combinazioni fino ad arrivare ad un valore di ROS, che le leggo con il mio vecchio programmino, inferiore a 1.45 impostato come soglia, però dopo il tempo di attesa
Code: [Select]
delay(1000); //faccio leggere il led di stato resetta tutte le uscite.
Le uscite, anzichè resettarsi, dovrebbero comunque restare inserite inquanto anche se il risultato non è ottimale sarà sempre meglio del valore di ROS iniziale. Al massimo si potrebbe attivare un'uscita con un piccolo buzzer che segnala il mancato raggiungimento del valore minimo impostato.

Aggiornamento 2

Ho cambiato il partitore resistivo ed il risultato non cambia!
Arriva ad un punto di 'accordo' aspetta 1 secondo e resetta le uscite.


Spero di essere stato chiaro nella mia spiegazione,
un grazie anticipato a chi mi darà ulteriori consigli ed in particolare a Leo72 che se ne è in vacanza (beato lui!)

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: camperos on Jul 21, 2013, 03:31 pm
solo come prova,
fai come la mia prima risposta di questo thread,
inserisci tutte le combinazioni, memorizzi il minimo ROS,
ripeti tutte le combinazioni fino a quando non ritrova il ROS minimo,
poche righe di codice,
puoi inserire un valore da non oltrepassare

è solo una prova, poco tempo
--------------
ho costruito un misuratore di campo low cost 500Mhz(arduino +pochi componenti+lcd)
antenna digitale terrestre motorizzata (motore quasi da robottino)
prima passata memorizza il segnale piu forte,
seconda passata(con qualche gradino in meno) ritrova il segnale memorizzato e si ferma.
il procedimento dovrebbe essere quasi uguale
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 21, 2013, 03:59 pm
Ciao Camperos,

grazie del tuo suggerimento!

ma non sono in grado di scrivere le poche righe di cui parli!  :smiley-red:

devo RiNgRaZiArE Leo72, Michele ed altri che mi stanno dando una mano...........

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Jul 21, 2013, 05:51 pm
Ora non ricordo la variabile usata per memorizzare il valore letto, comunque prova ad inserire, dopo il delay(1000):
Code: [Select]

if ros <= 1.45 { //al posto di ros metti il nome corretto della variabile, al posto di 1.45 metti il nome della variabile che lo contiene
while (1);
}

in questo modo finché non ottieni il valore desiderato la procedura continua, poi si ferma tutto allo stato attuale.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 21, 2013, 08:29 pm
Ciao Michele,
ho inserito le righe che mi hai suggerito ma senza risultato, quando lancio la verifica, prima di caricare il tutto su Arduino mi segnala errore.
Di seguito inserisco di seguito il SW scritto da Leo72.

Code: [Select]

//
// ACCORDATORE DI ANTENNE
// V. 1.0
// Scritto da Leonardo Miliani
// copyleft 2013 :-P
// GNU GPL 3.0
// relé induttori collegati sui pin D8..D13
// relé condensatori sui pin D0..D5
// led di stato su D7

void setup() {
   DDRB = 0b00111111; //pin PB0..5 come OUTPUT - questi pin comandano i relé degli induttori
   PORTB = 0b00000000; //segnale LOW sulle uscite
   DDRB = 0b11111111; //pin PD0..7 come OUTPUT - questi pin comandano i relé dei condensatori
   PORTD = 0b00000000; //segnale LOW sulle uscite
   DIDR0 |= ((1<<ADC2D) | (1<<ADC3D) | (1<<ADC4D) | (1<<ADC5D)); //spengo il buffer digitale sui pin PC2..5
   checkAntenna(0); //induttante
   delay(1000); //faccio leggere il led di stato
   PORTB = 0b00000000;
   PORTD = 0b00000000;
   checkAntenna(1); //condensatori
}

void loop() {
}

void checkAntenna(byte Cap) {
   float ROS = 0.0; //ROS ideale
   float realROS = 0.0;
   ROS = 1.45; //impostare qui il ROS fissato come obiettivo finale sull'antenna
   byte relais = 0;
   boolean exit = false;
   boolean done = false;
   float oldROS = readRos(); //lettura iniziale
   do {
       float realROS = readRos();
       if (realROS < ROS) {
           if (oldROS < realROS) {
               relais--;
               if (!Cap) {
                   PORTB = relais; //tolgo il relé precedente
               } else {
                   PORTD = relais;
               }
           }
           done = true;
           exit = true; //terminato
       } else { //correggo il ROS
           oldROS = realROS; //salvo la vecchia lettura
           if (++relais == 64) { //raggiunto il max di combinazioni
               exit = true; //esco
           }
           if (!Cap) {
               PORTB = relais; //aggiungo un relé in formato binario
           } else {
               PORTD = relais;
           }
        }
        delay(1000); // Ritardo suggerito da Leo72 per vedere il funzionamento del sistema AAA
   } while (!exit);
   if (done) {
       PORTD |= (1<<7); //accende il led "OK"
   }
}


float readRos() { //lettura del ROS
   int pot_rifl = readAnalogInput(A0);
   int pot_dir = readAnalogInput(A1);
   return ((1.0 + (float)(pot_rifl / pot_dir)) / (1.0 - (float)(pot_rifl / pot_dir)));
}


int readAnalogInput(byte input) { //lettura con media di un pin
   int tempRead = 0;
   for (byte i = 0; i < 10; i++) {
       tempRead += analogRead(input);
   }
   return (tempRead /= 10);
}


Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Jul 21, 2013, 09:07 pm
posta il codice con la modifica e poi scrivi l'errore che ti dà
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 22, 2013, 07:12 pm
Come promesso allego foto postate su Arifidenza, nelle foto il blocco relè assemblato parecchi mesi fa'

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Maurotec on Jul 22, 2013, 08:04 pm
Per comprare quei relè hai fatto il finanziamento? :smiley-mr-green:

Io per adesso ho il cervello come il burro al sole e ho cose mie da fare che non so come fare, anche perché ormai ho fuso. Aspetto settembre nella speranza che il clima sia più favorevole ai mie neuroni.

Ciao.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 23, 2013, 06:05 pm
Ciao Mauro,

è vero costano un botto però non ti danno problemi.
C'è tutta una teoria su come pilotarli, che dice di sovraalimentarli e poi mettere una resistenza di caduta per ottenere una chiusura più veloce che invece dice di sotto alimentarli per farli durare di più!!!

Ne devo recuperare ancora mezza dozzina poi basta!!!

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Jul 26, 2013, 09:28 pm
Ciao a tutti,

Il collega OM americano, che ho segnalato tempo addietro, ha aggiornato il suo lavoro. Se un'anima buona ha voglia di buttarci un'occhio.....

questo è il link:

http://blog.radioartisan.com/arduino-antenna-tuner/

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 02, 2013, 04:48 pm
Ciao a tutti,

finalmente ho trovato un po' di tempo per riprendere il mio lavoro!

come detto in un post pecedente ho inserito un buffer invertente sulle 6 uscite utilizzate fino ad ora di Arduino e ho fatto un po' di prove con un partitore resistivo per simulare la riduzione del segnale sull'ingresso della potenza riflessa.
un paio di cose che non mi sono chiare:
- vorrei capire se, fatta la prima lettura, aspetta il ritardo impostato e poi fa la seconda .... poi la terza ......
oppure si comporta in modo diverso ???
- il range di segnale sugli ingressi è corretto che sia da 0 a 5v ???

Allego il lavoro di Leo72 con inserimento della riga 59 (temporizazione)
Code: [Select]

//
// ACCORDATORE DI ANTENNE
// V. 1.0
// Scritto da Leonardo Miliani
// copyleft 2013 :-P
// GNU GPL 3.0
// relé induttori collegati sui pin D8..D13
// relé condensatori sui pin D0..D5
// led di stato su D7

void setup() {
   DDRB = 0b00111111; //pin PB0..5 come OUTPUT - questi pin comandano i relé degli induttori
   PORTB = 0b00000000; //segnale LOW sulle uscite
   DDRB = 0b11111111; //pin PD0..7 come OUTPUT - questi pin comandano i relé dei condensatori
   PORTD = 0b00000000; //segnale LOW sulle uscite
   DIDR0 |= ((1<<ADC2D) | (1<<ADC3D) | (1<<ADC4D) | (1<<ADC5D)); //spengo il buffer digitale sui pin PC2..5
   checkAntenna(0); //induttante
   delay(10000); //faccio leggere il led di stato AAAAA
   PORTB = 0b00000000;
   PORTD = 0b00000000;
   checkAntenna(1); //condensatori
}

void loop() {
}

void checkAntenna(byte Cap) {
   float ROS = 1.0; //ROS ideale AAAAA
   float realROS = 1.0; // AAAAA
   ROS = 1.45; //impostare qui il ROS fissato come obiettivo finale sull'antenna
   byte relais = 0;
   boolean exit = false;
   boolean done = false;
   float oldROS = readRos(); //lettura iniziale
   do {
       float realROS = readRos();
       if (realROS < ROS) {
           if (oldROS < realROS) {
               relais--;
               if (!Cap) {
                   PORTB = relais; //tolgo il relé precedente
               } else {
                   PORTD = relais;
               }
           }
           done = true;
           exit = true; //terminato
       } else { //correggo il ROS
           oldROS = realROS; //salvo la vecchia lettura
           if (++relais == 64) { //raggiunto il max di combinazioni
               exit = true; //esco
           }
           if (!Cap) {
               PORTB = relais; //aggiungo un relé in formato binario
           } else {
               PORTD = relais;
           }
        }
        delay(300); // Temporizzazione per poter vedere il funzionamento!!! Leo72/AZ
   } while (!exit);
   if (done) {
       PORTD |= (1<<7); //accende il led "OK"
   }
}


float readRos() { //lettura del ROS
   int pot_rifl = readAnalogInput(A0); // lettura della pot. riflessa AAAAA
   int pot_dir = readAnalogInput(A1); // lettura della potenza diretta AAAAA
   return ((1.0 + (float)(pot_rifl / pot_dir)) / (1.0 - (float)(pot_rifl / pot_dir))); // calcolo del ROS AAAAA
}


int readAnalogInput(byte input) { //lettura con media di un pin
   int tempRead = 0;
   for (byte i = 0; i < 10; i++) {
       tempRead += analogRead(input);
   }
   return (tempRead /= 10);
}


Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 02, 2013, 05:34 pm
Ciao, ti rispondo qui.
Il mio programma non ha attese fra una impostazione e la successiva.
Ma il programma era una bozza, doveva servirti per poterti permettere di lavorarci sopra in autonomia. Mi sembra di capire però che di programmazione sei messo maluccio, quindi non hai sviluppato niente in più giusto?

Se mi dici come si deve comportare il programma, potremmo vedere di modificarlo. Puoi inserire uno o due pulsanti, sul tuo circuito? Ne potremmo usare uno per avviare/far ripartire la procedura d'accordatura, ad esempio.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 02, 2013, 06:22 pm
Ciao Leo

Quote

Il mio programma non ha attese fra una impostazione e la successiva.

A questo proposito mi avevi suggerito di inserire alla riga 59 un ritardo
Quote

Ma il programma era una bozza, doveva servirti per poterti permettere di lavorarci sopra in autonomia. Mi sembra di capire però che di programmazione sei messo maluccio, quindi non hai sviluppato niente in più giusto?

Le mie capacità come programmatore sono pari ZERO  :smiley-red:  :smiley-red:  :smiley-red:
Quote

Se mi dici come si deve comportare il programma, potremmo vedere di modificarlo. Puoi inserire uno o due pulsanti, sul tuo circuito? Ne potremmo usare uno per avviare/far ripartire la procedura d'accordatura, ad esempio.


Sicuramente possiamo utilizzare un paio di pulsanti, direi di collegarli agli ingressi analogici A3 e A4.

Ricapitoliamo il tutto:
1) leggere i due segnali con range 0 - 5v su A1 e A2
2) applicare la formula di calcolo del ROS
3) se valore ROS <= del valore impostato, non fare nulla
4) se valore ROS > al valore impostato, attivare le uscite "L" per inserire in serie all'antenna delle induttanze, dopo ogni inserimento di una uscita, inserire piccolo ritardo al solo scopo di visualizzare al meglio il funzionamento del sistema, deve essere rifatta la lettura ed il calcolo del ROS, fino al reggiungimento del miglior valore di ROS possibile
5) quando all'inserimento dell'ultima combinazione di relè il valore di ROS sale, invece che scendere, si deve tornare alla combinazione precedente.

finito di attivare le uscite "L" si passa alle uscite "C" ma direi che della cosa ne possiamo parlare più avanti, il procedimento è lo stesso salvo fare una scelta, se attivare o meno un'uscita, una volta inserito il primo scalino.

Campa1957

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 02, 2013, 09:55 pm
Domani ci penso su.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 03, 2013, 09:49 am
Mi permetto di aggiungere ancora una cosa a quanto detto sopra.

La versione finale dovrebbe essere pensata per 8 uscite "L" + 8 uscite "C" + 1 uscita selezione punto inserimento condensatori + 1 uscita Accordo OK.

Arduino UNO rev.3 redo che permetta di utilizzare come uscite anche una parte degli ingressi anaogici ?!?

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 03, 2013, 10:02 am
Usando l'Arduino la cosa si complica perché le uscite PB6 e PB7, che permetterebero di manipolare direttamente le porte del microcontrollore, sono occupate dal risonatore. Andrebbe rivisto il codice rispetto a quello che è ora.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 03, 2013, 10:27 am
Non voglio assolutamente incasinare troppo il lavoro, andiamo avanti così, come siamo partiti!

Campa1957

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 03, 2013, 11:46 am
In allegato il programmino rivisto.
Ho spostato alcune cose sui pin, anche in risposta allo spostamento su A1/A2 che mi hai detto tu degli ingressi analogici che usi per leggere il ROS. Il led è su A0, ora. Poi metti un pulsante su A3 collegati a massa, non usare resistenze di pull-u che attivo quella interna al pin.

La logica è questa. All'avvio, lampeggia il led in attesa della pressione del pulsante per avviare l'accordatura.
Premuto il pulsante, fa l'accordatura con gli induttori, ad intervallo di 1 secondi tra un'attivazione e l'altra. La scansione è scandita dal lampeggio del led. Quando trova l'accordatura giusta, fa 3 lampeggi veloci ed esce e passa all'accordatura con i condensatori. Se vuoi saltare questo passaggio, commenta la chiamata dell'accordatura con i condensatori. Terminata la procedura, torna all'inizio.

PROGRAMMA NON TESTATO, non ho breadboard libere  :smiley-sweat:
Dimmi se funziona e se fa cosa dovrebbe. Se vuoi usare 8 induttori, possiamo invertire i pin usati, quello non è un problema. 
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 03, 2013, 12:31 pm
Primissima verifica di funzionamento:

senza nuovo led e pulsante, appena caricato il SW parte, arriva ad un punto di accordo, aspetta un paio di secondi e ripete il cilclo.

Nel pomeriggio cerco un pulsante e un led e li collego per continuare le prove.

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 03, 2013, 01:26 pm
Inserito Led, sempre senza pulsante collegato.

confermo che quando arriva a quello che vede come punto di accordo si ferma, il led lampeggia ad un'altra frequenza, e dopo un paio di secondi resetta le uscite e riparte da ZERO.
Quando ha trovato il primo punto 'di accordatura' non deve disabilitare le uscite ma lascire tutto come ha calcolato fino a quel momento, e poi passare ad inserire i condensatori.

Adesso provo a spiegare la mia idea su cosa dovrebbe fare quando ha sistemato la parte "L"

1) leggere i due segnali in ingresso e calcolare il nuovo ROS e memorizzarlo
2) inserire il primo scalino della serie "C"
3) una volta attivata la prima uscita della serie "C" leggere e calcolare il nuovo valore di ROS
4) attivare un'uscita che non fa' parte di nessuno dei due gruppi "L" e "C"
5) Verificare se ultimo valore di ROS dopo l'inserimento della nuova uscita è sceso oppure salito
6) se è sceso lasciare inserita l'uscita e fare lo stesso giro di calcoli con la serie "C"
7) se è salito disabilitare nuova uscita e fare lo stesso giro di calcoli con la serie "C"

Spero di essere stato almeno comprensibile nelle mia descrizione.

ciao

Campa1957

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 03, 2013, 02:26 pm
Lo sketch precedente aveva una parte del vecchio 1.0 che non avevo cambiato e che di dovrebbe aver dato quei problemi iniziali.
Vediamo se così ora va la logica. Parte, lampeggia ed aspetta il pulsante. Premendolo, inizia la taratura con gli induttori. Trovata la taratura, aspetta la pressione del pulsante mentre lampeggia il led.

Se così va bene, poi passiamo al resto delle tue richieste.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 03, 2013, 03:57 pm
Ho caricato il SW sulla scheda di Arduino, il comportamento è sempre uguale, una volta raggiunto il valore 'di accordo' resetta le uscite.
Non deve farlo!

Per chiarezza spiego come faccio le prove 'in bianco', senza RF.
1) trimmer multigiri collegato fra 0V e +5V con cui imposto la tensione per la misura della potenza diretta, quella che va in antenna.
2) partitore resistivo con il quale all'inserire delle varie uscite, relè che aprono il loro contatto, la tensione della potenza riflessa scende.

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 03, 2013, 04:14 pm
Proverò a casa simulando sulla seriale.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 03, 2013, 06:17 pm
x Leo72

Quote

Dimmi se funziona e se fa cosa dovrebbe. Se vuoi usare 8 induttori, possiamo invertire i pin usati, quello non è un problema. 


mi era sfuggita questa parte del tuo messaggio, l'deale sarebbe 8L+8C oppure anche 7+7 però se la cosa incasina particolarmente il lavoro, non c'è probema, andiamo avanti così.
Sempre ricordando che oltre alle uscite L e C ci deve essere una uscita per la selezione di dove inserire i condensatori e una uscita che segnala il raggiungimento dell'accordo, direi, Led fisso valore di ROS ottenuto, Led lampeggiante veloce valore di ROS non raggiunto,e Led lampeggiante lento durante le prove di accordo.

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Aug 03, 2013, 07:33 pm
x iscrizione
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 03, 2013, 08:28 pm

x iscrizione


Test, una domanda seria, ho imparato anchio ad usare i replies, almeno in prima battuta o quando ho poco tempo, ora però ci sono dei Topic verso i quali nel tempo ho perso interesse, attualmente li lascio per ultimi e poi li segno come già letti, sai se c'è un modo per non farli più uscire? Ovviamente non voglio eliminare tutti i miei post in questi Topic, non sarebb nemeno corretto.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 03, 2013, 08:44 pm
Ciao Michele,

spero tu non abbia perso interesse verso questo Topic  :)  :)  :)

salutoni

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 04, 2013, 06:11 am
@campa:
oggi sono a lavoro, vedrò se ho del tempo libero di darci un'occhiata.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 04, 2013, 06:36 am
PS:
mi sono accorto che lo sketch che ti ho allegato per ultimo non è la versione 1.2 ma nuovamente la 1.0  :smiley-eek:


Vabbè, comunque, ora lo rivedo e poi te lo ripasso.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 04, 2013, 06:50 am
Un piccolo chiarimento,
- il PRG si avvia per un valore di ROS superiore ad una soglia pre impostata ???
- Il PRG si ferma per il raggiungimento del miglior valore possibile di ROS oppure per aver raggiunto il valore di soglia pre impostato ???

- per la prima domanda penso di essere sicuro che il ciclo inizi se il calcolo fatto con la prima lettura è maggiore del valore impostato.
- per la seconda domanda, a mio avviso, il PRG dovrebbe sempre cercare il miglior valore di ROS, fermasi dopo i vari tentativi lasciando inserite tutte le uscite che ha inserito nei suoi calcoli, e con il Led che abbiamo inserito in questa ultima parte di lavoro segnalare accordato non accordato.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 04, 2013, 07:23 am
L'ultima versione (che tu non hai) faceva una lettura prima di avviare l'accordatura: se il ROS era giusto ovviamente non avviava la procedura.

Ah, stavo rifacendo i conti dei pin. Li abbiamo finiti e resta fuori qualcosa.. 8+8 per condensatori e induttori, poi 2 analogici per le letture, poi 1 led, poi un'uscita ed un pulsante. 21 in tutto su 20 disponibili.
O si elimina il pulsante oppure devi rivedere lo schema ed usare magari una coppia di ULN2803 comandati da una coppia di 74HC595.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 04, 2013, 07:49 am
Quote

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
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 04, 2013, 07:56 am
Spiega il punto 3... ;)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 04, 2013, 08:21 am
Ho aggiornato il mio post precedente mentre tu mi chiedevi lumi per il punto 3

Quote

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
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 04, 2013, 08:39 am
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.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 04, 2013, 08:47 am
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.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 04, 2013, 10:41 am
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
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 04, 2013, 11:05 am

Adesso provo il tuo sketch e ti faccio sapere.

Le piccole modifiche le puoi implementare tu  ;)
Almeno ti serve come apprendimento  :P
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 04, 2013, 12:46 pm
Io ci provo mooooooolto volentieri maaaaaa ................. :smiley-red:  :smiley-red:  :smiley-red:

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
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Aug 04, 2013, 02:28 pm
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.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 04, 2013, 02:49 pm
Quote

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

Quote

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


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

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 04, 2013, 04:11 pm
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.  :smiley-red:
Ho fatto anche dei tentativi per capire come fare a non fargli resettare le uscite ma senza riuscire nell'intento.  :smiley-red:  :smiley-red:  :smiley-red:
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
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 05, 2013, 06:21 am
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...  :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.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: lestofante on Aug 05, 2013, 10:49 am
3) troppo personalizzabile :D
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 05, 2013, 10:56 am
3) capita quando si fanno i programmi per gli altri, perché non sai le esigenze delle persone quali possono/potrebbero essere  ;)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Aug 05, 2013, 11:12 am
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  :)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 05, 2013, 06:20 pm
x Leo72

Quote

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.
Quote

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
Quote

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 NON era veloce 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

Quote

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



Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 05, 2013, 06:28 pm
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 :smiley-mr-green:
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 :smiley-sweat:, 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.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 05, 2013, 06:41 pm
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
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 05, 2013, 07:24 pm
E così sarà, non ti preoccupare, con Leo alle spalle (a debita distanza, ovvio :smiley-yell:) 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  :)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 05, 2013, 07:38 pm
Musica per le mie orecchie  :)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 05, 2013, 09:27 pm
Chiedo conferma, ho trovato il punto giusto ???
Code: [Select]

//controllo del ROS
void checkAntenna(byte Cap) {
   float realROS = 0.0;
   byte relais = 0;
   boolean exit = false;
   boolean done = false;
   float oldROS = readRos(); //lettura iniziale
   induttori = 0;
   condensatori = 0;
  // setUscite(); dovrebbe essere il comando che resetta le uscite finito il giro
   do {
       //piccolo flash del led
       flashLed(1, 250);


Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 06, 2013, 06:19 am
Quasi.
setUscite imposta le uscite.
Il reset viene fatto nelle 2 righe prima:
Code: [Select]
induttori = 0;
condensatori = 0;

Queste righe rimettono a off ogni singolo pin che controllano.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 06, 2013, 07:27 pm
Caspiterina!
ci sono andato vicino!  ;)

Oggi mi sono arrivati un po di cosette HD, iniziavano ad esserci troppo fili svolazzanti, domani spero di montare la schedina con i 3 ULN203, un paio di Led e poco altro.

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 06, 2013, 08:08 pm
me lo manderesti un link per vedere costo indicativo e datasheet dei relé che hai usato?

Gli ULN li devi usare per i relé? 203 non esistono, attenzione alla versione 2803 che lavora in logica inversa...
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 06, 2013, 09:53 pm
Ciao Michele,
mi sono fumato un 8 nel codice quello giusto è, come scrivi tu, 2803.

Le schedine le ho comperate su Ebay, da levantehardsoft un ragazzo genovese, se vuoi domani lo contatto e mi faccio aggiornare su disponibilità e costi, se non ricordo male ho pagato la scheda da 4 relè meno di 10,00 €.

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 07, 2013, 11:31 am
Se sono 2803 e devi pilotare gli attuali relé allora attenzione al discorso della logica inversa, altrimenti fai impazzire Leo.

Riguardo i relé a me pareva di aver visto un'immagine con relé estremamente particolarti, molto costosi, specifici per l'RF, di quelli a cui ti riferisci tu ne ho un cassetti pieno, avrò visto e letto male, ora non me la faccio la ricerca sul thread, ma ricordo anche un intervento di Mauro in tal senso.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Aug 07, 2013, 02:52 pm
yes, hai ragione, non vi siete capiti.
Mike chiede di poter conoscere il codice dei rele' sottovuoto che usi per le commutazioni, quelli piccoli normali li usi via arduino solo per attivarli.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 07, 2013, 06:24 pm
Ciao a tutti,

il caldo mi fa brutti scherzi, i relè sotto vuoto sono dei Siemens VR311, ne ho comperato una mezza dozzina ultimamente, con il trasporto li ho pagati circa 20,00 € cadauno. Ne esisto altri molto simili, ci sono anche quelli russi però ............

Su Ebay, è dove li ho presi ultimamente:

http://www.ebay.it/itm/321159821415?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1438.l2649

mi devono ancora arrivare.

Il 2803 mi viene bene perchè le schedine 'famose' invertono il segnale, ingresso a 0 relè attratto, e allora una seconda inversione mette tutto in riga.

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 08, 2013, 07:13 am
Novità sul fronte codice?
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 08, 2013, 05:51 pm
Ciao Leo,

la mia verifica di funzionamento del SW si è fermata a causa di un po di falsi contatti dovuti ai ponticelli vari utilizzati per collegare i vari componenti HD.
Su Ebay ho comperato un paio di schedine da montare come torretta sulla scheda di Arduino, ieri sera ho saldato i vari zocoli e conettori, se riesco questa sera faccio i collegamenti, sempre tutti saldati.
Sabato o domenica riparto con le verifiche del SW.

x Michele

scusa ancora lo sbaglio di relè, quelli sotto vuoto sono l'ideale per i lavori in radio frequenza se c'è della potenza che gira.

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 08, 2013, 07:01 pm
No, figurati, mi interessava saperne di più, ma 18 euro e sono usati??? :smiley-eek-blue:
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 08, 2013, 07:23 pm
Si, io li ho presi in germania da smontaggio, molte volte sono apprecchiture ex militari che non hanno mai lavorto, a 17,50 + trasporto.  =(

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 08, 2013, 08:06 pm
Info su scheda Arduino,

il pin Vin sul connettore delle alimentazioni è collegato al connettore di alimentazione circolare, quello sul lato della USB?
posso ritenerlo un 12V se io collego questa tensione al connettore circolare?
Sullo schema che ho trovato in rete non è chiaro!

grazie della info

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Aug 08, 2013, 11:38 pm
c'e' solo un diodo di mezzo, quindi orientativamente con 12V su jack alimentazione esterna, hai circa 11,4v su VIn
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 09, 2013, 07:58 am

Sullo schema che ho trovato in rete non è chiaro!

Lo schema della UNO R3:
http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf

Fonte: http://arduino.cc/en/Main/ArduinoBoardUno
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 09, 2013, 05:14 pm
Grazie a Testato per l'indicazione.

Grazie a Leo72 per il link, è quello che avevo visto io, solo che la Vin viene citata due volte, una nel connettore POWER e l'altra in ingresso a U5A, ma non trovo come si connette verso l'esterno della scheda.

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 09, 2013, 07:32 pm
Lo trovi in 2 punti perché "entra" in due parti del circuito. Ma la linea del segnale è sempre la stessa, e porta al pin Vin della scheda. Se apri il file Eagle della board, ed evidenzi la linea, trovi dove va.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 10, 2013, 07:23 am
grazie della info,
volevo valutare se per realizzare l'alimetazione della nuova schedina mi conviene portare su l'alimentazione dalla scheda di Arduino oppure tagliare i piedini delle alimentazioni e lasciare solo la massa.
Penso seguirò la seconda ipotesi, così non corro il rischio di sovracaricare qualcosa sulla schedina.

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 10, 2013, 10:18 am
Ma quella che chiami nuova schedina quanta corrente assorbe a pieno carico? Comunque siail mio consiglio è: stai alla larga dalla linea Vin.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 10, 2013, 11:31 am
Ciao Michele,

il tuo consiglio non poteva essere più chiaro!

La corrente è minima, devo alimentare 3 ULN2803 e tre o quattro Led.
Il mio obiettivo è avere sulla schedina nuova solo un 12v, per alimentare tutto quello che ci sto montando sopra.
Per essere sicuro di non ritornare sulla scheda di Arduino del 12v non desiderato ho tagliato i piedini Vin, +5 e +3.3 così sono sicuro che non ci sono ritorni e posso usare le connessioni del +5 per il mio +12, logicamente non ho toccato le connessioni della massa.

Spero in giornata di finire il montaggio e le verifiche dei collegamenti poi butto giù una bozza di schema a penna, per spiegare la mia idea.
Con questa nuova interfaccia penso finirò le prove senza radio frequenza, quando 'i giochi' diveteranno seri ho una mezza idea di realizzare una nuova scheda, per ora sempre 1000 fori, su cui realizzare il primo prototipo, con scheda di Arduino montata capovolta, e tutti i buffer di uscita che pilotano direttamente i relè di pilotaggio dei relè RF.

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 10, 2013, 11:46 am
ok, usa almeno una riga per le linee e lo stampatello per le scritte :smiley-sweat:
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 10, 2013, 01:31 pm
sarà fatto  :)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 10, 2013, 06:07 pm
Aggiornamento parte HD

prima di pranzo ho ultimato il montaggio della schedina da montare sopra la scheda di Arduino.
Dopo un po' di prove e controlli ho cestinato il tutto, troppa roba in troppo poco spazio!
Nel primo pomeriggio ho iniziato ad assemblare la sceda che avevo pensato di realizzare come montaggio finale da cui relizzare poi lo schema elettrico definitivo, per adesso, nel famoso cassetto di fondo, ho trovato tutti i materiali necessari.
Spero domattina di finire il montaggio e verificare i vari funzionamenti dei Buffer e di insallare sopra al tutto la scheda Arduino capottata!?!
Provata la parte elettrica/elettronica riprendo le verifiche del SW.

ciao

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Aug 10, 2013, 06:33 pm
Perché cappottare ste povere schede  :)

Per abbreviare hardware è meglio usare HW
HD si usa per alta definizione
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 10, 2013, 08:24 pm
Ricevuto

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Aug 11, 2013, 04:05 pm
Salve a tutti,
questo è il mio primo messaggio sul forum, forum che seguo con interesse insieme a quello su www.arifidenza.it in quanto anche io vorrei progettare e  realizzare  prima o poi un accordatore d'antenna.
Il mio approccio è principalmente teorico: al momento valuto varie alternative, cerco di prevedere le prestazioni, poi forse procederò alla realizzazione di un prototipo, quindi se Campa57 procede alla realizzazione fisica a me va bene.

Come contributo scrivo alcuni miei commenti di cui gradirei ricevere i vostri pareri.

I relè: i relè SIEMENS VR311 sono bellissimi, ma costano 18 € l'uno !.
Un accordatore commerciale per 80-100 W mi pare sia venduto a soli 200 Euro.
Certamente non è competitivo progettarne e costruirne uno, ma lo facciamo per divertimento per imparare come si fa!

x Campa57: Per quale potenza intendi progettare l'accordatore?  alcuni kW ?.
I relè VR311 presentano una resistenza dei contatti di soli  0,012 ohm, ma un relè più economico con una resistenza di contatto dieci volte maggiore non va ancora sufficientemente bene?
E la bobina del relè 24V 335 ohm:  I = 24/335 = 70 mA , dissipa  24*0.07 = 1,7 watt.
Con tutti i relè eccitati (8+8)* 1,7 = 20 watt, l'ambiente  scaldicchia, è in una scatola ventilata? Se la scatola è stagna come fa a essere ventilata?
Forse dopo l'accordo possono venire sottoalimentati a 15 V senza che si sgancino, ma forse aumenta la resistenza dei contatti.
In ogni modo ci si possono  saldare  bobine  e induttori direttamente sui contatti, risparmiando basetta mille-fori o lo stampato.

Un banco di 8+8 relè non si può pilotare direttamente con Arduino1, mancano  le uscite necessarie;  serve un "8 bit I/O expander with serial line" MCP23S08  seguito da   "8bit darlington" ULN2803  Microchip usati dall'OM statunitense, o da altri equivalenti che però non conosco. Però occorre utilizzare una libreria per comandarli con la linea ISP, e per il momento complicherebbe il programma.

Non passerei a Arduino Mega, perché più costoso  e utilizzante un  controllerCPU a montaggio superficiale. Se si utilizzano solo componenti DIP è più semplice realizzare un kit economico con ATMEL già programmato, che sostituisce la schedina Arduino e  che può venire montato da appassionati non attrezzati per le saldature su componenti miniaturizzati.

Lascierei il pin 13 libero, dato che pilota il LED di segnalazione.

Per le prime prove su un dimostratore del funzionamento mi accontenterei di un banco di 5 +  5 relè che dovrebbero essere sufficienti per un accordatore bi-tri-banda 14-21-28 MHz oppure 7-10-14 MHz.
Gli accordatori con 8+8 relè dovrebbero  accordare da 3,5 a 30 MHz. Quelli con 9   da 1,8 MHz a 50 MHz.

Per collaudare l'accordatore userei carichi resistivi di  50,  100,  200  ohm  da 5W almeno ; l'accordatore deve trasformarli in 50 ohm ossia ROS= 1, Gamma riflessione=0.
In condizioni più generali, il carico potrebbe essere una impedenza con parte reale compresa fra 50 e 300 ohm e reattanza fra -300 (capacitiva) e + 300 (induttiva) ohm.
Con condensatore connesso lato carico, una  resistenza di carico minore di 50 ohm non viene accordata.

L'accordatore è pensato per essere utilizzato outdoor, messo vicino all'antenna (sul tetto e traliccio) ?. Se no un accordatore manuale vicino al RTX va bene lo stesso e costa meno.

Se si adoperassero relè di tipo "latch" con ritenuta magnetica dell'ultima posizione comandata?. Occorre duplicare il numero di uscite, perchè ognuno ha un comando di ON e uno di OFF, però una volta commutati non consumano corrente.
           
Con 5+5 relè e Arduino 1 rimangono disponibili i pin per la linea seriale, per capire che ROS legge Arduino e come funziona il programma.

Attenzione alla tolleranza delle induttanze:  5 bit >> 32 valori>> 100/32 = 3,2 % di tolleranza almeno.

Ora la diagnostica e la verifica del funzionamento.
Prima di preoccuparmi dell'accordo automatico, realizzerei un telecomando, variando induttanza e capacità  con un interruttore e due pulsanti applicati agli ingressi (analogici commutati in digitali ) di Arduino.  Interruttore:aperto opera su induttanza, chiuso: opera su capacità.
Pulsanti: incremento / decremento del banco selezionato. Attenzione: sviluppare un piccolo algoritmo per eliminare i rimbalzi dei pulsanti che possono provocare degli incrementi multipli.

SE NON FUNZIONA PERFETTAMENTE IN TELECOMANDO  SICURAMENTE  NON FUNZIONERA' IN AUTOMATICO.

Alleg un programmino che incrementa /decrementa di continuo L e C  in modo che con un induttanzimetro si possa osservare una variazione a gradini uniformi della induttanza/capacità. Meglio ancora se osservata in modo grafico su oscilloscopio digitale.
Nel programmino, non spaventatevi: sono dichiarate variabili che non sono adoperate, sul mio Arduino Uno Rev.3 gira, ma non posso vedere le uscite comandi digitali, inoltre visualizza sul monitor del sistema di sviluppo  i valori acquisiti dai due canali analogici.
Spero che funzioni.


Ho scritto queste note anche per me come promemoria per un eventuale articoletto.

Saluti a tutti, aspetto vostre osservazioni.
                                                                 Marco  11/8/2013  

   
 

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Aug 11, 2013, 04:08 pm
Ecco il programma;  non è testato spero che funzioni!!
Code: [Select]
//...........................
/* IK1PXM Marco Ducco 8/8/2013 11/8/013  Ricerca automatica accordo di un accordatore LC da definire.
L'algoritmo agisce su pcC1 e pcC2 intesi come percentuale di comando 1, percentuale di comando 2, campo di escursione da 0 a 31.
Nel caso dell'accordatore LC uno è il comando dell'induttanza (0 il minimo, 31 il massimo), l'altro il comando della capacità.
Dato che l'algoritmo procede per tentativi, l'assegnazione  ai relè di pcC1, pcC2 è arbitraria.
Compilato con Arduino versione: 1.0.4
*/
int stato_ric;
int step_ok_C1, step_ok_C2;
int cont_step;//protezione se l'algoritmo non termina
float Gamma,Gammap,Gamma_lim;
int  deltaPCC,dPCCmin;
int pcC1,pcC2,pcCmax;
boolean in_corso;

//definizioni delle uscite/ingressi digitali:
int outCp1 = 2; //comando capacità peso 1 assegnata alla uscita 2
int outCp2 = 3; //comando capacità peso 2 assegnata alla uscita 3
int outCp4 = 4;
int outCp8 = 6;
int outCp16 = 7;

int outLp1 = 8; //comando induttanza peso 1 assegnata alla uscita 8
int outLp2 = 9;
int outLp4 = 10;
int outLp8 = 11;
int outLp16 = 12;

int counter_in = 5;//ingresso riservato alla misura frequenza
int led = 13;//LED lampeggio per segnalare CPU viva


//simulatore rete, parametri banda 20 metri
//pcC1 = 60; //per cento apertura cond variabile C1 (in parallelo lato generatore)
//pcC2 = 84; //per cento apertura cond variabile C2 (in serie lato carico)
float RSC = 100;//resistenza serie iniziale del carico. viene cambiata coi tasti 5 e 6.
float XSC = 0;//reattanza serie del carico (positiva induttiva, negativa capacitiva)
float FMHz_rif = 14.2 ;//frequenza di lavoro di riferimento in MHz
float C1min = 20;// pF capacità minima condensatore C1
float DeltaC1 = 160.;// pF variazione C1 rispetto al minimo
float C2min = 20;//capacità minima condensatore C2
float DeltaC2 = 340.;//variazione C2 rispetto al minimo
float RSL = 0.5;// resistenza serie bobina (perdite resistive DC + effetto pelle)
float C3 =  450;// capacità di C3 in pF
float L1 =  1.1;//2.7 ;// induttanza in uH viene cambiata a passi del 5% coi tasti 7 e 8.
boolean pcC1_inc, pcC2_inc;
int V_rifl,V_dir;

void setup()
{
 Serial.begin(19200); // open the serial port at 19200 bps:
 //delay(1000);  // wait for a second    
 Serial.println(" programma sviluppo accordatore PXM");  
 pinMode(led, OUTPUT);
 pinMode(counter_in, INPUT); //ingresso misura frequenza (futura miglioria da sviluppare)  
 pinMode(outLp1, OUTPUT);  pinMode(outLp2, OUTPUT);  pinMode(outLp4, OUTPUT);  pinMode(outLp8, OUTPUT); pinMode(outLp16, OUTPUT);
 pinMode(outCp1, OUTPUT);  pinMode(outCp2, OUTPUT);  pinMode(outCp4, OUTPUT);  pinMode(outCp8, OUTPUT); pinMode(outCp16, OUTPUT);
 
 stato_ric=0; //variabile della "macchina a stati" stato ricerca
 step_ok_C1=0; step_ok_C2=0; // contatori passi buoni nella ricerca
 cont_step=0; //contatore globale passi
 in_corso = true;

 pcC1=75;pcC2=75; //valori iniziali dei comandi
 deltaPCC = 4;// passo di variazione iniziale dei PCC
 dPCCmin = 1;//mnimo valore del gradino di variazione
 pcCmax = 31;//limite sup comando

}


void loop()
{
 sono_vivo();//temporizza di due secondi
 seq_incr_decr();// genera sequenza incremento, un passo ogni 2 secondi
// ric_veloce_accordo();
 comandi_ai_rele();//da pcC1,pcC2 ai pin comando relè
// accord_a_LC();
 acquisisci_Gamma();
 Serial.print ("V_rifl="); Serial.print (V_rifl);
 Serial.print ("   V_dir="); Serial.print (V_dir);
}


void sono_vivo()
{ //fa lampeggiare il LED  pin 13 su Arduino
 digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
 delay(1000);               // wait for a second
 digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
 delay(1000);               // wait for a second
}


void seq_incr_decr()
{ //fa variare di una unità a scaletta a salire e scendere in comandi pcC1 e pcC2, in modo da verificare
 //con un induttanzimetro o un capacimetro che l'induttanza e la capacità varino in modo regolare
 if (pcC1_inc)
 { pcC1= pcC1 +1; if( pcC1> pcCmax){ pcC1=pcCmax; pcC1_inc=false;}}
 else
{ pcC1= pcC1 -1; if( pcC1<=0){ pcC1_inc=true;}}
 if (pcC2_inc)
{ pcC2= pcC2 +1; if( pcC2> pcCmax){ pcC2=pcCmax; pcC2_inc=false;}}
else
{ pcC2= pcC2 -1; if( pcC2<=0){ pcC2_inc=true;}}
 //delay(1000);  // wait for a second    
}


void comandi_ai_rele() //da pcC1, pcC2 contenenti un mumero fra 0 e 31 ai cinque pin comando relè
{
//Non è una struttura elegante, ma dovrebbe funzionare.
//comando ai relè dell'induttanza  
boolean rilas = HIGH; boolean attrat = LOW;// per invertire azione relè della bancata invertire HIGH con LOW
if ((pcC1 && 1) !=0){ digitalWrite(outLp1, rilas);}else { digitalWrite(outLp1, attrat);}
if ((pcC1 && 2) !=0){ digitalWrite(outLp2, rilas);}else { digitalWrite(outLp2, attrat);}
if ((pcC1 && 4) !=0){ digitalWrite(outLp4, rilas);}else { digitalWrite(outLp4, attrat);}
if ((pcC1 && 8) !=0){ digitalWrite(outLp8, rilas);}else { digitalWrite(outLp8, attrat);}
if ((pcC1 && 16)!=0){ digitalWrite(outLp16, rilas);}else { digitalWrite(outLp16, attrat);}

//comando ai relè della capacità
rilas = HIGH; attrat = LOW;// per invertire azione relè della bancata invertire HIGH con LOW
if ((pcC2 && 1) !=0){ digitalWrite(outCp1, rilas);}else { digitalWrite(outCp1, attrat);}
if ((pcC2 && 2) !=0){ digitalWrite(outCp2, rilas);}else { digitalWrite(outCp2, attrat);}
if ((pcC2 && 4) !=0){ digitalWrite(outCp4, rilas);}else { digitalWrite(outCp4, attrat);}
if ((pcC2 && 8) !=0){ digitalWrite(outCp8, rilas);}else { digitalWrite(outCp8, attrat);}
if ((pcC2 && 16)!=0){ digitalWrite(outCp16, rilas);}else { digitalWrite(outCp16, attrat);}
}

void acquisisci_Gamma()
{ // delay(1000); // Ritardo 1 s per attendere assestamento circuiti dopo commutazione relè: funzionale,ma  da modificare perchè brutto datop che blocca il funzionamento di tutto il processore
  V_rifl = readAnalogInput(A0);
  V_dir = readAnalogInput(A1);
   Gamma= float(V_rifl) / float(V_dir);
//    return ((1.0 + (float)(pot_rifl / pot_dir)) / (1.0 - (float)(pot_rifl / pot_dir)));
}

int readAnalogInput(byte input)
{ //lettura con media di un pin
   int tempRead = 0;
   for (byte i = 0; i < 10; i++) { tempRead += analogRead(input);}
   return (tempRead /= 10);
}

//----------fine-------------------------
 
edit by mod: per favore includi il codice usando gli appositi tag
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 11, 2013, 06:17 pm
Finalmente sono riuscito ad assemblare il prototipo 3.0  :)

un paio di cosette per Leo72,
premesso che sugli ingressi per ora non ho inserito alcun segnale, il SW si comporta come segue:
1) inserisce correttamente le 256 combinazioni della serie "L"
2) fa la verifica di dove inserire la serie "C" ma non sa come farla, mi spiego dopo
3)  inserisce correttamente le 256 combinazioni di "C"
4) finito il giro delle "C" segnala correttamente che non è riuscito a raggiungere il valore impostato e poi resetta tutta la serie "L" e lasciando "C" inserita riparte dall'inizio ed il giro prosegue all'infinito

spiegazione punto 2)
per fare la verifica di dove inserire la serie "C" dovrebbe:
a) inserire il primo scalino della serie "C"
b) memorizzare il nuovo valore di ROS ottenuto
c) attivare l'uscita A5
d) comparare il nuovo valore di ROS con il valore di ROS al punto b)
e) se nuovo ROS < o = ROS punto b) lasciare uscita A5 alta altrimenti riportarla bassa
f) iniziare il giro di "C" come fa adesso

punto 4)
una volta finiti i giri di "L" e di "C" senza aver raggiunto il valore impostato si ferma e segnala accordo non riuscito mediante il lampeggio veloce del led collegato su A2

altra cosetta,
una volta raggiunto o meno l'accordo, l'ultimo valore di ROS deve essere memorizzato prima dell'invio della segnalazione accordo riuscito / non riuscito.
In caso, durante l'esercizio, il valore di ROS subisca una variazione repentina, vuol dire che è stato fatto un cambio gamma, reset di tutte le uscite e si parte dall'inizio.

sperando di essere stato chiaro, attendo ritorno

x PXM rispondo in altro post.

Campa1957


Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Aug 11, 2013, 06:39 pm
benvenuto a marcopxm  :)

x campa: non sono del ramo, non ho mai avuto nemmeno un baracchino, sono della generazione internet e quindi mai ne avro' uno, fatta questa premessa mi chiedevo, ma il discorso di dove sia meglio agganciarsi, se lato trasmettitore o lato antenna, non e' una posizione fissa ? cioe' una volta assodato che il tuo impianto risponde meglio dal lato X a che serve ad ogni accensione rifare questo check ?
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 11, 2013, 07:02 pm
Ciao Testato

un accordatore automatico si usa prevalentemente con antenne 'sconosciute' nel senso che se sei in postazione fissa in teoria dovresti avere antenne accordate e non dovrebbe servirti accordarle.
Un accordatore automtico generalmente si usa fuori sede dove magari puoi solo buttare un pezzo di filo come viene.

x PXM

ben venuto nel Forum

hai messo insieme un po troppe domande :)
per quanto riguarda un accordatore commerciale già lo uso normalmente, il piacere di autocostruire qualcosa è cosa ben diversa che andare in un negozio e comperare.
per quanto riguarda i relè, ne ho acquistato tempo fà un certo numero per un progetto, poi accantonato, dove avrebbe dovuto girare 1 Kw abbondante, adesso, viste anche le mie antenne, sarei contento di farci passare 200 o 300 W.

ciao

Campa1957

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Aug 12, 2013, 12:59 am
ecco, mi mancava questa variabile, grazie  :)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 12, 2013, 06:10 pm
Ecco a voi HW 3.0

ciao

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 12, 2013, 06:23 pm
Ciao a tutti,

mi servirebbe una dritta per l'utilizzo del ULN2803, mi spiego, come da foto inserita pochi minuti fa, ho inserito nel circuito n.3 ULN2803, n.2 per invertire lo stato delle 16 uscite utilizzate per il pilotaggio dei relè delle due serie "L" e "C" visto che le schedine a relè invertono a loro volta, e n.1 per pilotare con 2 buffer in serie i due led di segnalazione.
Per i primi 2 nessun problema, per quanto riguarda il terzo con cui piloto i 2 Led, i led lampeggiando anzichè spegnersi del tutto rimangono a mezza luminosità e poi si accendono alla massima luminosità regolarmente.
Potrebbe mancare una resistenza verso il positivo o forse verso massa collegata sull'uscita di Arduino?
Prima di fare dei danni chiedo lumi  :)

grazie

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 12, 2013, 07:20 pm
Campa, i lumi, ma quelli al petrolio, te li darei in testa, non puoi continuare a pretendere che ti si leggano gli schemi di collegamento nel pensiero ]:D. Il 2803 si usa collegando il pin 10 a 5V ed il pin 9 a GND; i pin da 1 a 8 sono gli ingressi e quelli da 18 a 11 le relative uscite, attive basse; un LED si collega con il catodo su una uscita e l'anodo ai 5V mediante una R di limitazione (220-330 ohm); se invece di 5V ne stai usando 12 la R diventa di 560-680. Usato così il led si accende con 0 in ingresso e si spegne con 5V in ingresso, a meno che non stai usando qualche sorta di pwm in ingresso.
Se da queste info non trai nulla di utile devi rassegnarti a disegnare lo schema di collegamento tra micro, ULN, LED e quant'altro.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 12, 2013, 08:34 pm
Ciao Michele,
come al solito hai ragione!
pero'.................  :)  :)  :)

Spiego meglio il problema, nel SW Leo72 ha utilizzato le 14 uscite da 0 a 13 più A0 e A1 per avere le 16 uscite di comando per i relè "L" e "C" oltre a questi ha usato A2 e A5, A2 per visualizzare cosa fà il SW e A5 per selezionare il punto di inserimento del ramo "C".
Vedendo i led a 1/2 luce invece che spento, ho pensato che bisognasse in qualche modo 'aiutare' le due uscite in questione, però prima di far fuori delle porte della scheda di Arduino ho chiesto lumi.
Alimento il 2803 a 12v direttamente dalla batteria di alimentazione e la resistenza per consumare meno l'ho messa da 1.000 ohm

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Aug 12, 2013, 09:00 pm
Per quanto ne so, i segnali da A02 e A05 appartengono ai sei canali analogici di ingresso, che possono essere commutati come ingressi digitali, ma NON come uscite.

applicando un diodo LED  con 1K in serie appeso al +12 V, l' ingresso va in protezione saturato ai +5V con un diodo interno al  ATMEL,
la corrente nei diodi vale ( 12V - 5V - cicra 3VLED)/1kohm=  4 mA >> LED sempre accceso con media-bassa intensità.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Aug 12, 2013, 11:07 pm
No, i 6 pin analogici possono essere usati normalmente come pin in/out digitali
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 12, 2013, 11:55 pm
Campa, mi dai ragione e non disegni due linee di schema  :smiley-sad-blue:, confermami almeno che i pin A2 e A5 del micro sono collegati a due pin ingresso del 3° 2803, e sulle due corrispondenti uscite hai collegato i catodi dei led, quindi hai collegato gli anodi alle due R da 1kohm. Il pin 10 del 2803 lo hai collegato ai 12V? il pin 9 lo hai collegato a GND?

@ marco: ti confermo che i 6 pin analogici possono essere regolarmente usati come I/O digitali a tutti gli effetti, senza alcun limite rispetto agli altri 14; non so se nel ragionamento che hai fatto ti è chiaro che questi due pin del micro non sono collegati direttamente ai led ma tramite due stadi di un ULN2803; questo almeno è ciò che mi pare di capire. Purtroppo Campa non si rende conto che è quasi impossibile seguire un discorso, specialmente come li fa lui :smiley-sweat:, e tradurlo all'istante in uno schema elettrico, e quindi dobbiamo lavorare di fantasia ed intuito; a volte la cosa può essere divertente, alla lunga stanca ed i problemi restano irrisolti, a buon intenditor....
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 13, 2013, 06:36 am
Ciao Michele,

Quote
Campa, mi dai ragione e non disegni due linee di schema  smiley-sad-blue, confermami almeno che i pin A2 e A5 del micro sono collegati a due pin ingresso del 3° 2803, e sulle due corrispondenti uscite hai collegato i catodi dei led, quindi hai collegato gli anodi alle due R da 1kohm. Il pin 10 del 2803 lo hai collegato ai 12V? il pin 9 lo hai collegato a GND?


ho fatto tutto esattamente come descritto.

Se non ricordo male, in un vecchio post di Leo72 c'è un accenno a delle resistenze di pull-up per gli ingressi analogici.
L'ho cercato ma senza riuscire a trovare nulla.

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 13, 2013, 03:50 pm
La versione che ti avevo allegato giorni fa non usa le pull-up interne.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Aug 13, 2013, 04:20 pm
Per Testato e Michele,
Grazie per le info sulla possibilità di adoperare i pin analogici anche come output digi.
Avevo interpretato male il data sheet del ATMega328P:
http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet.pdf
L'ho riletto e non è di comprensione semplice, e non avendone necessità avevo finora adoperato gli input ana solo come input digi.
A scambiare informazioni si impara sempre qualcosa. Ancora grazie.

Nel mio ultimo messaggio, avevo erroneamente supposto che i LED fossero connessi direttamente al controllore e non tramite il il driver open collector darlington.
Rimane da spiegare il comportamento segnalato da Campa: forse è dovuto alla mancanza di resistori di  pull-up sulla uscita del controllore: con uscita open, la corrente nell'ingresso del driver è evanescente, ma sufficiente a fare passare un poco di corrente nel diodo LED.  Però credo che le porte digitali siano in grado di fornire una corrente di  source quando l'uscita è a livello alto, e questo contrasta con l'ipotesi di uscita open.
In futuro, per evitare cattive figure,  mi asterrò dal diffondere supposizioni .


Per Campa57, auguro buon proseguimento nelle prove, e ti invito a diffondere uno schema elettrico con tutti i valori dei componenti.

73    a tutti da Marco
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 13, 2013, 06:24 pm
Ciao a tutti

avendo avuto conferma da Leo72 che non vengono usate le resistenze di pull-up interne, ne collegherò una per il pin A2 e una per il pin A5 verso il +5V.
Potrebbe essere utile mettere la resistenza di pull-up anche su A0 e A1 ???
Se ho capito bene il valore dovrebbe essere di 10Kohm, mi date conferma ???

Per quanto rigurda lo schema in questa fase mi sembra talmente semplice da non essere utile, comunque butto giu qualcosa ben volentieri in questi giorni.

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 13, 2013, 08:08 pm

avendo avuto conferma da Leo72 che non vengono usate le resistenze di pull-up interne, ne collegherò una per il pin A2 e una per il pin A5 verso il +5V.

Bastava guardare il codice  ;)

Quote

Potrebbe essere utile mettere la resistenza di pull-up anche su A0 e A1 ???
Se ho capito bene il valore dovrebbe essere di 10Kohm, mi date conferma ???

No. Ti altererebbe la lettura. Casomai una pull-down per tenere a 0 il pin in modo da non avere letture flottanti quando non colleghi nulla agli ingressi analogici.
Title: Re: [OT] richiesta di aiut o per programmino x Accordatore
Post by: Campa1957 on Aug 14, 2013, 04:23 pm
Mi è esploso il 2803  :smiley-eek:

ciao a tutti,

come scritto più sopra ieri pomeriggio dopo la fuoriuscita di un piccolo refolo di fumo è esploso, nel vero senso della parola, un 2803  :smiley-eek:  :smiley-eek:  :smiley-eek:

In quel momento avevo scollegato la scheda di Arduino e tutti gli ingressi erano scollegati, a vostro parere potrebbe essere che, detta volgarmente, l'integrato per autooscillazione e/o motivi similari ha fatto i botto!
A questo punto le resistenza di pull-up o pull-down mi sembra siano d'obbligo!
Resto in attesa di suggerimenti.

grazie

Campa1957

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 14, 2013, 05:40 pm
scommetto che è quello dei LED ]:D tu aspetta sempre qualche giorno quando l'elettronica ha problemi e i santi che ti aiutano ti chiedono gli schemi; non ho mai sentito parlare di pull-up e pull-down nel pilotaggio dei 2803 o sulle uscite, visto che hanno già tutto l'occorrente all'interno, essendo dei darlington; semmai ho sentito parlare di collegamenti corretti, polo comune, polo di massa, ecc. ecc., ho sentito parlare di corrente massima erogabile per ogni canale ed in totale, cose che allo stato attuale non sono verificabili, guardando una foto.
Il suggerimento è uno solo, vista la tua dichiarata non-autosufficienza, ed è sempre lo stesso, posta lo schema dei collegamenti, ma confrontalo con il lavoro fatto su millefori, potresti anche aver commesso un involontario errore.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 14, 2013, 07:07 pm
Ecco lo schema...........

Non ho indicato i piedini 9 e 10 dei 2803, mi sembra superfluo dire che sono l'alimentazione, 9 gnd e 10 + (NON corretto, leggi oltre)


Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 14, 2013, 08:14 pm
Veramente il pin 10 non è il positivo dell'alimentazione ma il pin COM, che va collegato a VCC per usare i diodi interni nel caso l'ULN2803 venga usato per pilotare carichi induttivi (es. motori).
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 15, 2013, 12:13 am
Allora come ti ha detto Leo il pin 10 (COM) va a 12V per il pilotaggio di motori o carichi induttivi, quindi per il chip che alimenta i LED lascialo libero, mentre il 9 va a GND per forza.

Perché usi due linee in serie per un misero LED??? quelle non sono porte NOT, sono circuiti darlington. Prova con una sola, elimina la seconda in serie, il LED con la R da 1k verso 12V vanno bene, secondo me con i due LED risolvi subito.

Con RL1 intendi una schedina da 4 vero? quanto assorbe ognuno di quei 4 relé?

Qual è il chip che si è bruciato, cioè cosa alimentava?
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 15, 2013, 07:16 am
Quote
Veramente il pin 10 non è il positivo dell'alimentazione ma il pin COM, che va collegato a VCC per usare i diodi interni nel caso l'ULN2803 venga usato per pilotare carichi induttivi (es. motori).


scollego il pin 10!

Quote
Allora come ti ha detto Leo il pin 10 (COM) va a 12V per il pilotaggio di motori o carichi induttivi, quindi per il chip che alimenta i LED lascialo libero, mentre il 9 va a GND per forza.

risposto sopra a Leo72
Quote

Perché usi due linee in serie per un misero LED??? quelle non sono porte NOT, sono circuiti darlington. Prova con una sola, elimina la seconda in serie, il LED con la R da 1k verso 12V vanno bene, secondo me con i due LED risolvi subito.

ok
Quote

Con RL1 intendi una schedina da 4 vero? quanto assorbe ognuno di quei 4 relé?

si, schedina da 4 relè, ogni relè è pilotato da un transistor smd microscopico, non conosco l'assorbimento, l'unica cosa è che inverte il segnalo, ingres a 0 relè attratto
Quote

Qual è il chip che si è bruciato, cioè cosa alimentava?

il chip esploso pilotava una schedina da 4 relè.

Faccio un po di prove e inserico gli aggiornamenti.

Buon ferragosto a tutti!!!

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 15, 2013, 09:01 am
Dopo il ragionamento dei 2 post precedenti ho pensato che potrei pilotare direttamente la schedina da 4 relè con le uscite della scheda di Arduino.
Ho verificato la cosa e funziona perfettamente, bisogna solo alimentare le schedina da un +5 esterno, ma questo non è un problema.
La schedina però eccita il relè quando l'ingresso viene portato a 0, a questo punto si presenta il problema di invertire la gestione delle uscite di Arduino.
Mi ricordo di aver letto in un post precedente che la cosa è possibile a livello SW però non ho la minima idea di quante modifiche richieda al lavoro già fatto da LEO72.

A questo punto DOMANDONA X LEO72  :)  :)  :)

Nel tuo SW gestire le uscite in modo inverso all'attuale è un grosso problema? comporta molto lavoro?
in caso sia problematica la modifica SW anzichè un 2803 penso di poterci mettere una porta NOT per invertire lo stato.

La mia idea iniziale di utilizzare il 2803 deriva dal fatto che quando pensavo al progetto tempo addietro non conoscevo il funzionamento delle parti che ora ho assemblato!

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 15, 2013, 10:19 am

Dopo il ragionamento dei 2 post precedenti ho pensato che potrei pilotare direttamente la schedina da 4 relè con le uscite della scheda di Arduino.

La risposta breve è no.
La risposta lunga è: potresti farlo ma è meglio se non lo fai.
Prima di tutto.... se la tua scheda relé ha dei transistor che pilotano a loro volta i relé potresti farlo (sempre che i transistor lavorino a 5V). Però c'è un però. La corrente. Dovresti fare un conto della corrente necessaria a pilotare la base del transistor. Poi tu usi 16 relé e dovresti fare i conti con la corrente necessaria ad accendere tutti i relé, che potrebbe risultare superiore a quella fornibile dall'integrato Atmega328.

Se poi invece le schede relé che usi tu non hanno il transitor sulle bobine dei relé, allora scordati di attaccare direttamente le bobine ai pin dell'Arduino: bruceresti le uscite del chip, prima o poi, perché non si devono mai attaccare carichi induttivi ai pin di un micro.

Quote

Ho verificato la cosa e funziona perfettamente, bisogna solo alimentare le schedina da un +5 esterno, ma questo non è un problema.
La schedina però eccita il relè quando l'ingresso viene portato a 0, a questo punto si presenta il problema di invertire la gestione delle uscite di Arduino.
Mi ricordo di aver letto in un post precedente che la cosa è possibile a livello SW però non ho la minima idea di quante modifiche richieda al lavoro già fatto da LEO72.

A questo punto DOMANDONA X LEO72  :)  :)  :)

Nel tuo SW gestire le uscite in modo inverso all'attuale è un grosso problema? comporta molto lavoro?
in caso sia problematica la modifica SW anzichè un 2803 penso di poterci mettere una porta NOT per invertire lo stato.

La mia idea iniziale di utilizzare il 2803 deriva dal fatto che quando pensavo al progetto tempo addietro non conoscevo il funzionamento delle parti che ora ho assemblato!

Campa1957


Non è un grosso problema. Un segnale HIGH oppure LOW per attivare un dispositivo esterno comporta solo il cambio del segnale da spedire sull'uscita, non la logica.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Aug 15, 2013, 10:28 am
i transistor sulla scheda ci sono, si vedono nella foto, ed al 99% sono dei darlington, se e' cosi' attaccarli direttamente ad arduino e' la scelta migliore. Queste schede con darlington sono migliori anche di quelle con opto, perche' il led dell'opto richiede piu' corrente risapetto ad una base di darlington.
Per avere conferma, Campa, munisciti di lnete di ingrandimento e vedi se riesci a leggere la sigla di questi transistor, semre che sia scritta
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 15, 2013, 10:55 am
X Leo72

Ho fatto le modifiche come consiglito, però non è cambiato nulla  =(
allego di seguito la porzione di codice dove ho invertito lo stato delle uscite e ho commentato le righe come promemoria.

Code: [Select]
//disattiva tutti i relé
void resetUscite() {
   for (byte i = 0; i < 8; i++) {
       digitalWrite(releCondensatori[i], HIGH); // sostituito LOW con HIGH
       digitalWrite(releInduttori[i], HIGH); // sostituito LOW con HIGH
   }
}


//inserisco il condensatore sulla catena degli induttori
void inseriscoCondensatore() {
   float ros1 = readRos();
   digitalWrite(USCITA, LOW); // sostituito HIGH con LOW
   float ros2 = readRos();
   if (ros2 >= ros1) { //la situazione è peggiorata, tolgo il condensatore
       digitalWrite(USCITA, HIGH); // sostituito LOW con HIGH
   }
}


ci sono andato vicino come l'altra volta???

X Testato

ho lasciato girare il SW per un'oretta senza che fumasse nulla, ho deciso che sono darlington!

Buon Ferragosto a tutti

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 15, 2013, 11:30 am
Le modifiche sono giuste. Se non funziona, è qualcosa lato circuito.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 15, 2013, 12:11 pm
versione nuova o versione vecchia, senza toccare nulla dei collegamenti elettrici, il funzionamento è esattamente lo stesso.  :(

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 15, 2013, 12:17 pm
allora sei a posto, la versione vecchia ti invertiva i segnali con gli ULN, la nuova non lo fa, visto che li hai eliminati, ma il funzionamento è identico perché hai invertito, lato sw, H con L, cos'è che stai lamentando (almeno a giudicare dalla faccina)?
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 15, 2013, 01:04 pm
NON mi lamento assolutamente di nulla, con la faccina volevo solo esprimere disiacere!

Ricapitoliamo un attimo,
1) ho tolto i 2803 che non avevano motivo di essere inseriti se non per l'inversone dello stato che genera il loro inserimento nel circuito.
2) ho caricato la precedente versione del SW, il comando delle schedine risulata giustamente invertito
3) ho caricato la nuova versione del SW, il comando delle schedine continua ad essere invertito.

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 15, 2013, 07:00 pm
lascia quello che fa ciò che vuoi che faccia, che t'importa il motivo per ora? sarà per colpa di quelle doppie porte che avevi messo sui LED
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Aug 21, 2013, 03:13 pm

In questi giorni di vacanza ho sviluppato un programma dimostrativo di un accordatore automatico d'antenna, verificandone il funzionamento solo simulando il comportamento della pare di rete L C e carico.
Mi sono limitato a banchi di 5 + 5 L e C, ma (se trovate uscite disponibili) potete facilmente aumentarli.
L'algoritmo è più complicato di quello proposto da Leonardo M, ma non è detto che sia migliore.
Spero che sia di interesse, almeno per conoscere un differente stile di scrittura.
Con la funzione monitor, si visualizzano i passi dell'algoritmo nel realizzare l'accordo.
Molto probabilmente non procederò alla realizzazione della parte hardware L e C e relè.
Forse l'algoritmo compie dei passi inutili.
Lo rendo disponibile nello attachment allo stato in cui è.  Se lo proverete con una vera rete LC, TX e un carico, inviatemi i risultati delle prove, o  inviatemi  suggerimenti di eventuali migliorie o osservazioni.
   
saluti da Marco
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 23, 2013, 05:55 am
Sperado nel fine settimana di riuscire a riprendere il lavorare sul 'mio' Accordatore, sono a chiedere un'informazione sui segnali che devono arrivare ai due ingressi.

Code: [Select]

const byte INGRESSO1 = A3; // Lettura segnale Pot. Rifl.
const byte INGRESSO2 = A4; // Lettura segnale Pot. Dir.


Premesso che nelle mie prove uso segnali che possono variare da 0v a +5v generati da un potenziometro multigiri e da un partitore resistivo collegato alle varie uscite dei relè, volevo sapere se questi segnali sono compatibili con il modo di gestire gli ingressi utilizzati da Leo72.
Questa dubbio è causato dalla difficoltà di gestione, dei due segnali in ingresso, per il raggiungimento di un punto di bilanciamento fra i due segnali ovvero del "punto di accordo".

Grazie

Campa1957

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 23, 2013, 12:12 pm
Non credo che Leo abbia usato ARef diversi dall'alimentazione, quindi problemi non ce ne sono, tutt'al più avresti problemi di saturazione dei valori. Io continuo ad avere il dubbio che tu un bilanciamento non lo avrai mai con questo modo. Simuli un ROS con dei potenziometri ma nella realtà dei fatti esso cambia man mano che "accordi", non capisco come tu possa fare a simulare la variazione lasciando i potenziometri in posizione fissa o con che criterio li muovi.
Insisto sul fatto che tu ti debba concentrare sul funzionamento della procedura e non sui suoi risultati. Quando la procedura funzionerà ragionevolmente dovresti passare a test REALI con apperecchi ed antenne, magari roba economicissima e mezza difettosa. A mio parere rischi di perdere un mare di tempo per dover poi ricominciare quando passerai ai test sulle apparecchiature.
Dissi.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 23, 2013, 03:47 pm
Io non conosco le tecniche di accordatura basate su C e L per cui non mi esprimo. Il codice che scrissi lo feci basandomi sulle indicazioni di campa, sul sunto rifattomi da Michele e sulle penultime indicazioni sempre di campa. Le ultime richieste di campa non le ho esaudite per mancanza materiale di tempo per dedicarmi alla cosa, dato che sto seguendo altro, un progetto un pò complesso come mi ha portato via un bel pò di tempo e risorse mentali. Per questo motivo misi online il codice, affinché potesse essere preso ed elaborato secondo le necessità, necessità espresse da campa nelle sue ultime richieste fattemi che però io non ho potuto ancora soddisfare per i motivi suddetti.

Se avete tempo e pazienza per aspettare che mi liberi, vedrò di dedicarmi ancora alla cosa. Altrimenti potete prendere il mio codice e modificarlo come meglio credete, è lì apposta. Però vorrei avere delle certezze anch'io, perché dover scrivere ogni volta del codice ripartendo da zero non mi va. Se si tratta di poche modifiche all'attuale non ci sono problemi, ma se si tratta di ripartire da zero...  :smiley-sweat:
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 23, 2013, 05:41 pm
X Michele,
ho fatto qualche ragionamento sulle mie 'prove in bianco' e penso non siano del tutto esaustive, mi organizzo per passare al più presto a quelle serie con la RF che gironzola.

X Leo,
con riferimento ai tuoi tempi, vedi i miei tempi di risposta, e direi, che i tuoi sono brevissimi  :)
Per quanto rigarda il SW direi che è centrato, se non al 100% poco ci manca.
L'unico dubbio che mi era venuto è su come il SW valuta i segnali in ingresso ma mi ha già risposto Michele.

Nel fine settimana spero di riuscire a fare ancora una verifica senza RF, poi monto i toroidi e vedo che segnali buttafuori in base a quanto RF ci butto dentro.

Solo a scopo organizzativo, se i segnali fossero bassi cosa potrei usare per alzare il loro livello?

ciao

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 23, 2013, 06:34 pm
la domanda non è molto chiara di che segnali parli? generati da cosa? se i segnali all'origine sono buoni e ti trovi roba molto attenuata all'uscita ovvio che si tratta del circuito di attenuazione. Io farei le prove con un normale mattoncino da 4W vecchio ed un'antenna caricata, provando inizialmente a metterci in serie un accordatore serio per tenere sotto controllo il ROS, in modo da non bruciare tutto sotto test.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 23, 2013, 06:53 pm
Parlo dei segnali in uscita dal circuito rivelatore sia delle potenza diretta che di quella riflessa.

Ciao

Campa1957

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Aug 23, 2013, 08:04 pm
e come li amplifichi? o con un amplificatore esterno (sconsigliatissimo in questa fase!!!) o diminuendo (la cosa migliore) il circuito di attenuazione.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 24, 2013, 07:30 am
Ieri sera, riflettendo su quello che ci siamo scritti, ho deciso come realizzare i due partitori resistivi "L" e "C" appena posso butto giù un desegnino tanto per capirci.
Per il segnale della poenza diretta, visto che il SW lavora per il miglior valore raggiunto, il trimmer multigiri porebbe anche essere sostituito da un partitore resistivo tanto per non dare il +5 secco sull'ingresso della scheda.

Per la parte HW, ho tolto i 2803 e collegato direttamente le schedine dei relè alla scheda di Arduino.

Ciao

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Aug 24, 2013, 08:14 am
@campa:
facendo seguito alle tue richieste del replay #206 (http://forum.arduino.cc/index.php?topic=169599.msg1349973#msg1349973) ed avendo trovato 1 oretta a lavoro in cui non avevo nulla da fare (  :smiley-sweat: ) ho rimesso mano al codice.
In allegato la versione 1.3 dell'accordatore.
Dovrebbe fare quello che volevi:

1) fa la scaletta degli induttori;
2) poi va lo step 2 come richiesto: mette il 1° condensatore, legge il ros, attiva l'uscita, rilegge il ros. Se il ros è peggiore, toglie l'uscita.
3) fa poi la scaletta dei condensatori
4) alla fine si blocca senza ripartire all'infinito

Ovviamente come sempre il codice è non testato e modificabile secondo le tue esigenze.
Da parte mia credo di aver finito, adesso tocca a te  :P
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 24, 2013, 09:43 am
Grazie Leo  :)

Nel pomeriggio carico il nuovo SW e vedo cosa riesco a combinare, poi vi racconto!

Campa1957
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: itz5uxp on Aug 27, 2013, 06:05 pm
Ciao a tutti mi Presento,
sono IZ5UXP, Nicola per l'anagrafesono un radioamatore anche io e ho trovato il post su arifidenza, per cui incuriosito da arduino, l'ho comprato e ho incominciato ad entrare in questo fantastico mondo, magari riesco a farmi ritornare la passione per la programmazione, soppiantata negli ultimi 15 anni dall'auto-costruzione. ho ripreso il mio vecchio manuale di ansi c e.... ho ripreso a studiare come ai bei tempi del polimi, quando si faceva lezione con Pezzè. ma bando alle ciance, se volete posso dare una mano sull'hwr e sul software per quello che posso. comunque veramente un ottimo lavoro. io stavo analizzando il lavoro fatto da un americano che opera con la stessa logica. la mi domanda è che potenza dovrà sopportare l'accordatore? sarà un lavoro tipo LDG?
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Aug 28, 2013, 06:57 pm
Caro Nicola,
ti do il benvenuto sul forum,
se ho ben capito sei un  polimi, io sono un vecchio polito.
In queste settimane, mi sono messo per diletto a sviluppare un sw di un accordatore, anche se l'ultima cosa che mi diverte e serve è realizzare fisicamente l'accordatore.

Se ti posso proporre qualche argomento software e hardware da sviluppare:
- Mi servirebbe la espansione delle uscite di arduino con un "I/O expander with serial interface MCP23008"  o equivalente per potere pilotare 8+8 relè.
Servirebbe il progetto di connessione hardware e la parte sw di pilotaggio.
Dovresti valutare se è meglio usare il bus seriale I2C o quello ISP.
Io anni fa avevo pilotato un potenziometro digitale, e avevo trovato le info negli esempi di Arduino.

Un'altro argomento sarebbe il software di salvataggio/lettura  di alcune variabili nella memoria EEPROM
di Arduino, in modo che  spegnendo e accendendo l'accordatore si  possano memorizzare e poi
ripristinare automaticamente i valori dell'accordo.

Un altro argomento solo hardware analogico, è la scelta dei toroidi e il progetto degli induttori.

Un ultimo argomento è cosa fare per utilizzare  dei relè latch, che anche disalimentati mantengono l'ultima posizione comandata.

Attendo tue notizie. 73 Marco PXM
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Aug 28, 2013, 09:00 pm
Due possibili soluzioni:
Per le 16 uscite si può anche pensare a prendere la mega
Per i relè bistabili ci sono varie possibilità la piu semplice e comoda da pilotare è quella di usare i rele per impianti elettrici, i finder, usando un solo pin hai la memoria meccanica del rele, mentre i bistabili classici necessitano di due pin
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Maurotec on Aug 29, 2013, 01:26 am
Non è possibile portare a termine un progetto affrontato in questo modo, mancano competenze e dati su cui lavorare.
Nulla è stato stabilito ancora e quello che viene scelto e da considerare una alternativa. Ciò vuole dire ad esempio che il modo binario di fare la commutazione non è la soluzione definitiva.

Che tempi di reazione medi ci si può aspettare da un circuito di amplificazione RF?
La commutazione è indolore, per il circuito?
La commutazione può comportare difficoltà al circuito di acquisizione analogico.
Che circuito di acquisizione devo usare? l'adc di arduino va bene o mi servono 12 o più bit?
Qual'è il caso migliore nella realtà?
Qual'è il caso peggiore nella realtà?
Quale il caso più frequente nella realtà?
ps: Gli ultimi tre quesiti si possono dedurre da una collezione di dati ricavati durante più prove sul campo.

Serve strumentazione tecnica di alta qualità e molta curiosità, per vedere cosa accade durante la commutazione.
Bisogna indagare per bene sui circuiti di accordatura e da questi ricavare informazioni preziose.

Sono cosciente che si può controbattere in tanti modi ad esempio: il prodotto xx usa la commutazione per accordare
e funziona, quindi. Risposte simili mi lasciano perplesso.

Serve un circuito amplificatore reale con cui procedere alla sperimentazione, ovviamente questo circuito deve essere robusto
e in grado di lavorare senza guastarsi o andare in protezione. Come fare io non lo so, magari bastano anche 200mW per sperimentare il circuito di accordatura.

Si è parlato di PID grazie al post di astrobeed e quindi perché non un PID anche in questo caso? è possibile?
Ne sapessi di più di radio frequenza e dei circuiti di accordatura potrei dire qualcosa di certo, ma mi limito a dire
che una verifica in questa direzione la farei.

Ciao.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Aug 29, 2013, 04:30 pm
Rispondo rapidamente per tenere vivo e interessante il forum:
Nota:  purtroppo, sono un newby, non ho ancora imparato ad adoperare bene  l'editor e a cambiare  il colore del mio testo, il mio post risulta poco comprensibile.   Marco.

xTestato:
Concordo sull' uso di Arduino Mega, personalmente preferisco Arduinouno perchè meno costoso per l'applicazione, ma ovviamente dipende dal numero di apparati che si ipotizza realizzare.

Per i relè bistabili ci sono varie possibilità la piu semplice e comoda da pilotare è quella di usare i rele per impianti elettrici, i finder, usando un solo pin hai la memoria meccanica del rele.
----Non dovrebbero andare bene, perchè  Arduino non riesce a  conoscere lo stato in cui sono (aperto / chiuso) e ne comanda solo la commutazione.
.....
xMauroTec:
Tutte buone domande, a cui posso fornire qualche risposta:
Non è possibile portare a termine un progetto affrontato in questo modo, mancano competenze e dati su cui lavorare. Nulla è stato stabilito ancora e quello che viene scelto è da considerare una alternativa. Ciò vuole dire ad esempio che il modo binario di fare la commutazione non è la soluzione definitiva.
----è vero è tutto ancora aperto. Si può solo sperare di sviluppare un SW che sia adattabile a differenti applicazioni. Però siamo qui per  imparare  scambiando idee ed esperienze.

Che tempi di reazione medi ci si può aspettare da un circuito di amplificazione RF?
---- un circuito passivo si assesta nel tempo di commutazione dei relè e di assestamento dei filtri dei raddrizzatori del rosmetro: circa 0,1- 0,5 secondi.
La commutazione è indolore, per il circuito?
------  Si,  in generale se la potenza che transita è minore di 10 - 20 W. Non devono avvenire commutazioni con potenze superiori a 100 w.
La commutazione può comportare difficoltà al circuito di acquisizione analogico:
------ No, se è protetto (resistore da 1kohm in serie agli ingressi, che sono internamente  protetti con diodi a massa e +5V )

Che circuito di acquisizione devo usare? l'adc di arduino va bene o mi servono 12 o più bit?
------------Basta la risoluzione del %, bastano  8 bit ( 256 valori), il 12 bit di Arduino va +che bene.

Serve strumentazione tecnica di alta qualità e molta curiosità, per vedere cosa accade durante la commutazione.
-------- Basta conoscere cosa succede dopo una commutazione, non cosa avviene durante.

Sono cosciente che si può controbattere in tanti modi ad esempio: il prodotto xx usa la commutazione per accordare e funziona, quindi. Risposte simili mi lasciano perplesso.
-------- Però esaminare quanto già costruito aiuta. Siamo hobbisti, non possiamo  fare meglio dei professionisti. Le risorse di tempo sono sempre limitate, copiare aiuta. Non occorre inventare l'acqua calda.

Serve un circuito amplificatore reale con cui procedere alla sperimentazione, ovviamente questo circuito deve essere robusto.
--------  Un TX amatoriale da 100 W regolato in bassa potenza (5-10 W) con attenuatore, va più che bene.

Si è parlato di PID grazie al post di astrobeed e quindi perché non un PID anche in questo caso? è possibile?
-------- Direi che nn regolatore PID non è applicabile : agisce rapidamente  in modo continuo su grandezze analogiche,  mentre qui si agisce lentemente  a piacere su comandi digitali. Poi noi agiamo alternativamente  su due grandezze di uscita per ricercare per tentativi il minimo di una funzione, l'uscita di un regolatore agisce su una sola grandezza in funzione dello scostamento fra set e feedbak.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Aug 29, 2013, 06:03 pm
Con tutti i bistabili non conosci la posizione, devi monitorarla a parte. Quindi con i meccanici userai due pin uno di comando uno di rilevazione stato, con i classici servono 3 pin.
Per il tipo di utilizzo credo sia meglio rimanere sul monostabile

Arduino ha gli adc a 10bit

Concordo sul pid, non utile in questo progetto
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Maurotec on Aug 29, 2013, 06:44 pm
Quote
La commutazione può comportare difficoltà al circuito di acquisizione analogico:
------ No, se è protetto (resistore da 1kohm in serie agli ingressi, che sono internamente  protetti con diodi a massa e +5V )


Non mi riferivo ai danni, ma comunque anche questo deve essere curato.
Ora vado di fretta, magari dopo approfondiamo.

Io mi aspetto un segnale oscillografico non regolare e insomma qualcosa di anomali durante la commutazione e negli istanti successivi, se leggo il segnale e questo è falsato il programma anche se lavora correttamente io potrei non accorgermene, perchè i dati acquisiti sono da considerare non validi. Per questo dico che procedere così alla carlona non è cosa buona.

Iniziamo a creare un circuito di acquisizione dati reali, e questi li facciamo stampare su un file nel pc, così che tutti possano analizzarli, questo è per me almeno è il prossimo passo, questo perché alcune cose che sembrano logicamente sensate sono state stabilite e ora bisogna convalidarle queste cose.

Ciao.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Aug 29, 2013, 07:41 pm
concordo su questo, i disturbi post commutazione ci sono di sicuro, e se vengono acquisiti e digitalizzati ti fanno sbagliare la misura, facendo misure reali con l'oscilloscopio si puo' capire quanto durano i disturbi. Visto che parliamo di un circuito che non necessita' di velocita' di esecuzione si puo' cmq prevedere tipo 1 secondo, anche 5, di pausa delay (non serve nemmeno millis in questo caso) prima di acquisire
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Campa1957 on Aug 30, 2013, 03:36 pm
Ciao a tutti, mi scuso per la mia latitanza ma purtroppo sono molto incasinato con il lavoro!!! :)  :)  :)

Per prima cosa un benvenuto al collega radioamatore, ho messo io il primo dei link che portano qui.

Ho letto velocemente gli ultimi post, e per quanto riguarda la mia idea, mi sento di precisare quanto segue:
1) il tempo di accordo è comunque un valore che deve essere contenuto il più possibile, se non sei veloce ti fumi i finali.
2) la potenza per cui ho pensato il tutto è nella peggiore delle ipotesi intorno ad 1 KW.
3) nelle mia idea ho pensato di utilizzare i relè sottovuto inquanto già in mio possesso.
4) l'uso dei relè bistabili mi sembra assolutmente inutile, almeno nella mia idea di progetto.
5) tenere in memoria l'ultimo accordo potrebbe essere utile ma non credo molto.
6) potrebbe essere utile invece tenere il memoria gli accordi in base alla frequenza ma di quello non ne abbiamo ancora parlato.
7) avere più uscite sarebbe utile anche per poter gestire un LCD e leggere i vari valori e non solo.

Spero di essere riuscito a spiegare la mia idea, spero nel prossimo fine settimana di riuscire a riaccendere Arduino

Campa1957 iz1opm
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Oct 20, 2013, 05:14 pm
Buon pomeriggio di domenica a tutti!,
sono tornato per la prima volta dopo agosto sul forum, ma vedo che il principale utente non si è fatto più vivo!!.
Forse si è accordo che la costruzione hw è più complessa del previsto e che non basta 
un "progammino" ma un programma ben pensato e collaudato per farlo funzionare bene.

Fin dall'inizio ho pensato che utilizzare una rete di  resistori per simulare il comportamento di induttori e condensatori
fosse inadeguato a rappresentare la realtà.

saluti a tutti e buoni sviluppi con Arduino !!!!

        Marco

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paulus1969 on Oct 20, 2013, 05:21 pm
Sarò antico, ma io rimango convinto che si possa fare con due condensatori variabili con due servo...  :D
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Oct 20, 2013, 06:17 pm
antico ? brillante vuoi dire  :)
e' molto piu' efficiente e preciso che una sequenza di attacca stacca riattacca riprova,
su un apparecchiatura molto vecchia che assisto ci sono dei motopotenziometri, li vendono gia' assemblati, forse esistono dei motocondensatori ?
Il problema puo' essere anche la capacita', bisogna vedere se i condensatori variabili esistono di quelle misure
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paulus1969 on Oct 20, 2013, 06:50 pm
Certo che esistono, si usano per gli accordatori manuali, almeno per quelli autocostruiti.
Pensavo di mettere due servo e con questi comandare i due condensatori variabili, credo che la precisione sarebbe più che sufficiente.
Parlo di uno schema con due C ed una bobina multipresa (a seconda della banda si seleziona la presa e così il numero di spire "attive" e questo si può ottenere con qualche relè o simile.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Oct 20, 2013, 06:56 pm
Ma, a dirla tutta, io è da un po' che non uso più baracchini, lineari, ecc.,  anche se conservo gelosamente tutta la strumentazione, ed in perfetto stato  :) Col mio umile TM1000 regolavo in un istante il ROS su due diverse antenne (Mantova 1 e direttiva col rotore) con due manopole ed uno strumento a lancetta. Ma a che serve realizzare qualcosa di elettronico ed automatico? Cosa mi sfugge negli usi moderni di questi apparati?
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paulus1969 on Oct 20, 2013, 07:05 pm
Esistono anche gli induttori a manopola:
http://www.coutant.org/tuner/ (http://www.coutant.org/tuner/)


Michele, ah bei tempi, quelli... anche io conservo le antiche apparecchiature ed usavo quell'accordatore (mi accordava anche le filari che mi costruivo).

Per quanto riguarda l'utilità, credo sia inutile nel caso di una stazione con operatore che può benissimo accordare "all'antica" ma può essere comunque bello/interessante da realizzare. Anzi... forse talvolta è proprio bello fare qualcosa di superfluo.
"Posso rinunciare a tutto, tranne che al superfluo" (citazione).
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: menniti on Oct 20, 2013, 07:18 pm
azz, questa sì che è bellissima, spero di non acquisirla questa massima altrimenti sono davvero beeep :smiley-sweat:
Comunque il chiarimeneto l'ho avuto, ed è come temevo pensavo :smiley-mr-green:
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paolosanna on Oct 21, 2013, 10:33 pm
ciao a tutti ....
anche a me, qualche anno  fà , mi venne in mente questo accrocchio.. ed ho anche comprato un pò di HW, ho due condensatori variabili motorizzati, acquistati su ebay dal recupero di un accordatore automatico defunto...  ho diversi condensatori variabili idonei (smontati da accordatori manuali defunti) , ed ho anche acquistato due servomotori con una coppia suffciente a movimentari i condensatori di cui sopra ...

mi pare sia chiaro ormai come dovrebbe essere questo schema:

L'accordatore tipico, con lo schema a pigreco, ha questa configurazione:
http://www.ariroma.it/docs/projects/p_greco_rev01.pdf (http://www.ariroma.it/docs/projects/p_greco_rev01.pdf)
cioè una linea di trasmissione con due capacitè variabili ed una induttanza, anch'essa  variabile, appunto disposti a pigreco ..

per poter affetuare l'accordo, ovvero il massimo trasferimento di energia,  occorre inserire un dispositivo in grado di rilevare quando non c'è l'accordo medesimo, ovvero un dispositivo come questo:
http://fucimin.altervista.org/swrmeter.html (http://fucimin.altervista.org/swrmeter.html)
o questo
http://www.ariroma.it/docs/projects/ros_tor.pdf (http://www.ariroma.it/docs/projects/ros_tor.pdf)
comunemente chiamato rosmetro. Cè ne sono di diversi tipi, tutti cercano di separare la componente diretta dell'onda irradiata, dalla componente riflessa che torna indietro dopo la riflessione sul carico mal adattato.
ne esistono anche di altro tipo, a ponte di wheatstone etc... In laboratorio si usa l'accoppiatore direzionale, in grado di separare con un elevato valore di disaccopiamento le due componenti...
Se non è molto sensibile, occorrerà una potenza minima RF di 1 o 2 W affinchè le tensioni diretta e riflessa siano apprezzabili ..
se il rosmetro è a ponte di Wheatstone bastano pochi milliwatt di potenza RF per avere tensioni diretta e riflessa apprezzabili, pero ha lo svantaggio che non lo si può lasciare inserito perchè una delle R del quadrilatero del  ponte rimane inserito nella linea causando un'assorbimento di potenza... (cercate uno schema di rosmetro a ponte di Wheatstone)..
.. ma per il nostro fine basta e avanza un rosmetro anche autocostruito...

Quindi:
avendo una linea di trasmissione terminata sul carico, normalmente un'antenna,
alimentando la linea con un segnale RF ad una determinata frequenza non siamo in grado di conoscere l'impedenza di risonanza dell'antenna,
ma possiamo desumerne il disaccordo leggendo i valori della tensione diretta e riflessa e calcolando il ROS (SWR .. in inglese).

la logica dovrebbe essere questa (sto cercando di ricordare qualcosa studiato molto tempo fa..):
- si mettono i condensatori a metà della posizione;
- cerca la posizione sull'induttanza variabile per il minimo ROS..
- quindi si affina l'adattamento ruotando il condesatore variabile lato tensione diretta per leggere il massimo valore di tensione diretta ...
- quindi  si ruota il condensatore variabile sul lato tensione riflessa per cercare il minimo valore di tensione riflessa
ma si può anche invertire l'ordine e forse un procedimento automatico lì può anche fare contemporaneamente ...
il procedimento è iterativo, ed in due o tre passaggi si ottiene l'adattamento pressochè perfetto (sempre che la possibilità di escursione delle capacità disponibili sia sufficiente per tutte le frequenze alle quali vogliamo operare ...

Gli accordatori commerciali (anche quelli automatici) hanno un'impostazione manuale che prevede l'impostazione della banda sulla quale operare
- 1.8 Mhz basso
- 1.8 Mhz alto
- 3,5 Mhz
- 7,1 Mhz
- 10 Mhz
- 14 Mhz
- 18 Mhz
- 21 Mhz
- 24 Mhz
- 28 Mhz
a ciascuno dei quali corrisponde l'impostazione dell'indutanza L via via decrescente
Alcuni accordatori automatici rilevano la banda su cui è sintonizzato l'RTX atraverso un sistema di codifica ed un cavetto di comunicazione radio<-->accordatore ...
Come si cambia la sintonia, anche di poco, l'accordatore automatico segue la radio aggiustando l'accordo "fine" muovendo i due consentori varabili all'abbisogna ...

e qui viene il primo suggerimento.. se si potesse implementare il frequenzimetro di Michele si potrebbe rilevare la frequenza ed automaticamente inserire la giusta induttanza ... lasciando l'accordo fine alla ricerca del massimo/minimo delle tensioni diretta/riflessa ....

si potrebbe, una volta trovato l'accordo, memorizzare la posizione di (induttanza, C1 e C2, associata alla frequenza), quindi con un condensatore servito da un servomotore ottenere un'accordo velocissimo, forse meglio di molti accordatori commerciali ...

comunque alcuni anni fa ho provato a codificare l'algoritmo di ricerca del massimo e del minimo di due valori .. poi ho abbandonato ma se ci lavoriamo per fare una bella cosa riprendo anche io ...

qui allego lo script che avevo scritto io.. ormai nel lontano gennaio 2011, con la IDE 022
lo script era per dei condensatori motorizzati da usarsi con un motor shield .. non con dei servomotori ...
se ho scritto castronerie grosse scusatemi....
ciao
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: GINGARDU on Oct 22, 2013, 02:36 pm

Sarò antico, ma io rimango convinto che si possa fare con due condensatori variabili con due servo...  :D

se vuoi puoi rimanere convinto.....
rimane il fatto che sono convinzioni strampalate   ]:D
se l'antenna è "corta" corta rimane e il condensatore può solo "accorciare" l'antenna,   :0
prendere 2   condensatori variabili di grossa capacita che sopportano 1 Kw di potenza ci vuole un mutuo   =(
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paulus1969 on Oct 22, 2013, 04:54 pm
Allora come mai gli accordatori manuali si fanno con i due condensatori variabili?
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paolosanna on Oct 22, 2013, 08:15 pm


Sarò antico, ma io rimango convinto che si possa fare con due condensatori variabili con due servo...  :D

se vuoi puoi rimanere convinto.....
rimane il fatto che sono convinzioni strampalate   ]:D


.. sbagli gingardu... paulus ha perfettamente ragione ... accoppiare un servo a ciascuno dei due variabili è un'ottima idea... giusto per avere un'idea:
io le prove le ho fatte con questo attrezzo nelle foto di seguito allegate.
Come detto prima si tratta di una coppia di condensatori (usati normalmente con potenze di 150 w, ma credo reggano anche di piu, recuperati su ebay da un antenna tuner defunto), dotati di un motore CC. Li ho usati con lo script riportato sopra e funzionano bene. L'unico prpoblema è che non hanno un sistema per rilevare la posizione di adattamento e quindi non posso memorizzare la posizione trovata. per qusto ho abbandonato il progetto almeno fino a quando non trovo il sistema di poter rilevare la posizione del condensatore.
Con un servomotore questo problema non esisterebbe: trovato l'accordo si memorizza la posizione e la prossima volta che vai su quella banda il micro in una frazoine di secondo imposta l'induttanza ed  i due condesatori ed il sistema è già bello ed adattato. La sintonia fine averrebbe con piccoli aggiustamenti dei condensatori.

io uso questo accordatore automatico yaesu fc757: http://www.universal-radio.com/catalog/hamhf/fc757ata.html (http://www.universal-radio.com/catalog/hamhf/fc757ata.html), posso dirti come fà l'accordo. I due condensatori sono motorizzati come quelli della foto, solo che hanno un potenziometro da cui il micro può risalire al posizionamento del condensatore. Una volta ragiunto l'accordo su quella banda, il micro memorizza nella eeprom la posizone dei condensatori e dell'induttanza variabile, e quando torni su quella banda ci si riposizione subito sopra, I condensatori ci mettono anche 4/5 s spostarsi da una posizione all'altra (dipende se sono posizioni vicine o agli estremi dei valori del condensatore). Un servo sarebbe pressochè istantaneo. Il commuttatore per inserire togliere l'induttanza gira solo in un senso, quindi se devi passare da una posizione alla posizione precedente (devi tornare indietro) lui deve fare tutto il giro e ci mette anche oltre 110  sec.  I condensatori del 757 sono un pò più piccoli di quelli della foto e l'accordatore viene dato per 150 w, se non ricordo male.

ho anche recuperato alcuni condensatori da questo: http://www.crtelettronica.it/dettagli.php?product_id=230 (http://www.crtelettronica.it/dettagli.php?product_id=230) che ha condensatori molto più piccoli di quelli che ti ho fotografato e sono dati per 500 w. (ma su questo ho dei dubbi anche io) ed ho anche acquistato i servi per la loro movimentazione (circa 12 € cadauno).



se l'antenna è "corta" corta rimane e il condensatore può solo "accorciare" l'antenna,   :0

questa frase non ha molto senso, almeno io non l'ho capita ... perchè anche se l'antenna è corta (rispetto alla lunghezza d'onda del segnale che l'alimenta) la si può portare a risonanza aggiungendo un induttanza in modo che la rettanza capacitiva dell'antenna raccorciata sia compensata da una pari reattanza induttiva (aggiunta),  e questo lo fa anche l'accordatore .. diverso è parlare di rendimento dell'antenna .. che se è molto più corta (rispetto alla lunghezza d'onda) sarà sempre limitato..

ciao
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Oct 23, 2013, 02:58 pm
Con il mio messaggio del 20 cm  non pensavo di risvegliare il forum !

Secondo me entrambe le soluzioni:  condensatori variabili, condensatori fissi commutati sono entrambe  funzionalmente valide, ma per circa 100W RF, quella con condensatori /induttori commutati  ha componenti facilmente disponibili ed è più economica.

Secondo le mie stime:
i 8 nuclei  T 94-2 costano circa 1,5  euro cad.    trascuro costo filo rame e tempo per avvolgerlo
i 8+8+1  relè da 10 A costano 3 euro cad
8 condensatori ceramici da 1000 V circa 0,5 euro cad.
2 integrati shift register e 2  driver per pilotaggio relè  costano in tutto 4 euro.

in totale: 8*1,5+17*3+ 8*0,4 + 4 =  70 euro.

Secondo me:
un condensatore variabile da 10-300 pF
induttore roller da 1- 10 uH
motori passo passo o DC con riduttore per pilotarli.
sensori posizione (del servo) o encoder per conoscerne la posizione.
integrati di pilotaggio.

costano di più e occorre una certa capacità /disponibilià di attrezzature meccaniche (che non possiedeo) per
assemblarli.

Attendo i vs. commenti     
                                                    Marco
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Oct 23, 2013, 04:19 pm

Nota tecnica:   

Non ha molto senso parlare di condensatori da 500 W o 1 kW, occorre precisare il massimo ROS lato antenna, ossia prima dell'accordo (che però ovviamente non è noto per un pazzo di filo qualunque).

Per i condensatori si deve parlare di tensione di lavoro.


P = V * I ; I = V/R ; P = V^2 / R ;   V = sqrt (P *R)

Supponiamo una antenna accordata di 50 Ohm, con potenza 1000 W.  V = sqrt ( 1000*50) =  circa 220 V neppure tanti.

Supponiamo Antenna con ROS = 1:5   alta impedenza :  R = 5 * 50 = 250 ohm
Supponiamo potenza 100 W    V = sqrt ( 100 * 250) = circa 160 V.

Se l'antenna è staccata (non c'è) la resistenza è infinita, allora anche con potenza molto bassa la tensione sale moltissimo e il condensatore scarica.

Il simmetrico capità per impedenza antenna bassa, in cui la parte critica è la corrente nell'induttore.
P = R * I^2     ;  I = sqrt (P/R)  ....

Concordate ?

     saluti a tutti da Marco
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Oct 23, 2013, 04:35 pm
Nota tecnica 2
Nel messaggio precedente ho scritto un termine ambiguo.

La tensione di lavoro  non è la tensione continua di insolamento, ma quella HF in alternata.
Occorre pensare alle perdite del condensatore, perdite che potrebbero essere 1/100 della potenza reattiva che gli viene applicata. Il tutto dipende dalla capacità e  dimensioni del condensatore

Supponiamo  V = 220 V,  C = 100 pF,  F =  10 MHz

Z = X condensatore =  1 / (6,28* 10 * 10^6 * 10^ -12 )  = 10^6/(628) =   1592 ohm.
I = V / X = 220/1592 =  0,14 Ampere
P= VAR =  220 * 0,14 =  30 W, 
Ora sono un poco impreciso (occorrerebe parlare di tangente di delta del condensatore):
  se le perdite nel dielettrico sono solo 1/100   la potenza persa è 30/100 = 0,3 W.
Il condensatore se fosse piccolo scalda , fuma e si danneggia.

I condensatori variabili in aria sono quelli che scaldano di meno.

Commenti ?
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paolosanna on Oct 23, 2013, 06:19 pm
Ciao Marco... 
premetto che conosco diversi dei tuoi interessanti lavori tra i quali l'antenna analyzer fatto proprio con il 328.. quindi sò che qui,  su questa materia sei un'autorità, anche se cerchi di passare inosservato ..... ;)

tutto assolutamente condivisibile...
io mi sono letto tutto il post perchè pensavo di trovare un progettino bello e buono.. visto che tempo fà lo avevo approciato anche io...

perchè non ci dai una mano a mettere su un bel progettino con -
- induttanze inseribile con relè (poi vediamo che tipo di rele)
- condensatori motorizzati con servo;
- eventuale commuttatore d'antenna
momorizzazione sulla eeprom dei punti di accordo,

eventuale integrazione di un frequenzimetro, magari quel gioiello di michele menniti .. che potrebbe consentire anche lo scambio automatico della banda ...

cosa ne pensi???
ciao
Paolo
IS0CFU

che ne dici?

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Oct 23, 2013, 06:24 pm
correzione alla nota tecnica 2 ...scusate

Supponiamo  V = 220 V,  C = 100 pF,  F =  10 MHz

Z = X condensatore =  1 / (6,28* 10 * 10^6 *100* 10^ -12 )  = 10^6/(6280) =   159,2 ohm.
I = V / X = 220/159,2 =  1,4 Ampere
P= VAR =  220 * 1,4 =  300 W,
Ora sono un poco impreciso (occorrerebe parlare di tangente di delta del condensatore):
 se le perdite nel dielettrico sono solo 1/1000 (valore basso)  la potenza persa è 300/1000 = 0,3 W.
Il condensatore, se è piccolo, scalda , fuma e si danneggia.

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Oct 23, 2013, 06:47 pm
Caro Paolo,
ho appena letto il tuo messaggio,
In effetti ho in sviluppo un accordatore a L e C commutate.
Vai a vedere su arifidenza.cc  forum autocostruzione, trovi una mia discussione sull'accordatore.

Ho esaminato in modo un poco superficiale il tuo accordatore_13_01_2011.pde.
Mi pare ben  scritto e ben  commentato.
Per quanto ne ho potuto capire, misuri la differenza fra ros e ros precedente, quando si riduce hai trovato l'accordo.
Penso che funzioni, anche se imponendo un ros limite di per esempio 1.2 dovrebbe funzionare lo stesso ed essere più semplice.
Non conosco il frequenzimetro  di Minniti, è incorporato in Arduino?
Per misurare F con Arduino, vedi il programma del mio impedenzimetro, ho usato una funzione sviluppata da un Tedesco un certo Nawrah, mi pare . Se ti serve te la invio.
Per i rele , dipende dalla potenza dell'accordatore,  i rele deviatori, bobina 12V, contatti da 10 A vanno bene.

Su questo forum non ho ancora imparato ad allegare dei file.
Quando premo sulla seconda icona da sinistra della seconda file mi compare:(http://), ma come scelgo il file?



Per la memorizzazione su eprom, chiederi io il tuo aiuto, ma è prematuro.

Se si lavora in gruppo occorre concordare cosa si vuole fare. Per me l'accordo autromatico è applicabile a condensatori variabili e roller, se ne si conosce la posizione con encoder o potenziometro di feedback.

     73  Marco


Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paolosanna on Oct 23, 2013, 09:03 pm
Ciao Marco...

il mio script l'avevo fatto giusto per provare quella coppia di condensatori motorizzati che avevo "pescato" su ebay.. il problema è che non hanno un riferimento per fare il feedback della posizione.... contavo di applicargli sull'alberino un potenziometro ma l'alberino sporge solo di 2 o 3 mm .. quindi non saprei come innestargli qualcosa sull'asse ...

comunque la routine di "ricerca minimo" e "ricerca massimo" funziona...

a grandi linee funziona così:
se rilevo un V diretta, cè RF, qundi faccio un setup acquisendo le V diretta e V riflessa... a motori ancora fermi
aziono i motori per un tempo stabilito, fermo i motori e rilevo di nuovo Vdiretta e Vriflessa,
determino la pendenza della variazione confrontando con la lettura vecchia e ne conservo il segno
se il segno cambia, vuol dire che ho superato un punto di minimo o di massimo qundi devo invertire la rotazione.. contemporanemante dimezzo anche la velocità per fare un adattamento "fine"
tutto questo lo ripeto indefinitamente nel loop, l'accordo lo fermo quando la variazione di Vdiretta e di Vriflessa, sono entrambe minori di un valore prefissato .... quindi sono su un massimo (Vdiretta) e su un minimo (Vriflessa)..
nello script cè anche una gestione delle letture con un delay stabilito, e tiene conto anche di un tempo necessario per assorbire il gioco degli ingranaggi ogni volte che si inverte la rotazione...
il sistema funziona... ma il problema è che non cè un sistema di feedback sui condensatori ... ecco perchè vorrei farlo con i servomotori..... molto più semplice da gestire e da memorizzare .....

se volessimo fare un progettino bisognerebbe cominciare con lo schema del rosmetro da utilizzare, e lo schema dell'accordatore a pgreco.
Io vorrei farlo, naturalmente, utilizzando componentistica di basso valore, rele' come dicevi tu per la L variabile (i roller costano troppo), e come condensatori da recuperare da un accordatore manuale, di quelli senza strumenti,  che si trovano su ebay...a ochi euro, oppure aucostruirli del tipo a farfalla che sopportano tensioni ben più elevate .... e motorizzarli con un servo ...

il frequenzimetro di Menniti lo trovi su questa rivista http://www.elettronicain.it/myMain/riviste/p_rivista.asp?nrRivista=EI179 (http://www.elettronicain.it/myMain/riviste/p_rivista.asp?nrRivista=EI179) .. ma c'è anche qualche post su questo forum
ciao
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Oct 24, 2013, 08:46 am

Paolo IS0CFU,

sono riuscito a trovare il comando attachment...
allego lo schema di principio dell'accordatore.

Hai scritto che  vuoi usare un induttore a induttanze commutate , e un condensatore variabile in aria motorizzato.
Può funzionare, ma  secondo me viene meglio se usi anche i condensatori commutati, cosi il tutto funziona alla stessa elevata velocità.

Sai come fare per "congelare" o "mettere in sleep" o  rallentare  il funzionamento del controllore ATM di arduino ?. Non vorrei che in ricezione  i disturbi del clock di arduino si infilassero nell'accordatore e disturbassero la ricezione radio dei segnali deboli.

Per il rosmetro, ci sono tanti schemi in rete. Se ne hai uno vecchio con lo strumento a lancette, potresti  connetterti in parallelo ai segnali, e collegarti a due ingressi analogici di arduino.
Hai il display e visualizzi Vdir, Vrev  e  rifless = Vrev/Vdir   e ROS = (1+rifless)/(1-rifless)
Puoi confrontare l'indicazione di arduino con quella del (vecchio) rosmetro.

   ciao Marcopxm
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: lestofante on Oct 24, 2013, 10:25 am
Quote
Sai come fare per "congelare" o "mettere in sleep" o  rallentare  il funzionamento del controllore ATM di arduino ?. Non vorrei che in ricezione  i disturbi del clock di arduino si infilassero nell'accordatore e disturbassero la ricezione radio dei segnali deboli.


bhe puoi spegnerlo brutalmente, oppure mandarlo in sleep profondo che mi pare spenga anche il circuito dell'oscillatore


ps. che belli gli schemi sulla cara e vecchia carta :)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Oct 24, 2013, 02:35 pm
Caro lesto ? (veloce?), nickname ? ,

Spegnerlo brutalmente non vorrei perchè disalimento anche il pilotaggio dei relè.
Conosci il codice in C++/processing arduino  per metterlo in sleep ?.
E poi per riavviarlo, come si fa, senza perdere memorizzazioni?
Per l'accordatore, potrei rilevare l'assenza di tensione Vforward (assenza di trasmissione quindi presenza di RTX HF in ricezione) per addormentarlo  e viceversa.

Oppure mettere una porta AND logico in serie all'ingresso del quarzo dell'oscillatore. Ma ci possono essere condizioni in cui Arduino non riparte più ?   Poteri leggere il data sheet dell'ATxx, ma sono decine di pagine, e vorri risparmiarmi la fatica e usufruire delle conscenze altrui.

p.s. per gli schemi su carta, detesto usare CAD o drawing o simili... incomincio ad avere abitudini arcaiche.    ciao Marco 
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: lestofante on Oct 24, 2013, 02:49 pm
lesto come veloce, ma anche come diminutivo di lestofante (un accoppiata di nick che o uno o l'altro trovo sempre liberi su intenet :) ), non sono un radioamatore

codice sleep: http://playground.arduino.cc/Learning/arduinoSleepCode

le memorizzazioni in sleep non le perdi, ma lo devi risvegliare con un interrupt esterno (cambiando stato ad un pin). Giocare con il quarzo mi sembra una cosa da pazzi, ma sono ignorantissimo lato HW, quindi mi fido :)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paolosanna on Oct 24, 2013, 03:43 pm
Ciao Marco.. Ciao Lesto...


Hai scritto che  vuoi usare un induttore a induttanze commutate , e un condensatore variabile in aria motorizzato.
Può funzionare, ma  secondo me viene meglio se usi anche i condensatori commutati, cosi il tutto funziona alla stessa elevata velocità.

.. non mi piace l'idea di usare tanti relè.. a parte il fatto che costano, preferisco l'idea che il sistema mi segua con "continuità" allo spostarsi della frequenza... con microaggiustamenti dei servo, non con aggiustamenti "a gradini"... per quanto riguarda la velocità, tieni presente che una volta memorizzata la posizione di accordo, per quella banda, con quella antenna, il servo si porta in posizione in una frazione di secondo... quindi è comunque velocissimo....
In definitiva preferisco comunque i servomotori sui condensatori.... piuttosto che rele e condensatori fissi...



Sai come fare per "congelare" o "mettere in sleep" o  rallentare  il funzionamento del controllore ATM di arduino ?. Non vorrei che in ricezione  i disturbi del clock di arduino si infilassero nell'accordatore e disturbassero la ricezione radio dei segnali deboli.

mai provato a fare lo sleep.. ma come indicato da lesto si può fare. Per la nanna/risveglio si può usare come riferimento la presenza di Vdiretta ... se c'è --->  c'è RF quindi micro sveglio!!!! ... se non c'è ---> non c'è RF quindi micro sleep!!!!.



Per il rosmetro, ci sono tanti schemi in rete. Se ne hai uno vecchio con lo strumento a lancette, potresti  connetterti in parallelo ai segnali, e collegarti a due ingressi analogici di arduino.

si io ho fatto così per fare le prove tempo fà, come sorgente di RF usavo un vecchio RTX 27Mhz, ma il rosmetro era poco sensibile , sotto i 3 o 4 W di RF non funzionava...
l'accordatore commerciale che  uso (yaesu fc757) usa un riflettometro a toroide... sensibilissimo.. perchè vedo che accorda anche con potenza RF bassissima. ecco io vorrei replicare qualcosa di simile...

una di queste sere butto su kicad la mia idea.. poi cominciaamo a lavorarci... ciao
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Maurotec on Oct 24, 2013, 04:31 pm
Si possono prevedere due alimentazioni separate, una per il micro e l'altra per il circuito Relè.
I vantaggi ci sono sia che si usino optocoupler o meno.

Certo che metterlo li vicino al circuito di commutazione con tutta quella RF è da evitare.
Schermare i due circuiti è anche da prendere in considerazione.

Ciao.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: lestofante on Oct 24, 2013, 04:42 pm
i servo hanno un posizionamento "a spanne", molto meglio uno stepper.

ma poi se siete in continua (o meglio, sepre sopra GND) perchè non usare i transistor?
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Oct 24, 2013, 05:38 pm
Grazie lesto per le info, le leggerò con cura.

Per Paolo,
".. non mi piace l'idea di usare tanti relè.. a parte il fatto che costano, preferisco l'idea che il sistema mi segua con "continuità" allo spostarsi della frequenza... con microaggiustamenti dei servo, non con aggiustamenti "a gradini"...
"
riguardo ai gradini, con L e C commutate la risoluzione può essere del 3% del valore massimo e seguire bene la variazione di frequenza.
Però è questione di scelte/convenienze personali o disponibilità di materiali.

Allego una foto della mia realizzazione in itinere, e un grafico degli errori di non linearità e gradini non uniformi.

Per Maurotec:
i rele assorbono al massimo 11*0,04 = cica 500 mA, si possono prendere dal Valim di arduino1
Riguardo ai disturbi,: concordo è meglio schermare, ma  sono pigro e spero che che Arduino venga poco disturbato dalla RF vicina.

saluti a tutti


p.s. spero di aver allegato le immagini giuste...
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Oct 24, 2013, 05:43 pm
una immagine era inutile, e una mancava:

saluti a tutti e grazie per il piacevole scambio tempestivo di messaggi...
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paulus1969 on Oct 24, 2013, 06:47 pm

i servo hanno un posizionamento "a spanne", molto meglio uno stepper.

ma poi se siete in continua (o meglio, sepre sopra GND) perchè non usare i transistor?


Perché se monto un transistor su un condensatore variabile, non gira ...  :D

Dici che la precisione dei servo è bassa per lo scopo prefissato?
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: lestofante on Oct 24, 2013, 08:32 pm
orsù per i transiosto intendevo al posto dei relè, anche se fosse in alternata, credo che se anche usate solo le semionde positive tagliano le negative con diodi, non sorgano grossi problemi, no?

Quote
Dici che la precisione dei servo è bassa per lo scopo prefissato?

dipende che servo prendi. Ma in generale uno stepper economico fa meglio di un servo; uno stepper sai esattamente il passo, un servo analogico dipende da vari fattori, tra cui il voltaggio di alimentazionee credo anche il carico,la temperatura.. ma magari mi sbaglio.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paolosanna on Oct 24, 2013, 09:10 pm
ciao a tutti...


i servo hanno un posizionamento "a spanne", molto meglio uno stepper.
ma poi se siete in continua (o meglio, sepre sopra GND) perchè non usare i transistor?

io ho acquistato due di questi: li ho pagati poco più di 12 euro l'uno oltre un anno fa....
http://www.robotstore.it/product/156/Servo-standard-Hitec-HS-485HB.html (http://www.robotstore.it/product/156/Servo-standard-Hitec-HS-485HB.html)
sono precisi, veloci e potenti (coppia 5/6 Kg*cm) a 5 V .. fa ruoatare qualsiasi condensatore tra quelli che ho io...

i transistor non possono usarsi al posto dei rele'  che devono inserire/togliere capacità e sezioni dell'induttore, mantenendo una separazione elettrica tra le parti percorse da RF, anche ad elevata potenza, ed il resto dell'elettronica, micro etc....

di seguito allego lo schema ricavato da manuale del fc757 che uso io... in alto a sinistra la COUPLER UNIT, del tipo a toroide, per ricavare Vdiretta e Vriflessa (REF - FWD), oltre ad un rele per inserire un carico fittizio .... questo vorrei replicare io....
in altro a destra la TUNER UNIT, la parte di accordatore vero e proprio.... anche se cercando di decifrare lo schema non mi pare sia a pgreco... infatti:
il commutatore di banda, suddiviso in 4 sezioni coassiali
-   S01-b inserisce una capacità di valore decrescente con la banda selezionata, sul lato ingresso --> GND
-  S01-d e S01-c cortocircuitano  sezioni della L , riducendo quindi l'induttanza totale a seconda della banda selezionata (mi pare un pò contorto come sistema) .. credo sia molto più efficiente farlo con alcuni rele' ....
-  S01-a restituisce al micro il feedback della posizione assunta dal commutatore di banda
- il condensatore variabile VC01 (200 pf) sul lato ingresso (TUNE) risulta essere in parallelo alla capacità fissa inserita dal commutatore S01-b
- il condensatore variabile VC02 (430 pf) sul lato carico (LOAD) risulta essere in serie con l'uscita.. ecco perchè non mi sembra uno schema a pgreco...

marco che mi dici????


Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: Maurotec on Oct 25, 2013, 02:33 am
Quote
Sai come fare per "congelare" o "mettere in sleep" o  rallentare  il funzionamento del controllore ATM di
arduino ?. Non vorrei che in ricezione  i disturbi del clock di arduino si infilassero nell'accordatore e disturbassero la ricezione radio dei segnali deboli.


Quote
Per Maurotec:
i rele assorbono al massimo 11*0,04 = cica 500 mA, si possono prendere dal Valim di arduino1
Riguardo ai disturbi,: concordo è meglio schermare, ma  sono pigro e spero che che Arduino venga poco disturbato dalla RF vicina.


Per scongiurare che il clock si infili nell'accordatore ho pensato di usare 2 alimentazioni, una per il micro con il suo clock su una scheda separata. L'altra alimentazione serve per i relè, così facendo si apre la strada alla possibilità di interfacciare le due parti tramite accoppiatori ottici. La separazione dell'alimentazione può essere totale, cioè a partire dai trasformatori di rete, ponte diodo ecc, oppure un solo trasformatore e due ponti, regolatori lineari ecc.
In tal caso non sarà più necessario mettere il micro in sleep per evitare contaminazione RF, ma solo per ridurre il consumo ma lo considero superfluo.

Ovviamente per i test, va bene Valim, ma poi è meglio dedicare un alimentatore composto da Trasformatore doppio ponte e filtro e regolatori.

Ciao.

Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: lestofante on Oct 25, 2013, 10:11 am
scusate, ma che io sappia il clock consuma una cosa ridicola, con un paio di condensatori classici sulle alimentazioni non vedo perchè dovrebbe influenzare...

che parte del ragionamento è sbagliata?  :smiley-mr-green:
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paolosanna on Oct 25, 2013, 01:33 pm
@lesto:
.. non certo per gli assorbimenti, ma per il fatto che la frequenza di clock, o qualche sua armonica,  nonchè eventuale "rumore"  prodotto dalle commutazioni elettriche del micro possono generare "rumore" radiolettrico che disturba il ricevitore... magari inibendo la ricezione su intervalli più o meno ampi dello spettro radio di interesse, che nel nostro caso è compreso tra 0,1 - 30 Mhz.. almeno io, su quello sto lavorando....
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: lestofante on Oct 25, 2013, 01:51 pm
accidenti non pensavo fosse necessaria una precisione del genere... ma allora anche lo scatto del relè, o l'elettromagnetismo emesso da un motore... ma anche la confugurazione stessa delle piste diviene molto importante.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paolosanna on Oct 25, 2013, 04:54 pm
@lesto
lo scatto di un relè certamente crea una perturbazione, una sorta di "crak", che viene rilevata dal ricevitore, disturbando!!! ...ma fintanto che è una sola non ci sono grossi problemi.

Diverso è il caso di presenza di rumore "radioelettrico" di fondo, continuo e non occasionale,  che fà si che tutti i segnali sotto quel livello non vengono più distinti... da qui l'esigenza di separare bene, dal punto di vista elettrico micro e radio ....
Il problema del rimore radioelettrico, dovuto alle comuttazioni nel processore, nelle memorie etc .. è particolarmente evidente con vecchi pc, (queli nuovi non lo fanno), che se accesi vicino ad un ricevitore, il rumore generato ricade  su tutto lo spettro ricevibile. Un'altra brutta sorgente di rumore radioelettrico sono le nuove lampade a risparmio energetico .... .. comunque è meglio che le parti siano separate elettricamente ed anche le piste ben distanziate  per evitare accoppiamenti capacitivi ...
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Oct 25, 2013, 07:17 pm

Per Paolo:

Nell' URL è descritto un accordatore che prendo come riferimento:
http://www.elecraft.com/manual/KAT100%20man%20rev%20C.pdf

viene descritto nei particolari il rosmetro usato.

Il rosmetro del tuo accordatore AT..   è migliore in bassa potenza perchè ha la compensazione della caduta di tensione nei diodi raddrizzatori.

----------
in altro a destra la TUNER UNIT, la parte di accordatore vero e proprio.... anche se cercando di decifrare lo schema non mi pare sia a pgreco... infatti:
il commutatore di banda, suddiviso in 4 sezioni coassiali
- S01-b inserisce una capacità di valore decrescente con la banda selezionata, sul lato ingresso --> GND
- S01-d e S01-c cortocircuitano sezioni della L , riducendo quindi l'induttanza totale a seconda della banda selezionata (mi pare un pò contorto come sistema) .. credo sia molto più efficiente farlo con alcuni rele' ....
- S01-a restituisce al micro il feedback della posizione assunta dal commutatore di banda

- il condensatore variabile VC01 (200 pf) sul lato ingresso (TUNE) risulta essere in parallelo alla capacità fissa inserita
dal commutatore S01-
--------------   
VC01 è da 290 pF
-------------------------------------------------
NO  VC01 è connesso all'altro lato dell' induttore commutato.
----------------------------------------------------

- il condensatore variabile VC02 (430 pf) sul lato carico (LOAD) risulta essere in serie con l'uscita.. ecco perchè non mi sembra uno schema a pgreco...
----------

Condivido: è piu' complesso di un pi greco. E' un ibrido costituito da unm pigreco seguito da un partitore capacitivo
composto dai condensatori VC02 da 430 pF e VC01 290 pF.
Non saprei come effettuare l'accordo.
Per quanto sia un progetto vecchio di 20 anni è di ottima fattura.

Riguardo il servo Hitec HS485HB non comprendo la caratteristica della velocità:
velocità  Sec./60 6.0V 0,18  ; si riferiscealla velocità per fare un giro  o 60 gradi di rotazione ??, a vuoto o   con quale coppia torcente  ?? 
Può essere una buona soluzione per l'accordatore con condensatori variabili.

Se lo monti, e se ti interessa,  ti insegnerò come inserirlo in un oscillatore e come misurare la variazione della capacità con la variazione della frequenza di oscillazione. Il tutto con arduino.

    saluti a tutti
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Oct 26, 2013, 07:45 am
seguito msg precedente:
anche un accordatore che avevo esaminato mesi fa, ha la stessa configurazione.
Allego immagini e schema.
Ci dovrebbe essere un motivo per la preferenza rispetto alla configurazione a pigreco o a T.
Ma non la conosco, mi intriga, cercherò di approfondirlo per mio diletto.
   Saluti a tutti.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Oct 26, 2013, 10:14 am

orsù per i transiosto intendevo al posto dei relè, anche se fosse in alternata, credo che se anche usate solo le semionde positive tagliano le negative con diodi, non sorgano grossi problemi, no?

A volte non ti sai proprio trattenere  ;)
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Oct 27, 2013, 06:27 am
@Paolo S:
1) ma lavorando con un Arduino, anche se metti il 328 in sleep per evitare i disturbi provocati dal suo clock, sulla scheda esiste un altro integrato dotato di clock, il 16U2 usato come interfaccia USB. Quello non dà noia, "vivendo" sulla scheda e restando sempre in funzione?
2) esiste un modo per campionare tramite ADC riducendo il disturbo, con gli Atmel. Si tratta di usare la modalità di risparmio energetica detta ADC Noise Reduction, che mette in sleep (ergo, toglie il clock) la CPU lasciando però l'ADC funzionante. Terminato il campionamento, si può generare un interrupt che risveglia la CPU che può procedere con i suoi calcoli.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paolosanna on Oct 27, 2013, 05:17 pm

@Paolo S:
1) ma lavorando con un Arduino, anche se metti il 328 in sleep per evitare i disturbi provocati dal suo clock, sulla scheda esiste un altro integrato dotato di clock, il 16U2 usato come interfaccia USB. Quello non dà noia, "vivendo" sulla scheda e restando sempre in funzione?
2) esiste un modo per campionare tramite ADC riducendo il disturbo, con gli Atmel. Si tratta di usare la modalità di risparmio energetica detta ADC Noise Reduction, che mette in sleep (ergo, toglie il clock) la CPU lasciando però l'ADC funzionante. Terminato il campionamento, si può generare un interrupt che risveglia la CPU che può procedere con i suoi calcoli.

leo... si parlava di questo perchè marco ha ipotizzato questo problema... io mi sono limitato  a fare un pò di prove per verificare che l'lgoritmo di ricerca del minimo e del massimo, muovendo i condensatori funzinasse.. ma non ho provato collegando il tutto a un ricevitore per vedere se effettivamente si riscontrava il disturbo...
certamente il tutto va separato elettricamente ... da qui l'esigenza di usare relè per inserire/disinserire componenti di capacità/induttanza ....
ad ogni buon conto se uso lo schema con i rele, userò gli shift register 74HC595 .. non so se questi emettano "rumore" ... bho!!!




Ci dovrebbe essere un motivo per la preferenza rispetto alla configurazione a pigreco o a T.


ok.. aspetto le conclusioni del tuo ragionamento...

riguardo all'adattamento effetuato con inserimenti/disinserimenti di un modulo minimo di L o di C, da farsi con relè... devo dire che sto rivalutando seriamnete questa opzione...
8 capacità ed 8 sezioni di induttanza.. si possono gestire facilissimamente con 8 + 8 bit con due shift register
8 bit consentono di inserire gradualmente 256 "gradini di capacità , ottenendo un'ottima approssimazione lineare..
idem per le induttanze.... giusto come dicevi tu....
tutto a stato solido, niente parti in movimento.... si si.. mi hai convinto marco!!!
i rele non è un problema procurarseli ma i condensatori ceramici per alta tensione dove li troviamo... qui io ho difficolta a trovarli se non trovo qualcosa su ebay..

per la logica di accordo, facendo riferimento allo schema elekraft,  io farei cosi...
1 capacità a metà del suo valore
2 ricerca del minimo ROS variando L, se aumenta, inverto il senso di variazione, così fino a trovare il minimo
3 aggiustamento fine modificando le capacità---
4 memorizzazione su eeprom del punto di accordo per quella banda...

naturalmente poi ci sarebbe un'interfaccia per fare comunicare alla'ccordatore la banda selezionata sull'RTX....

marco fammi sapere la tua opinione .. ciao




Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: testato on Oct 27, 2013, 09:57 pm
È sbagliato dire tutto a stato solido senza parti in movimento, i rele normali non sono a ststo solido ed hanno parti in movimento.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: lestofante on Oct 27, 2013, 11:47 pm
mosfet?
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paolosanna on Oct 28, 2013, 08:04 am

È sbagliato dire tutto a stato solido senza parti in movimento, i rele normali non sono a ststo solido ed hanno parti in movimento.


si .. testato.. hai assolutissimamente ragione....
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Oct 28, 2013, 10:16 am
Salve a tutti, rispondo un poco su vari temi:
(  Non ho ancora imparato dove è il comando "quote" per inserite il testo altrui.....)


Confermo che ho ipotizzato il problema dei disturbi alla ricezione  generati dal microcontrollore.
Un ricevitore ha una sensibilità di 0,1 uV (milionesimi di volt) su 50 ohm per frequenza da 1 a 30 MHz..
Un microprocessore ha un clock di 4 Vpp volt picco picco a 16 MHz.

A favore dei disturbi: vari progettisti di accordatori parlano di metterlo in sleep per eliminare i disturbi.

Contro i disturbi: i radioricevitori HF con DDS direct digital synthesis di ferequenza sono gestiti da microcontrollore e funzionano!  Pero'  il DDS e il uP sono schermati.

"
1) ma lavorando con un Arduino, anche se metti il 328 in sleep per evitare i disturbi provocati dal suo clock, sulla scheda esiste un altro integrato dotato di clock, il 16U2 usato come interfaccia USB. Quello non dà noia, "vivendo" sulla scheda e restando sempre in funzione?
"
  Si può costruire una scheda arduino senza driver USB 16U2, integrandola con gli shift register e i driver relè.


"" se uso lo schema con i rele, userò gli shift register 74HC595 .. non so se questi emettano "rumore" ... bho!!!  ""
Quando il SW arduino non li pilota, non applica variazioni al segnale clock, e quindi non disturbano.
Poi il clock esterno può venire filtrato (fronti arrotondati)  con un condensatore (es. 1 nF) e quindi non emettere disturbi nel campo di frequenza di interesse.
La stessa cosa vale per il pilotaggio della bobina di un relè.

Allego per Vs curiosità un programmino di prova del pilotaggio degli shift register (funziona, ma non è bellissimo e ben documentato).

   Salute a tutti  Marco



Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Oct 28, 2013, 10:40 am
segue:
x Stefano:
i condensatori sono un  problema:
in un negozio ho trovato solo quelli da 63 Vlavoro.. pochissimo, va bene per fare prove e debuggare il SW...
In ebay si trova qualcosa. Attendo di trovarli a un mercatino.
Si potrebbe costruirli con del laminato vetronite doppia faccia per circuito stampato, spesso solo 0,5 mm.
Quello da 1,6 mm diffuso ha circa  tre volte meno capacità.
Un C  da 40 pF ha dimensioni circa 3 * 4 cm. Ma è una soluzione proprio artigianale..  però dovrebbero tenere 2000 V.

I nuclei T94-2  li ho comprati via posta da www.parachinishop.com di Castelletto Ticino,
mi sono costati di spese postali di spedizione quanto il materiale... ma poco in assoluto.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: leo72 on Oct 29, 2013, 07:20 am

(  Non ho ancora imparato dove è il comando "quote" per inserite il testo altrui.....)

Accanto al titolo di ogni post ci sono dei link, tra cui appunto "quote".
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paolosanna on Nov 02, 2013, 03:30 pm
niente da fare per trovare i condensatori alta tensione... da rf microwave  cèqualcosa ma non tutto e sono molto cari ... bho.. bho..
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: i2sdd on Nov 22, 2013, 06:53 pm

niente da fare per trovare i condensatori alta tensione... da rf microwave  cèqualcosa ma non tutto e sono molto cari ... bho.. bho..


Dipende cosa intendi x "cari" ....  dipende dalle caratteristiche e dalla qualità del prodotto.  Se lavori con i 100 watt classici non ti servono grosse spaziature tra le lamine ( se ricordo bene 1,5 mm di distanza tengono  oltre 1000 V RF ).   Per mia personale esperienza ho risolto con condensatori variabili sotto vuoto surplus russi dal costo di circa 50 Euro  e mi sono tolto il pensiero di scaricamento tra le lamine e nel non dovere superare qualche watt in piu'.  Ultimamente su ebay una ditta taiwanese propone condensatori variabili "classici" in aria  di buona fattura a prezzi contenuti.  vedi  http://www.ebay.it/itm/160999183137?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649   La spaziatura permette l'uso di potenze superiori al KW.  Rimane l'autocostruzione.  Per la mia loop magnetica, dove per l'accordo utilizzo un solo condensatore variabile sul loop principale, ho utilizzato la meccanica di un lettore CD  ( ingresso/uscita del piatto di supporto )  per muovere un sistema di 4 lamine 10x10 cm di alluminio che si intersecano variando la capacita'.   Il motorino originale è stato sostituito con uno steeper e il tutto è pilotato da Arduino.  Costo complessivo praticamente zero!  Isolamento tra le lamine oltre 3 KV  ( purtroppo con le loop si generano tensioni vicine a 3KV  anche con soli 100 watt out ).  La parte software non è farina del mio sacco ma proviene da un ottimo progetto di De Carolis  un italiano trapiantato negli USA  http://www.alain.it/2012/02/10/ft-817-automatic-loop/  .   Inutile aggiungere che sono interessato a questo progetto  XD e che spero non si perda per strada come quello originale...  Un saluto a tutti.
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Nov 24, 2013, 02:14 pm
Salve a tutti i lettori,
dopo una lunga pausa, ho assemblato il dimostratore dell'accordatore.
Il generatore fornisce solo circa 1 Veff, e il ROSmetro è a ponte di resistenza, e non particolarmente curato,
il carico fittizio è solo resistivo composto da tre resistori: 1 R 100 ohm, e 2 da 50 ohm inseribili singolarmente con interruttori a slitta.

Il rosmetro dovra' venir sostituito con uno a trasformatori, più preciso.

Pare anche funzionare, allego un tabulato di risultati.
Rimane il lungo lavoro di rifinitura del SW e  di capire con quali limiti funziona, e come fare per eventualmente migliorarli.
E poi provarlo ad alta potenza con un trasmettitore vero, però dovrò risolvere  prima il problema dei condensatori, al momento sono da 63 V lavoro. Qualcuno ha della vetronite  a doppia faccia con spessore di 0,5 mm ?

   Marco
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Jan 01, 2014, 12:01 pm
Buon prosegumento nel 2014 a tutti.
Non ho più letto interventi. E' caduto l'interesse ?

      Marco
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: paolosanna on Jan 02, 2014, 08:11 pm
Ciao Marco.....
no.... ogni tanto dò un'occhiata ....

io ho motorizzato i miei due condensatori variabili e ci sto lavorando ..... ho gia fatto una buona parte del software. adesso sto lavorando sugli encoder per il osizionamento manuale fine dei condensatori ....

Comunque sono d'accordo con te che sia  più efficiente inserire le capacità e le induttanze a "gradini" come fà l'elekraft ..l'LDG .. etc.  solo che è difficile trovare i condensatori per almeno 3/4 KV .... con 8/10 bit .... puoi costruire tutta la scala dei valori molto accuratamente

comunque se trovi una fornitura di condensatori pubblica qui le informazioni, .. idem per i rele da almeno 8/10 A, idonei per questo lavoro.

relativamente alla configurazione da adottare (pigreco o L).. potrebbe essere che la configurazione a pigreco possa avere più di una soluzione, mentre la L dovrebbe avere sempre una sola soluzione... quindi con i meccanismi automatici sei sempre sicuro che il sistema converga verso la soluzione .... bho!! che ne dici ??

ciao
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Jun 23, 2014, 03:43 pm
Buongiorno a tutti, dopo circa sei mesi sono trovato per caso nella discussione, scoprendo che era morta presumo di mancanza di novità e disinteresse. Anche io ho interrotto lo sviluppo  dell'accordatore per perdita  di interesse.
In ogni modo buon proseguimento dell'estate astronomico e buone attività a tutti.
  Marco
Title: Re: [OT] richiesta di aiuto per programmino x Accordatore
Post by: marcopxm on Sep 14, 2014, 06:13 pm
Salve a tutti,
dopo quasi  tre mesi sono tornato nel forum.
Ho visto che non sono stati fatti progressi.
Al momento  mi sto dedicando a trovare un algoritmo ottimo di ricerca l'accordo, sviluppando varie prove con  un programma di simulazione nell'ambiente Processing  ma è complicato, faticoso  e al limite delle mie capacità.
Per incuriosire allego una descrizione provvisoria dei risultati  non ancora completamente soddisfacenti visualizzati su  carta di Smith. Se qualcuno è interessato mi contatti.

  Saluti a tutti e buon inizio autunno !!