a_fu
发表于 2019-4-9 14:10:26
你是说利用旋转编码器,每一步9khz。但天线连怎么同步,除非是不调谐高放。
sjp
发表于 2019-4-9 15:41:57
a_fu 发表于 2019-4-9 14:10
你是说利用旋转编码器,每一步9khz。但天线连怎么同步,除非是不调谐高放。
用于短波接收机第一本振,高放不需要调谐的,做为电台第一级变频级本地振荡器的可变频率振荡器,是能决定发射频率和接收频率第一中频的电路。因为AD9850可以输出非常纯净和稳定的正弦波频率。
sjp
发表于 2019-4-9 16:04:35
a_fu 发表于 2019-4-9 14:10
你是说利用旋转编码器,每一步9khz。但天线连怎么同步,除非是不调谐高放。
主要用于SSB(Single Side Band)单边带,上边带(USB)或者下边带(LSB)的接收机,因为可以精确调谐步进频率。当然也可以用于普通短波接收机。
qzlbwang
发表于 2019-4-9 16:19:55
a_fu 发表于 2019-4-9 14:10
你是说利用旋转编码器,每一步9khz。但天线连怎么同步,除非是不调谐高放。
用单片机这不是问题——可以调试“学习”时在内部建立一张“表”,根据本振频率查表获得天线或高放的直流调谐电压值然后用DA输出这个直流电压去控制相应的变容管。
a_fu
发表于 2019-4-9 17:46:36
买的模块到了2个,一个AD9850,一个nano V3.0 ATMEGA328P ,对于单片机是个门外汉,一窍不通。
装驱动,下程序,应该是这个吗?arduino-1.8.9,按楼主的图片设置好,再打开烧写文件,提示要建一个文件夹,把文件放文件夹里,然后点上传,转了一会儿,也不知道是不是上传成功了。请教步骤对吗?是不是成功了?还有1个DAC模块还没有到。
sjp
发表于 2019-4-9 17:49:05
a_fu 发表于 2019-4-9 17:46
买的模块到了2个,一个AD9850,一个nano V3.0 ATMEGA328P ,对于单片机是个门外汉,一窍不通。
装驱动,下 ...
可以啊,OK了。:lol
palyer
发表于 2019-4-9 18:41:33
a_fu 发表于 2019-4-9 17:46
买的模块到了2个,一个AD9850,一个nano V3.0 ATMEGA328P ,对于单片机是个门外汉,一窍不通。
装驱动,下 ...
看图片,好像有点不对。好像是选了"验证/编译", 需要选择"上传"。
选"验证/编译"是这样的。
选"上传"是这样的.
下面提示信息的窗口显示的内容会多一段上传过程。
用AD9850需要把J1短接起来。 如果连接正确的话,没有DAC模块,还是可以看到扫频信号的。
a_fu
发表于 2019-4-9 18:54:13
palyer 发表于 2019-4-9 18:41
看图片,好像有点不对。好像是选了"验证/编译", 需要选择"上传"。
选"验证/编译"是这样的。
我点的是“上传”,也就是向右的那个箭头,但看你的图,似乎有校验过程,结尾与你显示的也不一样。我再试试。能说一下在工具里设置好参数后,具体上传的操作步骤吗?谢谢
a_fu
发表于 2019-4-9 20:18:07
palyer 发表于 2019-4-9 18:41
看图片,好像有点不对。好像是选了"验证/编译", 需要选择"上传"。
选"验证/编译"是这样的。
又反复试验了很多次,显示的结果都一样,试传了一段Arduino IDE自带的basic下的Blink,也是没有显示进度条,跟前面显示一样,最后显示上传成功,板上的灯也能一闪一闪。DDS_SweepV2.ino上传过程中有一段编译过程,然后显示上传,板上的灯开始狂闪,然后几个灯交替闪了几下停止,界面显示上传成功,也没有进度条。
等所有板子到齐了,搭起来试试就知道是否上传成功了。谢谢朋友提供好的思路,并无私公开自己编译的程序,值得称道,谢谢!
palyer
发表于 2019-4-13 15:07:26
本帖最后由 palyer 于 2019-4-13 15:17 编辑
V2.2版本最新改动
对电路进行了简单改动,对软件做了较大改动
1、增加一路方波频标输出,可以用在不支持亮度叠加的示波器(比如,入门级数字示波器,感谢坛上朋友提供的思路)上显示频标;
2、调整频率下限由20KHz降低到200Hz;
3、增加了频率校准方法;
4、可以保存设置,将设置参数保存在单片机的EEPROM中,重新上电时,自动加载设置参数。
电路图:
增加了一条输出线路,电路图中绿色部分。该线路上增加方波输出,用于标记频标,由于复用了单片机引脚,该脚平常电压为高电平,在到达标记频率时,下降为低电平,持续时间较短,在屏幕上会形成一个亮点。
总结一个完整版的说明:
1、输出
锯齿波输出: 输出同步锯齿波
扫频输出: 扫频信号输出
频标方波输出: 方波信号,下降沿标记频点
1602 LCD用于显示当前模式、频率范围及设置参数,在扫描模式时,第一行右边显示扫频范围中心频率,第二行分别显示扫频起始频率和结束频率,中心频率=(起始频率 + 结束频率)/2。
在单一频率输出时,第二行显示当前频率。
2、按键用途
K1:用来切换工作模式
J1:用来选择使用的DDS芯片类型,可以只用其中一片即可,J1断开-使用AD9833J1对地短接-使用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频段幅度略低)
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亮点频标和方波频标的区别
在亮点频标模式下,锯齿波是有台阶的,锯齿波上的台阶在屏幕上形成频标亮点,在方波频标模式下,方波的下降沿标记频标。
亮点频标锯齿波
方波频标图
4.3亮点叠加频标模式下连接方法:
用到示波器的X-Y模式,有关X-Y模式,需要根据每个示波器的使用方法来略作调整。锯齿波输出接到示波器X轴(一般是CH1),扫频信号接到示波器Y轴(CH2),将示波器设置为X-Y模式,调整X轴的幅度以及微调旋钮,让扫频信号在左右宽度上填满整个屏幕,扫频信号中7条亮线是频标:
4.4方波频标下连接方法
将方波信号连接示波器外部触发端口,CH1接方波信号,CH2接扫频信号,示波器调整为下降沿触发,触发模式调整为外部(或外部DC)触发,调整 TIME/DIV,可以获得左右适当的幅度。
亮点频标和方波频标图
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系统中数值精度限制,精度只能到 十万分之一。
5.3 Default 恢复为默认设置
如果在Yes上按下编码器按钮,将频标模式恢复为0,频率校准参数也被去掉。
5.4 Save保持设置参数
如果在Yes上按下编码器按钮,将所设置的参数保存到EEPROM,下次单片机上电时,自动加载。
最新代码可下载。(兼容第一个版本的电路,但第一版本电路无编码器,无法调节)
补充内容 (2019-4-13 20:58):
如果编译的时候有字符串转换警告,可以去40楼下载修改之后的版本。
sjp
发表于 2019-4-13 15:08:00
准备装壳。:lol
palyer
发表于 2019-4-13 15:16:12
sjp 发表于 2019-4-13 15:08
准备装壳。
赞,很漂亮。
lzt69302
发表于 2019-4-13 17:36:21
忙乎了几天,锯齿波不正常,不知什么原因,反复检查接线无误,没招了。
lzt69302
发表于 2019-4-13 17:38:28
波形看一个周期内分成了上下两部分,请老师分析下可能是什么原因?谢谢!
小徒弟下山
发表于 2019-4-13 17:57:42
sjp 发表于 2019-4-13 15:08
准备装壳。
什么玩意? ssb接收机?
页:
1
[2]
3
4
5
6
7
8
9
10
11