本项目介绍了一款使用Arduino微控制器、OLED显示屏和AD9833直接数字合成芯片制作的JX波形发生器,支持多种波形输出。
使用Arduino Nano R3, OLED显示屏以及AD9833 DDS模块来构建一个实验室用波形发生器。
所需硬件部件包括:
- Arduino Nano R3 × 1个
- SH1106 I2C Oled 显示屏(分辨率:128x64像素,接口为4针)× 1个
- AD9833 DDS模块 × 1个
- 可选:5V继电器模块 × 1个
- 电容(容量分别为):10 µF 和 10 nF 各一个
- AC转DC电源适配器(输入电压范围:100~240V,输出电压为5V)× 1个
- 手动工具和焊接设备
该波形发生器的主要特性包括:
- 输出频率可调,范围从1 Hz至999,999 Hz。
- 支持两种不同的频率调节模式:线性变化或逐位递增/减小。
- 能够生成正弦、三角和方波三种类型的信号。
- 可选择交流(AC)或者直流(DC)输出耦合方式。
- 具备在两个预定义的频率值之间自动连续扫描的功能,仅需一个旋钮即可实现所有操作控制。
- 集成屏幕保护程序以延长OLED显示屏使用寿命。
一些技术细节:
- 1kHz正弦波:峰峰值约为550 mV至650 mV
- 1kHz三角波: 峰峰值同样为大约在550mV 至 650mV之间。
- 1kHz方波:峰峰值平均约为4.5 V
DDS模块的输出幅度相对较低,正弦和三角信号随频率增加而减小。但直至1MHz范围内仍保持线性关系。
AD9833 DDS模块理论上可生成高达12 MHz 的信号,不过本项目中并不需要此功能。若需超过 1 MHz 频率,则可能需要对图形界面进行部分重新设计以显示更多数字。
输出波形质量在很大程度上取决于电源的稳定性,建议使用线性电源而非开关型电源来获得更优质的性能。
快速参考原型:
- 使用了带有10A触点的预组装继电器模块。如果后续不需要功率继电器,则此配置可以避免额外添加晶体管、二极管及电阻等元件。
- 注意:Arduino数字引脚输出电流上限为40mA,因此不能直接连接到机电式继电器(如需使用,请确保线圈阻抗不超过120/150欧姆)。
务必谨慎操作电源设备!