Regulacja amplitudy sinusoidy

Mar 09, 2010 16 Replies

Witam,



Chcia³bym wykonaæ uk³ad, który bêdzie generowa³ sinusiodê o zmiennej czêstotliwo¶ci (od 40Hz do 400Hz) oraz zmiennej amplitudzie. Chcia³bym, aby wymienione parametry mo¿na by³o regulowaæ z poziomu mikrokontrolera.



Do generowania sinusoidy o zmiennej czêstotliwo¶ci wybra³em wstêpnie uk³ad AD9833, który to posiada interfejs SPI.



Teraz kwestia regulacji amplitudy. Czy istnieje jaki¶ uk³ad, który generowa³by sinusoidê o regulowanej czêstotliwo¶ci, a jednocze¶nie pozwala³ na regulacjê amplitudy? Je¶li nie, to czy istnieje jaki¶ uk³ad, który móg³by mi pos³u¿yæ do regulacji amplitudy sinusoidy otrzymywanej z AD9833? Uk³ad taki najlepiej, gdyby mo¿na by³o sterowaæ cyfrowo (np. SPI).



Z góry dziêkujê za pomoc.



Robbo



Ja ju¿ od kilku lat dok³adnie do tego celu u¿ywam AD9852 - te¿ ma SPI.

dziadek Ben pisze:

Tak ale tym to jest zwykły dds i tym układem nie możesz regulować amplitudy na wyjściu otrzymujesz sygnał o stałej amplitudzie to tego żeby regulowac amplitudę potrzebujesz jakieś PGA np ad8321 zależy jeszcze co kolega chce z tym robić bo może wystarczy potencjometr sterowany cyfrowo wzmacniacz operacyjny

W jakich zakresach ma siê zmieniaæ ta amplituda?

Czy Twoje pytanie jest "podchwytliwe"? Nie bardzo rozumiem... Nie wystarczy Ci wzmacniacz operacyjny o cyfrowo ustawianym wzmocnieniu?

Chodzi o to, ¿eby to dzia³a³o dla dodatniej i ujemnej po³ówki sinusoidy.

Robbo

Dalej nie widzê problemu... Kto¶ Ci powiedzia³ ¿e wzmacniacz operacyjny bêdzie dzia³a³ wybiórczo tylko z dodatni± lub ujemn±?

Kiedyś popełniłem takie cudo na PWMie od atmelka, chodziło do 3 kHz.

JanuszR

U¿ytkownik "Wodi" snipped-for-privacy@onet.pl napisa³ w wiadomo¶ci news:hn6dfc$cso$ snipped-for-privacy@news.onet.pl...

A pin DAC Rset ? P.G.

W dniu 2010-03-09 23:12, Robbo pisze:

Wrzucasz na referencję przetwornika D/A. Poszukaj sobie "four quadrant multiplying dac"

Tak te¿ zrobiê. Znalaz³em ju¿ uk³ad, a nawet schemat kompletnego generatora sinusoidy z regulowan± czêstotliwo¶ci± oraz amplitud±.

Robbo

U¿ytkownik "Robbo" snipped-for-privacy@yle.com napisa³ w wiadomo¶ci news:hn80eh$650$ snipped-for-privacy@atlantis.news.neostrada.pl...

Rzuæ linkiem jesli mo¿na. P.G.

To s± dwie niezale¿ne prace polegaj±ce na stworzeniu generatora sinusoidy z regulacj± czêstotliwo¶ci oraz amplitudy:

formatting link
formatting link

Robbo

Chyba pomyli³e¶ scalaki. W AD9852 o amplitudzie decyduje zawarto¶æ

12-bitowego rejestru "Output shaped keying multiplier", któr± mo¿esz zmieniaæ "w biegu".

Ale tak da sie regulować amplitudę tylko w zakresie L-H TTL ! Chyba że dołożyłeś do "czystego" PWM jakiś dodatkowy układ ? wkwj

Amplitudę da się regulować w zakresie 8 lub 16 bit. Czyli amplitudę można regulować bardzo precyzyjnie. Na tablicę sinusoidy nakładasz mnożnik zmieniający szerokość każdej próbki. Masz tablicę z próbkami o szerokościach na full a do pracy wykorzystujesz tablicę, której każdy element został podzielony przez wzmocnienie. Czyli zmiana amplitudy trwa tyle co przeliczenie np. 256 próbek stanowiących ćwiartkę sinusoidy. Na wyjściu oczywiście kondensator eliminujący składową stałą. Ja wykorzystałem tablicę o próbkach 16 bitowych co przy 1024 próbkach dało wierną sinusoidę ale przy 3kHz musiałem już przeliczać czas realizacji instrukcji na przerwaniach. Implementacja oczywiście w assemblerze.

JanuszR

JanuszR pisze:

Amplitudę da się regulować w zakresie 8 lub 16 bit. Czyli amplitudę można regulować bardzo precyzyjnie. Na tablicę sinusoidy nakładasz mnożnik zmieniający szerokość każdej próbki. Masz tablicę z próbkami o szerokościach na full a do pracy wykorzystujesz tablicę, której każdy element został podzielony przez wzmocnienie. Czyli zmiana amplitudy trwa tyle co przeliczenie np. 256 próbek stanowiących ćwiartkę sinusoidy. Na wyjściu oczywiście kondensator eliminujący składową stałą plus filtr, wystarczy pierwszego rzędu. Ja wykorzystałem tablicę o próbkach 16 bitowych co przy 1024 próbkach dało wierną sinusoidę ale przy 3kHz musiałem już przeliczać czas realizacji instrukcji na przerwaniach. Implementacja oczywiście w assemblerze.

JanuszR

B³êdnie poda³em. W tych dwóch projektach stosuj± wzmiacniacze o programowalnym wzmocnieniu. Natomiast Mario pisa³ o four quadrant multiplying dac.

Ja chyba jednak bêdê stosowa³ to, o czym pisa³ Mario, gdy¿ tu mo¿na uzyskaæ wiêksz± rozdzielczo¶æ regulacji ni¿ w tych wzmacniaczach (przynajmniej nie znalaz³em ¿adnego rozs±dnego na stronie Analog Devices).

Rozwa¿am jeszcze uk³ad AD9852, który ma na pok³adzie mo¿liwo¶æ regulacji programowej zarówno czêstotliwo¶ci oraz amplitudy. Niemniej tu trochê obawiam siê problemów z lutowaniem takiego uk³adu, a ponadto same peryferja wydaj± siê trochê skomplikowane.

Robbo

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required