数控信号发生器.docx
《数控信号发生器.docx》由会员分享,可在线阅读,更多相关《数控信号发生器.docx(11页珍藏版)》请在冰豆网上搜索。
数控信号发生器
作品实物照
示波器显示正弦波波形图照片
示波器显示三角波波形图照片
数控信号发生器
摘要:
本系统是基于AT89S52单片机控制的信号发生器,可输出电压最大值为0~5V,频率为1~1000Hz的矩形波、三角波、锯齿波和正弦波四种波形信号,其电压最大值和频率可从键盘输入.本系统输出的各种信号,均由软件产生各种数据再经过D/A转换后输出,可满足精度误差要求达到5%的,需要多种低频信号源的使用场所。
关键词:
AT89S52单片机信号发生器数控D/A转换
Abstract:
ThissystemisaccordingtothesignaloccurrencemachineofamachineofAT89S52control,canoutputtheelectricvoltagebiggestbeworthforthe0-5V.Thefrequencyisa1-1000HzOfrectanglewave,trianglewave,theteethofasawwaveandsinewave,forfourkindsofformsignal.Thebiggestvalueinitselectricvoltageandfrequenciescaninputfromthekeyboard.Varioussignalofthissystemoutput,allbeoutputtedafterproducevariousdatapassbyagaintheD/Aconversionbythesoftware.Cansatisfytheaccuracyerrormargintorequesttoattaintheusageplaceof5%variousdemandlowfrequencysignalsource.
Keyword:
MonolithicmachineAT89S52ThesignaloccurrencemachineThenumericalcontrolTheD/Aconversion
引言
随着社会科学的电子技术及电力电子技术的发展,对于一些电路的分析所需的仪器种类越来越多,同时要求的精度也越来越高。
技术的发展应是面向人性化、智能化、经济化为一体的发展目标。
本论文正是以数字控制信号发生为出发点,对单片机作为中央控制器,直接由软件产生波形信号的输出,并可通过软件的修改,达到输出任意波形,用于测试电路,可以用来给定时器提供波形,使电路能稳定工作的智能化波形发生器模型作较详细的介绍。
1、方案选择与论证
本系统除了核心器件单片机外,主要还包括以下几个部分:
1.1、人机接口模块
本系统采用4×4的矩阵键盘作为输入设备,用6位数码管作为显示器。
1.2、信号发生部分
方案一:
由硬件产生。
由硬件产生的信号没有阶梯,波形光滑。
如果采用压控振荡器,
就可单片来控制信号的频率,能过电子开关来选择不同的振荡器投入工作,就可以输出不同的波形。
不过,不同波形需要用不同的振荡器来实现,电路较复杂,难以输出超低频的信号。
方案二:
由软件产生。
将各种波形的数据固定在单片机的程序存储器里,通过改变这些数据的输出速度便可以改变信号的频率,通过改变D/A转换器的参考电压便可以改变信号的最大值,硬件电路简单,成本低。
但输出的信号会出现阶梯。
由于本系统输出的信号频率最低达到1Hz,用方案一难以实现,用方案二,虽然会出现阶梯,但通过增加每个周期输出的点数来把阶梯降低到允许的范围内,因此,本系统选择了方案二。
1.3、D/A转换部分
单片输出的是数字信号,必须通过D/A转换后才能模拟信号。
方案一:
采用D/A转换器AD7543。
AD7543是一种串行的D/A转换器,1与单片机之间的连线少,布线方便,而且又是12位的D/A转换器,精度高。
但串行数据传输速度慢,
当频率较高时,必须减少每周期输出的点数,这将会导致阶梯现象更加明显,因此,此方案不宜使用.
方案二:
采用DAC0832。
这是8位的并行D/A转换器,转换速度快。
方案三:
采用2片DAC0832。
由其中一芯片的输出电压作为另一芯片的参考电压,这样就可以方便的控制最大输出电压。
若采用方案二,在输出电压较低的情况下,比如为1V时,输出的最大电压只有参考电压的1/5,这将会使精度降低,而方案三刚好可以解决这个问题,因此,本系统选择了方案三。
2、系统原理框图
系统原理框图如图1所示
图1系统原理图
3、电路分析与计算
DAC转换部分电路图如图2所示
当单片机分别向DAC0832
(1)和DAC0832
(2)输入数据D1和D2时
U02=-D2×VR=-5×D2/256①
U01=-D1×VR=-U02×D1/256②
U0=-R3/R1×U01-R3/R2×U02③
其中R1=15K,R2=R3=30K,代入以上各式,得
U0=U02×(D1/128–1)④
或D1=128×(U0/U02+1)⑤
由④式可知,当D1在0~255之间变化时,U0可在-U02~+U02之间
变化,即输出信号的最大电压可由U02控制。
设输出的信号函数为U0=f(t),代入⑤式得
D1=128×(f(t)/U02+1)⑥
图3-1DAC转换部分电路图
图2DAC转换部分电路图
时间t由单片机里的定时器产生,程序根据⑥式就可以求出任何时刻t所对应的D1,经8位的D/A转换器0832转换后经过运放LM324放大信号即可得到输出信号U0。
图3-1D/A转换部分电路图
再通过示波器来观察波形的输出情况!
图3输出波形代码、峰值电压、输出频率显示电路图
本系统的显示模块由芯片8155扩展口,并以7406为数码驱动显示。
LDE1为调整波形的代码的显示,LDE2为调整峰值电压显示,LDE3~6为调整频率的显示。
4、输出波形图
图4图5
代码0的波形图为矩形波代码1的波形图为三角波
图6图7
代码2的波形图为锯齿波代码3的波形图为正弦波
5、系统软件设计
软件流程图
D/A转换
根据波形代码自变量t求出当前要输出的电压
初始化
开始
波形输出
图8主程序流程图
调整自变量t
重装定时初值
T0中断
现场保护
恢复现场
中断返回
图9T0中断服务子程序流程图
6、体会
6.1系统的调试
6.1.1、调试中矩形波输出出现不符合要求的情况的干扰!
波形如图:
图10矩形波误差波形图
干扰来源于矩形波程序中的中断时间有误差。
在修改中断响应时间后,发现可以改变矩形波的平行度。
计算CPU在矩形波模块响应的中断时间周期,于是通过增加矩形波程序模块中的中断响应时间。
也就避免了这样的干扰,实现了通常的矩形波信号!
6.1.2、上电之后波形输出较为缓慢,这与按键的扫描和数码管的动态扫描时间相冲突,出现刚上电时数码管的显示6位0不稳定,在不断地闪动。
在单片机的P1口输出与键盘输入之间串接一个整流二极管,目的是停止扫描键盘,节省CPU的中断时间,用于波形的输出时间。
实现了数码管通电后,熄灭一段时间的稳定的动态扫描和快速稳定的波形输出。
6.1.3、此系统通过运用VisualBasic和Matlab65仿真软件仿真扫描正弦波信号输出。
生成每个信号点的代码,将一个周期T的信号分成128个点(按X轴等分),两点间的时间间隔由单片机的定时器产生。
对信号干扰要求较高,在电路板布局和走线过程中应尽可能的减少跳线和飞线的工作。
这样可以降低工作中产生的干扰现象。
6.2、系统可改进的地方
6.2.1、频率范围在1~1000Hz只能适用于需低频信号源的电路当中,对于超过1000HZ就无法满足了,所以频率的范围的扩大是很有必要的。
需要设法通过更换更大的晶体管振荡器或增加一些独立的振荡电路来改善频率的范围。
6.2.2、在要求达到5%的精度的波形显示过程中,受到硬件和软件的误差的影响,在l输出较大频率出现以了5%为中心上下波动的不够稳定的现象。
需要对系统的误差进行硬件和软件方面的总计算,并尽可能的减小软件方面的误差,来实现输出波形的精度的稳定和整个系统精度的提高!
设想在波形的输出口增加A/D模块电路对输出信号进行反馈,单片机对反馈信号进行误差的较验、调整再输出。
在没有达到所要求的精度的波形输出时,再一次进行反馈、较验、调整直到符合所需要求的波形输出!
7、测试报告
选择信号发生器的正弦波的输出波形,通过示波器(型号为YB432820MHZ)来显示测试结果。
峰值电压测试数据如下表:
设定值(电压V)
示波器的测试值
相对误差值(%)
1
1.04
0.03
2
2.10
0.05
3
2.92
0.03
5
5.31
0.06
结合上表的峰值电压测试频率的数据如下表:
设定值(频率HZ)
示波器的测试值
相对误差值(%)
100
99.30
0.01
200
201.56
0.01
400
406.85
0.02
800
769.01
0.04
8、系统软件的使用操作说明
系统硬件主要由4×4键盘设置来实现操作。
键盘分有:
0~9的数字键、确定键、清0键、撤消键、波型设置键、电压设置键、频率设置键。
(1)、给系统上+9V和-9V的双稳压电源,待数码管显示3位0时及四个发光二极管点亮时,就可进入设置操作;
(2)、当只有一盏显示波形代码输出的二极管亮时,可进入波形的设置;
(3)、按下波形设置按钮,输入信号波的类型。
代码分别“0”为矩形波、“1”为三角波、“2”为锯齿波、“3”为正弦波,最后确定。
(4)、按下峰值电压的设置键,进入幅值设置,可输入0~5V范围内的任一幅度参数,最后确定。
(5)、按下频率设置按键时,可设置1~1000Hz范围内的任一频率参数,最后确定。
就可以完成整个系统的设置。
注:
在设置过程中波形设置、峰值电压的设置和频率的设置是不分先后顺序的,可以任顺序设置!
结束语
本系统使用了单片机作为中央控制器,直接由软件产生波形信号的输出,可通过修改软件,还可以输出其它任意波形。
硬件简单,可以把电源和发生器分开来制作,减少电源对发生器的干拢,这样使发生器输出的波形更加稳定。
本系统还有防止无效数据的输入,以防止误操作。
如改进本系统的频率范围,同时提高本系统的精度.本系统将更大范围地为需要多种频率信号源的使用场所提供更高精度的信号源!
参考文献
陆子明,徐长根.单片机设计与应用基础教程.北京:
国防工业出版社,2005.1
刘守义.单片机应用技术.西安:
西安电子科技大学出版社,2002.8
李朝青.单片机原理及接口技术.北京:
北京航空航天大学出版社,1994
王新贤.通用集成电路速查手册.济南:
山东科学技术出版社,2002.9