Description: The function generator features two BNC outputs: one for the high speed [1 to 8 MHz] square signal (BNC1) and another for the DDS signal (BNC2). Offset and amplitude can be regulated by two potentiometers: offset in range of +5V to -5V (POT1) and amplitude in range of 0 to 10V (POT2). Up and down arrow buttons are used for changing the function type (sine, triangle etc.) while left and right arrow buttons are used for changing the frequency value. There is also a separate menu for changing frequency step. When the middle button is pressed, the signal generation starts. The middle button is pressed again for stopping the signal. More details can be found in the original site. Because of the present LCD character orientation, which is different from the original implementation (180 degrees), the following changes in main.c were made:
Buttons LEFT and RIGHT were reversed:
#define LEFT 3//PORTD
#define RIGHT 1//PORTD
Buttons TOP and BOTTOM were reversed:
#define DOWN 4//PORTD
#define UP 0//PORTD
For the latest version of AVR-GCC compiler, the following changes should be made (according to Geoff comment on scienceprog.com):
struct signal {
volatile uint8_t mode; // signal
volatile uint8_t fr1; // Frequency [0..7]
volatile uint8_t fr2; // Frequency [8..15]
volatile uint8_t fr3; // Frequency [16..31]
volatile uint32_t freq; // frequency value
volatile uint8_t flag; // if 0 generator is OFF, 1 is ON
volatile uint32_t acc; // accumulator
volatile uint8_t ON;
volatile uint8_t HSfreq; // high speed frequency [1...4Mhz]
volatile uint32_t deltafreq; // frequency step value
} SG;
The ATMEGA16 fuses should be:
HIGH = 0×59
LOW = 0xCF
This is interpreted to the following options checked (all others unchecked):
OCDEN
SPIEN
BOOTSZ1
BOOTSZ2
SUT1
SUT0
The function generator circuit is designed to provide a versatile waveform output, suitable for various applications in testing and signal processing. The circuit includes two BNC output connectors, allowing simultaneous output of a high-speed square wave signal and a Direct Digital Synthesis (DDS) signal. The high-speed output (BNC1) operates within a frequency range of 1 to 8 MHz, while the DDS output (BNC2) can generate a variety of waveforms, including sine and triangle waves.
Two potentiometers (POT1 and POT2) are incorporated into the design to allow for manual adjustment of the signal's offset and amplitude. POT1 adjusts the offset voltage from +5V to -5V, enabling the user to shift the waveform vertically on an oscilloscope. POT2 controls the amplitude of the output signal, which can be set from 0V to 10V, providing flexibility in signal strength for different applications.
User interface elements consist of up and down arrow buttons for selecting the waveform type and left and right arrow buttons for adjusting the frequency value. This arrangement allows for intuitive navigation through various settings. A dedicated menu facilitates changes to the frequency step, enhancing the functionality of the generator.
The microcontroller at the heart of the circuit is the ATmega16, which manages signal generation and processing. It utilizes a structure to store the operational parameters, including the current mode of operation, frequency settings, and flags indicating the status of the signal generator. The microcontroller's fuses are configured to enable specific features, such as the On-Chip Debugger (OCDEN) and Serial Peripheral Interface (SPIEN), while ensuring the bootloader size is appropriately set.
Overall, this function generator circuit provides a robust platform for generating precise waveforms, making it an essential tool for electronics testing and experimentation.The function generator features two BNC outputs : one for the high speed [1 to 8 MHz] square signal (BNC1) and another for the DDS signal (BNC2). Offset and amplitude can be regulated by two potentiometers : offset in range of +5V to -5V (POT1) and amplitude in range of 0 to 10V (POT2).
Up and down arrow buttons are used for changing the function type (sine, triangle etc.) while left and right arrow buttons are used for changing the frequency value. There is also a separate menu for changing frequency step. When the middle button is pressed, the signal generation starts. Middle button is pressed again for stopping the signal. More details can be found in the original site. Because of the present LCD character orientation, which is different from the original implementation (180 degrees), the following changes in main.c were made :
Buttons LEFT and RIGHT were reversed :
#define LEFT 3//PORTD
#define RIGHT 1//PORTD
Buttons TOP and BOTTOM were reversed :
#define DOWN 4//PORTD
#define UP 0//PORTD
For the latest version of AVR-GCC compiler, the following changes should be made (according to Geoff comment on scienceprog.com) :
struct signal{
volatile uint8_t mode; //signal
volatile uint8_t fr1; //Frequency [0..7]
volatile uint8_t fr2; //Frequency [8..15]
volatile uint8_t fr3; //Frequency [16..31]
volatile uint32_t freq; //frequency value
volatile uint8_t flag; //if 0 generator is OFF, 1 is ON
volatile uint32_t acc; //accumulator
volatile uint8_t ON;
volatile uint8_t HSfreq; //high speed frequency [1...4Mhz]
volatile uint32_t deltafreq; //frequency step value
}SG;
The ATMEGA16 fuses should be :
HIGH = 0×59
LOW = 0xCF
This is interpreted to the following options checked (all others unchecked) :
OCDEN
SPIEN
BOOTSZ1
BOOTSZ2
SUT1
SUT0
This circuit generates a sine wave using a single operational amplifier (741). The feedback loop of the op-amp includes a twin-T filter connected between its output and inverting input. Positive feedback for oscillation is provided by resistor R2. The twin-T...
Maxim's MAX038 function generator chip is capable of producing nearly constant amplitude sine, square, and triangle waves with a low output impedance, from a very low frequency to more than 20 MHz. Basically, a function generator on a chip. Here...
This function generator features an adjustment range exceeding 1,000,000 to 1 and utilizes a CA3160 BiMOS operational amplifier as a voltage follower. It incorporates a CA3080 operational transconductance amplifier (OTA) as a high-speed comparator, alongside another CA3080 configured as a...
When an alternating current signal is applied to a capacitor, the phase of the charging current and the voltage across the capacitor shifts by 90 degrees. Conversely, when an alternating current signal is applied to an inductor, the voltage change...
Many RC oscillators utilize an advanced circuit in the phase shift unit. This configuration employs a voltage feedback amplifier, which experiences a significant decline in gain at higher frequencies, leading to the cessation of oscillation before achieving the desired frequency....
Ultrasonic cleaning primarily relies on the phenomenon of ultrasonic cavitation. In the presence of a sound field, liquid bubbles undergo high-frequency micro-vibrations. When the sound pressure reaches a specific threshold, air bubbles grow rapidly and then collapse suddenly, creating a...
The circuit serves as a signal source for calibration level meters or sensor-driven differential transformers. The oscillation frequency is determined by the 74HC04, producing a frequency of 1 kHz through resistor R. The supply voltage of the circuit changes in...
The oscillator produces a high-quality sinusoidal signal with a stable frequency and amplitude.
The oscillator circuit is designed to generate a sinusoidal waveform characterized by its high purity, meaning it exhibits minimal harmonic distortion and noise. This attribute is crucial in...
The AD9835 is a Direct Digital Synthesis (DDS) chip manufactured by Analog Devices. It comprises a phase accumulator, a sine wave table, and a 10-bit digital-to-analog converter (DAC). This chip can be utilized for both phase and frequency modulation by...
We use cookies to enhance your experience, analyze traffic, and (if you allow) serve personalized ads.
By clicking Accept All, you agree to our use of cookies.
Learn more