方案介绍
一种基于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位分辨率,并显示编码器被推时的增量步长。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !