矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: palyer

免调试模块化的DDS扫频信号发生器-升级版

  [复制链接]
     
发表于 2019-4-9 14:10:26 来自手机 | 显示全部楼层
你是说利用旋转编码器,每一步9khz。但天线连怎么同步,除非是不调谐高放。
回复 支持 反对

使用道具 举报

     
发表于 2019-4-9 15:41:57 | 显示全部楼层
a_fu 发表于 2019-4-9 14:10
你是说利用旋转编码器,每一步9khz。但天线连怎么同步,除非是不调谐高放。

用于短波接收机第一本振,高放不需要调谐的,做为电台第一级变频级本地振荡器的可变频率振荡器,是能决定发射频率和接收频率第一中频的电路。因为AD9850可以输出非常纯净和稳定的正弦波频率。
回复 支持 反对

使用道具 举报

     
发表于 2019-4-9 16:04:35 | 显示全部楼层
a_fu 发表于 2019-4-9 14:10
你是说利用旋转编码器,每一步9khz。但天线连怎么同步,除非是不调谐高放。

主要用于SSB(Single Side Band)单边带,上边带(USB)或者下边带(LSB)的接收机,因为可以精确调谐步进频率。当然也可以用于普通短波接收机。
回复 支持 反对

使用道具 举报

     
发表于 2019-4-9 16:19:55 | 显示全部楼层
a_fu 发表于 2019-4-9 14:10
你是说利用旋转编码器,每一步9khz。但天线连怎么同步,除非是不调谐高放。

用单片机这不是问题——可以调试“学习”时在内部建立一张“表”,根据本振频率查表获得天线或高放的直流调谐电压值然后用DA输出这个直流电压去控制相应的变容管。
回复 支持 反对

使用道具 举报

     
发表于 2019-4-9 17:46:36 | 显示全部楼层
买的模块到了2个,一个AD9850,一个nano V3.0 ATMEGA328P ,对于单片机是个门外汉,一窍不通。
装驱动,下程序,应该是这个吗?arduino-1.8.9,按楼主的图片设置好,再打开烧写文件,提示要建一个文件夹,把文件放文件夹里,然后点上传,转了一会儿,也不知道是不是上传成功了。请教步骤对吗?是不是成功了?还有1个DAC模块还没有到。
芯片.jpg
设置参数.jpg
上传成功.jpg
回复 支持 反对

使用道具 举报

     
发表于 2019-4-9 17:49:05 | 显示全部楼层
a_fu 发表于 2019-4-9 17:46
买的模块到了2个,一个AD9850,一个nano V3.0 ATMEGA328P ,对于单片机是个门外汉,一窍不通。
装驱动,下 ...

可以啊,OK了。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2019-4-9 18:41:33 | 显示全部楼层
a_fu 发表于 2019-4-9 17:46
买的模块到了2个,一个AD9850,一个nano V3.0 ATMEGA328P ,对于单片机是个门外汉,一窍不通。
装驱动,下 ...

看图片,好像有点不对。好像是选了"验证/编译", 需要选择"上传"。
选"验证/编译"是这样的。
编译.jpg
选"上传"是这样的.
上传.jpg
下面提示信息的窗口显示的内容会多一段上传过程。

用AD9850需要把J1短接起来。 如果连接正确的话,没有DAC模块,还是可以看到扫频信号的。
回复 支持 1 反对 0

使用道具 举报

     
发表于 2019-4-9 18:54:13 | 显示全部楼层
palyer 发表于 2019-4-9 18:41
看图片,好像有点不对。好像是选了"验证/编译", 需要选择"上传"。
选"验证/编译"是这样的。

我点的是“上传”,也就是向右的那个箭头,但看你的图,似乎有校验过程,结尾与你显示的也不一样。我再试试。能说一下在工具里设置好参数后,具体上传的操作步骤吗?谢谢
回复 支持 反对

使用道具 举报

     
发表于 2019-4-9 20:18:07 | 显示全部楼层
palyer 发表于 2019-4-9 18:41
看图片,好像有点不对。好像是选了"验证/编译", 需要选择"上传"。
选"验证/编译"是这样的。

又反复试验了很多次,显示的结果都一样,试传了一段Arduino IDE自带的basic下的Blink,也是没有显示进度条,跟前面显示一样,最后显示上传成功,板上的灯也能一闪一闪。DDS_SweepV2.ino上传过程中有一段编译过程,然后显示上传,板上的灯开始狂闪,然后几个灯交替闪了几下停止,界面显示上传成功,也没有进度条。
等所有板子到齐了,搭起来试试就知道是否上传成功了。谢谢朋友提供好的思路,并无私公开自己编译的程序,值得称道,谢谢!
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2019-4-13 15:07:26 | 显示全部楼层
本帖最后由 palyer 于 2019-4-13 15:17 编辑

V2.2版本最新改动
    对电路进行了简单改动,对软件做了较大改动
1、增加一路方波频标输出,可以用在不支持亮度叠加的示波器(比如,入门级数字示波器,感谢坛上朋友提供的思路)上显示频标;
2、调整频率下限由20KHz降低到200Hz;
3、增加了频率校准方法;
4、可以保存设置,将设置参数保存在单片机的EEPROM中,重新上电时,自动加载设置参数。

电路图:
  增加了一条输出线路,电路图中绿色部分。该线路上增加方波输出,用于标记频标,由于复用了单片机引脚,该脚平常电压为高电平,在到达标记频率时,下降为低电平,持续时间较短,在屏幕上会形成一个亮点。
图6-1-电路图.jpg

总结一个完整版的说明:
1、输出
锯齿波输出: 输出同步锯齿波
扫频输出:   扫频信号输出
频标方波输出: 方波信号,下降沿标记频点
1602 LCD用于显示当前模式、频率范围及设置参数,在扫描模式时,第一行右边显示扫频范围中心频率,第二行分别显示扫频起始频率和结束频率,中心频率=(起始频率 + 结束频率)/2。
在单一频率输出时,第二行显示当前频率。

2、按键用途
K1:用来切换工作模式
J1:用来选择使用的DDS芯片类型,可以只用其中一片即可,J1断开-使用AD9833  J1对地短接-使用AD9850,仅仅在单片机复位启动时有效。
K2:如果同时装了AD9833和AD9850,为方便调试,K2用于选择输出。如果只用一片DDS,用不着这个K2
旋转编码器: 旋转用于调节频率,按键用于确认或者切换输入数据
旋转编码器采用了变速调节频率的方式,连续快速旋转编码器10次,速度增加到10倍,再快速连续旋转15次,速度增加到100倍,通过增加速度以便快速调节频率范围,等待2秒不旋转旋钮,则速度降为1。
在200Hz-9900Hz范围调节时,基本步进幅度是100Hz,在10K-9999KHz范围调节时,基本步进幅度是1KHz, 100倍则是100KHz,在1MHz以上范围调节时,基本步进幅度是10KHz,100倍时,则是1MHz。
在扫频模式模式8时,可以分别调节起始和结束频率,把旋转编码器往下按一下,进行两个调节数字之间的切换。

3 、指标:
供电电压:+5V
锯齿波输出:
锯齿波频率:20Hz左右
锯齿波波幅: 0-4V左右
频标方波波幅:   0-5V左右
扫频信号输出:
模式0:扫频频率: 430-480KHz, 中心频率 455KHz,7个频标,间隔是 5KHz,分别是 440 445 450 455 460 465 470
模式1:单一频率: 455KHz
模式2:扫频频率: 440-490KHz, 中心频率 465KHz,7个频标,间隔是 5KHz,分别是 450 455 460 465 470 475 480
模式3:单一频率: 465KHz
模式4:扫频频率: 9.9-11.5MHz, 中心频率 10.7MHz,7个频标,间隔是 100KHz,分别是 10.4 10.5 10.6 10.7 10.8 10.9 11.0
模式5:单一频率: 10.7MHz
模式6:扫频频率: 100-20000Hz, 慢扫描,无频标
模式7:单一频率: 1000Hz
模式8:自定义扫频频率,起止范围 200Hz – 12MHz (使用AD9833时,4MHz以上波形失真较大)
                        起止范围200Hz-70MHz   (使用AD9850时,40MHz以上波形失真较大)
模式9:单一频率输出,频率范围 200Hz – 12MHz (使用AD9833时)
                      频率范围200Hz-70MHz   (使用AD9850时)
模式10: 设置,设置菜单有4个,分别为
         1) 频标模式 0-叠加方式形成亮点频标
                             1-方波下沿频标
          2)频率校准
          3)设置参数恢复为默认数值
          4)保存设置参数
扫频波幅Vpp: 0.6V (AD9833)
         Vpp:0.8-1.0V (AD9850, 10.7M频段幅度略低)
图6-2-菜单.jpg

4、使用
4.1确保J1的接法与采用的DDS模块一致,接上电源,电路电源和Arduino板可以同时上电。
按键K1是用来切换工作模式的,默认为工作模式0,即输出455KHz中心频率的扫频信号,按K1键,从模式0-10循环切换。 可以用示波器观察锯齿波和扫频信号输出。
每按一次K1键,Arduino上的L灯会快闪。 采用AD9833会快闪1次,采用AD9850会快闪3次,以便在没有LCD时,区别使用的DDS模块。
如果通过Arduino的USB口接上电脑,打开Arduino开发软件的串口监视器,每次切换模式时,可以从串口输出看到当前模式代码和使用的DDS,以及其他附加信息。


4.2亮点频标和方波频标的区别
在亮点频标模式下,锯齿波是有台阶的,锯齿波上的台阶在屏幕上形成频标亮点,在方波频标模式下,方波的下降沿标记频标。
亮点频标锯齿波
图6-3-亮点频标锯齿波.jpg

方波频标图
图6-4-方波频标方波及锯齿波.jpg

4.3亮点叠加频标模式下连接方法:
用到示波器的X-Y模式,有关X-Y模式,需要根据每个示波器的使用方法来略作调整。锯齿波输出接到示波器X轴(一般是CH1),扫频信号接到示波器Y轴(CH2),将示波器设置为X-Y模式,调整X轴的幅度以及微调旋钮,让扫频信号在左右宽度上填满整个屏幕,扫频信号中7条亮线是频标:

4.4方波频标下连接方法
   将方波信号连接示波器外部触发端口,CH1接方波信号,CH2接扫频信号,示波器调整为下降沿触发,触发模式调整为外部(或外部DC)触发,调整 TIME/DIV,可以获得左右适当的幅度。
亮点频标和方波频标图
图6-5-6两种频标对比.jpg

4.5 自定义扫频区间时频标计算
  由于在方波输出频标时,示波器上可能会出现多个完整扫频波,如果频标均匀分布在扫频区间上,将无法分辨头尾,因此频标主要集中在中部。 7个频标设计分别是频率区间跨度的20%、30%、40%、50%、60%、70%、80%,这样左右留空较多。
  频率区间 = 截止频率 – 起始频率
  频标1 = 起始频率 + 频率区间 * 20%
  频标2 = 起始频率 + 频率区间 * 30%
  其他频标以此类推。

5、        设置
在设置模式时,旋转编码器左右旋转用来选择数值,按下旋转编码器确认,切换到下一输入项。
5.1 Freq Mark 频标方式选择
  可以选择两种 0-亮点频标
                      1-方波频标
   Yes – 确认,No – 放弃
5.2Cal 频率校准
  进入该菜单,扫频仪根据使用的模块,会输出一个2MHz(使用AD9833时)或者10MHz(使用AD9850时)正弦波信号,用高精度频率计读出此时的频率,用编码器输入该频率,并确认(在Yes上按下编码器按钮),扫频仪立即修正模块晶振基准频率,并会输出准确的频率。 受到Arduino系统中数值精度限制,精度只能到 十万分之一。
图6-7-两种模块输入.jpg
5.3 Default 恢复为默认设置
  如果在Yes上按下编码器按钮,将频标模式恢复为0,频率校准参数也被去掉。
5.4 Save  保持设置参数
  如果在Yes上按下编码器按钮,将所设置的参数保存到EEPROM,下次单片机上电时,自动加载。

最新代码可下载。(兼容第一个版本的电路,但第一版本电路无编码器,无法调节)
DDS_SweepV2.2.zip (8.75 KB, 下载次数: 309)


补充内容 (2019-4-13 20:58):
如果编译的时候有字符串转换警告,可以去40楼下载修改之后的版本。

评分

1

查看全部评分

回复 支持 1 反对 0

使用道具 举报

     
发表于 2019-4-13 15:08:00 | 显示全部楼层
准备装壳。
001.jpg
002.jpg
003.jpg
004.jpg
005.jpg
006.jpg
007.jpg

评分

2

查看全部评分

回复 支持 1 反对 0

使用道具 举报

     
 楼主| 发表于 2019-4-13 15:16:12 | 显示全部楼层

赞,很漂亮。
回复 支持 1 反对 0

使用道具 举报

     
发表于 2019-4-13 17:36:21 | 显示全部楼层
忙乎了几天,锯齿波不正常,不知什么原因,反复检查接线无误,没招了。
IMG_20190413_163555.jpg
回复 支持 反对

使用道具 举报

     
发表于 2019-4-13 17:38:28 | 显示全部楼层
波形看一个周期内分成了上下两部分,请老师分析下可能是什么原因?谢谢!
回复 支持 反对

使用道具 举报

     
发表于 2019-4-13 17:57:42 来自手机 | 显示全部楼层
sjp 发表于 2019-4-13 15:08
准备装壳。

什么玩意? ssb接收机?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-4-27 06:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表