Motorizzare una loop magnetica: come?

Aperto da chio, 20 Agosto 2021, 16:37:48

Discussione precedente - Discussione successiva

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

chio

Ciao a tutti,
tempo fa, ho realizzato una loop magnetica portatile per le bande 20-10 m . L'antenna va così bene che ho deciso di realizzarne un'altra ma per postazione fissa. Sorge quindi il problema di comandare da remoto il condensatore variabile. In rete quasi tutte le soluzioni che cercavo (qualcosa di molto semplice senza fine corsa, display ecc.) portano ad usare arduino uno ,  collegato ad un driver che poi pilota un motore passo passo. 
In questo campo però non sono per niente esperto e chiedo se qualcuno ha utilizzato un sistema del genere o in alternativa qualche esperto in questo settore al quale  chiedere dei chiarimenti.


trodaf_4912

#1
Io ho usato un motoriduttore con motore in c.c. della MICRO MOTORS ed in particolare il modello B138F.6.149 che ha una coppia di 14Ncm e una velocita' da 13 a 18 rpm. 149 significa che ha un rapporto di riduzione da 149 a 1 e cioe' ci vogliono 149 giri di albero motore per avere 1 giro sull'albero del riduttore. Ingranaggi in metallo.
https://www.micromotors.eu/motoriduttori/serie-b138f/
È molto più facile ingannare la gente che convincerla che è stata ingannata

chio

Potrebbe essere una buona soluzione. Grazie.

Ik2exj

Utilizzando il solo motore non hai idea di dove è posizionato il condensatore e, di conseguenza, non sai dove devi farlo fermare per sintonizzare il loop sulla frequenza che vuoi...bisogna associare al condensatore un potenziometro che controllando uno strumento analogico ti visualizza la posizione sul quadrante,  praticamente è lo stesso sistema utilizzato per i rotori.
Ci vorrebbe qualcuno che desse un sempice schema elettrico potenziometro-strumento.


iz0eyj

Cerca "motore lineare" e "mororiduttore" su AliExpress, ne troverai di ogni genere e tipo.
Ovviamente considera solo quelli dotati di ruotusmi metallici

dattero

Esistono motori passo passo con riduttore con incorporato il sensore di posizione, con Arduino fai tutto


trodaf_4912

#6
Se si usa un motore passo passo e ' praticamente inutile il sensore di posizione in quanto se  lo piloti all'interno della curva di coppia e con le tempistiche giuste tra un passo e l'altro, di passi non ne perdera' mai ed e' il microcontrollore che ad ogni passo che fornisce al motore, incrementa un contatore o lo decrementa se il verso e' contrario, quindi conosce sempre la posizione dell'albero motore in base alle caratteristiche del numero di passi per giro.
Io invece ho usato un servomotore (quelli da radiocomandi per intenderci) la cui posizione e' impostata da 0 a 180 gradi  da un potenziometro lineare che viene letto dall'A/D del micro e fornisce al servo il comando fino al raggiungimento della posizione. Questo sistema e' utilizzato dalla azienda spagnola che produce una serie di loop magnetiche. Con un minimo di FW per la conversione da posizione del potenziometro, che e' 270 gradi, a 180 gradi che e' la rotazione del variabile.
In pratica la posizione fisica del potenziometro diventa quella del condensatore e non necessita di visualizzazione.
È molto più facile ingannare la gente che convincerla che è stata ingannata


dattero

#7
Citazione di: trodaf_4912 il 10 Settembre 2021, 10:17:05
Se si usa un motore passo passo e ' praticamente inutile il sensore di posizione in quanto se  lo piloti all'interno della curva di coppia e con le tempistiche giuste tra un passo e l'altro, di passi non ne perdera' mai ed e' il microcontrollore che ad ogni passo che fornisce al motore, incrementa un contatore o lo decrementa se il verso e' contrario, quindi conosce sempre la posizione dell'albero motore in base alle caratteristiche del numero di passi per giro.
Io invece ho usato un servomotore (quelli da radiocomandi per intenderci) la cui posizione e' impostata da 0 a 180 gradi  da un potenziometro lineare che viene letto dall'A/D del micro e fornisce al servo il comando fino al raggiungimento della posizione. Questo sistema e' utilizzato dalla azienda spagnola che produce una serie di loop magnetiche. Con un minimo di FW per la conversione da posizione del potenziometro, che e' 270 gradi, a 180 gradi che e' la rotazione del variabile.
In pratica la posizione fisica del potenziometro diventa quella del condensatore.
inutile non tanto, è vero che il microcontrollore "conta i passi" del motore , ma quando "spegni" e "riaccendi" non hai la sicurezza di avere a schermo la posizione giusta del variabile. Io mi riferisco a motoRIDUTTORI azionati da un passo passo.
Finche si è bassi di frequenza di lavoro il variabile lavora "largo" ,ma quando si va verso la frequenza più alta di lavoro il tuning del variabile diventa molto millimetrico , ecco il perchè di un motoriduttore con sensore.
Io ne ho fatte alcune (loop mag) un paio anni fa è ho usato quel sistema, mi son trovato benissimo.  Niente farina del mio sacco , che sia chiaro, ho fatto ricerche in rete non conoscendo il arduino e tutto quello che si può fare .
P.S. i variabili che ho usato io erano quelli sotto vuoto, quindi multigiro

trodaf_4912

#8
Scusa ma non capisco

CitazioneFinche si è alti di frequenza di lavoro il variabile lavora "largo" ,ma quando si va verso la frequenza più bassa di lavoro il tuning del variabile diventa molto millimetrico , ecco il perchè di un motoriduttore con sensore

Lo stepping motor ha due condizioni che devono essere rispettate. La prima e' che non si deve uscire dalla curva di coppia se no si perdono i passi, la seconda e' il periodo minimo di aggiornamento del passo che, se diventa troppo basso, il rotore non riesce ad eseguire il comando. Normalmente con un microcontrollore ed una procedura con timing variabile ad interrupt si riesce a costruire rampe di accelerazione, velocita' costante e rampe di decelerazione ottenendo un profilo di raggiungimento della posizione voluta molto preciso sempre rimanendo all'interno della curva caratteristica. Ad ogni accensione si fa un reset facendo girare il motore in senso antiorario sino ad un fine corsa, ottenendo la posizione di zero meccanico. Poiche' allo spegnimento precedente il controllore aveva memorizzato la posizione corrente in passi, comanda il motore per quel numero di passi raggiungendo la precedente posizione che viene mantenuta da un controllo pwm per minimizzare l'assorbimento e  anche per evitare che l'albero ruoti da solo. Infatti se si disalimenta il motore il rotore gira libero. Tutto qui, poi se uno vuole ci puo' mettere un encoder incrementale calettato all'albero per una maggiore sicurezza, ma non e' strettamente necessario. Come vedi non ho parlato di riduttore in quanto lo stepping motor, se scelto oculatamente, ha una coppia sufficiente di suo.
Le macchine da scrivere elettroniche degli anni 80 avevano buona parte dei 5 micromovimenti gestiti in questo modo con Z80 o Z8 ed interrupt priority controller. 
Ma questa gestione mi sembra esagerata per la precisione che ci necessita. Infatti, nel nostro caso, basterebbe un SAA1027 che controlla lo stepping motor attraverso due pulsanti UP e DOWN. Nella ISOLOOP 10-20 metri che io ho, e' cosi' e funzionava benissimo senza appesantire il progetto con display o altro. Il controller e' molto semplice, un commutatore di banda e i due tasti up e down e un uscita di BF verso le cuffie o uno speaker attraverso il quale si trova manualmente la posizione in cui  la ricezione e' massima. poi si rifa' la taratura in trasmissione per centrarla meglio.
Allego il manuale con schema elettrico del controller della ISOLOOP per una maggiore chiarezza.
È molto più facile ingannare la gente che convincerla che è stata ingannata

chio

Buongiorno e grazie a tutti per gli interventi.
La versione di loop che vorrei motorizzare, non ha bisogno di sapere dove si è posizionato il condensatore...unica condizione è di avere come condensatore di sintonia uno a rotazione continua a 360 gradi. Ruotandolo velocemente (si fa per dire) trovo subito il punto di massimo soffio in cuffia...poi lo si fa avanzare di mm per affinare la sintonia (ovviamente tenendo d'occhio il Rosmetro).
In rete ho trovato un sistema di comando motore  steppir che usa arduino davvero geniale e molto ma molto semplice: due pulsanti avanti e indietro e il motore ruota millimetricamente (uso questo termine forse impropriamente ma per rendere l'iidea) ; solo che in quel progetto premendo i tasti il motore ruota sempre con la stessa  velocità e quindi non realizza la condizione che ho espresso sopra; bisognerebbe modificare lo schema in modo da avere una rotazione (premendo i tasti avanti  e indietro) prima veloce e poi molto più lenta...
Io in sono all'altezza di effettuare queste modifiche...ci vorrebbe qualcuno esperto anche perchè penso oltre alla modifica elettrica occorre  anche la modifica del programma. 
Se qualcuno si facesse carico della modifica metto a disposizione  lo schema trovato nell'interesse di tutti.

trodaf_4912

#10
La ISOLOOP funziona esattamente cosi'. L'unico particolare e' che il periodo tra un passo e l'altro e' fisso e definito dal clock generato dall'NE555 che lo fornisce come base tempi all'SAA1027. Non vi e' alcun microcontrollore, e' un HW molto semplice e funziona bene.
Per fare quello che chiedi tu, chio, avendo a disposizione Arduino, la cosa si risolve semplicemente. Si genera una base tempi con uno o due timer, a seconda delle caratteristiche coppia/velocita' del motore. La velocita' e' da calcolarsi in giri/minuto e questa si ottiene in base al numero di impusi da dare al motore in un giro. Questi impulsi devono essere distanziati da un periodo T minimo (corrispondente alla max velocita') per evitare di perdere passi e questo periodo minimo e' una delle caratteristiche del motore scelto.
La base tempi generata da arduino si ottiene generando un interrupt ogni X millisecondi corrispondente alla velocita' minima del motore. Leggendo poi un potenziometro si potra' diminuire il periodo della base tempi in modo che ogni impulso avvega piu' ravvicinato aumentando cosi' la velocita'. In sintesi e' come una "fisarmonica" di impulsi con periodo variabile che permette di variare la velocita' dal valore minimo, corrispondente al periodo max, al valore massimo, corrispondente al periodo minimo.
In pratica quando premi per un istante uno dei due tasti viene eseguito in incremento di passo, se lo tieni premuto per piu' di 1 secondo allora entra in funzione questa procedura che legge il potenziometro e genera gli impulsi al motore con un periodo definito da una formula che mette in relazione il valore letto su un canale dell'A/D converter con il periodo da impostare per la velocita' di incremento passi.
Scusami ma non so come descrivere piu' semplicemete la cosa. Chi conosce i microcontrollori mi avra' capito.
Comunque, buon lavoro.
È molto più facile ingannare la gente che convincerla che è stata ingannata

dattero

Citazione di: trodaf_4912 il 10 Settembre 2021, 11:18:55
Scusa ma non capisco


quello che voglio dire , che tu non capisci (scusami la mia ignoranza), è il passo generato dal solo motore: prendiamo per esempio un motore da 100 passi (step), su di un variabile normale ci occorre una rotazione di 180°, quindi ci bastano 50 step del motore e fin qui tutto bene.
Ogni step del motore sono 3,6 gradi e sono troppi quando sei quasi a limite di banda.
Ho corretto l'intervento di prima , avevo sbagliato.
Ti porto l'esempio della mia ultima loop mag che avevo realizzato (per gioco):
1 metro di diametro , condensatore da 150 Pf , freq di lavoro 40 - 10 metri.
A 7 Mhz ho una C 124,5 Pf , a 7.2 Mhz una C di 131.5 Pf >> 7 Pf di sintonia
A 28 Mhz una C di 7,5 Pf , a 29.7 Mhz una C di 8,5 Pf >> 1 Pf di differenza.
Un conto è sintonizzare una escursione di 7 Pf e un conto è 1 Pf con 3,6 ° di step.
Ecco cosa volevo dire, ecco la scelta del motoreriduttore  con encoder , poi utilizzato con un sotto vuoto.
Questa è la mia esperienza , da puro ignorante che stà ancora imparando .
73 tutti.

trodaf_4912

#12
Questo dipende dal motore che hai scelto e cioe' dal numero di passi per angolo giro.
Tuttavia puoi pilotare le fasi a 1/4 o 1/2  passo ottenendo una risoluzione maggiore. Quindi avrai 3.6/4=0.9 gradi.
Inoltre la scelta del motore e' fondamentale quando si conosce la risoluzione che si vuole avere. Dipende dal dal tipo di motore che scegli e dal circuito di pilotaggio delle fasi del motore. Ti consiglio di leggere questi documenti che fanno riferimento al microstepping in relazione al numero di fasi.

http://hobbytron.altervista.org/circuiti/microstep.htm

http://hobbytron.altervista.org/circuiti/stp1.htm

E mi raccomando quando sei arrivato in posizione alimenta con un chopper (PWM) il motore perche' rimanga in posizione.
Getta uno sguardo anche al circuito molto semplice ma funzionale, te lo assicuro, del controller ISOLOOP che usa un chi SAA1027 del quale ti allego il Datasheet. Spesso la soluzione e' piu' semplice del problema.
È molto più facile ingannare la gente che convincerla che è stata ingannata