TRINUS
TRIPLE INSTRUMENT USB
(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 attraverso la 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 Parallela ci sembra la soluzione più adatta agli sperimentatori ma, purtroppo, è successo che da quella data a poco a poco essa è andata scomparendo dai nostri computers, sia Portatili, che Desk-Top.
Vi rimandiamo alla lettura delle pagine DDS VFO Power Meter Sweep Antenna 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 delle difficoltà dell'argomento,ed anche le ricerche effettuate nei vari siti che cercavano di semplificare il problema non ci suggerivano una soluzione facile da realizzare.
Dopo tante vane consultazioni alla fine però in un sito (naimah Terminale 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. Era proprio 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 .1 fig.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 il DDS 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
-Richiesta di generare una
precisa 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 comandi attraverso 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 che abbia già acquisito una certa esperienza nel
campo dei Pic.
Noi abbiamo utilizzato un programmatore parallelo simile al
modello della MELAB, tipo EPIC autocostruito.
Il Pic
sull’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 C potrà farcene richiesta e non avremo
difficoltà a fornirglielo.
Qualche informazione sul PIC 18F4550.
Il Pic 18F4550 da 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 in fondo 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
al DDS tramite quattro uscite della porta parallela, adesso invece
il computer spedisce degli ordini al Pic attraverso la porta USB. Il Pic poi 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 esemplari hanno 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 cose nel 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à il
caratteristico 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 PC
Sistema/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 cavo
USB il led diventerà rosso.

(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.1644 premontata 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 PLL sia senza moltiplicazione. In quest’ultimo caso il 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 bisognava applicare la
tensione 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 se utilizziamo
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
(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
Accoppiatore Direzionale.
L accoppiatore
direzionale permette di misurare il segnale diretto e quello riflesso.

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 parti con l’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 18F4550 75mA
- DDS AD9951 45ma
- Ampl. ERA 40ma
- AD8307 8mA
-AD8302 20mA
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.exe sia i file sorgente in VB6. La cartella contiene anche il file TrinusPIC18f4550.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 !!