打印

用单片机产生100k正弦波,求思路。

[复制链接]
8377|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
清水寺之僧|  楼主 | 2013-4-14 16:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
amwrdfe| | 2013-4-14 17:17 | 只看该作者
一个正弦波周期采10个点话,那你的pwm得工作1m频率

使用特权

评论回复
板凳
gx_huang| | 2013-4-14 17:33 | 只看该作者
如果是单纯的100K正弦波,你只要输出100K方波,低通滤波就可以了。
如果要直接输出可变频率最高到100K的正弦波,普通单片机不够快的。
以前用C8051也做不了,大概最高到20K,失真已经比较大了,要加低通滤波了。

使用特权

评论回复
地板
by6677| | 2013-4-14 18:08 | 只看该作者
但是PWM的方法我看不懂原理啊

使用特权

评论回复
5
清水寺之僧|  楼主 | 2013-4-14 19:06 | 只看该作者
amwrdfe 发表于 2013-4-14 17:17
一个正弦波周期采10个点话,那你的pwm得工作1m频率

这么说来是有点高了吗?PWM做不了啊?

使用特权

评论回复
6
清水寺之僧|  楼主 | 2013-4-14 19:08 | 只看该作者
gx_huang 发表于 2013-4-14 17:33
如果是单纯的100K正弦波,你只要输出100K方波,低通滤波就可以了。
如果要直接输出可变频率最高到100K的正 ...

恩,你的经验对我有很大帮助。

使用特权

评论回复
7
apple| | 2013-4-14 19:28 | 只看该作者
不太好搞

使用特权

评论回复
8
我叫荧火| | 2013-4-14 22:11 | 只看该作者
如果是输出估定100K可以做的,但如果是要求可在线调那就很难了。误差就与晶振有关了。

使用特权

评论回复
9
cjseng| | 2013-4-14 23:42 | 只看该作者
PWM基本是不要想了,做个10K还马马虎虎。用单片机直接输出矩形波再加低通是可以输出100K的,不过频率要连续可调就难了。
我的想法是:用高速运放做一个锯齿波发生器,单片机DA输出一个直流电平,切割锯齿波,控制锯齿波的翻转频率,这样似乎可以连续可调,分辨率就取决于DA的精度以及运放了,后面再加一个整形电路,整形后一路接低通滤波,一路进单片机测频率,反馈调节DA输出的电平高低,如此这番,搞定收工。
上述运放电路也可以用555来做。

使用特权

评论回复
评论
LED2013 2019-9-4 21:01 回复TA
想法不错 
10
amwrdfe| | 2013-4-15 00:24 | 只看该作者
方波经低通后输出的是三角波...

使用特权

评论回复
11
cjseng| | 2013-4-15 00:31 | 只看该作者
amwrdfe 发表于 2013-4-15 00:24
方波经低通后输出的是三角波...

三角波把两头处理一下就差不多是正弦波啦,再滤一下就更好啦。

使用特权

评论回复
12
coody| | 2013-4-15 11:04 | 只看该作者
如果仅仅是产生正弦波,没别的啥功能,那么倒是可以的。
我自己用STC11F02E做过一个小的信号发生器,正弦波和方波同时输出,1HZ~200KHZ,跑有源32.768MHZ时钟,IO接R-2R电阻做8位DAC,模拟DDS,串口设置频率,步进1HZ或10HZ,精度优于1/10000(决定于有源晶振)。

使用特权

评论回复
评论
小黑111222 2019-9-4 14:50 回复TA
能不能看一下你的程序 
cjseng 2013-4-15 13:40 回复TA
俺不信!步进1HZ或10HZ怎么可能?200K、199K、198K、197K、196K步进1K能做出来吗? 
13
charmlink| | 2013-4-15 12:46 | 只看该作者
amwrdfe 发表于 2013-4-15 00:24
方波经低通后输出的是三角波...

傅立叶变换不是这样说的.

使用特权

评论回复
14
coody| | 2013-4-18 15:01 | 只看该作者
cjseng,你不相信的话,建议你先看下DDS原理。
步进10HZ,那么就可以200.00K、199.99K、199.98K、199.97K、199.96K。。。这样输出。
步进1HZ,那么就可以200.000K、199.999K、199.998K、199.997K、199.996K。。。这样输出。
如果用专门的DDS芯片,即使输出10MHZ,一样可以用0.1HZ的步进来设置。

使用特权

评论回复
15
fanfeng629| | 2013-4-21 15:48 | 只看该作者
再好好学习下傅立叶函数吧,100K的方波也是由其各倍频的郑玄函数组成的,带通滤波后就可以得到你要的波形

使用特权

评论回复
16
xad74| | 2019-9-4 16:23 | 只看该作者
GD的330系列DDS PWM方式能跑100k本人亲测

使用特权

评论回复
17
wx85105157| | 2019-9-4 23:37 | 只看该作者
固定的很好搞。任意调需要速度快一点的单片机实现软件dds算法

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

146

帖子

0

粉丝