利用ADuC7026单片机及阻容电路产生高频正弦波
0赞正弦波信号时工业测量中常用的激励信号,产生正弦波信号的方法有很多,比较经济的方法是采用文氏桥震荡电路,但是RC振荡电路对温度变化较敏感,在工业现场难以保证温度恒定,这给测量精度带来很大误差。用单片机上的DAC产生正弦波信号是不错的选择,对于温度变化不敏感,能达到较好的要求,当然,目前也有专用正弦波发生芯片,但这类芯片价格仍比较高,所以如果系统中使用了单片机,不妨用单片机做一个信号发生器~
单片机能产生正弦波也是有限的,对于低频信号较容易,但对于高频信号就要进行信号调理,本文要设计一个频率为40KHz的正弦波,对于幅度没有具体要求,因为后面可以接运放进行放大,但要求稳定。对于一般的单片机来说,这个频率算是很高的了,有的甚至达不到高频要求,下面看看ADI公司的ADuC7026的DAC能否做出这样的正弦波。
根据上面要求,我做了几次试验,尽量简化算法,以提高频率,但是要想波形好看,还是只能保证在20Khz,最后不得已只好采用滤波的方法了,看一下DAC直接输出的波形如下:

看起来不像正弦吗?好吧,那就滤波看看~
滤波后的波形如下图:

因为测量中的激励要求为交流信号,还需要一个隔直电路如下图所示,是隔直后的交流正弦信号。还有一些毛刺,不过在放大环节中再处理下就可以了。

附:ADUC7026源程序
/*利用定时器中断定时,对DAC数据寄存器更新,达到输出阶梯式正弦波的目的*/
#include <ADuC7026.h>
/********中断服务*******/
int main (void) {
