亲,“电路城”已合并到全星升级的「与非网」。了解新「与非网」

基于Arduino的DDS信号发生器

2022/10/18
提供买家交流群支持
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
方块图(3)
  • 方案介绍
  • 相关文件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

一种基于AD9851模块的廉价DDS信号发生器,可产生高达70MHz(实际为20-30MHz)的正弦波。该模块还内置了一个高达1mhz的参考方波,这是独立于正弦波的工作,占空比通过模块本身内置的电位器控制。

该项目利用Arduino Nano,我还使用旋转编码器来控制信号频率的正弦波。显示器使用的KTM-S1201 7段液晶显示器,因为它是我手边唯一的显示器。液晶显示器需要一个电位计来控制显示对比度。

材料清单

  • AD9851 DDS模块
  • Arduino Nano 
  • KTM-S1201 7段液晶显示器
  • 旋转编码器
  • 电位计(10 k)

连接组件
引脚连接可以非常随意,因为您可以在Arduino代码中指定分配。然而,旋转编码的CLK引脚需要连接到Arduino上的D2或D3,因为这是仅有的两个引脚支持Arduino Nano上的中断连接。

旋转编码器

  • 连接Nano D2到编码器CLK
  • 连接Nano D3到编码器DT
  • 连接Nano D4到编码器SW
  • 连接编码器地到地
  • 连接编码器Vcc到Arduino +5v

AD9851 (DDS)

  • 连接Nano D5到DDS复位
  • 连接Nano D6到DDS数据
  • 将Nano D7连接到DDS Load
  • 连接Nano D8到dds时钟
  • 将DDS接地连接
  • 连接DDS Vcc到Arduino +5v

KTM-S1201

  • 连接Nano D9到LCD CD
  • 连接Nano D10到LCD复位
  • 连接Nano D11到LCD CS
  • 连接Nano D12到LCD N_SCK
  • 将Nano D13连接到LCD SI
  • 连接LCD地到地
  • 连接LCD Vcc到Arduino +5v

电位计

  • 将pot左销连接到地面
  • 将pot右引脚连接到Arduino +5v
  • 将pot中心连接到液晶CS

如何工作
代码非常简单明了,为了便于管理,我将其分成了两个文件。所有与配置和控制DDS相关的功能都在一个单独的文件中,由Arduino IDE自动拉入。

主文件的顶部指定了每个组件(LCD、旋转编码器和AD9851)的引脚选择。其余的代码使用标识符而不是实际的pin号。这就提供了改变线路以适应个人设计和需求的灵活性。

设置初始化信号发生器的初始值为5khz,旋转编码器的步长为1Hz。按编码器作为一个按钮增加频率的10倍,一直到1MHz,然后回到1Hz。

7段液晶显示器显示设置的频率在千赫到小数点后4位分辨率,并显示编码器被推时的增量步长。

本方案更多详细资料可在附件中下载查看

以上内容翻译自网络,原作者:Umar Sear,如涉及侵权,可联系删除。

  • JOnYrMHFzqMlmSxvhkgJ .jpg
    2下载
    描述:示意图
  • Arduino-AD9851-DDS-Direct-Digital-synthesizer-Signal-Generator-master.zip
    4下载
    描述:代码

相关推荐

电子产业图谱