毕业设计(论文)-基于PIC单片机的钉扣机控制器.doc_第1页
毕业设计(论文)-基于PIC单片机的钉扣机控制器.doc_第2页
毕业设计(论文)-基于PIC单片机的钉扣机控制器.doc_第3页
毕业设计(论文)-基于PIC单片机的钉扣机控制器.doc_第4页
毕业设计(论文)-基于PIC单片机的钉扣机控制器.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于PIC单片机的钉扣机控制器设计目 录摘 要1Abstract11 引言21.1 选题背景和意义21.2 国内外研究现状、发展动态32 设计任务33 设计理论基础34 总体设计方案34.1 系统总体结构34.2 硬件设计的方案论证与比较44.2.1 单片机控制电路44.2.2 光耦相位检测54.2.3 可控硅控制电路54.2.4 显示电路64.2.5 电源电路64.2.6 按键电路75 硬件系统设计与原理75.1 单片机控制电路75.2 光耦相位检测电路85.3 可控硅控制电路95.4 显示电路105.5 电源电路106 系统软件设计116.1 主程序设计126.2 各模块子程序设计126.2.1 相位检测子程序设计126.2.2 可控硅导通角控制子程序设计136.2.3 检测按键功能子程序设计146.2.4 显示档位子程序设计147 系统测试与结果157.1 测试环境及仪器157.2 测试软件157.2.1 仿真软件ISIS157.2.2 作图软件Protel99 SE167.2.3 程序编译环境MPLABIDEV.8.56167.3 硬件调试167.4 软件调试177.5 测试结果177.5.1 电源1731 7.5.2 档位显示187.5.3 光耦输出波形197.5.4 可控硅的触发脉冲197.5.5控制次数测试207.6 结果分析218 结束语219 展望21参考文献23附录:24附图一:电路原理图24附图二:PCB图25附图三:实物图25附件四:程序26附录五:元件清单32基于PIC单片机的钉扣机控制器的设计职业技术教育学院 应用电子技术教育指导老师: 摘要:本设计是基于8位PIC单片机的钉扣机控制系统,是以PIC16F716为核心器件,通过键盘操作以及精确控制可控硅导通角的方式来实现直线电机自动钉扣的装置,有8种不同的档位可以转换钉扣力度,适应钉扣机对8种不同材料纽扣的钉扣要求。同时结合双向光电耦合器TLP521组成的相位检测电路、BTA41700双向可控硅构成的可控硅控制电路、按键电路和数码管显示电路等其他外围电路,最终实现其钉扣的功能,控制器控制钉扣的速度可达50次/分。关键词:PIC16F716单片机;直线电机;双向光耦;可控硅导通角Button Nailing Machine Controller Based On The PIC MCU DAI Ming-xia(07440104) Director:Zhao haixing Zheng qingeng(Application of Electronic Technology Education, College of Vocational and technical education institute, Zhejiang Normal University, Jinhua, China)Abstract: This design is based on the eight PIC microcontroller button nailing machine control system,PIC16F716 is the core device, by keyboard and precise control conduction angles way to realize automatic linear motor button nailing devices, there are eight different kinds of gear can convert button nailing dynamics, adapt to the button nailing machine has 8 different materials buttons button nailing requirements. And combination of TLP521 two-way photoelectric coupler phase detection circuit, BTA41700 bidirectional thyristor constitute silicon-controlled control circuit, key circuits and digital tube display circuit and other peripheral circuit, finally realizes the function of the button nailing, control the speed of the button nailing up to 50 times/points.Keywords: PIC16F716 MCU; linear motor; photoelectric couplers, the conduction angles of SCR1 引言 钮扣是服装结构中不可缺少的一部分。其作用是把衣服连接起来保暖以及使人仪表整齐等,除了这些实用功能以外,还对服装的整体造型设计起到画龙点睛的作用。谈及纽扣,自然而然会联想到钉纽扣的方法与技术。早期,由于技术的落后或其他方面原因的限制,人们只能是拿针和线用人工钉的方法来完成。对于数量少的衣服以及我们的生活中,这样的方式尚能接受。但对于大批量生产的服装公司而言,此方法就不切实际了,由此造成的损失也是无法估量的。因为它效率低下,生产工序多,极受人员训练水平的影响。而现如今,随着社会和先进技术的不断发展,这种钉扣方式在生产中已完全被社会所淘汰。近几十年来,越来越多的钉扣方式相继出现,结合电子技术的新型钉扣机更是层出不穷,满足现实生活和生产的不断需求。1.1 选题背景和意义近年来,电子钉扣类设备已进入市场并逐渐普及,成为服装等行业提高生产效率的重要手段。早期的电子钉扣机采用的是中规模集成电路555时基电路加移相电路控制,存在控制电路复杂,匹配补偿困难,电路漂移大,控制精度不高等不利因素。因而需开发一种新的控制器,来提高精度和可靠性,降低系统的复杂性。由于钉扣机控制器要求能够根据输入电压精确控制可控硅的导通角,并要求根据不同的压力,做精心补偿,才能保证输出能量相对恒定,因而控制器实现的控制难度较大,需采用DSP或者单片机进行控制。单片机的出现是近代计算机技术发展史上一个重要的里程碑,随着技术的不断更新,微型计算机的应用愈来愈广,也更受到人们的关注。单片机凭借其体积小、成本低、功能强、智能化等优点广泛运用到各个领域中,成为现代电子中最重要的智能化工具之一。DSP是数字信号的简称,主要应用在数据、语音、视像信号的高速数学运算和实时处理方面以及数据通信领域。具有运算速度快、控制能力强、支持密集乘法运算、哈佛型结构存储、执行时间的预测等特点8,但DSP系统规模和编程难度都较大,需要设计人员具有较深的专业知识。虽然在应用中,采用单片机和DSP技术均可以满足控制需求,但结合实际要求,钉扣机控制器主要是由直线电机带动,根据相位检测电路确定基准点,由单片机控制可控硅电路,使直线电机工作于钉扣状态,只有采用性能较高的单片机就能满足要求。而对单片机而言,DSP价格高,编程难度也大,在设计中只因需要根据输入电压精确控制可控硅的导通角而选择采用DSP技术,大材小用、性价比也较低,所以这类系统采用单片机控制,尤其是具有优异性能的PIC单片机是现实的首选。1.2 国内外研究现状、发展动态 电子产品的研制和发展情况,表征着一个国家基础工业和科学研究的现代水平。随着科学技术的进步和生产力的发展,电子技术已在服装业、工业等方面获得了广泛应用。 本系统就是电子技术在工业方面的应用,且设计所需控制的电机为直线电机。近些年来,国内外直线电机的发展动向可总结为三个方面:一是向高速、高精度方面发展;二是向大推力、大容量方面发展;三是向物流设备方面发展1。早期,为提高使用性能和效率,直线电机被用在织布机的梭子上,这一举动为其在今后的应用奠定了重要的基础,使直线电机进入了全面开发的应用时代,各类直线电机的应用得到迅速推广,直线电机的设备被逐步开发,制成了许多有实用价值的装置和产品,同时也推动了各种电子产品在生活中的应用。我国对直线电机作了很多的研究,也取得了一些成绩,但与国外的技术相比,无论是在推广上,还是应用方面都尚存一定的差距,很多研究单位已注意到了这点,也越来越重视其研究成果与发展的前景。2 设计任务 要求设计一个基于PIC的单片机的钉扣机控制器。钉扣机的电机采用直线电机,输出功率0-300W,用220V,50Hz交流供电,分8档。技术指标:1、档位:8档,在数码管上显示。 2、控制按键:2个,加档键和开启键。 3、控制次数:50次分种。3 设计理论基础 本设计是基于PIC单片机的钉扣机控制器设计,在设计过程中首要考虑的是选用合理的CPU,其次要考虑相位检测,如何确定基准点,保证其准确度,以及如何改变可控硅导通角的大小,实现8档不同的控制力度。由于钉扣需要一定的压力,此压力要根据纽扣的材料而定,不同材料的纽扣需不同的压力,不同的压力对应不同的导通角,因此需要不同的档位来改变控制力度。根据设计要求,用光耦来实现交流电相位的检测,用单片机的定时器实现时间的补偿,同时通过软硬件结合改变可控硅导通角的大小以及当前档位的显示和各档位的转换,进而控制直线电机运行。4 总体设计方案4.1 系统总体结构 系统的总体结构分为六个部分,如图4-1所示。分别是光耦相位检测电路、可控硅控制电路、整流电路、单片机控制模块、按键电路以及显示电路。图4-1 系统的总体结构4.2 硬件设计的方案论证与比较4.2.1 单片机控制电路单片机控制电路主要实现可控硅电路、显示电路以及控制按键的工作,它是整个系统的核心。方案一:采用通用的MCS-51单片机,此单片机运算能力强,软件编程灵活,支持高级语言、应用程序和操作系统等。如果用51单片机,要达到设计要求:其一,必须仔细设计抗干扰电路,这样会使硬件电路复杂。其二,此单片机是基于复杂指令集的内核,指令繁多;总线结构是冯-诺依曼型,在同一存储空间不能同时取指令和数据;且采用的是单指令流水线结构,需要两个或两个以上的周期才能改变寄存器的内容,程序冗长,不易调试。方案二:采用PIC系列单片机来作为本系统的控制中心。其一,此单片机拥有基于精简指令集(RISC)的单片机内核,8位数据线,12、14、16位不同的指令系统,指令具有单字长特性,允许指令码位数多于数据位数。由于是哈佛型总线,在同一存储空间取指令和数据能同时进行,提高了数据的吞吐率;其二,执行速度快,中断能力强;引脚具有防瞬态能力,I/O口驱动能力强(约20mA),应用方便。其三,具有彻底的保密性、睡眠和低功耗模式,自带看门狗定时器;其可靠性高、稳定性强、抗干扰性能好,是一般工业方面的首选。其四,PIC单片机取指和执行采用双指令流水线结构,当一条指令被执行时,允许下一条指令同时被取出,实现单周期指令;其所有寄存器,包括I/O口,定时器和程序计数器等都采用RAM结构形式,只需一个指令周期即可完成访问和操作。其五,PIC单片机型号丰富,能供使用者根据自己的需要选择,且通常无需外部扩程序存储器、数据存储器和A/D转换器等外部芯片, 凸显了其“单片”的特性。通过比较,选用PIC系列单片机较为合理。同时根据设计要求,选用PIC16F716型号和4MHz时钟。4.2.2 光耦相位检测本系统需控制可控硅的导通角,即在什么相位时使可控硅开始导通。因为检测的信号是交流电的整个周期,因而要考虑相位的检测问题,从而确定基准点,为满足精度,该点要测量的越准确越好。本系统采用光耦来实现,其基本工作原理是:当输入端加电信号时,发光器发出光线,照射在受光器上,受光器接受光线后导通,产生光电流从输出端输出,实现了“电-光-电”的转换7。方案一:采用线性的单向光耦组成相位检测,如PC817、EL817等。但由于所要检测的信号为交流电整个周期的波形,因此需要2个光耦组合才能实现。方案二:采用线性的双向光耦组成相位检测,如TLP521,只需一个即可实现。方案三:采用4N系列光耦,此系列的光耦是非线性的,即电流传输特性曲线为非线性,适合于开关信号的传输,不适合模拟信号的传输。 本系统的光耦主要用于检测基准点,对信号的要求很高,同时用于电源回路,实现前后高低电压的隔离。如果使用非线性光耦,有可能使振荡波形变坏,严重时出现寄生振荡,使输出引脚产生很大的干扰,同时降低相位测量的精度。而线性光耦的电流传输特性曲线接进直线,且小信号时性能较好,能以线性特性进行隔离控制。而且电路输入信号由变压器次级输出提供,电压小,功耗也小,输出由光耦的三脚发射极输出,波形幅度也较大。综上所述,我选择方案二的双向线性光耦。4.2.3 可控硅控制电路 可控硅在性能上,不仅具有单向导电性,而且还具有可控性。状态有正向阻断、可控导通、持续导通和反向阻断或过零关断,能以小电流控制大电流,构成的电路也简单。方案一:采用单向可控硅组成可控硅控制电路,可控硅能在外部控制信号作用下由关断变为导通,一旦导通,外部信号就无法使其关断,只能靠去除负载(负载电流小于维持电流)或使其两端电压反向而关断。其特点是经过可控硅两主极的电流只能单向流动,而当电流反向的时候,可控硅就不再导通。方案二:采用双向可控硅,双向可控硅是在普通可控硅的基础上发展而成的,其特点是经过可控硅两主极的电流可以双向流动。当电流反向时候,可控硅仍然可以导通,即有在两个方向轮流导通和关断的特性。 用及可控硅,需考虑其驱动问题,即触发方式。触发方式有移相触发和过零触发两种。由于可控硅会在交流电的零点附近截断,所以需考虑零相位的问题,再者触发电路和控制主电路之间有电的联系,容易受电网电压的波动和电源波形畸变的影响,要想同步解决这些问题,往往又会使电路变得复杂。MOC3061系列的光耦驱动器可以很好的解决这些问题,且触发电路简单可靠7。 根据设计的要求,可控硅控制电路针对的信号是交流电的整个周期,换言之,所采用的可控硅必须能够同时识别正负两个方向的信号。单向可控硅属于直流控制器件,只能实现正半轴信号的通断,如果要控制交流负载,必须将两只可控硅反极性并联,让每只可控硅控制一个半波,为此需两套独立的触发电路,使用不够方便。综上所述,我采用方案二。双向可控硅不仅兼容了单向可控硅的特性,还能代替两只反极性并联的单向可控硅,仅需一个触发电路,节约资源,符合本电路的设计要求。4.2.4 显示电路显示电路主要用于档位的显示。方案一:用数码管显示,通过单片机来控制,用三极管作驱动。方案二:同样用数码管显示,而是采用串行口方式0作I/O口扩展,同时把串行口设置成“串入并出”的并行输出口,再配合使用一个8位“串入并出”的同步移位寄存器。移位寄存器采用74HC595,该型号在同功能芯片中驱动电流相对较大;且内部有数据存储寄存器,在移位过程中,输出端的数据可以保持不变,保证数码管无闪烁感,输出端有禁止使能控制器。综上所述,根据题目设计要求,通过比较,选用方案二,因为方案一会消耗很多IO口,而且会导致硬件电路复杂。4.2.5 电源电路系统中除了220V电源外,单片机等模块还需要供电,一般5V电源就能满足本系统中所有芯片的供电,因而需要设计一个5V的稳压电源。常用的电源电路主要有变压器、整流电路、滤波电路、稳压电路构成。对于变压器的选择,可以根据输出电压的大小来定,如果输出只要5V,那么选择次级电压为9V或者12V的变压器就足够了,本电源变压器选择的是次级输出电压为12V的变压器。整流电路主要有半波整流、变压器中心抽头、桥式整流等。方案一:采用半波整流,只需将一个普通整流二极管与之后的负载串联起来即可。其优点是结构简单,但输出电压低,脉动变化程度大,变压器半个周期不导电,利用率低。方案二:采用变压器中心抽头,利用2个普通的整流二极管分别与之后的负载形成一个同路,使交流信号全部都能通过,解决了半波整流只能通过正半轴信号的问题,同时也解决了半波整流输出电压小、脉动变化程度大的问题,但是具有中心抽头的变压器工艺复杂,变压器线圈的匝数多,体积大而重,且整流二极管的反向最高工作电压要高出一倍。方案三:采用桥式整流,利用4个普通整流二极管连接成桥式电路,即将4个二极管两两串联后再并联。二极管两两串联的中间分别引出导线接变压器次级的两个输出;二极管的共阴极点即为输出整流直流电压的正极,共阳极点即为输出直流电压的负极。桥式整流电路也是全波整流,而且二极管的最高反向工作电压与半波整流相同。二极管用IN4007实现,对于市电(50Hz)的整流,其基本参数已能满足此需求。因此采用方案三。滤波电路主要有电容滤波和电感滤波。方案一:采用电容滤波,其结构是在整流电路的负载两端并联一个较大容量的电解电容,利用电容的充放电作用使输出电压趋于平滑。方案二:采用电感滤波,其结果是在整流电路后串联一个电感量较大的电感,由感抗公式得:电感量越大,对交流电呈现的阻碍作用就越大,而对直流电的阻碍则很小,很容易通过,从而就达到了滤波的效果。 通过比较,电感滤波适用于负载电流较大且经常变化的场合,电容滤波适用于负载电流较小且经常不变化的场合,小负载下电容滤波效果较好。而系统所需的电源负载电流不大,所以采用方案一。 稳压电路通常有固定式三端稳压器和可调式三端稳压器。固定式三端稳压器有78系列和79系列,78系列输出正电压,而79系列输出负电压,后两位是它们输出的具体电压值。可调式三端稳压器也有输出正负之分,CW117-CW317系列输出的是正电压,CW137-CW337系列则是负电压。可调式三端稳压器适用于系统所需电压种类较多的场合。而本系统只需要+5V电源,所以选择7805来实现。4.2.6 按键电路按键电路主要有2个,分别是加档键和启动键。加档键用于8个档位的累加,启动键用于系统的开启。加档键采用普通按键即就可,启动键则要根据系统需要另外设计,在调试过程中用普通按键模拟。5 硬件系统设计与原理5.1 单片机控制电路本系统的中心控制电路采用8位的PIC16F716单片机为核心器件,将PIC16F716系列单片机以及与之匹配的时钟电路、复位电路等组合,形成其最小系统,保证单片机能够实现其最基本的功能。时钟电路由4M的晶振和2个15pf的电容构成,电容起到滤波的作用,使保证了振荡的输出波形。复位电路由限流电阻和按键串联而成,由于复位引脚是低电平有效,所以当按键被按下时,该I/O口被拉至低电平,实现复位功能。并且通过程序,实现按键模块、可控硅模块、显示模块、报警功能等其他外围电路的控制。其具体原理图如图5-1所示。S1为加档键,S2为模拟系统开启键。当整个系统上电时,数码管显示档位1,每按下一次S1,档位累加1,直至档位8,再按一次,数码管又从档位1开始,依次循环,实现8种不同的控制力度。当按下S2键,系统开始钉扣,根据当前档位决定钉扣力度。图5-1 单片机控制电路原理图5.2光耦相位检测电路光耦相位检测电路主要实现对输入电压的补偿和前后二级高低电压之间的隔离。因为单片机需要时间反应,而测量电路电压变化比零相位提前了一点,所以造成实际电路测得的不是交流电的零点,因此电路需要补偿,而这个时间单片机用定时器很容易实现。改电路还能稳定电压和起到隔离作用。光耦的内部结构是由一个发光二极管和一个三极管构成。相位检测电路的输入电压有变压器次级输出电压提供,当12V交流电进入光耦输入端时,发光二极管不会马上导通,因为发光二极管导通需要一定的压降,此时二极管处于截止状态,无法触发三极管导通,所以三极管截止,发射极被拉至低电平,光耦输出为零。当交流电压达到1V左右时,发光二极管开始导通,此时基准点也被确定,同时触发三极管导通,发射极被拉至高电平,光耦输出5V。由于二极管未能在上电之后马上导通,所以二极管两端的输出波形较输入波形有一个滞后,经过三极管后,输出为一矩形波。R4、R5为限流电阻,R4的阻值可根据公式(VA-VF)/IF得到,其中VF为发光二极管的导通压降,约2V左右,IF为正向电流,约20mA左右,由此可以计算出R4=(12-2)/0.02=500。R5作用是减小光耦的输出电流,1K左右即可。图5-2 光耦相位检测电路原理图5.3可控硅控制电路根据方案论证的结果选用BTA41700双向可控硅和MOC3061光耦驱动器组成可控硅控制电路,如图5-3所示。该电路可实现交流点的无触点控制,因为可控硅的工作原理是:两阳极间有电压,且控制极上也有触发脉冲时,无论所加电压和脉冲的极性如何,就能触发其导通,一旦导通,即使去掉控制极上的触发脉冲,也能维持导通状态;要截断可控硅,只有当两阳极的电流小于维持电流或在控制极无触发电压时,改变两个阳极间的电压极性6。可控硅电路在单片机的控制下,根据相位检测电路所确定的基准点,使可控硅在该点开始导通,当到达交流电的零点附近时截断,进而改变导通角控制的大小。当可控硅导通角越大时,压力越小。因为压力的大小是通过直线电机的能量的大小体现的,直线电机是一种利用电能直接产生直线运动的电动机,而压力和能量是呈单调递减的关系,所以导通角越大,能量越小,压力也越小。由于双向可控硅输入电压为200V左右,而单片机工作电压只有5V,为确保操作者和CPU的安全,采用必专门的芯片MOC3061进行隔离,同时作为双向可控硅的驱动。电阻R1为限流电阻,R1的阻值可根据公式(VCC-VF)/IFT计算,式中VF为红外发光二极管的正向电压,可取1.2V1.4V;IFT为红外发光二极管的触发电流,可取15mA,因为MOC3061的触发电流为15mA。所以计算得R1=240,取阻值为200的电阻即可。R2为双向可控硅的门极电阻,当可控硅灵敏度较高时,门极阻抗也很高,并上R2可提高抗干扰能力7。电路的后部分是整流模块,由于系统所用的电机为直线电机,所以要将交流电转换成直流电,此电路由4个6A10二极管构成桥式整流,当输入的信号为交流电的正半轴时,二极管ZD2、ZD3导通,当输入的信号为交流电的负半轴时,二极管ZD1、ZD4导通,从而实现交流电整个周期的整流,最终得到脉动直流信号,供电机运行。因为此电路电压高,电流大,消耗的功率也大,所以要选择正向电流和耐压够大,功率特性好的二极管。6A10二极管正向电流6A,耐压35V,最高反向工作电压1200V完全能满足要求。ZD5二极管是用于保护电机和电路,因为当系统断电时,J2两端的感应电动势很大,会击穿整流电路和电机的绝缘层。R3为限流电阻,其阻值可以根据公式来求得,其中VAK为整流后的输出电压,经整流后;Vn为二极管的耐压,约35V,I为二极管正向电流,约6A,由此得R3为26,取R3=20。图5-3 可控硅控制电路原理图5.4 显示电路显示电路由移位寄存器74HC595和数码管构成。用单片机的3个I/O口来控制移位寄存器工作,分别作为时钟信号、锁存时钟线和串行数据线。通过移位寄存器扩展了I/O口,将串行输入的数据并行输出。电容C3跨接在电源和地之间,用于减小电源和地上的干扰,起到良好的滤波作用。图5-4 显示电路原理图5.5 电源电路5V电源电路由次级输出电压12V的变压器、桥式整流电路、电容滤波电路和7805稳压电路构成。整流电路的作用是将交流电变为脉动直流电,滤波电路的作用是将脉动直流电变成较平滑的直流电,稳压电路的作用是将直流电稳定在系统所需要的电压值。当220V交流电进入变压器,输出12V的交流电,经过桥式整流得到10.8V的脉动直流电,因为桥式整流电路输出电压与输入电压的关系是0.9倍;由于整流后的脉动直流电仍含有较大的纹波,所以必须通经过滤波,以得到较平滑的直流电。具体数值计算可根据公式来求得。式中:10ms为交流电周期的一半。取Vimin=7.5V,因为在使用三端稳压器时,为了保证稳压性能,输入端和输出端间电位差至少应在2V以上,但也不能太大,以减少器件功耗和避免器件损坏。对于输出电压不大于18V的稳压器,一般输入电压应小于35V。按输出电流应有10的余量,可取5。通过计算,得:C6为3014 uF。由式中可以看出输入电压值与电容值成反比例关系,由于取的是输入电压的最小值,只要在输入电压的范围内增大输入电压,所得的电容值也是符合要求的,所以取C6=1100uF。电容C8数值可在470uF左右,C6、C8均用电解电容,主要用来滤除电路中低频信号的干扰。C7、C9是瓷片电容,取104,主要用来滤除电路中高频信号的干扰。经过电容滤波得到14.4V的直流电,因为桥式整流电容滤波输出电压与输入电压的关系是1.2倍。由此得到的电压还会随电网电压波动(一般有10左右的波动)、负载和温度的变化而变化。因而在整流、滤波之后,还需稳压,使输出直流电压稳定在5V11。图5-5 电源电路原理图6 系统软件设计软件设计主要是为了实现对可控硅导通角的有效控制,主要采用的是模块化设计方法,具有可维护性及可扩充性。系统程序主要包括主程序、相位检测子程序、可控硅导通角控制子程序、按键读取子程序、显示数据程序、延时程序等等。系统的总体软件框图如图6-1所示。将各个功能程序以子程序的形式写好,当写主程序的时候,只需要调用子程序,然后在寄存器的分配上作一下调整,消除寄存器冲突和I/O冲突即可。程序中应尽量用调用指令来代替跳转指令。因为跳转指令使得程序冗长,不易于看懂各段程序之间的结构关系。而调用指令则不同,调用指令使得程序结构清晰,无论是修改还是维护都比较方便。将功能程序段写成子程序的形式,除了方便本界面程序的调用之外,还能方便以后的应用,如以后的程序设计中同样要用到此功能,直接将这个单元模块调用即可。同时要注意子程序中尽可能少的调用其它子程序,以保证系统的稳定运行。图6-1 系统总体软件框图 6.1 主程序设计 主程序流程图如图6-2所示。图6-2 主程序流程图6.2 各模块子程序设计6.2.1 相位检测子程序设计由于相位检测电路在系统运行时电压变化比零相位提前了一点,造成实际电路测得的不是交流电的零点,加上单片机需要时间反应,因此该电路需要补偿,而这个时间单片机用定时器很容易实现。其程序流程图如图6-3所示。图6-3 相位检测程序框图6.2.2 可控硅导通角控制子程序设计当电源过零后,即到达正弦波的2n相位和2n+的相位时,过零脉冲就会引起RB0的中断,CPU执行中断服务程序,将I/O口RA0置高电平,同时给定时器TIMER0赋值,并启动定时器,时间t1决定了时间常数,经过时间t1后,定时器TIMER0则产生溢出中断,将T0IF置1,执行TIMER0的中断服务程序,在TIMER0中断服务程序中,将I/O口RA0清零,使其产生脉冲上升沿,同时也给定时器TIMER1赋值,并启动定时器,经过t时间后,定时器t1又产生中断,在TIMER1的中断服务程序中,使I/O口RA0置1,形成脉冲下降沿,然后关闭定时器TIMER1。等待下一个过零脉冲的到来。注意中断可以通过清零TOIE来屏蔽。重新使能该中断前,必须在中断服务程序中将T0IF位清零,因为在休眠状态下,定时器被关闭,所以不能直接唤醒单片机16。在实际调试时,要将主程序设计中的外部中断RB0的中断请求设置为下降沿有效,且为高级中断,定时器为低级中断;在电路原理设计中也提及过电源真正过零点与相位检测电路所定的基准点有一定的误差,导致最后的输出波形有一定的滞后,所以在程序设计时要将这一点考虑在内,并作出相应的计算。其次如果控制角过大,导通角很小时,触发脉冲就会靠近过零脉冲,就会导致定时器TIMER0尚未中断结束,外部中断就已经到来,造成误差,所以必须在TIMER0中断入口处,关闭TIMER0的中断请求,相应地在TIMER0中断出口处,打开TIMER0的中断请求,防止在出现中断嵌套时,程序自动将TIMER0重新赋值和开启。其程序流程图如图6-4所示。图6-4 可控硅导通角控制流程图6.2.3 检测按键功能子程序设计按键检测程序主要是实现2个按键功能的识别,当检测到的是工作键被按下时,则执行系统开始工作的功能;当检测到的是加档键被按下时,实现档位的累加功能,即由档位1至档位8的循环显示。其程序流程图如图6-5所示。图6-5 按键检测程序流程图6.2.4 显示档位子程序设计 显示档位子程序主要是通过中断法将单片机读取的档位数据送至数码管显示,并能通过加档按键,实现8个档位的循环。即数码管上的数字能够依次累加,直到档位8为止,再进入下一个循环。当数值超过8时,出错,蜂鸣器开始报警。其流程图如图6-6所示。图6-6 显示档位流程图7 系统测试与结果本系统的调试共分为四大部分:硬件仿真、硬件调试,软件调试和软硬件联调。由于在系统设计中采用的是分模块的设计法,可以很方便对各电路模块功能进行逐级测试:电源模块的调试,相位检测模块的调试,单片机控制模块的调试,可控硅控制模块的调试、档位显示模块的调试,最后将各模块组合后进行整体测试。7.1 测试环境及仪器 测试条件:1、电压输入范围:200V一240V,频率50Hz。 2、用电功率:10-300W。测试仪器:数字万用表、数字示波器、秒表。7.2 测试软件在本设计仿真和调试过程中主要用到以下几种软件:仿真软件Proteus、做图软件Protel和程序编译环境MPLABIDEV.8.56。7.2.1 仿真软件ISIS我选用的仿真软件是ISIS Professionalv7.5电路分析仿真系统,它可以仿真各种电路和IC,支持多种单片机,元件库齐全,使用方便。对本设计的部分模块进行了设计后的仿真,通过软件的仿真,不仅提供很多的方便,而且还能以此为依据与实际结果进行对比分析。如果未经过仿真,直接进行硬件的组装,调试,则肯定会出现不少问题。如因调试方法错误或其他元件参数设计不对,很容易出现元件烧坏的现象,影响设计进程。因为在调试过程中,一旦某一环节的测量结果没有达到预计的要求,肯定需要对电路进行检查以及对电路的参数进行修改,而在软件上修改电路的参数要远比在实物上修改来的方便和快捷,避免一些不需要的麻烦。7.2.2 作图软件Protel99 SE通过作图软件Protel99 SE来完成系统的原理图绘制以及PCB板的绘制与制作。Protel99 SE是电子电路辅助设计软件之一。它可以基于Windows平台的32位EDA设计系统,它将电路原理图设计、印制电路板设计等多个实用工具软件组合在一起,设计能力强大、编辑功能高速有效、操作界面友好,是电子设计的首选软件20。通过此软件所作的图可以对原理图进行电气检查,作为二次仿真调试。对于本设计在作图时要注意以下几点:首先画原理图时,要注意各元件之间的连接,必须在连接的起始点出现虚框时才可开始放置导线,否则可能出现虚连,导入PCB时会出错;其次是必须正确填写每个元件的封装,因为PCB各元件的大小就是按原理图的封装形成,封装与实际元件的尺寸不同,会给焊接带来一定的麻烦;再者在PCB板层面必须先设置好单双面板、线的粗细等,对部分元件,默认的焊盘大小可能不适合实际元件,要另作修改。电源线、地线以及高压电部分所布的线要尽可能粗,并注意高压电与低压电的隔离。7.2.3 程序编译环境MPLABIDEV.8.56MPLABIDEV.8.56是一种适用于PIC系列单片机的集成开发环境,可在Windows操作系统下运行,提供了适用于PIC系列单片机的开发调试应用程序与开发工具,库函数丰富,功能强大。它既可以连接PICMASTER、MAPLAB ICD/ICD2、MAPLAB ICE等硬件设备对PIC进行在线调试;也可以使用开发环境中的MAPLAB SIM进行软件模拟调试,并能快速在不同的开发/调试模式之间进行转换。在此集成开发环境下可以创建和编译PIC的汇编和C语言程序19。本系统采用C语言程序,因为较汇编,C语言在功能、结构等各方面有明显的优势,易学易用。由于选用的是C语言编写的源程序,在编译前必须安装和设置相应的C语言编译器,对PIC16型号的单片机可选用PICC,而PIC18系列需用PICC1819,即C编译器的型号与单片机的型号要对应。7.3 硬件调试在上电之前,先对每个模块电路进行检查,是否存在制作缺陷,如短路、漏接、虚焊、误接、元件正负极性接反等问题。检查无误后再上电,分别对各个模块的功能进行调试,主要调试各模块能否实现指定的功能。最后将系统整体连接,结合软件进行联调。在本设计中相位检测电路是整个调试过程中的难点,原先的方案是相位检测电路的输入信号由变压器的初级提供,即由220V交流电直接供应,输入端再串联一个阻值很大的电阻进行分压,由此所得的结果与理论相差甚远,而且无论如何改变分压阻值,输出波形不能与仿真波形对应,而且波形输出有较大的偏移。考虑到变压器的初级电压高,所要串联的分压电阻阻值也大,功耗就大,所以改用另一方案,相位检测电路的输入信号由变压器的次级提供,次级电压就相对很低,所要接的分压电阻阻值也小,功耗也就低,根据硬件设计时计算只要500左右即可。由此所的输出的波形与理论分析结果非常接近,此模块调试成功。此模块的成功调试,为后续电路的调试打下良好的基础。7.4 软件调试用MPLABIDEV.8.56编译环境进行程序的编写,用C语言实现。首先将程序进行编译,检查是否存在语法错误或其他方面的问题。如编译失败,则根据界面下方的错误提示,修改对应的程序语句;如果编译成功,则可以将此程序烧写进PIC16F716单片机中。在烧写程序时,采用USB接口的烧写器,插上芯片时必须注意芯片不能插反,芯片缺口向上,否则可能烧坏芯片,写好后将芯片插在硬件电路上,对系统进行整体调试。接触了一款新的单片机,在程序编写上我觉得与之前所学的C-51系列最大的区别是PIC单片机I/O口的应用必须要设置输入输出方式,因为其内部有一个方向寄存器,如果不设置,单片机无法识别信号的状态,也无法传输信号。还有运行环境必须安装C语言编译器,编译时一定要选择语言组件和主控芯片类型,否则都会导致编译的失败。7.5 测试结果 通过仿真,可以了解各模块电路的设计结果,证实理论分析的结果,并可以作为硬件调试的依据;通过对比,方便查询具体问题的所在。7.5.1 电源 (1)仿真结果电源仿真结果如图7-1所示,仿真过程中采用直接在整流两端加低压交流电的方法,因为加变压器仿真,会随着后续的负载,次级电压发生变化,所以采用在输入端直接加12V电压,仿真示波器界面黄色为输入的12V正弦信号,红色为输出5V直流电。图7-1 电源的仿真结果 (2)实际测量结果 电源的实际测量结果如表7-1所示。各部分所测量的数值均有10%左右的偏差。表7-1 电源的测量结果输入输出Ui变压器U1整流U2滤波U3稳压U4220.1V12.1V10.7V16.9V5.1V7.5.2 档位显示 (1)仿真显示档位显示和转换的仿真结果如图7-2所示。图7-2 档位显示和累加的仿真结果 (2)实际显示结果实际档位转换和显示结果如图7-3所示。图7-3 档位累加和显示7.5.3 光耦输出波形 (1)仿真波形光耦相位检测电路将输入的12V正弦波整形成5V的矩形波,其仿真波形如图7-4所示。黄色为12V的正弦信号,红色为光耦输出的信号。图7-4 光耦仿真输出波形 (2)实际测量波形 实际测量波形如图7-5所示,与理论结果比较接近。图7-5 光耦测量输出波形7.5.4 可控硅的触发脉冲 (1)仿真波形可控硅的触发脉冲仿真结果如图7-6所示,其中蓝色波形为可控硅输入的220V,50Hz的正弦交流电,绿色为光耦输出的脉冲信号,红色为可控硅的触发信号,通过这两脉冲的信号对比,可以计算出每个档位的相位差,即在程序设计中各档位间该延时多少时间。图7-6 可控硅的触发脉冲仿真波形 (2)实际测量波形在测量此数据时,一定要选择精度较高,功能较全面的数字示波器,因为此波的形测量只有通过单步调试才能实现。当按下系统开启键,结合示波器的单步调试按钮、水平位移按钮等,得到图7-7波形。从图中可以看出可控硅运行一周共有9个脉冲,这是因为在程序中已设置可控硅的触发脉冲为9个周期,所以此测量结果完全符合要求。图7-7 可控硅的触发脉冲7.5.5控制次数测试 控制次数测试按每分钟来测,平均每个档位均为50次左右。测试结果如表7-2所示。表7-2档位测试1(次)测试2(次)平均数(次)档位1515251档位2515151档位3505050档位4515050档位5505050档位6495049档位7504949档位84949507.6 结果分析 结合硬件及软件的统一调试,实现了钉扣机的控制,可以实时显示钉扣机当前的档位值,也可以通过加档键实现8种档位的转换,从而改变钉扣力度。因此单片机控制可控硅导通角的基本电路、显示电路以及它们所对应的程序是成功的。但是设计所要求的每档的压力间隔要求大致均匀这一点没有成功完成,可能是软件部分的问题,没有将相位检测的基准点与相位误差计算精确所导致,使相位补偿不能很好的实现。由于之前没有接触过此类型的电路,经验不足,未能调试成功。通过本系统的设计,我深刻感受到对于模电知识的应用,理论知识只能作为设计的基础,而经验往往起着决定性的作用。8 结束语 本系统是基于8位的PIC16F716单片机为核心器件的钉扣机控制器,通过相位检测电路,可控硅电路、直线电机等一系列外围硬件电路与C语言程序相结合来最终实现可控硅导通角大小的控制,进而达到系统的钉扣功能,并且能够通过加档键,改变钉扣的力度,实现8种不同材料纽扣的钉扣。在整个系统设计和调试过程中碰到了很多问题:其一,在画系统原理图时因网络标号错误,使得导入PCB板时,整个相位检测电路连接错误,电路不能正常工作。其二,在调试中一定要细心,注意安全,因为本电路前部分涉及高电压,所以在调试时一定要避免接触高压部分;其三,改变高压电路的任意参数必须三思而后行,即使是一阻值,也可能烧坏元件。其四,本设计是自制电源,选择的电源线是三叉口的,即存在一根地线,由于粗心,第一次连接时将一个电源线和零线接在了变压器两端,导致电源直接短路。其五,由于对while语句理解偏差,导致程序运行至while语句,便进入死循环状态。虽然问题很多,但最终都得到了圆满的解决。9 展望通过这次毕业设计的制作,使我在各方面都有了进一步的提高。在设计中肯定会碰到一些自己不曾学过或接触过的内容,那么首先应查询其数据手册或相关资料,做进一步的了解和研究,掌握其基本用法。虽然本作品没能将发挥部分也实现,但已能体现其基本的利用价值,也涵盖了较多的知识面,首先突破了基础单片机,应用了一款新的单片机来实现,并涉及到了如何用单片机来控制可控硅导通角的大小以及其基本电路的设计、程序的编写和Proteus软件的仿真,相信只要对可控硅导通角的控制电路等模电知识做更多的实践和学习以及对PIC单片机进行更深入的研究,对市场进行更全面的调查,肯定能设计出功能更强大、精度更高、使用更方便的钉扣机控制器。因此本设计对于同类设计中具有一定的理论和实践参考价值。综合考虑,我觉得本设计仍有较多需改进的地方:(1)可以实现档位的自由转换,可用手动预设来达到所需要的档位,这样实用性更强、更人性化。(2)实现系统的自动钉扣,当系统按下开启键时,系统就能开始钉扣,并结合暂停键的功能。(3)设计一个保护装置,来更好的确保使用者的安全。同时我也发现了自己的很多不足,还需进一步的学习,不单单是书本上的知识,更多的还是生活中的经验和见识,把握平衡软件程序的编写和硬件电路的设计,方便以后学习或工作的应用。最后由衷的感谢帮助过我的所有老师和同学!参考文献1 叶云岳.国内外直线电机发展动向与技术趋势.浙江大学.2 丁跃军,来清民,刘建华.PIC单片机基础教程M.北京航空航天大学出版社,2005第2期.3 彭国平,岑丽绸.可控硅导通角的数值控制M.广东:自动化与信息工程1997第4期.4 李庆祥,徐端颐.实用光电技术M.第一版.北京:中国计量出版社,199661675

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论