06-08-2018, 10:40 AM
I did a bit more on the signal generator yesterday. Ive added a rotary encode to adjust the frequency.
And found a way to add amplitude modulation to the output by injecting a tone into the level set pin.
The encoder button can switch the AM off and on. The frequency step on the encoder is 1kHz by default.
I'm going to make the step adjustable on the encoder button press.
Most of the code has been adapted from that supplied with the DDS shield
Additions to the software is done mainly by Ardunio/ESP8266 libraries.
So far I've used these:
ESP8266WiFi
ESP8266WebServer
WiFiManager
Button2
ESPRotary
The picture shows the board and a trace from the logic analyzer, I got in a right mess initailly and needed to use this.
I had been looking at a data sheet for a differant DDS device and couldnt get it to work.
The bytes sent are 0027ef9db2 in reverse order.
Calculated as 19500000 * 4294967295 / M_Clk;
M_Clk is the 125000000 clock crystal frequency on the module.
subtracting 115 from the clock frequency has brought the output into line with my frequency counter.
Ive no idea which is more accurate though.
And found a way to add amplitude modulation to the output by injecting a tone into the level set pin.
The encoder button can switch the AM off and on. The frequency step on the encoder is 1kHz by default.
I'm going to make the step adjustable on the encoder button press.
Most of the code has been adapted from that supplied with the DDS shield
Additions to the software is done mainly by Ardunio/ESP8266 libraries.
So far I've used these:
ESP8266WiFi
ESP8266WebServer
WiFiManager
Button2
ESPRotary
The picture shows the board and a trace from the logic analyzer, I got in a right mess initailly and needed to use this.
I had been looking at a data sheet for a differant DDS device and couldnt get it to work.
The bytes sent are 0027ef9db2 in reverse order.
Calculated as 19500000 * 4294967295 / M_Clk;
M_Clk is the 125000000 clock crystal frequency on the module.
subtracting 115 from the clock frequency has brought the output into line with my frequency counter.
Ive no idea which is more accurate though.







