Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

HELP - Sinusoide con microcontroller

8 views
Skip to first unread message

Enzo B.

unread,
Oct 23, 2009, 3:42:30 PM10/23/09
to
Vorrei generare un segnale sinusoidale con un microcontroller, con frequenza
da 200Hz a 4-5KHz massimi, risoluzione di (almeno) 8 bit, e almeno 128
campioni per ciclo.

Esiste qualcosa da cui prendere spunto, magari realizzato a livello
hobbystico?

Ringrazio per ogni consiglio.

Enzo


brown_fox

unread,
Oct 23, 2009, 7:21:42 PM10/23/09
to

128 campioni su un ciclo di 5 kHz significa che devi
aggiornare l'uscita ogni 1.5 us circa. La vedo dura.
Hai considerato un DDS?

--------------------------------
Inviato via http://arianna.libero.it/usenet/

Enzo B.

unread,
Oct 24, 2009, 1:28:45 PM10/24/09
to
> Hai considerato un DDS?

No... ma dopo averli visti, � probabile che user� un DDS della Analog
Devices!
Tra l'altro, vedo che RS ha qualcosa.

Avevo considerato l'uso di un filtro integrato (MAX7400) per creare il
segnale sinusoide partendo da un'onda quadra... ma richiede molti pi�
componenti.

Ti ringrazio per la risposta.

CIAO.

Enzo


Roberto Vegliach

unread,
Oct 24, 2009, 3:08:03 PM10/24/09
to
Ti consiglio questa soluzione:

http://www.myplace.nu/avr/minidds/index.htm

Costa poco, e' semplice e funziona bene.

Saluti Roberto

SB

unread,
Oct 26, 2009, 5:17:12 AM10/26/09
to
Il giorno Fri, 23 Oct 2009 21:42:30 +0200, "Enzo B." <enz...@alice.it> ha
scritto:

>Vorrei generare un segnale sinusoidale con un microcontroller, con frequenza


>da 200Hz a 4-5KHz massimi, risoluzione di (almeno) 8 bit, e almeno 128
>campioni per ciclo.

>Esiste qualcosa da cui prendere spunto, magari realizzato a livello
>hobbystico?

Se ti serve solo una sinusoide, una soluzione semplice � quella di codificare la
sinusoide in una sequenza di bytes, scriverla su una eprom
Poi devi usare un contatore binario per gli indirizzi e collegare l'uscita dati
a un DAC, (va bene anche una rete R-2R), in questo modo puoi usare il �C solo
per dare il segnale di clock ai contatori, naturalmente alla frequenza f*256 per
codifiche a 8 bit.

In questo vecchio thread si parlava di qualcosa di simile e avevo messo anche il
codice QB per codificare la sinusoide:

http://is.gd/4C9ed


--
ciao
Stefano

Enzo B.

unread,
Oct 27, 2009, 4:19:25 PM10/27/09
to
E' una strada che avevo considerato, solo che servono:
-memoria
-contatori e logica varia (-> pld)
-DAC (oppure mezza manciata di resistori...)
-micro con PWM o possibilit� di generare un clock esterno

...insomma non proprio poca roba!
La strada migliore, a quanto pare, � quella di usare un DDS: un unico
integrato, con meno pin della sola memoria, per fare tutto e anche meglio.

Comunque, grazie per la risposta!

CIAO.


SB

unread,
Oct 28, 2009, 5:27:00 AM10/28/09
to
Il giorno Tue, 27 Oct 2009 21:19:25 +0100, "Enzo B." <enz...@alice.it> ha
scritto:

>La strada migliore, a quanto pare, � quella di usare un DDS: un unico


>integrato, con meno pin della sola memoria, per fare tutto e anche meglio.

Sono d'accordo, d'altra parte quel thread era vecchiotto e io non conoscevo
nemmeno l'esistenza dei DDS, sicuramente pi� adatti allo scopo.

--
ciao
Stefano

0 new messages