基于Proteus仿真的直流稳压电源课程设计名师资料合集(完整版)资料.doc
-
资源ID:91793178
资源大小:3.61MB
全文页数:86页
- 资源格式: DOC
下载积分:12金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于Proteus仿真的直流稳压电源课程设计名师资料合集(完整版)资料.doc
基于Proteus仿真的直流稳压电源课程设计名师资料合集(完整版)资料(可以直接使用,可编辑 优秀版资料,欢迎下载)课程名称: 设计题目: 直流可调稳压电源 院 系: 电气工程系 专 业: 电气工程及其自动化 年 级: 电化1班 姓 名: 叶志 指导教师: 西南交通大学 年 月 日课 程 设 计 任 务 书专 业 电气工程及其自动化 姓 名 叶志 学 号 20217633 开题日期: 年 月 日 完成日期: 年 月 日题 目 直流可调稳压电源 一、设计的目的 1.将理论知识运用于实践当中,掌握模拟电路设计的基本方法、基本步骤以及基本要求。在实践中了解电子器件的功能与作用。 2.学会直流稳压电源的设计方法,完成要求的性能和指标。 3.锻炼、提高在电子设计中发现问题、分析问题、解决问题的能力。 二、设计的内容及要求 1.输出电压在1.25V37V可调; 2.最大输出电流为1.5A; 3.电压调整精度达0.1%; 三、指导教师评语 四、成 绩 指导教师 (签章) 年 月 日一、设计内容简介直流稳压电源由电源变换器、桥式整流滤波电路以及稳压电路构成。变压器将工频50Hz 220V的交流家用电源变为低压交流电源,再利用整流电路将交流电压变为单向的脉动直流电压,通过滤波电路滤除脉动直流中的交流成分。稳压电路使输出保持稳定的直流电压。本设计主要采用直流稳压构成集成稳压电路,通过变压,整流,滤波,稳压过程将220V交流电,变为稳定的直流电压,并实现电压可在1.25V-37V可调,整个设计由proteus 仿真实现。二、单元电路图工作原理介绍2.1总体原理框图该稳压直流电源设计主要由电源变压器、单相桥式整流电路、电源指示电路、滤波电路和稳压电路构成,如图所示。单相交流电源 整流电源指示滤波220V变压器电路 电路电路负载稳压电路电路图 直流稳压电源的组成框图变压电路变压电路将220V、50Hz的单相交流电降压,变成所需要的直流电。变压电路如图所示。 图 变压电路整流及滤波电路整流采用单相桥式整流电路,它由四个整流二极管构成,在proteus元件库中找到桥式整流电路,并将其加载到电路中。整流输出的是脉动电压,含有纹波,因此需要通过滤波电路对脉动电压进行平滑处理。常用的滤波电路有电容滤波、电感滤波、以及由电容和电感组成的复合滤波电路。在本设计中,主要采用极性电容滤波,将极性电容C1,并联到桥式整流电路的输出端,查阅相关资料,滤波电容一般采用大容量的电容,因此我们这里选取2200uF的极性电容。且该电容的耐压值满足大于整流输出的电压值的条件。整流及滤波电路的示意图如图所示。图整流及滤波电路由图可知,负载上输出的平均电压的高低和脉动特性,与放电时间常数密切相关。 越大,电容放电速度越缓慢,脉动成分越少。对时间常数 有如下关系式: 为交流电源的周期。设电源变压器输出的电压有效值为 ,经滤波电路后的负载的平均电压为。它们有如下关系式:当电容 一定,负载开路,经滤波后输出电压: 当电容 ,输出电压的最小值为:对于桥式整流电容滤波电路,整流电路的内阻不大时,与的关系约为:实际电路图如图所示:图 桥式整流及电容滤波电路电源指示电路在滤波电容的两端并联一个电源指示电路,用于判断滤波之前的电路是否有故障。电源指示电路采用电阻串LED灯的形式。原理图如图所示.指示电路根据后文三端可调式集成稳压器LM317正常工作的特点,电容滤波后的电压大小应在40V左右才能满足LM317正常工作。一般LED发光二极管的工作电流在几mA到几十mA之间,这里我们取LED得工作电流为: 且二极管正常工作时的管压降一般为 ,这里取 则电阻的大小为: 根据实际情况,电阻的大小应取:稳压电路本设计采用LM317可调式集成三端稳压电路,查阅德州仪器公司LM317 3-Terminal Adjustable Regulator的技术文档,我们可以得到下列相关信息:Featuresl Output Voltage Range AdjustableFrom 1.25V to 37 Vl Output Current Greater Than 1.5Al Internal Short-Circuit Current Limitingl Thermal Overload Protectionl Output Safe-Area CompensationThis is a original design by myself during the college,to get more details and Proteus simulation files. You can subscribe the WeChat Public Number:交大小将.The rest of the document is as follows:1、稳压电路的介绍与分析2、变压器参数的计算与设置3、电阻的计算与选取、4、保护电路分析5、总电路图结构6、仿真结果分析7、总结8、参考文献文档预览图:仿真结果如下:A、以太网 B、快速以太网7. 从数据表RSGL和RSGZ两个表中,查询出“编号”字段值相同的记录的全部信息,则实现此功能的SQL命令为_ 。B. 视图和查询文件的扩展名都是.QPRB. S表中年龄大于60岁的记录被加上删除标记14. 查询设计器的排序依据选项卡的作用相当于SELECT命令中的_短语。6. Visual FoxPro是一种关系数据库管理系统,所谓关系是指_。A. .DBF B. .QPR C. .SCX D. .TXT26、子网掩码中“1”代表( B)。C. 选择了一个空闲的工作区 D. 显示出错信息B. 视图和查询文件的扩展名都是.QPR 课程设计名称 乒乓球游戏程序 姓名 专业班级 目录摘 要1第一部分 绪论21.1 课题设计背景2简介2硬件描述语言VHDL2简介21.2 课题主要内容3第二部分 系统设计42.1整体设计图42.2设计思路52.3具体功能对应等6第三部分 模块设计93.1控制模块9引脚功能9核心代码及解释10图133.2 分频模块14引脚功能14核心代码及解释14图153.3 按键处理模块15引脚功能15核心代码及解释15图163.4 锁楼层模块17引脚功能17核心代码及解释173.43 RTL图18第四部分 操作配图19第五部分 结论234.1遇到的问题和改进234.2工作分配比例23第六部分 附录24基于FPGA的乒乓球游戏程序的设计摘 要VHDL是高速集成电路硬件描述语言,目前已成为许多设计自动化工具普遍采用的标准化硬件描述语言VHDL语言功能性强、覆盖面广、灵活性高,具有很好的实用。本文设计一个基于VHDL的乒乓游戏机模拟乒乓球比赛。用VHDL编程模拟乒乓球比赛,电路模块由分频、状态机等部分组成,对各部分编写VHDL算法,进行编译及程序下载。通过验证,乒乓游戏机能模拟乒乓球比赛的基本过程和规则,并能自动裁判和记分,还能根据接球快慢改变球运行的速度。实现乒乓游戏机的功能。关键词:乒乓游戏机、VHDL、状态机第一部分 绪论1.1 课题设计背景FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。VHDL 的英文全名是VHSIC Hardware Description Language(VHSIC硬件描述语言)。VHSIC是Very High Speed Integrated Circuit的缩写,是20世纪80年代在美国国防部的资助下始创的,并最终导致了VHDL语言的出现。1987 年底,VHDL被 IEEE 和美国国防部确认为标准硬件描述语言。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。 Quartus简介Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。Altera Quartus II (3.0和更高版本)设计软件是业界唯一提供FPGA和固定功能HardCopy器件统一设计流程的设计工具。 Quartus II design 是最高级和复杂的,用于system-on-a-programmable-chip (SOPC)的设计环境。 QuartusII design 提供完善的 timing closure 和 LogicLock? 基于块的设计流程。QuartusII design是唯逐一个包括以timing closure 和 基于块的设计流为基本特征的programmable logic device (PLD)的软件。 Quartus II 设计软件改进了性能、提升了功能性、解决了潜伏的设计延迟等,在产业领域率先提供FPGA与mask-programmed devices开发的同一工作流程。1.2 课题主要内容随着可编程逻辑电路和EDA技术的发展,在逻辑电路设计和嵌入式系统设计方面,以CPLD/FPGA为代表的可编程逻辑器件已经逐步代替了传统的标准逻辑器件;本次论文的乒乓球游戏所有的程序可以集成在一个FPGA开发芯片上面,不用在用其他功能的分立逻辑元件,达到集成度高、响应快、功耗低的特点。本次论文主要是基于FPGA的乒乓球游戏的设计,模拟乒乓球比赛的基本过程和规则,自动裁判和记分,比局为7局,每局11分。而本次论文采用模块化设计,主要分为两大模块:时钟分频模块、状态机控制模块。第二部分 系统设计2.1整体设计图图 1 乒乓球游戏程序BDF图2.2设计思路1控制模块状态图图 2 乒乓球游戏程序控制模块状态图2总体思路SW0开关(EN)控制功能使能与比赛清零 。SW0关闭(EN=0),显示学号后六位,打开时允许运行,比分比局清零。利用状态机,设初始状态处于start状态,key3为复位键,按下key3可以回到start状态。通过各种请求信号实现状态的相互转换,进而实现发球和乒乓球左右移动、击球的相互转换,并在球未击中、提前击中、发球失败时显示相应比分、比局情况。通过设计control的反馈控制频率方式,利用不同键击球的快慢控制球运行的速度。并在整个游戏结束时有一个end标记与比分比局切换显示。2.3具体功能对应等1乒乓球控制模块控制乒乓球的运行状态的转换,比分、比局的显示。反馈信号信号的设置和输出,为分频模块提供指令信号,控制球运行的速度。图 3 乒乓球运行控制模块BDF2时钟分频模块 为状态机产生3种不同的时钟信号。图 4 时钟分频模块BDF第三部分 模块设计3.1控制模块表 1 控制模块的引脚功能表定义类型外设引脚功能in std_logicENSW0关闭显示学号后6位并对比分清零,打开则开始游戏CLK分频模块送入3种不同频率的速度RSTKEY3按一次重新开始新的一球HIT17.13SW17SW13选手甲接发球开关HIT5.2SW5SW2选手乙接发球开关HIT12.6SW12SW6禁止触球区outstd logicHEX7HEX7选手甲获胜局数HEX6HEX6选手乙获胜局数HEX5HEX5显示无意义HEX4HEX4显示无意义HEX3HEX3选手甲获胜比分HEX2HEX2选手甲获胜比分HEX1HEX1选手乙获胜比分HEX0HEX0选手乙获胜比分CONTROL1.0输出反馈给分频模块LIGHT17.2LEDR17LEDR2乒乓球位置显示模块主要分状态转换,状态译码,LED灯的译码,和辅助变量temp,辅助判断信号control的计数进程。利用temp判断是否分出胜负即游戏是否结束,结束之后显示闪烁辅助标志End并且清零比分。利用control判断接球快慢,反馈到分频器,分频器根据接球快慢控制球的运行速度,共快中慢三种速度,分别为50Hz,10Hz,5.556Hz。为方便检查结果,SW1直接控制速度开关,共快慢两种速度,分别为50Hz,5.556Hz。1 中间变量的初始化:SIGNAL ST,NST:STATE:=start;SIGNAL reg:STD_LOGIC_VECTOR(17 DOWNTO 2); -灯的内部变量SIGNAL BIFEN1,BIFEN2:integer range 0 to 11;-选手甲乙的比分记录变量SIGNAL BIJUONE,BIJUTWO:integer range 0 to 4; -选手甲乙的比局记录变量SIGNAL TEMP:integer range 0 to 1; -比局数的内部计数变量SIGNAL BIJU1,BIJU2:STD_LOGIC_VECTOR(6 DOWNTO 0); -选手甲乙的比局译码输出变量SIGNALBIFENOUT11,BIFENOUT12,BIFENOUT21,BIFENOUT22: STD_LOGIC_VECTOR(6 DOWNTO 0); -选手甲乙的比分译码输出变量SIGNAL REG_1:STD_LOGIC_VECTOR(6 DOWNTO 0);-数码管的内部变量SIGNAL REG_5:STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL REG_3:STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL REG_8:STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL REG_4:STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL REG_2:STD_LOGIC_VECTOR(6 DOWNTO 0);2主控组合进程:通过判断球的位置信号及开关键信号执行相应的状态转换。EN=1时游戏开始,进入状态start,temp开始计数,进入状态wait1检测发球选手并点亮相应的球所代表的LED,之后进入状态send,之后选择进入状态,movatoright或movetoleft,球开始向对方选手移动,当球到达可接球区域时,若对方及时击打并及时关闭开关,则进入状态movetoleft或movatoright球向回移动,如此反复。若发球方或接球方未及时关闭开关,则视为击打失败,返回状态start,对方加一分。每局为11分制,共设七局。每结束一局temp就会相应加1,当temp加到5,即分出胜负之后显示闪烁辅助标志End。以选手甲发球为例:(1)进入状态start,统计比分及比局。(2)进入状态send,判断选手甲(假设甲为左边一方)是否发球,若发球则进入状态wait1,否则停留在状态start。(3)进入状态wait1,判断选手甲发球端球代表的灯REG17是否亮起,若是则进入状态movetoright,反之返回状态start。(4)进入状态movetoright,灯右移,并判断是否有无关按键按下(SW17SW14),若无则继续右移,反之返回状态start并且对方得一分。当球移至REG6REG2,进入选手乙可接球区域: 当球移至REG6时选手乙及时击打相应开关SW6,则进入状态movetoleft,并调整球运行速度为快。若提前击打或未及时关闭开关,则击球失败并且对方得一分,进入状态start。REG5条件下类似。 当球移至REG4时选手乙及时击打开关SW4,则进入状态movetoleft,并调整球运行速度为中。若提前击打或未及时关闭开关,则击球失败并且对方得一分,进入状态start。REG4,REG3条件下类似。(5)进入状态movetoleft,灯左移,并判断是否有无关按键按下(SW2SW5),若无则继续右移,反之返回状态start并且对方得一分。当球移至REG17REG13,进入选手甲可接球区域: 当球移至REG13时选手乙及时击打相应开关SW6,则进入状态movetoright,并调整球运行速度为快。若提前击打或未及时关闭开关,则击球失败并且对方得一分,进入状态start。REG14条件下类似。 当球移至REG15时选手乙及时击打开关SW4,则进入状态movetoright,并调整球运行速度为中。若提前击打或未及时关闭开关,则击球失败并且对方得一分,进入状态start。REG16,REG17条件下类似。附movetoright代码:WHEN movetoright=>REG<='0'®(17 DOWNTO 3);-右移状态CASE REG IS WHEN "10000"=>NST<=movetoright;WHEN "00000"=>IF HIT="00000" THEN -开关及时关上NST<=movetoright;ELSE BIFEN2<= BIFEN2+1;NST<=start;-若未及时关上,对方加分END IF;WHEN "00000"=> NST<=movetoright;WHEN "00000"=>IF HIT="00000" THEN NST<=movetoright;ELSE BIFEN2<= BIFEN2+1;NST<=start;END IF;WHEN "00000"=>NST<=movetoright;WHEN "00000"=>NST<=movetoright;WHEN "00000"=>NST<=movetoright;WHEN "00000"=>NST<=movetoright;WHEN "00000"=>NST<=movetoright;WHEN "00000"=>NST<=movetoright;WHEN "00000"=>NST<=movetoright;WHEN "10000"=>IF HIT="10000" THEN CONTROL<="01"NST<=movetoleft;ELSIF HIT(5)='1' THEN BIFEN1<= BIFEN1+1;NST<=start;END IF;WHEN "01000"=>IF HIT(4)='1' THEN BIFEN1<= BIFEN1+1;NST<=start;ELSIF HIT="01000" THEN CONTROL<="01" NST<=movetoleft;END IF;WHEN "00100"=>IF HIT(3)='1' THEN BIFEN1<= BIFEN1+1;NST<=start;ELSIF HIT="00100" THEN CONTROL<="10"NST<=movetoleft;END IF;WHEN "00010"=>IF HIT(2)='1' THEN BIFEN1<= BIFEN1+1;NST<=start;ELSIF HIT="00010" THEN CONTROL<="10" NST<=movetoleft;END IF;WHEN "00001"=>IF HIT="00001" THEN CONTROL<="10" NST<=movetoleft;ELSE BIFEN1<= BIFEN1+1;NST<=start;END IF;WHEN OTHERS=>NST<=start;END CASE; 3主控时序进程:控制游戏使能及状态转换,具有异步清零功能。附代码:PROCESS (EN,RST,CLK)BEGINIF EN ='1' THENIF RST='0' THEN ST<=start;ELSIF CLK'EVENT and CLK='1' THEN ST<=NST; END IF;END IF;END PROCESS;4译码进程:EN=0时显示学号;EN=1时将选手甲、乙的比分及比局变量译码转为七段数码管显示。并且当TEMP=0时,在数码管上显示游戏结束标志End。代码见附录。3.1.3 RTL图图 5 控制模块RTL图3.2 分频模块表 2 分频模块引脚功能表FD定义类型外设引脚功能in std_logicCLK内部50MHz时钟ENKEY3总使能开关SW1SW1频率直接选择信号CONTROL速度控制频率选择信号out std_logicCLKOUT提供频率给GAME1核心代码PROCESS(CLK,EN)VARIABLE temp1:integer range 999999 downto 0 :=0;-50HzVARIABLE temp2:integer range 4999999 downto 0 :=0;-10HzVARIABLE temp3:integer range 8999999 downto 0 :=0;-5.556HzBEGINIF EN='1' THENif CLK'EVENT AND CLK='1' THENIF temp1=999999THENtemp1:=0; Q1 <= NOT Q1;ELSEtemp1:=temp1+1;END if;IF temp2=4999999THENtemp2:=0; Q2 <= NOT Q2;ELSEtemp2:=temp2+1;END if;IF temp3=8999999THENtemp3:=0; Q3 <= NOT Q3;ELSEtemp3:=temp3+1;END if;end if; ELSEtemp1:=0;Q1 <= '0'temp2:=0;Q2 <= '0'temp3:=0;Q3 <= '0'END IF;CASE CONTROL IS WHEN "00"=>IF SW1='1' THEN CLKOUT<=Q1;ELSIF SW1='0' THEN CLKOUT<=Q3;END IF;WHEN "01"=>CLKOUT<=Q2;WHEN "10"=>CLKOUT<=Q3;WHEN OTHERS=>CLKOUT<=Q1;END CASE;END PROCESS;2解释该模块将内部时钟的50MHz信号,变为50Hz,10Hz,5.556Hz。内部变量分别为Q1、Q2、Q3,将根据GAME模块反馈的CONTROL选择输出到CLKOUT。初始条件下可直接通过SW1控制Q1、Q3输出到CLKOUT。3.2.3 RTL图图 6 分频模块RTL图第四部分 操作配图1、EN=0,显示学号图 7 显示学号153835、1538422、EN=1,初始状态,甲和乙比局和比分均为0。图8 初始状态3、EN=1,甲发球,SW17亮。图 94、EN=1,右移状态。图 105、EN=1,乙接球失败,乙发球情况。图 116、甲乙比局2:1,比分2:5情况显示如下。图177、游戏结束辅助显示如下。图12第五部分 结论4.1遇到的问题和改进问题1:在比赛结束时,比分比局迅速清零,无法使比分比局按我们的意志在某时刻清零。解决办法:增设辅助信号,当比赛结束时,使数码管在结束标志与比局之间切换显示,最后由人为的控制使能开关清零。问题2:无法按照在不同键接球改变球运行的速度。解决办法:设一个反馈控制信号,将不同键接球信息反馈回分频模块里从而控制速度。4.2工作分配比例邢可馨:分频模块,按键击球以及比赛记分译码代码的设计与开发(55%)陈声琴:速度控制处理、状态机代码的设计与开发(45%)第六部分 附录一、 分频模块代码:LIBRARY IEEE;ENTITY FD ISPORT(EN:IN STD_LOGIC;CLK:IN STD_LOGIC; CLKOUT:OUT STD_LOGIC;SW1:IN STD_LOGIC;CONTROL:IN STD_LOGIC_VECTOR(1 DOWNTO 0) );END FD;ARCHITECTURE behav OF FD ISsignal Q1:STD_LOGIC;signal Q2:STD_LOGIC;signal Q3:STD_LOGIC;BEGINPROCESS(CLK,EN)VARIABLE temp1:integer range 999999 downto 0 :=0; -最快使比赛结束的速度VARIABLE temp2:integer range 4999999 downto 0 :=0; -接球加速后的速度VARIABLE temp3:integer range 8999999 downto 0 :=0; -正常发球速度BEGINIF EN='1' THENif CLK'EVENT AND CLK='1' THENIF temp1=999999THENtemp1:=0; Q1 <= NOT Q1;ELSEtemp1:=temp1+1;END if;IF temp2=4999999THENtemp2:=0; Q2 <= NOT Q2;ELSEtemp2:=temp2+1;END if;IF temp3=8999999THENtemp3:=0; Q3 <= NOT Q3;ELSEtemp3:=temp3+1;END if;end if; ELSEtemp1:=0;Q1 <= '0'temp2:=0;Q2 <= '0'temp3:=0;Q3 <= '0'END IF;CASE CONTROL IS -使用反馈信号控制速度WHEN "00"=>IF SW1='1' THEN CLKOUT<=Q1;ELSIF SW1='0' THEN CLKOUT<=Q3;END IF;WHEN "01"=>CLKOUT<=Q2;WHEN "10"=>CLKOUT<=Q3;WHEN OTHERS=>CLKOUT<=Q1;END CASE;END PROCESS;END behav;二、 状态机、击球、比赛计分、译码控制模块LIBRARY ieee;ENTITY GAME IS PORT(EN:IN STD_LOGIC; CLK:IN STD_LOGIC; -速度控制时钟RST:IN STD_LOGIC; HIT:IN STD_LOGIC_VECTOR(17 DOWNTO 2); CONTROL:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); -反馈信号控制球速LIGHT:OUT STD_LOGIC_VECTOR(17 DOWNTO 2);HEX_7: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);HEX_6: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);HEX_5: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);HEX_4: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);HEX_3: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);HEX_2: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);HEX_1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);HEX_0: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END ENTITY GAME;ARCHITECTURE behav