LCD AND KEYPAD AD9833 WAVEFORM GENERATOR
AD9833 module is a 0-10Mhz waveform generator with integral 25MHz crystal oscillator, the output frequency is set by the SPI controlled divider of the AD9833. A DAC shapes the sine and triangle waveforms, amplitude is 600mV. Squarewave amplitude is 5V. The PIC16F876A drives the AD9833 using SPI. The Frequency in the AD9833 is selected by 28 bit value which gives about 0.1Hz resolution, the PIC limit of LONG numbers allows accuracy of about 0.01%.
Key * selects between Sine, Triangle (300mV) or Squarewave (5V). Key # starts frequency setting by entering 7 numerical keys.
The 16x2 LCD module has to be HD44780 compatible.
AD9833 from eBay: https://www.ebay.co.uk/
LCD 10MHz AD9833 WAVEFORM GENERATOR
AD9833 module is a 0-10Mhz waveform generator with integral 25MHz crystal oscillator, the output frequency is set by the SPI controlled divider of the AD9833. A DAC shapes the sine and triangle waveforms, amplitude is 600mV. Squarewave amplitude is 5V. The PIC drives the AD9833 using SPI. The Frequency in the AD9833 is selected by 28 bit value which gives about 0.1Hz resolution, the PIC limit of LONG numbers allows accuracy of about 0.01%. PIC16F628A uses software SPI.
Pushbutton WAVEFORM selects between Sine, Triangle (300mV) or Squarewave (5V). Digit pushbutton selects the digit to set, INC pushbutton increments the digit.
The LCD of 16x2 display the High and Low Frequencies. The 16x2 LCD module has to be HD44780 compatible.
AD9833 from eBay: https://www.ebay.co.uk/
ARDUINO LCD AND KEYPAD 10MHz AD9833 WAVEFORM GENERATOR
AD9833 module is a 0-10Mhz waveform generator with integral 25MHz crystal oscillator, the output frequency is set by the SPI controlled divider of the AD9833. A DAC shapes the sine and triangle waveforms, amplitude is 600mV. Squarewave amplitude is 5V. The Arduino drives the AD9833 using SPI. The Frequency in the AD9833 is selected by 28 bit value which gives about 0.1Hz resolution, the Arduino limit of 32 bits numbers allows accuracy of about 0.01%.
Key * selects between Sine, Triangle (300mV) or Squarewave (5V). Key # starts frequency setting by entering 7 numerical keys.
The 16x2 LCD module has to be HD44780 compatible.
AD9833 from eBay: https://www.ebay.co.uk/
ARDUINO LCD 10MHz AD9833 WAVEFORM GENERATOR
AD9833 module is a 0-10Mhz waveform generator with integral 25MHz crystal oscillator, the output frequency is set by the SPI controlled divider of the AD9833. A DAC shapes the sine and triangle waveforms, amplitude is 600mV. Squarewave amplitude is 5V. The Arduino drives the AD9833 using SPI. The Frequency in the AD9833 is selected by 28 bit value which gives about 0.1Hz resolution, the Arduino limit of 32 bits numbers allows accuracy of about 1%.
Pushbutton WAVEFORM selects between Sine, Triangle (300mV) or Squarewave (5V). Digit pushbutton selects the digit to set, INC pushbutton increments the digit.
The 16x2 LCD module has to be HD44780 compatible.
AD9833 from eBay: https://www.ebay.co.uk/
PC WAVEFORM GENERATOR AD9833 VIA USB CH341
CH341 module (from eBay) converts USB to SPI, the module links are set to 5V and i2c-spi. AD9833 module is a 0-12.5Mhz waveform generator with integral 25MHz crystal oscillator, the output frequency is set by the SPI controlled divider of the AD9833. A DAC shapes the sine and triangle waveforms, amplitude is 600mV. Squarewave amplitude is 5V.
The 2N7000 mosfet is for digitally inverting the clock (SCK), the AD9833 wants idle high signal. The mosfet can be replaced by any small signal N mosfet or any digital inverter like CMOS 4049.
PC app is in Visual Basic-VS2010, type in the desired frequency.
AD9833 from eBay: https://www.ebay.co.uk/
The VB wrapping of DLL is taken from GitHub https://github.com/aa4e/ch341_vb . DLL is installed to PC by setup.exe in downloaded driver CH341PAR.ZIP https://www.wch.cn/downloads/CH341PAR_ZIP.html
LCD 244Hz TO 4MHz PIC16F1827 FREQUENCY GENERATOR
PIC generates 244-8,000,000 Hz by dividing the 32 MHz from crystal oscillator and PLL. The pushbuttons set the division from 0 to 255 holding the button advance the frequency every second.. The high frequency output at pin 2 is 4000000 / division , the low frequency output at pin 3 is 62500 / division. Division is by integer so not all frequencies can be set, for example the High Frequency output can be 4, 2, 1.333, 1 MHz etc.
The LCD of 16x2 display the High and Low Frequencies. The LCD module has to be HD44780 compatible.
The outputs are generated by using TMR2 and CCP3, TMR4 and CCP4 in PWM mode.
LCD 244Hz TO 8MHz ARDUINO FREQUENCY GENERATOR
Arduino Uno or Nano generates 244-8,000,000 Hz by dividing the 16 MHz crystal oscillator. The pushbuttons set the division from 0 to 255 holding the button advance the frequency every second.. The high frequency output at pin 9 is 8000000 / (division + 1) , the low frequency output at pin 11 is 62500 / (division + 1). Division is by integer so not all frequencies can be set, for example the High Frequency output can be 8, 4, 2.666, 2, 1.6, 1.333 MHz etc.
The LCD of 16x2 display the High and Low Frequencies. The LCD module has to be HD44780 compatible.
The software is for Arduino with ATMEGA328. The outputs are generated by using Timer2 and Timer1 in CTC mode.
|