Pagina 1 di 2

Generatore di funzioni

MessaggioInviato: 15 feb 2014, 11:03
da Galaxi93
Buongiorno,
dopo un lungo periodi di inattività, vorrei iniziare un nuovo progetto.
Vorrei costruire un generatore di funzioni non troppo complesso e senza troppe pretese (spero). Avevo visto questa discussione che purtroppo (non ho capito perché) è stata abbandonata qualche mese fa.
Il mio problema principale è progettare la parte analogica dello strumento, per quella digitale (di controllo) non dovrei avere problemi.

Le caratteristiche principali che vorrei ottenere sono le seguenti:

-Onda sinusoidale fino a 20MHz
-Onda quadra fino a 1MHz (duty cycle variabile)
-Possibilità di modificare ampiezza e offset dell'onda
-Tensione di uscita fino a 20Vpp
-Impedenza in uscita da 50 ohm

Attualmente dispongo di un AD9850 montato su un piccolo modulo, il cui schema lo potete trovare qui sotto. La mia domanda iniziale è se questo schema è affidabile e buon andar bene per il progetto.



Su internet ho trovato questo progetto che mi pare ben fatto, da cui si può prendere spunto.


Purtroppo non dispongo delle conoscenze adatte per realizzare uno strumento di questo tipo. Quindi chiedo un vostro aiuto per la realizzazione sperando che insieme si riesca a produrre qualcosa di funzionante.
Io sono disponibile a montare e provare eventuali schemi che proporrete; a disposizione ho un oscilloscopio digitale da 50MHz (1GSa/s) a due canali per fare le varie prove.

O_/

Re: Generatore di Funzioni

MessaggioInviato: 17 feb 2014, 1:43
da Galaxi93
Ho pensato al seguente circuito per l'amplificazione del segnale e l'aggiunta dell'offset:



Per il valore dei componenti so che nel sommatore invertente c'è questa relazione:
V_{out}=-R4\cdot(\frac{V_{1}}{R3}+\frac{V_{2}}{R5})

Per variare invece l'ampiezza del segnale, stando a questo application note posso fare in questo modo:


In questo modo avrei che quando l'uscita del DAC è ad una tensione di 1,248V, sulla resistenza non scorra nessuna corrente, e dunque secondo questa formula: I_{out}=32\cdot(\frac{1,248}{Rset}) oppure I_{out}=32\cdot(I_{R7}), la corrente in uscita del DDS sarà pari a zero.
Nel caso in cui invece l'uscita del DAC sia pari a 0V, avremo in uscita dal DDS circa 10mA che corrispondono ad una tensione picco-picco di 1,1V. Se l'uscita del DAC scende al di sotto dei 0V, la corrente in uscita dal DSS aumenterà: il datasheed dell'AD9850 specifica come massimo assoluto, 30mA in uscita, ma per evitare distorsioni è meglio non superare i 20mA (2,2Vp-p).

Ricapitolando con questo schema dovrei ottenere dal DSS una tensione picco-picco che varia da zero a 2,2V. Quindi volendo raggiungere i 20Vp-p, dovrei amplificare il segnale di un fattore pari a 9 circa. Mentre per l'offset abbiamo in ingresso un range (-2,5V;+2,5V) che deve diventare (-10V;+10V), quindi un fattore di amplificazione pari a 4.

Avrei bisogno di qualche consiglio su quale IC scegliere per IC1 e IC2 e quale valore per C8. Inoltre per le resistenze R3, R4 e R5 su quale ordine di grandezza dovrei stare? E' indifferente?

Per il DAC pensavo di usare il DAC7614 : 4 uscite, 12bit e alimentazione duale.

Pensate che possa funzionare una configurazione di questo tipo?

Re: Generatore di Funzioni

MessaggioInviato: 27 feb 2014, 21:02
da Galaxi93
Nonostante nessuno mi abbia dato una mano :? , non mi sono scoraggiato e ho proseguito con la realizzazione del generatore di funzioni.

Questo è il nuovo schema per l'amplificazione e aggiunta dell'offset al segnale in uscita dall' AD9850 (dopo il filtro ovviamente).



E questa è la scheda a doppia faccia che ho realizzato:

IMG_1435.JPG
DDS 2Ch


E' stato molto impegnativo realizzarla visto i numerosi fori passanti che ho dovuto fare e le saldature SMD (SOIC e TSSOP). La scheda, ancora incompleta, è controllata dal PIERIN PIC18 che gestirà due moduli DDS e i due DAC7614 via SPI, un LCD alfanumerico, un encoder rotativo e un tastierino 4x4.

Dalle prime prove fatte (devo ancora iniziare lo sviluppo del firmware) ho ottenuto queste forme d'onda:

da 1Hz a 100KHz:

oscillo1.png
da 1Hz a 100KHz


1MHz e 10MHz:

1MHz.png
1MHz e 10MHz
1MHz.png (11.33 KiB) Osservato 23691 volte


Ho notato una forte attenuazione del segnale a 1Hz e 10Hz e un'altra attenuazione sui 10MHz (dovuta al filtro sul modulo DDS). Le attenuazione a bassa frequenza sono causate dallo stadio di amplificazione (IC1). Devo provare a cambiare qualche componente. Sono ovviamente accetti consigli, giusto per evitare di fare le cose a caso.

L'onda quadra è buona fino al MHz, poi distorce un po' (10MHz). A 10MHz anche la sinusoide inizia a perdere un po'.

La regolazione dell'ampiezza e dell'offset pare funzionare bene: non ho ancora avuto modo di testare completamente dato che mi manca un 79l05 per l'alimentazione negativa dei due DAC.

Re: Generatore di Funzioni

MessaggioInviato: 3 mar 2014, 12:22
da brabus
WOW!!!

Ma è bellissima! :shock:

Complimenti Galaxy! Avevo letto la tua proposta, ripromettendomi di pensarci tra un po'. Grande l'idea di usare il PIERIN, possiamo eventualmente pensare di integrare il tutto in un singolo circuito stampato.

Domanda: hai pensato a una interfaccia utente ausiliaria, oltre alla USB? Che so, un display + pulsanti + encoder...

Ti prometto che studierò la sezione analogica del circuito, possiamo sicuramente unire le forze e proporre dei miglioramenti, qui ci scappa un circuito veramente interessante! BRAVO! :ok:

Re: Generatore di Funzioni

MessaggioInviato: 3 mar 2014, 12:41
da PietroBaima
Credo ci sia materiale per un articolo!

Ciao e complimenti,

Pietro.

Re: Generatore di Funzioni

MessaggioInviato: 3 mar 2014, 16:26
da Galaxi93
brabus ha scritto:Domanda: hai pensato a una interfaccia utente ausiliaria, oltre alla USB? Che so, un display + pulsanti + encoder...


Certo! Come ho scritto nel post [3] il Pierin gestirà un LCD alfanumerico, un tastierino numerico e un encoder rotativo.

Sicuramente va rivista la parte analogica perché allo stato attuale non è un granché... comunque ho raggiunto sicuramente gli obiettivi che mi ero prefissato.

PietroBaima ha scritto:Credo ci sia materiale per un articolo!


Sicuramente farò un articolo su questo strumento.

Re: Generatore di Funzioni

MessaggioInviato: 8 mar 2014, 23:39
da stefanob70
Non lo avevo ancora visto questo treadh complimenti!
Il PCB per essere fatto in casa e' venuto benissimo.
Ho dato un occhiata al sito e ci son dei bei progetti! :ok:

Re: Generatore di Funzioni

MessaggioInviato: 13 mar 2014, 23:35
da tazzo
Ciao Galaxi93,

Il progetto sul DDS che avevo iniziato che hai citato nel primo post è stato congelato per altri impegni.

Appena avrò un po' di tempo cercherò di portarlo avanti, forse con altre modalità in quanto non c'era stata anche li grande partecipazione.

Le specifiche che ti proponi non sono banali, col filtro integrato nel modulo DDS andrai poco lontano sulle alte frequenze a causa del basso Q dei componenti passivi utilizzati.
Con un'oscilloscopio con 50 MHz di banda analogica non aspettarti onde quadre molto perfette sopra i 5 MHz (andando a spanne), è importante inoltre usare bene la sonda (con la molla per GND, divisore 10x, etc..)

Attenzione che 20Vpp con 50 ohm di impedenza sono 400mA, serve un op-amp finale molto ben carrozzato ed uno stadio di amplificazione non banale.

Ad ogni modo ottimo lavoro, il PCB ti è venuto molto bene, con che tecnica l'hai realizzato?

Ciao

Re: Generatore di Funzioni

MessaggioInviato: 14 mar 2014, 0:17
da Galaxi93
tazzo ha scritto:Ad ogni modo ottimo lavoro, il PCB ti è venuto molto bene, con che tecnica l'hai realizzato?


Grazie, ma non è così perfetto come sembra, la foto nasconde un po' di imprecisioni (anche se comunque i pad del SSOP 20 non si sono fusi tra loro e le piste più piccole hanno resistito). Per la realizzazione ho usato la fotoincisione.

Re: Generatore di funzioni

MessaggioInviato: 16 mar 2014, 18:04
da Galaxi93
Ho appena finito di costruire il frontalino e il contenitore dello strumento.
E' stato costruito in plexiglass (materiale odioso da tagliare) da 4mm per la struttura e 2mm per il frontalino. Il tutto è tenuto insieme da dei profili a L in alluminio.
Ecco alcune foto:

IMG_1443.JPG
Frontale


IMG_1445.JPG
Laterale


IMG_1446.JPG
Componenti



Devo ancora comprare la manopola per l'encoder, fare le etichette personalizzate per il tastierino, saldare i BNC e il tasto d'accensione e fissare gli altri profili ad L che sosterranno il frontalino. Poi devo ancora fissare la scheda e il trasformatore dentro al contenitore e rifinire la parte posteriore dello stesso.
Potrei farlo ora, ma non ho voglia :mrgreen: