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 la USB :
-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.
  
  
 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.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   
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.
L  accoppiatore 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 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 !!
 
Home Page