信号发生器的参考文献
1. 函数信号发生器(一定要有图)
http://tabobo.cn/soft/20/233/2008/428471214396.html
智能函数发生器设计
设计的要求如下
设计要求
1. 信号频率范围1HZ~100kHZ;
2. 输出波形应有: 方波、三角形、正弦波;
3. 输出信号幅值范围0~10V;
4. 具有数字显示输出信号频率和电压幅值功能。
第一章 方案设计与论证
方案一:本方案直接采用凌阳SPCE061A作为波形发生器。波形的具体产生是通过两路DAC来产生,凌阳SPCE061A在这方面的设计为我们提供了极大的方便,用它实现的好处在于,外围电路极其简单,另外在DAC的编程方面又提供及其便利的编程环境。外围电路的设计包括三大部分,第一是键盘控制电路的设计,这里采用4*4键盘,由IOA的低八位进行控制,把键盘上的行和列分别接在IOA0~IOA3和IOA4~IOA7上,采用外部中断二来中断所显示波形,以便进入下一波形的编辑和输出,在波形输出的同时利用外部中断一来实现同步的频率调节。第二是显示电路的设计,这里为了在波形输出依然有显示,由于单片机的局限性这里采用通常的动态LED显示行不通,因为波形输出时要求CPU不停地为其服务而没有空闲来为LED进行不停更新,解决方案是采用带数据缓存器和驱动的LCD来提供显示,这样只占用八个I/O口即可完成设计要求,也可放弃适时显示功能采用LED显示,这里将提供两种显示方案。第三是滤波和电压转换电路的设计,滤波采用低通滤波器,滤除DAC转换过程中形成的高频小锯齿波。另外由于凌阳SPCE061A单片机DAC输出为电流输出,为满足达到5V的电压输出,外接OP07运算放大器进行放大,加1千欧姆电阻进行电流信号到电压信号的转换。本设计的特点是全面采用数字电路方案,因而工作稳定可靠。利用单片机控制管理,使频率设置和占空比调整等操作可用键盘输入,十分方便.由于方案中涉及到SPCE061A单片机现简介如下:
SPCE061A单片机概述
SPCE061A是继u'nSP系列产品SPCE500A等之后凌阳科技推出的又一个16位结构的微控制器。目前有两种封装形式:84引脚的PLCC84封装和80引脚的LQFP80贴片封装。主要性能如下:
16位m’nSP微处理器;
工作电压:VDD为2.4~3.6V(cpu), VDDH为2.4~5.5V(I/O);
CPU时钟:32768Hz~49.152MHz ;
内置2K字SRAM、内置32K FLASH;
可编程音频处理;
32位通用可编程输入/输出端口;
32768Hz实时时钟,锁相环PLL振荡器提供系统时钟信号;
2个16位可编程定时器/计数器(可自动预置初始计数值);
2个10位DAC(数-模转换)输出通道;
7通道10位电压模-数转换器(ADC)和单通道语音模-数转换器;
声音模-数转换器输入通道内置麦克风放大器自动增益控制(AGC)功能;
系统处于备用状态下(时钟处于停止状态)耗电小于[email protected];
具备触键唤醒的功能;
14个中断源:定时器A / B,2个外部时钟源输入,时基,键唤醒等;
使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;
具备异步、同步串行设备接口;
具有低电压复位(LVR)功能和低电压监测(LVD)功能;
内置在线仿真电路接口ICE(In- Circuit Emulator);
具有保密能力;
具有WatchDog功能(由具体型号决定)
2. 求函数信号发生器毕业设计
函数信号发生器的设计与制作
系别:电子工程系 专业:应用电子技术 届:07届 姓名:李贤春
摘 要
本系统以ICL8038集成块为核心器件,制作一种函数信号发生器,制作成本较低。适合学生学习电子技术测量使用。ICL8038是一种具有多种波形输出的精密振荡集成电路,只需要个别的外部元件就能产生从0.001Hz~30KHz的低失真正弦波、三角波、矩形波等脉冲信号。输出波形的频率和占空比还可以由电流或电阻控制。另外由于该芯片具有调制信号输入端,所以可以用来对低频信号进行频率调制。
关键词 ICL8038,波形,原理图,常用接法
一、概述
在电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域,经常需要用到各种各样的信号波形发生器。随着集成电路的迅速发展,用集成电路可很方便地构成各种信号波形发生器。用集成电路实现的信号波形发生器与其它信号波形发生器相比,其波形质量、幅度和频率稳定性等性能指标,都有了很大的提高。
二、方案论证与比较
2.1·系统功能分析
本设计的核心问题是信号的控制问题,其中包括信号频率、信号种类以及信号强度的控制。在设计的过程中,我们综合考虑了以下三种实现方案:
2.2·方案论证
方案一∶采用传统的直接频率合成器。这种方法能实现快速频率变换,具有低相位噪声以及所有方法中最高的工作频率。但由于采用大量的倍频、分频、混频和滤波环节,导致直接频率合成器的结构复杂、体积庞大、成本高,而且容易产生过多的杂散分量,难以达到较高的频谱纯度。
方案二∶采用锁相环式频率合成器。利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需要频率上。这种频率合成器具有很好的窄带跟踪特性,可以很好地选择所需要频率信号,抑制杂散分量,并且避免了量的滤波器,有利于集成化和小型化。但由于锁相环本身是一个惰性环节,锁定时间较长,故频率转换时间较长。而且,由模拟方法合成的正弦波的参数,如幅度、频率 相信都很难控制。
方案三:采用8038单片压控函数发生器,8038可同时产生正弦波、方波和三角波。改变8038的调制电压,可以实现数控调节,其振荡范围为0.001Hz~300KHz。
三、系统工作原理与分析
3.1、ICL8038的应用
ICL8038是精密波形产生与压控振荡器,其基本特性为:可同时产生和输出正弦波、三角波、锯齿波、方波与脉冲波等波形;改变外接电阻、电容值可改变,输出信号的频率范围可为0.001Hz~300KHz;正弦信号输出失真度为1%;三角波输出的线性度小于0.1%;占空比变化范围为2%~98%;外接电压可以调制或控制输出信号的频率和占空比(不对称度);频率的温度稳定度(典型值)为120*10-6(ICL8038ACJD)~250*10-6(ICL8038CCPD);对于电源,单电源(V+):+10~+30V,双电源(+V)(V-):±5V~±15V。图1-2是管脚排列图,图1-2是功能框图。8038采用DIP-14PIN封装,管脚功能如表1-1所示。
3.2、ICL8038内部框图介绍
函数发生器ICL8038的电路结构如图虚线框内所示(图1-1),共有五个组成部分。两个电流源的电流分别为IS1和IS2,且IS1=I,IS2=2I;两个电压比较器Ⅰ和Ⅱ的阈值电压分别为 和 ,它们的输入电压等于电容两端的电压uC,输出电压分别控制RS触发器的S端和 端;RS触发器的状态输出端Q和 用来控制开关S,实现对电容C的充、放电;充点电流Is1、Is2的大小由外接电阻决定。当Is1=Is2时,输出三角波,否则为矩尺波。两个缓冲放大器用于隔离波形发生电路和负载,使三角波和矩形波输出端的输出电阻足够低,以增强带负载能力;三角波变正弦波电路用于获得正弦波电压。
3.3、内部框图工作原理
★当给函数发生器ICL8038合闸通电时,电容C的电压为0V,根据电压比较器的电压传输特性,电压比较器Ⅰ和Ⅱ的输出电压均为低电平;因而RS触发器的 ,输出Q=0, ;
★使开关S断开,电流源IS1对电容充电,充电电流为
IS1=I
因充电电流是恒流,所以,电容上电压uC随时间的增长而线性上升。
★当上升为VCC/3时,电压比较器Ⅱ输出为高电平,此时RS触发器的 ,S=0时,Q和 保持原状态不变。
★一直到上升到2VCC/3时,使电压比较器Ⅰ的输出电压跃变为高电平,此时RS触发器的 时,Q=1时, ,导致开关S闭合,电容C开始放电,放电电流为IS2-IS1=I因放电电流是恒流,所以,电容上电压uC随时间的增长而线性下降。
起初,uC的下降虽然使RS触发的S端从高电平跃变为低电平,但 ,其输出不变。
★一直到uC下降到VCC/3时,使电压比较器Ⅱ的输出电压跃变为低电平,此时 ,Q=0, ,使得开关S断开,电容C又开始充电,重复上述过程,周而复始,电路产生了自激振荡。
由于充电电流与放电电流数值相等,因而电容上电压为三角波,Q和 为方波,经缓冲放大器输出。三角波电压通过三角波变正弦波电路输出正弦波电压。
结论:改变电容充放电电流,可以输出占空比可调的矩形波和锯齿波。但是,当输出不是方波时,输出也得不到正弦波了。
3.4、方案电路工作原理(见图1-7)
当外接电容C可由两个恒流源充电和放电,电压比较器Ⅰ、Ⅱ的阀值分别为总电源电压(指+Vcc、-VEE)的2/3和1/3。恒流源I2和I1的大小可通过外接电阻调节,但必须I2>I1。当触发器的输出为低电平时,恒流源I2断开,恒流源I1给C充电,它的两端电压UC随时间线性上升,当达到电源电压的确2/3时,电压比较器I的输出电压发生跳变,使触发器输出由低电平变为高电平,恒流源I2接通,由于I2>I1(设 I2=2I1),I2将加到C上进行反充电,相当于C由一个净电流I放电,C两端的电压UC又转为直线下降。当它下降到电源电压的1/3时,电压比较器Ⅱ输出电压便发生跳变,使触发器输出为方波,经反相缓冲器由引脚9输出方波信号。C上的电压UC,上升与下降时间相等(呈三角形),经电压跟随器从引脚3输出三角波信号。将三角波变为正弦波是经过一个非线性网络(正弦波变换器)而得以实现,在这个非线性网络中,当三角波的两端变为平滑的正弦波,从2脚输出。
其中K1为输出频段选择波段开关,K2为输出信号选择开关,电位器W1为输出频率细调电位器,电位器W2调节方波占空比,电位器W3、W4调节正弦波的非线性失真。
图1-1
3.5、两个电压比较器的电压传输特性如图1-4所示。
图1-4
3.6、常用接法
如图(1-2)所示为ICL8038的引脚图,其中引脚8为频率调节(简称为调频)电压输入端,电路的振荡频率与调频电压成正比。引脚7输出调频偏置电压,数值是引脚7与电源+VCC之差,它可作为引脚8的输入电压。
如图(1-5)所示为ICL8038最常见的两种基本接法,矩形波输出端为集电极开路形式,需外接电阻RL至+VCC。在图(a)所示电路中,RA和RB可分别独立调整。在图(b)所示电路中,通过改变电位器RW滑动的位置来调整RA和RB的数值。
图1-5
当RA=RB时,各输出端的波形如下图(a)所示,矩形波的占空比为50%,因而为方波。当RA≠RB时,矩形波不再是方波,引脚2输出也就不再是正弦波了,图(b)所示为矩形波占空比是15%时各输出端的波形图。根据ICL8038内部电路和外接电阻可以推导出占空比的表达式为
故RA<2RB。
为了进一步减小正弦波的失真度,可采用如图(1-6)所示电路,电阻20K与电位器RW2用来确定8脚的直流电压V8,通常取V8≥2/3Vcc。V8越高,Ia、Ib越小,输出频率越低,反之亦然。RW2可调节的频率范围为20HZ20~KHZ。V8还可以由7脚提供固定电位,此时输出频率f0仅有Ra、Rb及10脚电容决定,Vcc采用双对电源供电时,输出波形的直流电平为零,采用单对电源供电时,输出波形的直流电平为Vcc/2。两个100kΩ的电位器和两个10kΩ电阻所组成的电路,调整它们可使正弦波失真度减小到0.5%。在RA和RB不变的情况下,调整RW2可使电路振荡频率最大值与最小值之比达到100:1。在引脚8与引脚6之间直接加输入电压调节振荡频率,最高频率与最低频率之差可达1000:1。
3.7、实际线路分析
可在输出增加一块LF35双运放,作为波形放大与阻抗变换,根据所选择的电路元器件值,本电路的输出频率范围约10HZ~20KHZ;幅度调节范围:正弦波为0~12V,三角波为0~20V,方波为0~24V。若要得到更高的频率,还可改变三档电容的值。
图1-6
表 1-1 ISL8038管脚功能
管 脚 符 号 功 能
1,12 SINADJ1,SINADJ2 正弦波波形调整端。通常SINADJ1开路或接直流电压,
SINADJ2接电阻REXT到V-,用以改善正弦波波形和减小失真。
2 SINOUT 正弦波输出
3 TRIOUT 三角波输出
4,5 DFADJ1,DFADJ2 输出信号重复频率和占空比(或波形不对称度)调节端。通常DFADJ1端接电阻RA到V+,DFADJ2端接RB到V+,改变阻值可调节频率和占空比。
6 V+ 正电源
7 FMBIAS 调频工作的直流偏置电压
8 FMIN 调频电压输入端
9 SQOUT 方波输出
10 C 外接电容到V-端,用以调节输出信号的频率与占空比
11 V- 负电源端或地
13,14 NC 空脚
四、制作印刷电路板
首先,按图制作印刷电路板,注意不能有断线和短接,然后,对照原理图和印刷电路板的元件而进行元件的焊接。可根据自己的习惯并遵循合理的原则,将面板上的元器件安排好,尽量使连接线长度减少,变压器远离输出端。再通电源进行调试,调整分立元件振荡电路放大元件的工作点,使之处于放大状态,并满足振幅起振条件。仔细检查反馈条件,使之满足正反馈条件,从而满足相位起振条件。
制作完成后,应对整机进行调试。先测量电源支流电压,确保无误后,插上集成快,装好连接线。可以用示波器观察波形发出的相应变化,幅度的大小和频率可以通过示波器读出 。
五、系统测试及误差分析
5.1、测试仪器
双踪示波器 YB4325(20MHz)、万用表。
5.2、测试数据
基本波形的频率测量结果
频率/KHz
正弦波 预置 0.01 0.02 2 20 50 100
实测 0.0095 0.0196 2.0003 20.0038 50.00096 100.193
方波 预置 0.01 0.02 2 20 50
实测 0.095 0.0197 1.0002 2.0004 20.0038
三角波 预置 0.01 0.02 1 2 20 100
实测 0.0095 0.0196 1.0002 2.0004 20.0038 100.0191
5.3、误差分析及改善措施
正弦波失真。调节R100K电位器RW4,可以将正弦波的失真减小到1%,若要求获得接近0.5%失真度的正弦波时,在6脚和11脚之间接两个100K电位器就可以了。
输出方波不对称,改变RW3阻值来调节频率与占空比,可获得占空比为50%的方波,电位器RW3与外接电容C一起决定了输出波形的频率,调节RW3可使波形对称。
没有振荡。是10脚与11脚短接了,断开就可以了
产生波形失真,有可能是电容管脚太长引起信号干扰,把管脚剪短就可以解决此问题。也有可能是因为2030功率太大发热导致波形失真,加装上散热片就可以了。
5.4、调试结果分析
输出正弦波不失真频率。由于后级运放上升速率的限制,高频正弦波(f>70KHz)产生失真。输出可实现0.2V步进,峰-峰值扩展至0~26V。
图1-2
图 1−7
六、结论
通过本篇论文的设计,使我们对ICL8038的工作原理有了本质的理解,掌握了ICL8038的引脚功能、工作波形等内部构造及其工作原理。利用ICL8038制作出来的函数发生器具有线路简单,调试方便,功能完备。可输出正弦波、方波、三角波,输出波形稳定清晰,信号质量好,精度高。系统输出频率范围较宽且经济实用。
七、参考文献
【1】谢自美《电子线路设计.实验.测试(第三版)》武汉:华中科技大学出版社。2000年7月
【2】杨帮文《新型集成器件家用电路》北京:电子工业出版社,2002.8
【3】第二届全国大学生电子设计竞赛组委会。全国大学生电子设计竞赛获奖作品选编。北京:北京理工大学出版社,1997.
【4】李炎清《毕业论文写作与范例》厦门:厦门大学出版社。2006.10
【5】潭博学、苗江静《集成电路原理及应用》北京:电子工业出版社。2003.9
【6】陈梓城《家用电子电路设计与调试》北京:中国电力出版社。2006
3. 正弦信号发生器
波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。本次课程设计使用的AT89S51 单片机构成的发生器可产生锯齿波、三角波、正弦波等多种波形,波形的周期可以用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑等优点。在本设计的基础上,加上按钮控制和LED显示器,则可通过按钮设定所需要的波形频率,并在LED上显示频率、幅值电压,波形可用示波器显示。
二、系统设计
波形发生器原理方框图如下所示。波形的产生是通过AT89S51 执行某一波形发生程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。在AT89S51的P2口接5个按扭,通过软件编程来选择各种波形、幅值电压和频率,另有3个P2口管脚接TEC6122芯片,以驱动数码管显示电压幅值和频率,每种波形对应一个按钮。此方案的有点是电路原理比较简单,实现起来比较容易。缺点是,采样频率由单片机内部产生故使整个系统的频率降低。
1、波形发生器技术指标
1)波形:方波、正弦波、锯齿波;
2)幅值电压:1V、2V、3V、4V、5V;
3)频率:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;
2、操作设计
1)上电后,系统初始化,数码显示6个‘-’,等待输入设置命令。
2)按钮分别控制“幅值”、“频率”、“方波”、“正弦波”、“锯齿波”。
3)“幅值“键初始值是1V,随后再次按下依次增长1V,到达5V后在按就回到1V。
4)“频率“键初始值是10HZ,随后在按下依次为20HZ、50HZ、100HZ、200HZ、500HZ、1000HZ循环。
三、硬件设计
本系统由单片机、显示接口电路,波形转换(D/A)电路和电源等四部分构成。电路图2附在后
1、单片机电路
功能:形成扫描码,键值识别、键处理、参数设置;形成显示段码;产生定时中断;形成波形的数字编码,并输出到D/A接口电路和显示驱动电路。
AT89S51外接12M晶振作为时钟频率。并采用电源复位设计。复位电路采用上电复位,它的工作原理是,通电时,电容两端相当于短路,于是RST引脚上为高电平,然后电源通过对电容充电。RST端电压慢慢下降,降到一定程序,即为低电平,单片机开始工作。
AT89S51的P2口作为功能按钮和TEC6122的接口。P1口做为D/A转换芯片0832的接口。用定时/计数器作为中断源。不同的频率值对应不同的定时初值,允许定时器溢出中断。定时器中断的特殊功能寄存器设置如下:
定时控制寄存器TCON=20H;
工作方式选择寄存器TMOD=01H;
中断允许控制寄存器IE=82H。
2、显示电路
功能:驱动6位数码管显示,扫描按钮。
由集成驱动芯片TEC6122、6位共阴极数码管和5个按钮组成。当某一按钮按下时,扫描程序扫描到之后,通过P2口将数字信号发送到 TEC6122芯片。TEC6122是一款数字集成芯片。它的外接电压也是+5V,并且由于数码管的载压较小,为了保护数码管,必须在两者间接电阻,大约是560欧。
扫描利用软件程序实现,当某一按键按下时,扫描程序立即检测到,随后调用子程序,执行相应的功能。
3、D/A电路
功能:将波形样值的编码转换成模拟值,完成双极性的波形输出。
由一片0832和两块LM358运放组成。DAC0832是一个具有两个输入数据寄存器的8位DAC。目前生产的DAC芯片分为两类,一类芯片内部设置有数据寄存器,不需要外加电路就可以直接与微型计算机接口。另一类芯片内部没有数据寄存器,输出信号随数据输入线的状态变化而变化,因此不能直接与微型计算机接口,必须通过并行接口与微型计算机接口。DAC0832是具有20条引线的双列直插式CMOS器件,它内部具有两级数据寄存器,完成8位电流D/A转换,故不需要外加电路。0832是电流输出型,示波器上显示波形,通常需要电压信号,电流信号到电压信号的转换可以由运算放大器LM358实现,用两片LM358可以实现双极性输出。
单片机向0832发送数字编码,产生不同的输出。先利用采样定理对各波形进行抽样,然后把各采样值进行编码,的到的数字量存入各个波形表,执行程序时通过查表方法依次取出,经过D/A转换后输出就可以得到波形。假如N个点构成波形的一个周期,则0832输出N个样值点后,样值点形成运动轨迹,即一个周期。重复输出N个点,成为第二个周期。利用单片机的晶振控制输出周期的速度,也就是控制了输出的波形的频率。这样就控制了输出的波形及其幅值和频率。
四、 软件设计
主程序和子程序都存放在AT89S51单片机中。
主程序的功能是:开机以后负责查键,即做键盘扫描及显示工作,然后根据用户所按的键转到相应的子程序进行处理,主程序框图如图1所示。
子程序的功能有:幅值输入处理、频率输入处理、正弦波输出、锯齿波输出、方波输出、显示等。
下面是程序
include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit LCP=P2^2;
sbit SCP=P2^1;
sbit SI=P2^0;
sbit S1=P2^3;
sbit S2=P2^4;
sbit S3=P2^5;
sbit S4=P2^6;
sbit S5=P2^7;
sbit DA0832=P3^3;
sbit DA0832_ON=P3^2;
uchar fun=0,b=0,c=0,d=0,tl,th;
uchar code tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code tosin[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5
,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5
,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd
,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda
,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99
,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51
,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16
,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15
,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e
,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 };
void display(unsigned char command)
{
unsigned char i;
LCP=0;
for(i=8;i>0;i--)
{
SCP=0;
if((command & 0x80)==0)
{
SI=0;
}
else
{
SI=1;
}
command<<=1;
SCP=1;
}
LCP=1;
}
void key1(void)
{
fun++;
if(fun==4)
fun=0x00;
}
void key2(void)
{
tl++;
if(tl==0x1f)
th++;
}
void key3(void)
{
tl--;
if(tl==0x00)
th--;
}
void key4(void)
{
double t;
int f;
TR0=0;
t=(65535-th*256-tl)*0.4;
f=(int)(1000/t);
S3=tab[f%10];
f=f/10;
S2=tab[f%10];
f=f/10;
if(f==0)
S1=0;
else
S1=tab[f];
TR0=1;
}
void key5(void)
{
tl--;
if(tl==0x00)
th++;
}
void judge(void)
{
uchar line,row,de1,de2,keym;
P1=0x0f;
keym=P1;
if(keym==0x0f)return;
for(de1=0;de1<200;de1++)
for(de2=0;de2<125;de2++){;}
P1=0x0f;
keym=P1;
if(keym==0x0f)return;
P1=0x0f;
line=P1;
P1=0xf0;
row=P1;
line=line+row; /*存放特征键值*/
if(line==0xde)key1();
if(line==0x7e)key2();
if(line==0xbd)key3();
if(line==0x7d)key4();
}
void time0_int(void) interrupt 1 //中断服务程序
{
TR0=0;
if(fun==1)
{
DA0832=tosin[b]; //正弦波
b++;
}
else if(fun==2) //锯齿波
{
if(c<128)
DA0832=c;
else
DA0832=255-c;
c++;
}
else if(fun==3) // 方波
{
d++;
if(d<=128)
DA0832=0x00;
else
DA0832=0xff;
}
TH0=th;
TL0=tl;
TR0=1;
}
void main(void)
{
TMOD=0X01;
TR0=1;
th=0xff;
tl=0xd0;
TH0=th;
TL0=tl;
ET0=1;
EA=1;
while(1)
{
display();
judge();
}
}
五、心得体会
开始的时候由于没有经验,不知如何下手,所以就去图书管找了一些书看,尽管有许多的设计方案,可是总感觉自己还是有许多的东西弄不太清楚,于是就请教同学。他常做一些设计,有一些经验。经过他的解释分析各方案之后,决定用查表的方法来做。这样可以降低一些硬件设计的难度,初次设计应切合自己的水平。用8031需要扩展ROM,这样还要进行存储器扩展。而且现在8031实际中已经基本上不再使用,实际用的AT89S51芯片有ROM,这样把经过采样得到的数值制成表,利用查表来做就简单了。我认为程序应该不大,片内ROM应该够用的。用LED显示频率和幅值,现有集成的接口驱动芯片,波形可通过示波器进行显示,单片机接上D/A转换芯片即可,这样硬件很快就搭好了。
我以为这些做好了,构思也有了,写程序应该是相对容易的。谁知道,写起程序来,才想到功能键要有扫描程序才行呀,我真的感到很难。那时真的有点想放弃?于是就去请教了老师,老师帮忙分析了一下,自己又查阅了一些资料,终于明白了扫描程序怎么写。
于是在自己的努力下,程序很快就写好了。这次是我的第一个设计器件,尽管经历了不少的艰辛,但给我积累了一点设计的经验,最后也有点小小的成就感。后面的路还很长,我还的努力!
参考文献
[1] 童诗白,华成英.模拟电子技术基础〔M〕.北京:高等教育出版社,2003.345-362
[2] 潘永雄,沙河,刘向阳.电子线路CAD实用教程〔M〕.西安:西安电子科技大学出版社,2001.13-118.
[3] 张毅刚,彭喜源,谭晓昀,曲春波.MCS-51单片机应用设计[M].哈尔滨:哈
尔滨工业大学出版社,1997.53-61.
更多电子问题请关注我!_ceo竭诚为您解答!
4. 函数信号发生器的设计
给楼主一个思路吧,正弦波用运放做,方波用NE555做,三角波方波加一级积分器完成。
5. 基于单片机的多功能信号发生器设计
从网络里找到的,看看对你有没有用:利用89C51单片机设计多功能低频函数信号发生器,能产生方波、正弦波、三角波等信号波形,信号的频率、幅度可变。绘制多功能低频函数信号发生器的硬件电路的原理图;绘制程序流程图。并编写主要模块的程序。万分感激啊。急用,望高人帮忙啊。 提问者:lianghua85228-二级最佳答案波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。本次课程设计使用的AT89S51 单片机构成的发生器可产生锯齿波、三角波、正弦波等多种波形,波形的周期可以用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑等优点。在本设计的基础上,加上按钮控制和LED显示器,则可通过按钮设定所需要的波形频率,并在LED上显示频率、幅值电压,波形可用示波器显示。 二、系统设计 波形发生器原理方框图如下所示。波形的产生是通过AT89S51 执行某一波形发生程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。在AT89S51的P2口接5个按扭,通过软件编程来选择各种波形、幅值电压和频率,另有3个P2口管脚接TEC6122芯片,以驱动数码管显示电压幅值和频率,每种波形对应一个按钮。此方案的有点是电路原理比较简单,实现起来比较容易。缺点是,采样频率由单片机内部产生故使整个系统的频率降低。 1、波形发生器技术指标 1)波形:方波、正弦波、锯齿波; 2)幅值电压:1V、2V、3V、4V、5V; 3)频率:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ; 2、操作设计 1)上电后,系统初始化,数码显示6个‘-’,等待输入设置命令。 2)按钮分别控制“幅值”、“频率”、“方波”、“正弦波”、“锯齿波”。 3)“幅值“键初始值是1V,随后再次按下依次增长1V,到达5V后在按就回到1V。 4)“频率“键初始值是10HZ,随后在按下依次为20HZ、50HZ、100HZ、200HZ、500HZ、1000HZ循环。 三、硬件设计 本系统由单片机、显示接口电路,波形转换(D/A)电路和电源等四部分构成。电路图2附在后 1、单片机电路 功能:形成扫描码,键值识别、键处理、参数设置;形成显示段码;产生定时中断;形成波形的数字编码,并输出到D/A接口电路和显示驱动电路。 AT89S51外接12M晶振作为时钟频率。并采用电源复位设计。复位电路采用上电复位,它的工作原理是,通电时,电容两端相当于短路,于是RST引脚上为高电平,然后电源通过对电容充电。RST端电压慢慢下降,降到一定程序,即为低电平,单片机开始工作。 AT89S51的P2口作为功能按钮和TEC6122的接口。P1口做为D/A转换芯片0832的接口。用定时/计数器作为中断源。不同的频率值对应不同的定时初值,允许定时器溢出中断。定时器中断的特殊功能寄存器设置如下: 定时控制寄存器TCON=20H; 工作方式选择寄存器TMOD=01H; 中断允许控制寄存器IE=82H。 2、显示电路 功能:驱动6位数码管显示,扫描按钮。 由集成驱动芯片TEC6122、6位共阴极数码管和5个按钮组成。当某一按钮按下时,扫描程序扫描到之后,通过P2口将数字信号发送到 TEC6122芯片。TEC6122是一款数字集成芯片。它的外接电压也是+5V,并且由于数码管的载压较小,为了保护数码管,必须在两者间接电阻,大约是560欧。 扫描利用软件程序实现,当某一按键按下时,扫描程序立即检测到,随后调用子程序,执行相应的功能。 3、D/A电路 功能:将波形样值的编码转换成模拟值,完成双极性的波形输出。 由一片0832和两块LM358运放组成。DAC0832是一个具有两个输入数据寄存器的8位DAC。目前生产的DAC芯片分为两类,一类芯片内部设置有数据寄存器,不需要外加电路就可以直接与微型计算机接口。另一类芯片内部没有数据寄存器,输出信号随数据输入线的状态变化而变化,因此不能直接与微型计算机接口,必须通过并行接口与微型计算机接口。DAC0832是具有20条引线的双列直插式CMOS器件,它内部具有两级数据寄存器,完成8位电流D/A转换,故不需要外加电路。0832是电流输出型,示波器上显示波形,通常需要电压信号,电流信号到电压信号的转换可以由运算放大器LM358实现,用两片LM358可以实现双极性输出。 单片机向0832发送数字编码,产生不同的输出。先利用采样定理对各波形进行抽样,然后把各采样值进行编码,的到的数字量存入各个波形表,执行程序时通过查表方法依次取出,经过D/A转换后输出就可以得到波形。假如N个点构成波形的一个周期,则0832输出N个样值点后,样值点形成运动轨迹,即一个周期。重复输出N个点,成为第二个周期。利用单片机的晶振控制输出周期的速度,也就是控制了输出的波形的频率。这样就控制了输出的波形及其幅值和频率。 四、 软件设计 主程序和子程序都存放在AT89S51单片机中。 主程序的功能是:开机以后负责查键,即做键盘扫描及显示工作,然后根据用户所按的键转到相应的子程序进行处理,主程序框图如图1所示。 子程序的功能有:幅值输入处理、频率输入处理、正弦波输出、锯齿波输出、方波输出、显示等。 下面是程序 include <reg51.h> #define uchar unsigned char #define uint unsigned int sbit LCP=P2^2; sbit SCP=P2^1; sbit SI=P2^0; sbit S1=P2^3; sbit S2=P2^4; sbit S3=P2^5; sbit S4=P2^6; sbit S5=P2^7; sbit DA0832=P3^3; sbit DA0832_ON=P3^2; uchar fun=0,b=0,c=0,d=0,tl,th; uchar code tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar code tosin[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5 ,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5 ,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd ,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda ,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99 ,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51 ,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16 ,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15 ,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e ,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 }; void display(unsigned char command) { unsigned char i; LCP=0; for(i=8;i>0;i--) { SCP=0; if((command & 0x80)==0) { SI=0; } else { SI=1; } command<<=1; SCP=1; } LCP=1; } void key1(void) { fun++; if(fun==4) fun=0x00; } void key2(void) { tl++; if(tl==0x1f) th++; } void key3(void) { tl--; if(tl==0x00) th--; } void key4(void) { double t; int f; TR0=0; t=(65535-th*256-tl)*0.4; f=(int)(1000/t); S3=tab[f%10]; f=f/10; S2=tab[f%10]; f=f/10; if(f==0) S1=0; else S1=tab[f]; TR0=1; } void key5(void) { tl--; if(tl==0x00) th++; } void judge(void) { uchar line,row,de1,de2,keym; P1=0x0f; keym=P1; if(keym==0x0f)return; for(de1=0;de1<200;de1++) for(de2=0;de2<125;de2++){;} P1=0x0f; keym=P1; if(keym==0x0f)return; P1=0x0f; line=P1; P1=0xf0; row=P1; line=line+row; /*存放特征键值*/ if(line==0xde)key1(); if(line==0x7e)key2(); if(line==0xbd)key3(); if(line==0x7d)key4(); } void time0_int(void) interrupt 1 //中断服务程序 { TR0=0; if(fun==1) { DA0832=tosin[b]; //正弦波 b++; } else if(fun==2) //锯齿波 { if(c<128) DA0832=c; else DA0832=255-c; c++; } else if(fun==3) // 方波 { d++; if(d<=128) DA0832=0x00; else DA0832=0xff; } TH0=th; TL0=tl; TR0=1; } void main(void) { TMOD=0X01; TR0=1; th=0xff; tl=0xd0; TH0=th; TL0=tl; ET0=1; EA=1; while(1) { display(); judge(); } } 五、心得体会 开始的时候由于没有经验,不知如何下手,所以就去图书管找了一些书看,尽管有许多的设计方案,可是总感觉自己还是有许多的东西弄不太清楚,于是就请教同学。他常做一些设计,有一些经验。经过他的解释分析各方案之后,决定用查表的方法来做。这样可以降低一些硬件设计的难度,初次设计应切合自己的水平。用8031需要扩展ROM,这样还要进行存储器扩展。而且现在8031实际中已经基本上不再使用,实际用的AT89S51芯片有ROM,这样把经过采样得到的数值制成表,利用查表来做就简单了。我认为程序应该不大,片内ROM应该够用的。用LED显示频率和幅值,现有集成的接口驱动芯片,波形可通过示波器进行显示,单片机接上D/A转换芯片即可,这样硬件很快就搭好了。 我以为这些做好了,构思也有了,写程序应该是相对容易的。谁知道,写起程序来,才想到功能键要有扫描程序才行呀,我真的感到很难。那时真的有点想放弃?于是就去请教了老师,老师帮忙分析了一下,自己又查阅了一些资料,终于明白了扫描程序怎么写。 于是在自己的努力下,程序很快就写好了。这次是我的第一个设计器件,尽管经历了不少的艰辛,但给我积累了一点设计的经验,最后也有点小小的成就感。后面的路还很长,我还的努力! 参考文献 [1] 童诗白,华成英.模拟电子技术基础〔M〕.北京:高等教育出版社,2003.345-362 [2] 潘永雄,沙河,刘向阳.电子线路CAD实用教程〔M〕.西安:西安电子科技大学出版社,2001.13-118. [3] 张毅刚,彭喜源,谭晓昀,曲春波.MCS-51单片机应用设计[M].哈尔滨:哈 尔滨工业大学出版社,1997.53-61 在网络里搜搜,还有很多相关的文章。
6. 求函数信号发生器设计
专业:应用电子技术 届:07届 姓名:李贤春
摘 要
本系统以ICL8038集成块为核心器件,制作一种函数信号发生器,制作成本较低。适合学生学习电子技术测量使用。ICL8038是一种具有多种波形输出的精密振荡集成电路,只需要个别的外部元件就能产生从0.001Hz~30KHz的低失真正弦波、三角波、矩形波等脉冲信号。输出波形的频率和占空比还可以由电流或电阻控制。另外由于该芯片具有调制信号输入端,所以可以用来对低频信号进行频率调制。
关键词 ICL8038,波形,原理图,常用接法
一、概述
在电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域,经常需要用到各种各样的信号波形发生器。随着集成电路的迅速发展,用集成电路可很方便地构成各种信号波形发生器。用集成电路实现的信号波形发生器与其它信号波形发生器相比,其波形质量、幅度和频率稳定性等性能指标,都有了很大的提高。
二、方案论证与比较
2.1·系统功能分析
本设计的核心问题是信号的控制问题,其中包括信号频率、信号种类以及信号强度的控制。在设计的过程中,我们综合考虑了以下三种实现方案:
2.2·方案论证
方案一∶采用传统的直接频率合成器。这种方法能实现快速频率变换,具有低相位噪声以及所有方法中最高的工作频率。但由于采用大量的倍频、分频、混频和滤波环节,导致直接频率合成器的结构复杂、体积庞大、成本高,而且容易产生过多的杂散分量,难以达到较高的频谱纯度。
方案二∶采用锁相环式频率合成器。利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需要频率上。这种频率合成器具有很好的窄带跟踪特性,可以很好地选择所需要频率信号,抑制杂散分量,并且避免了量的滤波器,有利于集成化和小型化。但由于锁相环本身是一个惰性环节,锁定时间较长,故频率转换时间较长。而且,由模拟方法合成的正弦波的参数,如幅度、频率 相信都很难控制。
方案三:采用8038单片压控函数发生器,8038可同时产生正弦波、方波和三角波。改变8038的调制电压,可以实现数控调节,其振荡范围为0.001Hz~300KHz。
三、系统工作原理与分析
3.1、ICL8038的应用
ICL8038是精密波形产生与压控振荡器,其基本特性为:可同时产生和输出正弦波、三角波、锯齿波、方波与脉冲波等波形;改变外接电阻、电容值可改变,输出信号的频率范围可为0.001Hz~300KHz;正弦信号输出失真度为1%;三角波输出的线性度小于0.1%;占空比变化范围为2%~98%;外接电压可以调制或控制输出信号的频率和占空比(不对称度);频率的温度稳定度(典型值)为120*10-6(ICL8038ACJD)~250*10-6(ICL8038CCPD);对于电源,单电源(V+):+10~+30V,双电源(+V)(V-):±5V~±15V。图1-2是管脚排列图,图1-2是功能框图。8038采用DIP-14PIN封装,管脚功能如表1-1所示。
3.2、ICL8038内部框图介绍
函数发生器ICL8038的电路结构如图虚线框内所示(图1-1),共有五个组成部分。两个电流源的电流分别为IS1和IS2,且IS1=I,IS2=2I;两个电压比较器Ⅰ和Ⅱ的阈值电压分别为 和 ,它们的输入电压等于电容两端的电压uC,输出电压分别控制RS触发器的S端和 端;RS触发器的状态输出端Q和 用来控制开关S,实现对电容C的充、放电;充点电流Is1、Is2的大小由外接电阻决定。当Is1=Is2时,输出三角波,否则为矩尺波。两个缓冲放大器用于隔离波形发生电路和负载,使三角波和矩形波输出端的输出电阻足够低,以增强带负载能力;三角波变正弦波电路用于获得正弦波电压。
3.3、内部框图工作原理
★当给函数发生器ICL8038合闸通电时,电容C的电压为0V,根据电压比较器的电压传输特性,电压比较器Ⅰ和Ⅱ的输出电压均为低电平;因而RS触发器的 ,输出Q=0, ;
★使开关S断开,电流源IS1对电容充电,充电电流为
IS1=I
因充电电流是恒流,所以,电容上电压uC随时间的增长而线性上升。
★当上升为VCC/3时,电压比较器Ⅱ输出为高电平,此时RS触发器的 ,S=0时,Q和 保持原状态不变。
★一直到上升到2VCC/3时,使电压比较器Ⅰ的输出电压跃变为高电平,此时RS触发器的 时,Q=1时, ,导致开关S闭合,电容C开始放电,放电电流为IS2-IS1=I因放电电流是恒流,所以,电容上电压uC随时间的增长而线性下降。
起初,uC的下降虽然使RS触发的S端从高电平跃变为低电平,但 ,其输出不变。
★一直到uC下降到VCC/3时,使电压比较器Ⅱ的输出电压跃变为低电平,此时 ,Q=0, ,使得开关S断开,电容C又开始充电,重复上述过程,周而复始,电路产生了自激振荡。
由于充电电流与放电电流数值相等,因而电容上电压为三角波,Q和 为方波,经缓冲放大器输出。三角波电压通过三角波变正弦波电路输出正弦波电压。
结论:改变电容充放电电流,可以输出占空比可调的矩形波和锯齿波。但是,当输出不是方波时,输出也得不到正弦波了。
3.4、方案电路工作原理(见图1-7)
当外接电容C可由两个恒流源充电和放电,电压比较器Ⅰ、Ⅱ的阀值分别为总电源电压(指+Vcc、-VEE)的2/3和1/3。恒流源I2和I1的大小可通过外接电阻调节,但必须I2>I1。当触发器的输出为低电平时,恒流源I2断开,恒流源I1给C充电,它的两端电压UC随时间线性上升,当达到电源电压的确2/3时,电压比较器I的输出电压发生跳变,使触发器输出由低电平变为高电平,恒流源I2接通,由于I2>I1(设 I2=2I1),I2将加到C上进行反充电,相当于C由一个净电流I放电,C两端的电压UC又转为直线下降。当它下降到电源电压的1/3时,电压比较器Ⅱ输出电压便发生跳变,使触发器输出为方波,经反相缓冲器由引脚9输出方波信号。C上的电压UC,上升与下降时间相等(呈三角形),经电压跟随器从引脚3输出三角波信号。将三角波变为正弦波是经过一个非线性网络(正弦波变换器)而得以实现,在这个非线性网络中,当三角波的两端变为平滑的正弦波,从2脚输出。
其中K1为输出频段选择波段开关,K2为输出信号选择开关,电位器W1为输出频率细调电位器,电位器W2调节方波占空比,电位器W3、W4调节正弦波的非线性失真。
图1-1
3.5、两个电压比较器的电压传输特性如图1-4所示。
图1-4
3.6、常用接法
如图(1-2)所示为ICL8038的引脚图,其中引脚8为频率调节(简称为调频)电压输入端,电路的振荡频率与调频电压成正比。引脚7输出调频偏置电压,数值是引脚7与电源+VCC之差,它可作为引脚8的输入电压。
如图(1-5)所示为ICL8038最常见的两种基本接法,矩形波输出端为集电极开路形式,需外接电阻RL至+VCC。在图(a)所示电路中,RA和RB可分别独立调整。在图(b)所示电路中,通过改变电位器RW滑动的位置来调整RA和RB的数值。
图1-5
当RA=RB时,各输出端的波形如下图(a)所示,矩形波的占空比为50%,因而为方波。当RA≠RB时,矩形波不再是方波,引脚2输出也就不再是正弦波了,图(b)所示为矩形波占空比是15%时各输出端的波形图。根据ICL8038内部电路和外接电阻可以推导出占空比的表达式为
故RA<2RB。
为了进一步减小正弦波的失真度,可采用如图(1-6)所示电路,电阻20K与电位器RW2用来确定8脚的直流电压V8,通常取V8≥2/3Vcc。V8越高,Ia、Ib越小,输出频率越低,反之亦然。RW2可调节的频率范围为20HZ20~KHZ。V8还可以由7脚提供固定电位,此时输出频率f0仅有Ra、Rb及10脚电容决定,Vcc采用双对电源供电时,输出波形的直流电平为零,采用单对电源供电时,输出波形的直流电平为Vcc/2。两个100kΩ的电位器和两个10kΩ电阻所组成的电路,调整它们可使正弦波失真度减小到0.5%。在RA和RB不变的情况下,调整RW2可使电路振荡频率最大值与最小值之比达到100:1。在引脚8与引脚6之间直接加输入电压调节振荡频率,最高频率与最低频率之差可达1000:1。
3.7、实际线路分析
可在输出增加一块LF35双运放,作为波形放大与阻抗变换,根据所选择的电路元器件值,本电路的输出频率范围约10HZ~20KHZ;幅度调节范围:正弦波为0~12V,三角波为0~20V,方波为0~24V。若要得到更高的频率,还可改变三档电容的值。
图1-6
表 1-1 ISL8038管脚功能
管 脚 符 号 功 能
1,12 SINADJ1,SINADJ2 正弦波波形调整端。通常SINADJ1开路或接直流电压,
SINADJ2接电阻REXT到V-,用以改善正弦波波形和减小失真。
2 SINOUT 正弦波输出
3 TRIOUT 三角波输出
4,5 DFADJ1,DFADJ2 输出信号重复频率和占空比(或波形不对称度)调节端。通常DFADJ1端接电阻RA到V+,DFADJ2端接RB到V+,改变阻值可调节频率和占空比。
6 V+ 正电源
7 FMBIAS 调频工作的直流偏置电压
8 FMIN 调频电压输入端
9 SQOUT 方波输出
10 C 外接电容到V-端,用以调节输出信号的频率与占空比
11 V- 负电源端或地
13,14 NC 空脚
四、制作印刷电路板
首先,按图制作印刷电路板,注意不能有断线和短接,然后,对照原理图和印刷电路板的元件而进行元件的焊接。可根据自己的习惯并遵循合理的原则,将面板上的元器件安排好,尽量使连接线长度减少,变压器远离输出端。再通电源进行调试,调整分立元件振荡电路放大元件的工作点,使之处于放大状态,并满足振幅起振条件。仔细检查反馈条件,使之满足正反馈条件,从而满足相位起振条件。
制作完成后,应对整机进行调试。先测量电源支流电压,确保无误后,插上集成快,装好连接线。可以用示波器观察波形发出的相应变化,幅度的大小和频率可以通过示波器读出 。
五、系统测试及误差分析
5.1、测试仪器
双踪示波器 YB4325(20MHz)、万用表。
5.2、测试数据
基本波形的频率测量结果
频率/KHz
正弦波 预置 0.01 0.02 2 20 50 100
实测 0.0095 0.0196 2.0003 20.0038 50.00096 100.193
方波 预置 0.01 0.02 2 20 50
实测 0.095 0.0197 1.0002 2.0004 20.0038
三角波 预置 0.01 0.02 1 2 20 100
实测 0.0095 0.0196 1.0002 2.0004 20.0038 100.0191
5.3、误差分析及改善措施
正弦波失真。调节R100K电位器RW4,可以将正弦波的失真减小到1%,若要求获得接近0.5%失真度的正弦波时,在6脚和11脚之间接两个100K电位器就可以了。
输出方波不对称,改变RW3阻值来调节频率与占空比,可获得占空比为50%的方波,电位器RW3与外接电容C一起决定了输出波形的频率,调节RW3可使波形对称。
没有振荡。是10脚与11脚短接了,断开就可以了
产生波形失真,有可能是电容管脚太长引起信号干扰,把管脚剪短就可以解决此问题。也有可能是因为2030功率太大发热导致波形失真,加装上散热片就可以了。
5.4、调试结果分析
输出正弦波不失真频率。由于后级运放上升速率的限制,高频正弦波(f>70KHz)产生失真。输出可实现0.2V步进,峰-峰值扩展至0~26V。
图1-2
图 1−7
六、结论
通过本篇论文的设计,使我们对ICL8038的工作原理有了本质的理解,掌握了ICL8038的引脚功能、工作波形等内部构造及其工作原理。利用ICL8038制作出来的函数发生器具有线路简单,调试方便,功能完备。可输出正弦波、方波、三角波,输出波形稳定清晰,信号质量好,精度高。系统输出频率范围较宽且经济实用。
七、参考文献
谢自美《电子线路设计.实验.测试(第三版)》武汉:华中科技大学出版社。2000年7月
杨帮文《新型集成器件家用电路》北京:电子工业出版社,2002.8
第二届全国大学生电子设计竞赛组委会。全国大学生电子设计竞赛获奖作品选编。北京:北京理工大学出版社,1997.
李炎清《毕业论文写作与范例》厦门:厦门大学出版社。2006.10
潭博学、苗江静《集成电路原理及应用》北京:电子工业出版社。2003.9
陈梓城《家用电子电路设计与调试》北京:中国电力出版社。2006
7. 有关正弦信号发生器的毕业论文
基于EDA的信号发生器与数字滤波器设计
班级: 姓名: 学号:
摘 要:使用直接驱动的直线电机,能把控制对象和电机做成一体化结构,在精度、快速性、耐久性等方面具有明显的优势。用DSP作为控制器对纺织机械电子横移系统的电子凸轮机构进行实用设计,采用电流环、速度环的双闭环控制电极位置和速度,用先进的SVPWM控制算法对参数进行反复优化,使伺服系统达到更好的效果和更高的性价比。
关键词:电子凸轮;DSP控制;直线电机;PWM
0 引言
改进纺织机械电子横移系统的直线进给控制可采用电子凸轮系统,而通常直线运动是由交流旋转电机和传动带、齿条及齿轮机构组合来完成的。使用直接驱动的直线电机,能把控制对象和电机做成一体化结构,这与普通的旋转电机相比,在精度、快速性、耐久性等方面具有明显的优势。直线伺服电机是将输入信号电压转变为动子的位移或速度的输出,动子的行程方向和速度的大小随信号电压的方向和大小的变化而变化,并能带动一定大小的负载[1]。永磁同步直线电机的速度与PWM的频率始终保持准确的同步关系,控制PWM的频率就能控制电机的速度。选用DSP控制能使伺服系统达到更好的效果和更高的性价比,对电子凸轮的进给伺服系统进行研究与设计具有很好的实用价值。
1 系统结构设计
系统结构设计以DSP为核心其框图如图1所示。
图1 系统结构框图
Fig.1 Architecture chart of system
以DSP控制为核心构成三相同步直线电机控制系统。采用双闭环空间矢量控制达到伺服系统高精度、高速度、高响应的要求[2]。直线电机电枢电流通过霍尔电流传感器检测,经过电流反馈处理电路后,送入DSP的ADC转换口;利用光栅尺输出两路相位相差90°的正交信号到QEP,通过对两路信号的上升沿和下降沿检测生成四倍频信号,从四倍频信号的频率得到直线电机的速度。速度给定值与速度反馈值的偏差作为数字速度控制器的输入,经过运算处理后得到电流给定电压,再与电流反馈产生的反馈电压作偏差,得到差值作为数字电流控制器的输入,经过运算处理后得到控制电压。由软件来生成六路带死区的SPWM信号,经过光电隔离整形电路,分别加到功放前置驱动芯片的高低输入端。然后驱动桥式逆变电路中三组IGBT管,产生有规律的单极性电压,加在三相直线电动机线圈上,通过调节PWM占空比,从而控制直线电机的位移与速度。
2 控制系统的硬件实现
2.1 电机供电电路实现
直线同步电动机采用哈尔滨泰富电气有限公司的XY1809B-4.5扁平型直线电机。电机供电采用交-直-交电压型PWM逆变器,将三相交流(380V,50Hz)经整流与逆变后供给直线电机。整流器采用集成的三相全波二极管整流桥模块,逆变器所用的电子开关采用全控型电力电子器件。其整流逆变电路如图2所示。
图2 三相整流桥式逆变电路
Fig.2 bridge inverter circuit of three-phase rectifier
2.2 电机位置检测实现
系统使用直线光栅传感器进行电机位置检测,采用德国JENA公司生产的JENA LIE52PLXFDO 型光栅尺,其测量精度为1μm,速度为4.8m/s,直线电机的同步速度为4.5m/s。光栅位置检测装置由光源、两块光栅(长光栅、短光栅)和光敏元件等组成,它是通过将长光栅和短光栅之间的位移放大为莫尔条纹的移动来进行检测的。将长光栅安装在直线电动机的次级上作为标尺光栅,短光栅装在直线电机的初级作为指示光栅,两块光栅互相平行并保持一定的间隙(如0.05mm或0.1mm等),而两块光栅的刻线密度相同。
如果将指示光栅在其自身的平面内转过一个很小的角度θ,这样两光栅的刻线机交,则在相交处出现黑色条纹,称为莫尔条纹[3]。由于两块光栅的刻线密度相等,即栅距W相等,而产生的莫尔条纹的方向和光栅刻线方向大致垂直,所以当θ很小时,其条纹间距B和光栅栅距W及2条光栅刻线夹角关系为:
(1)
当光栅相对移动时,莫尔条纹将沿着刻线方向移动。光栅移动一个栅距,莫尔条纹也移动一个间距B,同时,在指示光栅上的光敏元件接收到一次光脉冲的照射,并相应输出1个电脉冲。通过计数电脉冲的数目,就可以测量标尺光栅的位移x,即:
(2)
式中 i—— 脉冲个数,因此检测实际上就是对光栅输出的脉冲个数进行计数。
TMS320LF2407A有两个事件管理器模块,每个事件管理器模块都有一个正交编码脉冲(Quadrature Encoded Pulses,QEP)电路[4]。该电路被使能后,可以对引脚CAP1/QEP1和CAP2/QEP2(对于EVA模块)或CAP4/QEP3和CAP5/QEP4(对于EVB模块)上输入的正交编码脉冲信号进行译码和计数。正交编码脉冲电路用于连接光栅尺输出的正交编码脉冲信号,实现对直线电动机的位移快速可靠地进行检测。
其位移信号检测电路如图3所示。
图3 直线位移检测电路
Fig.3 displacement detection circuit of linear
2.3 电流检测实现
采用维博电子有限责任公司的WBI414电流传感器作为电流检测装置,由于三相绕组采用的是星形连接,中点悬空,也就是说,电流的3个变量不完全独立,只要知道其中两个,设为Ia和Ib,另一个变量Ic就可以算出:
(3)
因而实现电动机相电流的精确检测,只需两路检测电路,将Ia和Ib的电流值经转换后分别送往DSP的ADCIN0和ADCIN1,其绕组相电流检测电路如图4所示。
图4绕组相电流检测电路
Fig.4 current detection circuit of winding phase
3 控制系统的软件实现
在软件上系统采用了交流电动机常用的空间矢量控制算法,利用DSP的高速数字处理能力产生SVPWM波形,包含系统主程序、相电流检测模块、CLARKE变换模块、电流环的PI控制模块、速度环的PI控制模块、PARK变换、PARK逆变换、光栅尺脉冲计数模块、旋转角度正弦函数表、空间矢量SPWM波的发生模块。
系统首先对DSP控制系统进行初始化工作;然后设置允许中断INT1、INT2和INT3,其中INT1只在PDPINT有效时被激活,INT3响应光栅传感器的零标记脉冲,INT2在Timer1计数溢出时响应,执行系统的进给控制模块;此外还要进行一些运行参数和控制循环的标记的设置;最后就进入后台等待状态,随时响应各中断,运行中断服务程序。
DSP控制器中的全比较单元将负责产生控制脉冲信号,并送到电动机驱动模块上。以10KHz的频率产生对称SPWM波,以TIMER1作为时基,采样时间T设为100μs。用到两个中断:一个为T1的下溢中断,另一个为CAP/QEP中断。电流采样频率为10kHz,速度采频率为1kHz,DSP外围设备为Timer1、Timer2、ADC(2通道)、PWM1~6、Capture3、QEP。其控制系统主程序流程图如图5所示。
Fig.5 Flow chart of control system main program
(软件源程序及仿真)
4 结束语
本文以TI公司生产的TMS320LF2407A作为DSP控制器,对纺织机械电子横移系统的电子凸轮机构进行了实用设计。系统充分利用直线电机的优点,采用电流环、速度环的双闭环控制电极的位置和速度,先进的SVPWM控制算法对参数进行反复优化,使系统达到预期的位移控制精度和频率响应,并且在纺织机械电子横移系统上运行可靠。
参考文献:
[1] 朱成庆,伍宗富等.机电一体化概论[M].太原:山西科学技术出版社,2003.
[2] 钱平.伺服系统[M].北京:机械工业出版社,2005.
[3] 秦继荣,沈安俊. 现代直流伺服控制技术及其系统设计[M]. 北京: 机械工业出版社,1993
[4] 刘和平,严利平,张学锋,卓清锋. TMS320LF240XDSP结构、原理及应用[M] . 北京:北京航空航天大学出版社, 2002.
8. 函数信号发生器课程设计
方案三:用单片集成函数发生器5G8038
可行性分析:
上面三种方案中,方案一与方案二中三角波——正弦波部分原理虽然不一样,但是他们有共通的地方就是都要认为地搭建波形变换的电路图。而方案三采用集成芯片使得电路大大简化,但是由于实验室条件和成本的限制,我们首先抛弃的是第三种方案,因为它是牺牲了成本来换取的方便。其次是对方案一与方案二的比较,方案一中用的是电容和电阻运放和三极管等电器原件,方案二是用的二极管、电阻、三极管、运放等电器原件,所以从简单而且便于购买的前提出发我们选择方案一为我们最终的设计方案。
1.4参数的确定
1、 从电路的设计过程来看电路分为三部分:①正弦波部分②方波部分③三角波部分
2、 正弦波部分
由于我们选取差分放大电路对三角波——正弦波
进行变换,首先要完成的工作是选定三极管,我
们现在选择KSP2222A型的三极管,其静态曲线图
像如右图所示。
根据KSP2222A的静态特性曲线,选取静态
工作区的中心
由直流通路有:
20 k
k
因为静态工作点已经确定,所以静态电流变成已知。根据KVL方程可计算出镜像电流源中各个电阻值的大小:
可得
3、 方波部分与三角波部分参数的确定
根据性能指标可知
由 ,可见f与c成正比,若要得到1Hz~10Hz,C为10 。10Hz~100Hz,C为1 。
则 =7.5k ~75k ,则 =5.1k
则 =2.4k 或者 =69.9 k
∴ 取100 k
∵
由输出的三角形幅值与输出方波的幅值分别为5v和14v,有
=
∴ =10k
则 ≈47 k , =20 k
根据方波的上升时间为两毫秒,查询运算放大器的速度,可以选择74141型号的运放。
由此可得调整电阻:
七、实务图的焊接和调试
1、按照方案一的电路图焊接好电路板。
2、调试前,将电路板接入±12伏电压,地线与电源处公共地线连接.
(1)频率范围:
为便于测量,将电路板上的方波信号接入示波器,并合上C1=10
9. 数字频率合成信号发生器
http://www.xuehi.com/docs/196210.html 毕业论文-基于DDS数字频率合成信号发生器,正文共28页,15120字,附任务书、开题报告、中期检查表、英文翻译。 摘要 本文主要介绍了DDS(直接数字频率合成器)芯片AD7008的结构、功能和信号发生器的设计,给出了硬件电路和软件流程。降低了系统的设计规模,减少了系统对逻辑资源的需求,与一般的频率合成器相比较具有高频率、高精度的主要特点,且控制灵活方便,具有广阔的应用前景。 关键词:DDS,频率合成器,信号发生器 1 绪论 1 1.1 本课题选题的目的和意义 1 1.2 频率合成器的发展过程 1 1.3 频率合成器的实现 2 1.4 信号发生器简介 2 1.4 国内发展现状及展望未来 3 2 DDS介绍 4 2.1 DDS工作原理分析 4 2.2 DDS的性能分析 5 2.3 DDS实际应用 5 3 信号发生器的设计 8 3.1 总体方框图 8 3.2 信号发生器的硬件设计 8 3.3 电路设计介绍 9 3.3.1 DDS芯片AD7008 9 3.3.2 单片机控制部分 10 3.3.3 滤波器 13 3.3.4 晶体振荡器 15 3.4 频率合成信号发生器的软件设计 17 结束语 17 致谢18 参考文献 18 附录一 汇编程序 20