I 量坌堑 sheji yu Fenx 简易低频信号发生器的设计 任航 (海南师范大学物理与电子工程学院,海南海口571 l58) 摘要:介绍了采用89C52单片机设计产生正弦波、三角波、锯齿波、方波4种信号的低频信号发生器的方法,阐述了系统硬件电路的设计要 点和软件的实现过程。实验表明:低频信号发生器产生的各种波形频率和幅度在一定范围内可调,且稳定性好。设计的电路和操作方法适用于一 般的简单信号发生器的系统设计,硬件设计也有一定的应用性和普及型,对开发功能全面的信号发生器具有积极的指导作用。 关键词:低频信号发生器;波形;频率;幅度 O 引言 在科学研究、工程教育和生产实践的研究过程中,往往需要使 用到低频信号发生器产生正弦波、三角波、锯齿波、方波等信号作 为基本测试信号。例如,在示波器和电视机中,为了使电子仪器按 照一定规律运动,使用屏幕显示图像,常用到锯齿波发生器作为时 基电路。低频信号发生器作为通用电子仪器,在生产、科研、测量、 控制和通讯等领域都得到了广泛的应用。 1 系统方案的设计 1.1 设计方案 信号发生器采用单片机作为主控制器,利用单片机STC89C52 作为系统的主控核心,编写波形产生的程序代码,接入DAC0832 进行模数转换,通过运算放大器LM358滤波放大得到所期望的低 频信号波形。 方案硬件原理方框图如图l所示。 显示 电路I、厂一 照 片 机 图1硬件原理框图 1.2 系统原理 数字信号可通过数/模转换器转换成模拟信号,因此可通过产 生数字信号再转换成模拟信号的方法来获得所需要的波形。89C52 单片机本身就是一个完整的微型计算机,具有微型计算机的各部 件:处理器CPU、随机存取存储器 、只读存储器ROM、 [/o接口电路、定时器/计数器以及串行通讯接口等,只要将89C52 再配置键盘及其接口、显示器及其接口、数模转换及波形输出、指 示灯及其接口等部分,即可构成所需的波形发生器。 89C52是整个波形发生器的核心部分,通过程序的编写和执 行,产生各种各样的信号,并从键盘接收数据,进行各种波形的转 换和信号频率的调节。当数字信号经过接口电路到达D/A转换电 路,将其转换成模拟信号,最后通过示波器显示输出的信号波形和 频率。 1.3设计思路 (1)利用单片机产生方波、正弦波、三角波和锯齿波等信号波 形,信号的频率、幅度可调。 (2)改变信号频率,将一个周期的信号分离成256等分点(按 轴等分),每两点之间的时间间隔设为AT,用单片机的定时器来产 生,表示式为:△ 256。假设单片机的晶振为12MHz,采用定时 器方式0,则可以得出定时器的初值为: X=2 。△ Z (1) 定时时间常数为: =(65 536一△ /MOD256 (2) 136 7 (65 536一△ /256 (3) (3)正弦波的模拟信号是D/A转换器最终模拟量的输出,计 算公式为: y= /2sin△f)埘/2(其中A=Ⅵ F) (4) △f=Ⅳ△71(Ⅳ=l ̄256) (5) 则对应存储在计算机里的该点数据为: =(y×255) = (6) (4)一个周期被分离成256个等分点,对应的4种波形的256 个数据存放在存储器中。 1.4设计要求 (1)本设计采用4个式按键。其中“c ”表示波形切换(为 了便于记忆采用英文翻译一致表示法),“骶q U”表示频率升高, “仔eq d”表示频率降低,“REsET”表示复位。一个可调电位器RV1, 大小为10 kn,用于调节波形幅度。 (2)采用示波器显示输出信号的波形和频率大小。 (3)采用1片DAC0832实现数模的转换,得到最终需要的模 拟量信号输出。 (4)频率可调范围:0~75 Hz;幅度可调范围:1~5 V。 2系统的硬件设计与实现 2.1 总体电路工作原理 本系统采用STC89C52单片机作为控制核心,芯片DAC0832 实现数字量与模拟量的转换,在DAC0832的输出端接运算放大器 LM358,由运算放大器将信号放大并输出,再通过示波器显示信号 波形和频率大小。操作时需用到按键控制输出波形的种类以及频 率的加减,并通过调节10 kn电位器RV1大小来改变波形的幅度。 2.2主要单元电路的设计 2.2.1单片机主控电路 该设计电路采用STC89C52单片机作为主控制器,在本电路 中,晶振电路与89C52的xTALl和xTAL2端口连接,驱动内部时 钟发生器向主机提供时钟信号。3个式按键“c ”、“ u”、 “舶q d”与P1.0、P1.1、P1.2端口连接,向STC89C52输入改变波形 参数的指令电平,“RESET”按键与RST端口连接,向STC89C52输 入高电平,使之复位。 2.2.2模数转换电路 由于单片机产生的是数字信号,要想得到所需要的波形,需要 把数字信号转换成模拟信号,数模转换器选用DAC0832。DAC0832 是一个8位D/A转换器,它由一个8位输入寄存器、一个8位 DAC寄存器和一个8位的D/A转换器及逻辑控制电路组成,它是 电流型输出,在应用时外接运放LM358(相当于积分器)使之成为 电压型输出。根据系统要求,设计出的模数转换电路,如图2所示, 其中D10 ̄DI7与STC89C52的P2.0~P2.7端口连接,以接收数字 信号。 ■ ■ 1Okn RV1 图2模数转换电路图 2.2_3晶振电路 单片机系统里晶振作用非常大,全称叫晶体振荡器,它结合单 片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时 钟频率越高,单片机运行速度就越快,单片机的一切指令的执行都 是建立于单片机晶振提供的时钟频率。 单片机的晶振频率可以在1.2~12 MHz之间选择,这时电容 C可以选择10 ̄30 pV。对于本设计的电容C用3O pF,晶振选用 12 MHz。设计出晶振电路如图3所示,一条引脚接在XTAL1,另 一条接在XT L2。 C1 上 ’ II 旱 一 厂坠 图3晶振电路图 2.2.4复位电路 复位电路不需要通过单片机程序来控制,直接通过硬件电路 来实现,当电路在运行时,按下复位开关则电路重新恢复到原始状 态。复位电路分为电复位和手动复位,为避免程序执行失步或运行 紊乱,在这里我们采用了手动复位电路,电路图如图4所示。 图4复位电路图 2.2.5按键接口电路 本设计采用3个式按键。其中“ehg”表示波形切换(为了 便于记忆采用英文翻译一致表示法),“freq U”表示频率升高, “freq d”表示频率降低。3个按键接口电路均与P1 121相连,其中 chg控制波形的输出类型,操作电路时,通过触发此按键来达到切 SheI.yu Fenxi 量坌堑一 换正弦波、三角波、锯齿波、方波的目的;frea,_u用来提高信号的频 率,每按下一次,频率提高1 Hz;freqd用来降低信号的频率,每按 下一次,则频率降低1Hz。 3系统的软件设计 本设计将4种波形的数据储存在单片机的程序存储器里,通 过改变这些数据的输出速度即2个采样点问的,也就是定时器的 初值,来改变信号的频率,然后通过改变D/A转换器的参考点来 改变信号的峰一峰值。 3.1 正弦波的产生 输入公式:y=59 ̄si“宅 128 DAC0832是8位的D/A转换器,工作电压是O~5V,当输入 o0数字量时,输出为0 V电压;当输入80数字量时,输出为2.5 V 电压;当输入FF数字量时,输出为5 V电压。单片机的I/O输出均 为+5 v的TTL电平,因此产生的正弦波幅值为+2.5 v。将一个周 期内的正弦波形等分为256份,则第1点的角度为0。,对应的正弦 值为2.5sin0。;第2点的角度为360。/256,对应的正弦值为2.5sin (360。/256)……,如此类推,将这些模拟量正弦值都转换为单极性 方式下的数字量,得到一张按照点号顺序排列的正弦波波形数据 表格,而每次可根据查正弦波形数据表格而得到。 其实在计算正弦波形数据时,并不需要算出整个O ̄2"rr区间 的每一个值,而只需计算出0~(1/2)1r中的值就行,其他区间的值 都可以通过对O~(1/2)订中的值取不同的变换。例如(1/2)订~叮r 的值可以和0~(1/2)竹值一一对应,而霄~2叮r的值可以对0~霄 区间的值取负值得到。计算值用C语言编程得到。 幅度公式为:Y=2.5[1+si1l( 90)Ⅳ]( o,1,2,…,64) 相应的Y值数字化后的递增量 击 0・019 6 那么每一个点相对于前一个点的递增率为 = (1, 为当 前的点,y。为前一个点)。所以每一个点的数字量与递增率A成一 一对应关系。 3.2三角波的产生 设个自变量num让它不断地自加1,P2=num,直到加到128 时,P2=255一num,直到num> ̄256时,hum恢复为0,然后再不断地 重复上述过程进而产生三角波。程序如下: voidtri0 { if(num<128)P2=num; else if(num<255)P2=255一haITI ̄ elsenum=0 nunr卜}: } 3.3方波的产生 设置调节值squa hum ,自变量 num<squa aum 使之 P2=0xff 延时一段时间,另则P2=0,然后再重复上述过程。程序如下: void squ0 { if(num<squa_num)P2=0xffi else P2=0; nUIn++: if(num==255)num=0; } 机电信息2012年第6期总第324期137 I 量坌塑 she yu Fe × i3.4锯齿波的产生 5结语 对制作的低频信号发生器实物调试结果为幅度(峰一峰值)在 0~5 V范围内变化,频率在0~75 Hz范围内变化,与仿真结果一 致,说明设计与制作基本达到要求。实验表明,各种信号的幅度与 锯齿波中的斜线用一个个小台阶来逼近,在一个周期内从最小 值开始逐步递增,当达到最大值后又回到最小值,如此循环,当台阶 间隔很小时,波形基本上近似于直线。这样适当选择循环时间就可 以得到不同周期的锯齿波。锯齿波发生原理可以类比方波,只有高 低2个延时的常数不同,所以用延时法来产生锯齿波,设个自变量 nun1让它不断地自加1,直到255,DAC0832可以又自动归0,然后 频率输出稳定,可用于对信号源的幅度与频率要求在此范围内的 各种实验。此外,设计的电路规范,操作方法简单易懂,硬件设计也 有一定的应用性和普及型,对今后研究开发功能全面的函数信号 发生器提供了基本的研究方向。 [参考文献] 再不断地重复上述过程从而产生我们需要的锯齿波。程序如下: void saw0 f P2=num; nUnl- 十: [1]牛昱光.单片机原理及接口技术.北京:电子工业出版社,2009 [2]冯博琴,吴宁.微型计算机原理与接口技术.北京:清华大学出版 社,2009 } 4仿真与调试 该主控电路可以运用protues软件进行仿真,在Keil软件中写 入程序后,生成.hex文件,将所生成的.hex文件直接载入单片机中, 并进行仿真。电路初始输出正弦波,通过chg按键,可由正弦波一 三角波一锯齿波一方波一正弦波的过程转换,通过调节RV1电位 器,每种信号幅度(峰一峰值)可以在O~5 V范围内变化。通过 freq d freq u按键及 按键,可以增加或减小信号的频率,且在0~[3]张建民,杨旭.利用单片机实现温度监测系统.微计算机信息,2007 (5) [4]胡宴如,耿苏燕.高频电子线路.北京:高等教育出版社,2008 [5]陈光东.单片机微型计算机原理与接口技术.武汉:华中理工大学 出版社,1999 [6]李华.MCS-51系列单片机使用接口技术.北京:航空航天大学出版 社,2000 75 Hz范围内变化。波形转换的仿真结果如图5所示。 [7]肖玲妮,袁增贵.Protel 99 SE印刷电路板设计教程.北京:清华 大学出版社,2009 收稿日期:201卜1卜15 作者简介:任航(1991一),女,辽宁省铁岭县人,研究方向:自动化 图5各种波形间的转换 电路设计。 (上接第135页) 更换设备,额外增加了维护成本。 4结语 由上所述可知,一台变频器控制多台水泵的方式存在,将会因 只有一台调速泵而降低效率,因电机剩磁而容易出现管网压力不 图3循环软启动方案 稳定,因频繁启停变频器而容易产生故障、降低设备使用寿命等问 题,因此,在资金允许的条件下,针对多水泵恒压供水系统的设计, 元件,当接触器断开后,变频器还要进行放电,因此就要求接触器要 采用一对一变频控制的方法更加稳定节能。 延时一段时问才能闭合,否则就会出现剩磁问题,烧坏变频器或者 其他电器元件;第:二个延时的目的是保证变频回路接触器已经可靠 断开才接通工频接触器,避免变频和工频回路瞬间连通;第三个延 时的目的是保证 号泵已经可靠连接在变频回路上再启动变频器。 [参考文献】 [1]刘家春,杨鹏志,刘军号,沙鲁生.水泵运行原理与泵站管理[M].北 京:中国水利水电出版社,2009 [2]张文钢,黄刘琦.水泵的节能技术[M].上海:上海交通大学出版社, 2010 因此当变频需要切换到工频时,存在剩磁的问题,不能立即切 换。需要等电机停转后,方能工频启动,否则会造成事故,由此还会 造成供水管网的压力不稳定。 [3]徐海,施利春.变频器原理及应用[M].北京:清华大学出版社,2010 [4]姚锡禄.变频器控制技术入门与应用实例[M].北京:中国电力出版 社,2009 3系统运行和维护的问题 如果系统采用一台变频器带多台水泵,这样变频器就会频繁 的启停来满足系统压力的要求,这不利于变频器的使用寿命,而 目.,当变频器出现故障时,整个系统将会停止,不利于正常生产,也 不利于工人的正常维护。采用多个接触器进行切换,这样接触器也 收稿日期:201卜12~13 作者简介:徐爽(1984一),女,内蒙古宁城县人,助理工程师,研究 处在频繁启停状态,降低了接触器的使用寿命,这就要求要经常的 方向:工程技术。 138