Programmable Square Wave Function Generator 1Hz-150kHz / 0-100% Duty Cycle
Not enough stock? Order now, get it later.
Click HERE to find out how it works.
|Discount Type||Quantity||Volume Price|
|Quantity||3 - 9||7.5% C$ 7.31|
|Quantity||10 - 24||12.5% C$ 6.91|
|Quantity||25 +||15% C$ 6.72|
- Additional information
- Reviews (1)
This device is capable of generating square wave signals for experimental development that involves PWM dimming and speed controlling (e.g. motor drivers) as well as other microcontroller use. It can be controlled via the Serial Protocol TTL (TXD & RXD pins). It is stable and reliable, and fairly simple to use.
This signal generator is based on a 16MHz, 8-Bit MCU STM8S003F3, and a Holtek HT1621B LC display driver, 4 buttons control frequency and duty cycle. It can also be remote controlled by the serial port (see info below).
- Operating Voltage: 3.3 – 15 VDC*
- Frequency Range: 1Hz to 150kHz
- Frequency Accuracy: the accuracy in each range is about 2%
- Signal Load Capacity: 5 – 30 mA
- Output Amplitude: PWM Amplitude Equal to the Supply Voltage
- Operating Temperature: -20 – +70 Celsius
- Dimensions: 52 x 32 x 10 mm
- Communication: 9600,8,1
1) Setting the frequency of the PWM:
Command “F101”: Set the frequency to 101 HZ (001 to 999)
Command “F1.05”: set the frequency of 1.05 KHZ (1.00 ~ 9.99)
Command “F10.5”: Set the frequency to 10.5KHZ (10.0 ~ 99.9)
Command “F1.0.5″: set the frequency of 105KHZ (1.0.0 ~ 1.5.0)
2) Setting the PWM duty cycle:
DXXX”: set the PWM duty cycle to XXX; (001 ~ 100)
Example: ?D050?, sets the PWM duty cycle is 50%
3) Read the set parameter
Send a “read” string to read the set parameters.
Set successfully return: DOWN.
Setup failed to return: FALL.
*NOTE: We recommend a supply voltage of not more than 15V due to the unknown voltage regulator IC on these modules despite the information “30V” printed on the PCB.
1 review for Programmable Square Wave Function Generator 1Hz-150kHz / 0-100% Duty Cycle
Out of stock
LCD Multimeter for Beginners – 3.5 digits0 out of 5
Digital LED Voltmeter (green) 3-Digit 100VDC 7mm0 out of 5
AD9833 Function Generator Module0 out of 5
Green LED Battery Gauge for 1-8 Lithium Cells5.00 out of 5
m.p (verified owner) –
This square wave generator is ridiculously easy to use – just apply 5V to the Vin+, connect Vin- to ground, and you’ll get a signal out between the PWM and GND pins. Tested on two scopes (one good and old, one bad and new) and they both showed very little (if any) jitter and a consistent voltage out across the range. Maximum that the device will set to is 150kHz.
If you want to set the frequency and DC faster than tapping and/or holding the buttons on the front, hook a microcontroller or something else with serial out pins to the RX, TX, and GND pins while the generator is being powered through Vin+ and Vin-. Works just like the description says, the display is nice and bright and easy to read, and it’s inexpensive. I don’t know how many 555s, PICs, and Arduinos I’ve used over the years as PWM sources for servos or clocks for various circuits, but having one of these would’ve made things a lot easier…
Here’s some Arduino code I tinkered with as an example:
SoftwareSerial generator(10, 9);
delay(1000); // Give the generator time after power-on to settle and be ready to go
// Send a string that starts with D (to tell generator you want to set DC) and then three digits (5%DC here)
// If you want to set the generator without having to reprogram the Arduino, create a string that starts with F (to tell generator you want to set frequency) and then concatenate the digits and/or decimal points (to indicate kHz/10s of kHz/100s of kHz) one at a time until you’ve got what you want. In this case, sending 196Hz:
String sendHz = “F”;
int digit1 = 1; // Could get digit1/2/3 from anywhere – a button, keypad, serial connection from PC
int digit2 = 9;
int digit3 = 6;
sendHz = concat(String(digit1));
sendHz = concat(String(digit2));
sendHz = concat(String(digit3));