Lettura rotazione da rotore CDE AR-40

Aperto da trodaf_4912, 06 Dicembre 2023, 18:43:38

Discussione precedente - Discussione successiva

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

trodaf_4912

L'AR40 e' un rotore della CDE prodotto anni fa. Ora, mi sembra  che sia veduto con il brand Hy Gain di proprieta' MFJ.
Si differenzia dagli altri rotori perche e' comandato da 5 fili : 3 per il motore e solo due per il potenziometro :
Come si vede il potenziometro ha solo due fili che arrivano alla console in stazione e questo perche e' parte di un ponte di Wheastone dove in un ramo vi e' un potenziometro analogo di comando mentre nell'altro ramo c'e' lui.
Come si fa' se non si ha piu' la console ?. Ci se ne progetta un'altra.
Trenta anni fa ne progettai una con un source di corrente costante e un voltmetro a 3 display :

Ad oggi funziona bene e senza problemi.
Poiche' pero' la curiosita' e' uno dei miei difetti, ho voluto vedere se riuscivo a progettare una console in ambiente digitale e non analogico come il suo antenato.
Se il potenziometro da 1000 OHm avesse 3 fili il problema sarebbe di semplice soluzione. Si alimenta un capo del potenziometro e la tensione che si legge sul cursore rappresenta, in modo lineare, la posizione in gradi da 0 a 360. Da qui la si acquisisce con l'A/D di un microcontrollore e la si visualizza sul display . Inoltre con il microcontrollore si controlla il verso del movimento e i fine corsa.
La tensione letta e' rappresentativa in modo lineare della rotazione da 0 a 360 gradi.

Putroppo pero' abbiamo solo 2 fili disponibili sul potenziometro all'interno del rotore. Come risolvere il problema ?. Dobbiamo in ogni caso leggere una tensione che rappresenti la rotazione e quindi il circuito da utilizzare potrebbe esse il seguente :
Dove R1 e' nella console in stazione.
A prima vista potrebbe sembrare equivalente a quello con il potenziometro da 3 fili ma purtroppo no, la relazione che lega la rotazione al variare della resistenza non e' lineare ma assume una forma quasi esponenziale.
Il problema quindi e' che se leggo la tensione con l'A/D del microcontrollore non posso mettere in relazione il corretto angolo di rotazione con la tensione letta in quanto la resistenza del potenziometro, alimentata dal partitore da 1000 OHm posizionato in cosole, non mi fornisce risultati lineari. Infatti se riportiamo su un grafico da 0 a 360 gradi con passi di 10 gradi vediamo la seguente forma :
Come risolvere il problema ?. Si implementa nel FW del microcontrollore una curva polinomiale di terzo grado dove in input (x) c'e' la tensione letta (Vletta), ottenendo in uscita (y) i gradi corrispondenti senza utilizzare una tabella a passi discreti.
La equazione polinomiale e' che ricalca perfettamente tutti i punti e' la seguente :

e il fatto che sia precisa lo conferma il valore di R^2 che vale 1.
Piu' R^2 si allontana da 1 meno precisa e' la equazione polinomiale nel descrivere la curva.

A questo punto, qualsiasi sia il valore letto della tensione Vletta basta caricarlo nella equazione ottenendo i gradi di rotazione associati a quella tensione.

Questo e' il cuore del problema, il resto e' FW di controllo molto semplice da implementare.


Se qualcuno ti dedica del tempo apprezzalo sempre perché lo toglie al suo per dedicarlo a te


trodaf_4912

Anni fa, quando non esistevano i microcontrollori con A/D integrato e altre periferiche, per realizzare la struttura di transcodifica dalla tensione letta (Vletta) ai gradi si utilizzava un sistema con A/D esterno e una EPROM.
Gli indirizzi della Eprom corrispondevano alla tensione Vletta convertiti in binario e il contenuto della locazione di memoria puntata dall'indirizzo conteneva l'indicazione dei gradi.
Pertanto si ricostruiva, all'interno della Eprom la tabella che ho visualizzato in precedenza con con 360 locazioni contenenti i gradi (0,1,2,3,... 360) indirizzate da 360 valori di tensione letta convertiti in binario. Le Eprom tipicamente avevano indirizzamento parallelo e quelle piu' piccole avevano 10 indirizzi e percio' potevano avere (2^10)-1= 1024 locazioni ben sufficienti per una tabella da 360 valori di gradi con risoluzione di 1 grado tra una locazione e quella successiva.
Adesso e' tutto molto piu' semplice con i microcontrollori in circolazione che hanno a bordo tutte le periferiche possibili ed immaginabili permettendo di gestire anche un display e le linee di controllo eventuali.
Se qualcuno ti dedica del tempo apprezzalo sempre perché lo toglie al suo per dedicarlo a te