TRINUS TRIPLEINSTRUMENTUSB (Generatore
DDS,
Power-Meter-Sweep, Antenna Analyzer) nuova
versione con connessione al PC via USB GRUPPO
SPERIMENTATORI FROSINONE
Prologo. Sono ormai passati 4 anni da quando ci siamo messi
a
lavorare la prima volta intorno a un DDS. Allora la soluzione più
semplice ci
sembrò quella di comandarlo attraversola porta parallela del computer.
In tal modo potemmo inviare comandi al DDS, ma
anche leggere
delle tensioni mediante i convertitori analogico-digitali MC1549 e
quindi
realizzare facilmente gli altri due strumenti: Power-Meter- Sweep e
Antenna-Analyzer oltre allo stesso generatore DDS
Ancora oggi l'uso della Porta Parallelaci
sembra la soluzione più adatta agli
sperimentatori ma, purtroppo, è successo che da quella data a poco a
poco essa
è andatascomparendo
dai nostri
computers, sia Portatili, che Desk-Top.
Vi rimandiamo alla lettura delle pagine DDS
VFOPower Meter
SweepAntenna Analyzer
,
per tutti i dettagli relativi al progetto precedente.
Ma poiché nostro desiderio era quello di
realizzare uno
strumento che potesse essere facilmente utilizzato anche con i
computers di
nuova generazione , a distanza di un paio di anni, abbiamo pensato di
utilizzare la porta USB per l’interfaccia,anche
se l'uso di tale porta ci è parso
subito abbastanza ostico!
La modifica.
Cercando informazioni sul sito ufficiale, ci siamo
resi
conto delledifficoltà
dell'argomento,ed
anche le ricercheeffettuate
nei vari
siti che cercavano di semplificare il problemanon ci suggerivano una soluzione facile da realizzare.
Dopo tante vane consultazioni alla fine però in un
sito (naimahTerminale LCD via USB con
18F4550)
abbiamo letto un esempio che ci sembrava poter risolvere i nostri
problemi.
L’ esempio mostrava come si potessero accendere e spegnere dei led
collegati ai piedini di un Pic e come si potesse leggere una tensione
sul
cursore di un potenziometro, utilizzando la porta USB. Eraproprio ciò che a noi serviva!
Cogliamo l’occasione per ringraziare ufficialmente
l'autore (naimah)per
le preziose
informazioni fornite, e la chiarezza delle spiegazioni, che ci hanno
permesso
di risolvere il problema.
Il primo passo è stato il più faticoso. Una volta
superato
lo scoglio iniziale di far funzionare l’esempio proposto, è stato
abbastanza semplice inviare sui piedini del Pic i segnali necessari per
comandare il DDS e leggere le tensioni sulle uscite dei nostri circuiti
integrati. Fig .1fig.1 Schema generale della nuova versione
del nostro strumento. Il software del PIC
18F4550.
Abbiamo usato anche noi il Pic 18F4550, come
nell'esempio, e
facendo uso del linguaggio C, mediante l'ambiente di sviluppo MikroC,
abbiamo
scritto il programma che doveva gestire il microprocessore.
Allo stesso tempo abbiamo spostato sul Pic alcune
funzioni
che nella prima versione venivamo eseguite sul PC attraverso il
programma in
VisualBasic. Queste funzioni riguardano principalmente l’invio dei
comandi
verso ilDDS
AD9951, la gestione della
funzione Sweep (“spazzolamento” della frequenza compreso in un
intervallo predeterminato), ma anche la conversione dei segnali
provenienti dai
dispositivi dello strumento (AD8307, AD8302) e diretti al PC, senza più
l’utilizzo dei convertitori TLC1549.
Esaminiamo le funzioni principali: A- Il PC (eseguendo
il programma in Visual Basic) invia al PIC attraverso la USB: -Richiesta
di generare unaprecisa frequenza.
-Richiesta di
attivare lo Sweep del
generatore in un intervallo compreso tra due frequenze. B-Il Pic elabora le
richieste del PC ed invia al DDS AD9951 i relativi comandiattraverso le porte RB0, RB1, RB2 e RB3. C-Il Pic riceve dai
dispositivi dello strumento (AD8307, AD8302) dei segnali analogici che
entrano
negli ingressi AN0, AN1, AN2, AN3(REF+),effettua la conversione
analogico-digitale a 10 bit e invia tali dati al PC tramite la porta USB.
Tale nuova impostazione oltre alla scrittura del
programmino
sul PIC ha richiesto logicamente la variazione anche del programma in
Visual
Basic sul PC.
Sul sito abbiamo messo il nuovo programma scritto
in Visual
Basic sia in formato sorgente che compilato.
E' presente anche il file in formato HEX utile ad
essere
caricato sul PIC 18F4550 attraverso un qualsiasi programmatore per PIC
abilitato alla programmazione del modello 18F4550.
Questa operazione è semplice, ma per chi la compie
per la
prima volta è praticamente indispensabile farsi aiutare da qualcuno cheabbia già acquisito una
certa esperienza nel
campo dei Pic.
Noi abbiamo utilizzato un programmatore parallelo
simile al
modello della MELAB, tipo EPIC autocostruito.
Il Picsull’interfaccia va montato su uno zoccolo a 40 piedini
onde
poterlo estrarre facilmente per programmarlo di nuovo. (Questa ci è
sembrata la
maniera più semplice per iniziare a sperimentare!).
Il programma per il Pic lo abbiamo messo solo in
formato HEX
ma se qualcuno fosse interessato anche al sorgente in Cpotrà farcene richiesta e non avremo
difficoltà a fornirglielo. Qualche informazione sul PIC 18F4550.
Il Pic 18F4550da
noi
utilizzato è un microprocessore della Microchip appositamente
progettato per la
gestione di una porta USB attraverso i piedini RC4(23),RC5(24), che
sono
rispettivamente collegati ai PIN 2 (D+), 3(D-) del connettore USB.
Inoltre il 18F4550 ha un cospicuo numero di porte
Input/Output e soprattutto anche un buon numero di porte ADC
(Convertitori
Analogici Digitali).
Come in ogni Pic i piedini sono utilizzati per
numerose
funzioni e bisogna scegliere in qualche modo quelle che a noi
interessano.
Quelle a noi necessarie, come ad esempio REF+ sul piedino 5, sono state
selezionate nel software dopo paziente consultazione del datasheet.
DataSheet(http://ww1.microchip.com/downloads/en/devicedoc/39632c.pdf)
Non è necessario comprendere fino infondo tutti i dettagli del funzionamento
logico della porta USB per utilizzarla. E' sufficiente partire da un
esempio
funzionante (come abbiamo fatto noi!) e poi con un po' di pazienza
effettuare
le modifiche per ottenere ciò che ci interessa.
Il linguaggio C che è stato adoperato possiede una
libreria
con la quale è possibile gestire la porta USB mediante delle
semplicissime
istruzioni. In tal modo si supera lo scoglio principale.
Il Pic utilizzato ha 40 piedini con piedinatura
dip con cui
è molto comodo lavorare, anche se occupa un po' di spazio (esiste
infatti anche
un tipo di dimensioni lillipuziane, ma all'inizio è meglio utilizzare
il
formato dip per ovvie ragioni pratiche). Esso richiede solo un quarzo e
qualche
condensatore dal punto di vista hardware, ma chiaramente è necessario
metterci
dentro anche il software di cui abbiamo parlato.
Ribadiamo ancora che la differenza concettuale
rispetto alla
versione precedente è che mentre prima il computer inviava le
istruzioni
alDDS tramite
quattrouscite della porta parallela, adesso invece
il computer spedisce degli ordini al Pic attraverso la porta USB. Il Picpoi penserà a produrre e
spedire le
istruzioni per il DDS dai pin RB0, RB1, RB2 e RB3 ( vedere fig.1). L’Interfaccia.
La modalità di collegamento utilizzata è quella
chiamata HID
(Human Interface Device). Il bello di questa modalitàè che non c'è bisogno di alcun driver da
istallare preventivamente nel computer. La prima volta che si usa la
periferica
essa viene riconosciuta da Windows e subito inizia il colloquio, come
succede
con una ordinaria chiave usb!
La schedina di interfaccia con il Pic non è
complessa, noi
ne abbiamo realizzate parecchi esemplari e tutte hanno funzionato senza
problemi su svariati computer.
Il lavoro è stato realizzato sia su circuito
stampato che su
scheda millefori. Tutti gli esemplarihanno funzionato quasi sempre al primo colpo.Il quarzo nella nostra realizzazione è da
20Mhz e non può essere cambiato. (si potrebbero usare anche altri
valori ma
bisognerebbe cambiare alcune cosenel
software del Pic e nella configurazione del programmatore).
E' importante quando si carica il file Hex che i
cosiddetti fuses
sia impostati correttamente. Noi abbiamo utilizzato
un programmatore parallelo tipo EPIC con il
programma Melabs
, nel qual caso i fuses vengono impostati automaticamente vedi il link meProg
beta 4.32.
Con altri programmatori ispirarsi alla tabella
seguente per
i valori principali.
Una volta montata la schedina USB essa può essere
provata
direttamente come segue:
Collegare il cavo in una presa USB del computer,
se il
lavoro è stato fatto bene si avvertirà ilcaratteristico suono di connessione effettuata
ed in
basso a
destra sullo schermo comparirà per alcuni secondi il relativo messaggio
, poi
l'avvertimento che la periferica è stata caricata correttamente. L’operazione di
avvenuta connessione può essere verificata anche attraverso il pannello
di
controllo del PCSistema/Hardware/Gestione Periferiche/Human Interface
Device.
Inoltre lanciando il programma Visual Basic su PC
si potrà
notare in basso un led verde con la scritta “Connesso”.
Se si toglie il cavoUSB il led diventerà rosso. Rimettendo
e togliendo il cavo parecchie volte
il colore deve cambiare continuamente. Ciò significa che funziona
perfettamente! Schema
Elettrico Interfaccia (Circuito stampato
Interfaccia) Generatore DDS AD9951.
Nella costruzione del Generatore DDS non c'è
nessuna
differenza rispetto alla versione precedente.
Poiché la costruzione della schedina del DDS è
qualcosa di
abbastanza impegnativo ci risulta che parecchi hanno utilizzato la
scheda
LX.1644premontata
di Nuova Elettronica
in unione al nostro programma. Tale scheda ha prestazioni inferiori a
quella di
I0CG- Giuliano ma può essere una valida alternativa. (Volendo si
potrebbe anche
sostituire il quarzo presente su di essa, poiché il programma permette
di
adoperare qualsiasi quarzo con valore compreso tra 20 e 30Mhz oppure un
oscillatore esterno di valore ancora maggiore).
L’oscillatore di riferimento è molto importante
perché
da esso dipende sia la stabilità sia la purezza spettrale del segnale
prodotto.
La soluzione più semplice, ma già molto valida, è
l’uso di un quarzo che viene fatto oscillare dai circuiti
dell’ad9951 e poi moltiplicato mediante un PLL interno fino a
raggiungere
circa 400Mhz. Questa soluzione va molto bene volendo alimentare il
tutto con i
5V della porta USB.
L’altra soluzione è usare un qualsiasi oscillatore
esterno, sia con la moltiplicazione mediante il PLLsia senza moltiplicazione. In
quest’ultimo casoil
rumore di
fase, già buono, migliora sensibilmente. Abbiamo usato per questo
l’oscillatore a 500 Mhz di I0CG.
Per le piccole differenze nel circuito, tra
oscillatore
interno o oscillatore esterno abbiamo disegnato due schemi, cercando di
rendere
più chiari possibile i collegamenti.
Per superare eventuali difficoltà di funzionamento
del DDS
vedere qui Schema
elettrico del
Generatore DDS con oscillatore interno Schema
elettrico
del
Generatore DDS con oscillatore esterno AD8307 (Logarithmic Amplifier).
Nella schedina del rivelatore logaritmico per
realizzare lo
strumento PoverMeter-Sweep, c'è una semplificazione. Non c'è più
bisogno del
convertitore analogico-digitale poiché si usa uno di quelli contenuti
nel Pic.
Gli ADC contenuti nel Pic 18F4550 sono anch'essi a 10bit come i TLC1549
usati
precedentemente.
Bisogna solo prendere l'uscita presente al pin 4
dell'AD8307
e portarla al pin 2 del Pic, AN0 (primo ADC).
Nel TLC1549 c'era un ingresso REF+a cui bisognavaapplicare
latensione corrispondente al massimo segnale previsto per
l'ingresso (cioè
quello che darà in uscita il numero 1023).
Anche nel Pic è presente il REF+ (al pin 5), ma è
unico per
tutti i convertitori. Di questo bisogna tenerne conto.
Allora seutilizziamo
anche l'integrato AD8302 la tensione per REF+ la preleviamo al pin 11
(VREF) di
tale integrato. Su questo pin è presente una tensione di circa 1.8V.
Se non utilizziamo l'AD8302 dobbiamo ricavare una
tensione
di 1.8V mediante un partitore, partendo dai 5 volt e applicarla a REF+.
Per il resto consultare la vecchia realizzazione. Datasheet http://www.analog.com/static/imported-files/data_sheets/ad8307.pdf Schema
Elettrico 8307 (Circuito Stampato 8307) AD8302
Anche qui c'è lo stesso discorso di
semplificazione, non
abbiamo più bisogno dei due TLC1549. Le due uscite vanno direttamente
sul Pic
dove si utilizzano altri due ADC (ce ne sono ben 13!), e la tensione di
riferimento
prodotta dall'integrato stesso viene portata sul pin REF+ come
descritto
precedentemente. Questi collegamenti è bene realizzarli con cavetti
schermati
ma non è una necessità assoluta. Datasheet http://www.analog.com/static/imported-files/data_sheets/ad8302.pdf Schema
Elettrico 8302 Accoppiatore Direzionale.
Laccoppiatore
direzionale permette di misurare il segnale diretto e quello riflesso.
Approfondimento
su Directional Coupler
Ne sono stati realizzati diversi esemplari ad
opera
soprattutto di Franco (IZ0MIT) Lo strumento completo.
La realizzazione definitiva dello strumento è
stata fatta
utilizzando diverse soluzioni, ma tutte hanno alcune caratteristiche in
comune,
che permettono un sicuro funzionamento ed un facile accesso per le
necessarie
riparazioni e/o modifiche.
Di seguito riportiamo qualche suggerimento.
-Il contenitore dello strumento dovrà essere
metallico e
dimensionato in funzione dell’ingombro di ogni elemento.
-Utilizzare scatoline ben schermate in particolare
per il
DDS ed il Power-Meter.
-Utilizzare cavetti schermati SMA per i segnali e
le connessioni
tra i vari moduli, mentre è bene far uso di condensatori passanti per
le
alimentazioni. Alimentazione
Per quanto riguarda l’alimentazione non riteniamo
necessario riportare alcuno schema in particolare. E’ importante tener
presente che le tensioni necessarie sono : +5v, +8v per la
scheda DDS di I0CG
+5V per AD8302
+5V per AD8307
+12V per l’oscillatore esterno del DDS.
Abbiamo provato ad alimentare tutte le diverse
particonl’utilizzo della sola tensione prelevata dalla porta USB
(+5V).
Il
tutto funziona perfettamente anche se con qualche limitazione: Non si
può
utilizzare l’oscillatore esterno a 500Mhz fornito da i0CG.; l’ERA1
o non si utilizza oppure si riduce di molto la resistenza in serie alla
sua
alimentazione(sul data sheet ci sono indicazioni fino a 7V). Si nota
inoltre
qualche piccolo disturbo in più rispetto all’alimentazione esterna ma
non
compromette la bontà dello strumento.
Gli assorbimenti dei diversi moduli sono
approssimativamente:
- PIC 18F455075mA
- DDS AD995145ma
- Ampl.ERA40ma
- AD83078mA
-AD830220mA
La corrente totale è inferiore ai 200mA e
normalmente
dovrebbe essere erogabile dalla porta USB.
Di seguito riportiamo i link alle foto delle varie
realizzazioni da noi effettuate. Foto delle realizzazioni
effettuate
Il software TRINUS si trova nella pagina del Download
. Una volta decompresso il file zip,
si avrà
una cartella di nome TRINUS in cui è presente sia il file Trinus.exesia i file sorgente in
VB6. La cartella
contiene anche il fileTrinusPIC18f4550.HEX che è il file da mettere dentro il
Pic
mediante un
programmatore.
Il software può essere provato anche senza
Hardware. Si
possono esaminare alcuni file memorizzati, relativi ai nostri filtri e
alle
nostre antenne..
LE
NOSTRE REALIZZAZIONI NON RAPPRESENTANO LO STATO DELL’ARTE MA
SONO
SOLO IL TENTATIVO DI RADIOAMATORI ORDINARI DI COSTRUIRSI I PROPRI
STRUMENTI !! Home Page