Sonsivri

Electronics => General Electronics => Topic started by: darksky on September 20, 2007, 08:23:59 20:23



Title: Precision sine wave oscillator
Post by: darksky on September 20, 2007, 08:23:59 20:23
I am looking for an idea for very accurate sine wave source at 50 hz - what is the best way


Title: Re: Precision sine wave oscillator
Post by: ipek on September 21, 2007, 03:17:03 03:17
find
http://rapidshare.com/files/57131459/Phase_control-50hz.rar.html
may be


Title: Re: Precision sine wave oscillator
Post by: user112 on September 21, 2007, 03:45:51 15:45
sine wave generators informations http://www.interq.or.jp/japan/se-inoue/e_ckt18_2.htm
and a integrated circuit for this   http://www.fairchildsemi.com/an/AN/AN-42025.pdf
http://www.eetindia.com/ARTICLES/2001AUG/2001AUG29_AMD_AN2.PDF?SOURCES=DOWNLOAD


Title: Re: Precision sine wave oscillator
Post by: digitalmg on September 22, 2007, 11:25:24 11:25
AD9833 from Analog Device 0.004 Hz resolution


Title: Re: Precision sine wave oscillator
Post by: aslan_korhan on October 29, 2007, 05:54:58 05:54
XR2206   simple and accurate.


Title: Re: Precision sine wave oscillator
Post by: localcrack on November 18, 2007, 07:52:40 19:52
Use microcontroller such as PIC, define the Sine table then use  timer interrupt to generate the sine
of desired frequency.

check the example given below that is provided with CCS PCWH Compiler

/////////////////////////////////////////////////////////////////////////
////                           EX_SINE.C                             ////
////                                                                 ////
////  This program demonstrates digital to analog conversion by      ////
////  using the RTCC (timer0) and the Max517 chip to generate a      ////
////  sine wave with a period of 10Hz.                               ////
////                                                                 ////
////  Configure the CCS prototype card as follows:                   ////
////     Connect Max517 pin 1 to scope (output)                      ////
////     Also make the following connections:                        ////
////          Max517 pin     Protoboard                              ////
////              2            gnd                                   ////
////              3            pin C1 (also use pull up resistor)    ////
////              4            pin C0 (also use pull up resistor)    ////
////              5            +5V                                   ////
////              6            +5V                                   ////
////              7            +5V                                   ////
////              8            +5V                                   ////
////                                                                 ////
////  Jumpers:                                                       ////
////     PCB        pin A2 to RS232 RX, pin A3 to RS232 TX           ////
////     PCM,PCH    pin C7 to RS232 RX, pin C6 to RS232 TX           ////
////                                                                 ////
////  This example will work with the PCB, PCM and PCH compilers.    ////
////  The following conditional compilation lines are used to        ////
////  include a valid device for each compiler.  Change the device,  ////
////  clock and RS232 pins for your hardware if needed.              ////
/////////////////////////////////////////////////////////////////////////
////        (C) Copyright 1996,2003 Custom Computer Services         ////
//// This source code may only be used by licensed users of the CCS  ////
//// C compiler.  This source code may only be distributed to other  ////
//// licensed users of the CCS C compiler.  No other use,            ////
//// reproduction or distribution is permitted without written       ////
//// permission.  Derivative programs created using this software    ////
//// in object code form are not restricted in any way.              ////
/////////////////////////////////////////////////////////////////////////


#if defined(__PCB__)
#include <16C56.h>
#fuses HS,NOWDT,NOPROTECT
#use delay(clock=20000000)

#elif defined(__PCM__)
#include <16F877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)

#elif defined(__PCH__)
#include <18F452.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#endif

#include <max517.c>


BYTE CONST SINE_WAVE[200] = {
128,132,136,139,143,147,150,154,158,161,165,169,172,176,179,
182,186,189,192,195,199,202,204,207,210,213,215,218,220,223,
225,227,229,231,233,235,237,238,240,241,242,243,244,245,246,
247,247,247,248,248,248,248,248,247,247,247,246,245,244,243,
242,241,240,238,237,235,233,231,229,227,225,223,220,218,215,
213,210,207,204,202,199,195,192,189,186,182,179,176,172,169,
165,161,158,154,150,147,143,139,136,132,128,124,120,117,113,
109,106,102,98,95,91,87,84,80,77,74,70,67,64,61,57,54,52,49,
46,43,41,38,36,33,31,29,27,25,23,21,19,18,16,15,14,13,12,11,
10,9,9,9,8,8,8,8,8,9,9,9,10,11,12,13,14,15,16,18,19,21,23,
25,27,29,31,33,36,38,41,43,46,49,52,54,57,61,64,67,70,74,77,
80,84,87,91,95,98,102,106,109,113,117,120,124};

BYTE sine_index;

#int_rtcc
void isr() {

   set_rtcc(102);         // frequency of interrrupt = (clock/(4*divisor))/(256-reload)
                          //                 2029 hz = (20000000/(4*16))/(256-102)

   write_dac(SINE_WAVE[sine_index]);

   if(++sine_index==200) {
      sine_index=0;
   }
}


void main() {

  setup_counters( RTCC_INTERNAL, RTCC_DIV_16);
  enable_interrupts(INT_RTCC);
  enable_interrupts(GLOBAL);

  while (TRUE) ;
}


Title: Re: Precision sine wave oscillator
Post by: FriskyFerret on November 19, 2007, 09:14:43 21:14
Quote
I am looking for an idea for very accurate sine wave source at 50 hz - what is the best way

All depends on what you mean by "very accurate."

Do you mean:

1. Less than 1% THD "accurate."
2. NIST primary reference standard "accurate."

There's only several hundred thousand dollars difference between the two extremes. Maybe you have some specifications in mind?




Title: Re: Precision sine wave oscillator
Post by: northballs on November 20, 2007, 09:45:29 21:45
you could try wien bridge osc.


Title: Re: Precision sine wave oscillator
Post by: piclover on November 21, 2007, 02:10:53 14:10
ICL8038 (if I remember correctly) -  less cost then XR2026, or some of PIC12F... PWM + rc filter and voila  :)


Title: Re: Precision sine wave oscillator
Post by: Trishool on November 21, 2007, 02:54:03 14:54
I am looking for an idea for very accurate sine wave source at 50 hz - what is the best way
darksky,
What THD you require , I mean what is the criterion of precision for your application. And what voltage ratings and Thermal operating conditions , unless these conditions are known nothing could be said regarding accuracy.

Ts


Title: Re: Precision sine wave oscillator
Post by: darksky on November 27, 2007, 05:05:09 17:05
I would like to achieve 0.01% or better - with an accuracy of a crystal.

Is this possibe?


Title: Re: Precision sine wave oscillator
Post by: Trishool on November 28, 2007, 12:59:30 12:59
I would like to achieve 0.01% or better - with an accuracy of a crystal.

Is this possibe?

Its not difficult to attain .01% , I can give you hints , BTW what Operating temperature range you desire?

Ts


Title: Re: Precision sine wave oscillator
Post by: darksky on December 10, 2007, 12:56:27 12:56
Looking for 5- 30 C as a temperature and 50 HZ centre with xtal accuracy.

THD bettter than .01%

Thanks


Title: Re: Precision sine wave oscillator
Post by: aslan_korhan on December 10, 2007, 04:24:22 16:24
Use a TCXO and divide it to give 50Hz. Then filter it to give sine-wave...


Title: Re: Precision sine wave oscillator
Post by: kcwcc on December 10, 2007, 06:26:52 18:26
Probably too many harmonics filtering a square wave...


Title: Re: Precision sine wave oscillator
Post by: belinao on December 11, 2007, 03:25:45 15:25
i used to make sine waves using the pwm from PIC. Just generate a sine table, and then send it to pics pwm every pwm cycle, then use a low pass filter on picĀ“s pwm, your table will be big but the result is very good (i used to use it for a nobreak).


Title: Re: Precision sine wave oscillator
Post by: Tre on December 13, 2007, 07:12:04 07:12
This depends on what kind of qualities you want and how much work you are willing to invest in it.  If you want a fairly accurate, cheap signal, then using a PIC or a 555 + filtering should be sufficient.  The next step above this would be to use a crystal/resonator but you will have trouble finding one at such a low frequency.  Lastly, if you REALLY need a good sine wave and are concerned about things like phase noise/jitter, then it is probably time to steal some RF tricks.  Generate two sine waves (Colpitts oscillator and a Colpitts VCO) and then use a mixer + filtering to generate a REALLY good 50Hz sine wave.  So again, without more information on what you want to do with this it is hard to suggest the proper route.


Title: Re: Precision sine wave oscillator
Post by: Trishool on December 14, 2007, 06:20:36 06:20
Looking for 5- 30 C as a temperature and 50 HZ centre with xtal accuracy.

THD bettter than .01%

Thanks

You need to develop very stable and precise power supply for this, You can make this with Wien bridge oscilllator, using OP270 or better opamps, Use two opamps one for generating the the sinwave and the other for amplitude stabilization . Also the power supply required is precise , use opams in your power supply to to correct drifts also a GND adjustiong loop. You also need to use a precise temperature compensated reference voltage generator to do that.

Below is the Oscillator sch for your reference
Hope this helps
Ts


Title: Re: Precision sine wave oscillator
Post by: 8K51 on December 14, 2007, 10:56:40 10:56
Hi

Here is another way... 3 chips, no tuning  : 4060, 4013 and a switched capacitor filter

-A 3.2768 MHz crystal with a CD4060 gives 200Hz square wave,
-Two more flip flop gives 50Hz square wave.
-A well tuned high order low pass or band pass filter (switched capacitor for instance) should reduce THD to your requirements.
The clock for switched capacity filter could come from previous 4060. (6.4kHz for a 64Hz low pass filter) !!

Simpler than earlier MF10 you can use a modern small switched capacitor filter from Maxim, Linear...
I use MAX7426 or MAX7400 for post DAC filtering

Here is an application note where frequency divide is done by a small microcontroller
http://www.maxim-ic.com/appnotes.cfm/appnote_number/2081

Regards



Title: Re: Precision sine wave oscillator
Post by: kcwcc on December 14, 2007, 07:31:05 19:31
Wow...the venerable MF10...I had forgotten completely about that chip...hehehe...I used to use them all the time...