关于基于Arduino Uno产生可调幅调频的正弦信号设计的问题
谢谢来看帖子的诸位,不要意思发的第一帖就是提问求助。我是在英国读Final Year的本科生,毕业设计是要做一个基于Arduino的电子测试平台。
平台的主要目的是得到某电路(比如一个滤波器)的频率响应曲线,系统要自动产生可调频调幅的正弦波作为测试信号,测试信号传到被测电路,再由外部电路取得输出信号的幅值和相位,传输到Arduino,由Arduino计算出电压增益和相位差,最后通过Processing建立Arduino和电脑之间的联系,将响应曲线显示在电脑屏幕上。
(我其实对设计的理解还不是很透彻,不知道可说清楚了)
现在做到正弦信号发生部分,要求可调频率范围至少20Hz~20kHz,对幅度调节范围要求不高,我能想到的方案是由Arduino输出数字信号,作为samples传给一个数模转换器,再通过滤波得到正弦波。 不知道方案是否可行,第一次用Arduino水平和知识也很有限,觉得一头雾水,几乎是完全不知道从哪里入手的状态...
不求有人能直接的教我,只希望大家能给我提提建议,给我一些思路。
另外,实在不好意思的问... 我该去哪里查什么型号的DAC可以与Arduino连接呢?大家有没有推荐的型号?
先在这里谢过大家了。(鞠躬) 归结下需求:
1、产生20~20Khz正弦波
2、采集20~20Khz正弦波
3、比较产生信号和采集信号的相位差和幅度差
4、通过procesing在PC上显示结果。
对于1、用arduino产生方波频率应该不难,如果不需要太标准的正弦波也不难,只需要在方波后面加上低通滤波器就可以了;
对于2、arduino本身有12位的ADC,也该也不难;
对于3、需要考虑算法;
对于4、? 林定祥 发表于 2013-11-28 08:59 static/image/common/back.gif
归结下需求:
1、产生20~20Khz正弦波
2、采集20~20Khz正弦波
建议研究PWM产生正弦波的方法,应该也能产生较好的正弦波. 不知道 arduino 性能是否跟得上啊。
AnalogWrite频率貌似只有0.9K (参考 http://arduino.cc/en/Reference/AnalogWrite)
如果需要采集20K那么需要40K的采样频率,但是Arduino的直接采样只能达到 10K
(参考 http://arduino.cc/en/Reference/AnalogRead另外下面这个帖子也提到这个事情http://tieba.baidu.com/p/2562070485)
因此,如果想完成,估计需要额外的电路了。 林定祥 发表于 2013-11-28 09:05 static/image/common/back.gif
建议研究PWM产生正弦波的方法,应该也能产生较好的正弦波.
可是可是用PWM的话,好像不能满足频率范围的要求 zoologist 发表于 2013-11-28 09:52 static/image/common/back.gif
不知道 arduino 性能是否跟得上啊。
AnalogWrite频率貌似只有0.9K (参考 http://arduino.cc/en/Referenc ...
我的project是允许使用额外电路的,你觉得用DDS芯片和DAC来产生正弦波可行吗? (PS:有人回复我好开心啊,谢谢你们T^T) 分开来说,先设计信号发生部分吧,我看了一下 baidu上的信号发生器,建议你使用MAX038 (MAX038就是一款专用的信号发生器芯片。它可以生成正弦波、矩形波和三角波,频率可以在0.1Hz~20MHz范围内调节。来自 http://zhidao.baidu.com/link?url=6hDKe9-0kmihR8lNQYoIjirbYA0ywV_vYZLCzHpzOy6ds7QUNFcY7dyOOVJhaitRF_BkEsVaSYJmxYa1kbIcr_),网上可以找到单片机搭配这个芯片来直接完成函数发生器的设计。这部分节省一些资源可以给后面的使用。
页:
[1]