毕业设计基于单片机的直流脉冲(PWM)调速及旋转方向控制系统设计.doc

上传人:文库蛋蛋多 文档编号:4145317 上传时间:2023-04-07 格式:DOC 页数:27 大小:887.50KB
返回 下载 相关 举报
毕业设计基于单片机的直流脉冲(PWM)调速及旋转方向控制系统设计.doc_第1页
第1页 / 共27页
毕业设计基于单片机的直流脉冲(PWM)调速及旋转方向控制系统设计.doc_第2页
第2页 / 共27页
毕业设计基于单片机的直流脉冲(PWM)调速及旋转方向控制系统设计.doc_第3页
第3页 / 共27页
毕业设计基于单片机的直流脉冲(PWM)调速及旋转方向控制系统设计.doc_第4页
第4页 / 共27页
毕业设计基于单片机的直流脉冲(PWM)调速及旋转方向控制系统设计.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《毕业设计基于单片机的直流脉冲(PWM)调速及旋转方向控制系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计基于单片机的直流脉冲(PWM)调速及旋转方向控制系统设计.doc(27页珍藏版)》请在三一办公上搜索。

1、摘 要随着时代的进步和科技的发展,电机调速系统在工农业生产、交通运输以及日常生活中起着越来越重要的作用。直流电机是通过两个磁场的相互作用而发生旋转的。定子通过永磁体或受激励电磁铁产生一个固定磁场,转子由一系列绕组和导磁材料构成,电流通过每个绕组时都会产生磁场。对有刷直流电机而言,转子上的换向器和定子上的电刷在电机旋转时为每个绕组供给电能。通电转子绕组与定子磁体有相反的极性,通过相互吸引而产生转矩使转子转动。电机的速度与施加的电压成正比,转矩则与电流成正比。对直流电机的控制是一个挑战,因为必须在工作期间改变直流电机的速度。使直流电机高效运行最常用的的方法是施加一个PWM(脉宽调制)方波,其通断比

2、率对应于所需的速度。电机起到一个低通滤波器的作用,它将PWM的信号转换为有效直流电平。本次实训采用STC89C52单片机与L298N驱动芯片驱动直流电机工作,单片机控制的直流脉冲(PWM)调速及旋转方向控制系统,并且详细论述了该系统的控制方法、结构、参数设计、程序设计等方面的问题。该系统结构简单,调速性能好,性能价格比高,真正实现了直流电机调速系统及旋转方向的控制。关键词:直流电机;STC89C52单片机; L298N驱动电路AbstractWith the progress of the times and the development of science and technology,

3、 motor speed control system in the industrial and agricultural production, transportation and daily life plays an increasingly important role in. DC motor is accomplished by a two magnetic field interactions which occur rotation. The stator by permanent magnets or stimulated the electromagnet produc

4、es a fixed magnetic field, the rotor is composed of a series of winding and the magnetic materials formed, the current through each winding will generate a magnetic field. The brush DC motor, rotor and stator of the commutator brush in the motor rotates for each winding supplies electrical energy. E

5、nergized rotor winding and the stator magnets have opposite polarity, through attraction to produce torque rotating the rotor. The speed of the motor and the applied voltage is proportional to the torque is proportional to the current, and the. For the DC motor control is a challenge, because must b

6、e at work during changing the speed of DC motor. The DC motor is the efficient operation of most commonly used method is applied to a PWM ( pulse width modulation ) square wave, the on-off ratio corresponding to the desired speed. The motor has a low pass filter function, it will PWM signal is conve

7、rted to an effective level.The design of STC89C52 monolithic integrated circuits to control the PID the direct pulse (PWM ) machinery velocity modulation system, and elaborated on the system of control methods, structure and design, the application design problems. the system simple and good perform

8、ance machinery velocity modulation prices are high, really to direct the electrical machinery velocity modulation control system of high-precision.Key words:monolithic integrated circuits, a direct motor, machinery velocity modulation system引言41 系统硬件介绍41.1硬件主控芯片概述及功能介绍41.1.1 STC89C52单片机主控制电路图41.1.2

9、L298N直流电机的专用驱动器51.2 硬件电路设计71.2.1 显示电路的设计71.2.2 键盘电路的设计71.2.3电机驱动电路的设计82 系统软件设计91.1 设计要求91.2 总体设计方案91.2.1 设计思路91.2.2 方案论证与设计91.2.3 系统组成93 硬件制作、调试与软件103.1 系统PCB板的设计103.2 系统硬件调试113.3 主控程序114 实训心得体会11谢 辞14参考文献15附录A:17附录B:18附录C:23附录D:24引言随着时代的进步和科技的发展,电机调速系统在工农业生产、交通运输以及日常生活中起着越来越重要的作用.由于直流电动机具有优良的起、制动性能

10、,宜与在广泛范围内平滑调速。在轧钢机、矿井卷机、挖掘机、金属切削机床、造纸机、高层电梯等领域中得到广泛应用。长期以来,由于直流调速系统的性能指标优于交流调速系统。冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。PWM控制技术就是以该结论为理论基础,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。PWM控制技术以其控制简单、灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。本设计就是利用这种控制方式来改变电压的占空比实现直

11、流电机速度的控制。1 系统硬件介绍1.1硬件主控芯片概述及功能介绍1.1.1 STC89C52单片机主控制电路图STC89C52芯片介绍:该芯片是基本型的低功耗8位CMOS微处理器,提供串口程序下载口。有如下特点:256字节的RAM;4KB的ROM;32个通用I/O口线;为用户提供了丰富的I/O口资源;32个通用工作寄存器;2个定时器/计数器;具有6个中断源;4.05.5V的工作电压;1000次可重复擦写周期等。STC89C52的内核和AT51系列单片机一样,故引脚也相同。引脚说明:第40引脚:(VCC)VCC正常操作、接+5V电源第20引脚:(VSS)GND接地。第3239引脚:(P0.0P

12、0.7):作为A/D转换器的模拟输入端,为8位双向I/O口。第0108引脚:(P1.0P1.7):8位双向I/O口。第2128引脚:(P2.0P2.7):8位双向I/O口。第1017引脚:(P3.0P3.7):8位双向I/O口。第09引脚:RST复位输入引脚。第18引脚:XTAL1反向振荡放大器与片内时钟操作电路的输入端。第19引脚:XTAL2反向振荡放大器的输出端。第30引脚:ALE地址锁存允许信号输出。第31引脚:EA片外程序存储器选用端。第299引脚:PSEN:片外程序存储器读选通信号输出端。P3口第二功能定义引脚第二功能P3.0RXD 串行口输入端P3.1TXD 串行口输出端P3.2I

13、NT0 外部中断0请求输入端,低电平有效P3.3INT1 外部中断1请求输入端,低电平有效P3.4T0 定时|计数器0计数脉冲输入端P3.5T1 定时|计数器1计数脉冲输入端P3.6WR 外部数据存储器及I/O口写选通信号输出端,低电平有效P3.7RD 外部数据存储器及I/O口读选通信号输出端,低电平有效注:引脚功能前加“”,说明其是低电平有效。图1 STC89C52单片机主控制电路图1.1.2 L298N直流电机的专用驱动器L298N是直流电机的专用驱动器,内部包含4通道逻辑驱动电路,即二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。当驱动直流

14、电机时,可以直接控制两路电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。其引脚排列如图2所示: 图2 L298N直流电机的专用驱动器正常使用L298N驱动直流电机时:第1脚(SENSING A)和15脚(SENSING B)。第8脚(GND)接地。第9脚(VSS)接+5V电供芯片使用。第4脚(VS)接+12V电供驱动电机使用,因此通往4脚的都是大电流电源。第4和9脚要通过一瓷片电容接地,以便排除交流干扰。L298N可驱动2个电机:第2脚和3脚(OUTl、OUT2)、第13脚和14脚(OUT3、OUT4)之间分别接2个电动机。第5脚(IN1)和7脚(IN2)、第10脚(IN3

15、)和12脚(IN4)接输入控制电平,控制电机1、2的正反转,ENA,ENB接控制使能端,控制两个电机的停转。注:IN1IN4引脚、EN A、EN B全部要接上拉电阻。本次实训采用专用芯片 L298N 作为电机驱动芯片且只驱动一个电机。L298N 是一个具有高电压大电流的全桥驱动芯片,它相应频率高,带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。L298N的逻辑功能如表1所列ENA(B)IN 1 (IN 3)IN 2 (IN 4)电机状态HHL正转HLH反转HHH刹车停止LXX自己停止表11.2 硬件电路设计1.2.1 显示电路的设计该部分采用LED(发光二极管)显示模块,是

16、一种固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个“P-N结”。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。而光的波长也就是光的颜色,是由形成P-N结的材料决定的。LED是一种价格较便宜,节能环保的显示器件。单片机可通过写控制字的方式输出

17、高低电平来实现对LED亮灭的控制。图 3 LED 显示电路1.2.2 键盘电路的设计键盘电路采用行式键盘电路。 图 4 键盘电路的设计1.2.3电机驱动电路的设计 图5 电机驱动电路工作原理简述如下:1、当IN1=1,IN2=0:则OUT1=1, OUT2=0,于是电流i流经电机M的路径为:VSL298N OUT1MOTOR OUT2地,电机正转,此时绿灯亮,灯的亮度变化表示速度的快慢,速度越快则等越亮,越慢则灯越暗,电机停止时则灯灭。2、当IN1=0,IN2=1:则OUT1=0, OUT2=1,于是电流i流经电机M的路径为:VSL298N OUT2MOTOR OUT1地,电机反转,此时黄灯亮

18、,灯的亮度变化表示速度的快慢,速度越快则等越亮,越慢则灯越暗,电机停止时则灯灭。2 系统软件设计1.1 设计要求要求:1、利用L298N芯片设计并制作一个直流电机控制电路; 2、控制直流电机的启动和停止;3、控制直流电机的正转和反转;4、控制直流电机的转动速度由按键开关控制。1.2 总体设计方案1.2.1 设计思路要求设计一个直流电机的驱动电路,系统可以分为控制部分和显示部分。设计中采用STC89C52芯片为主控制核心,键盘为控制部分,显示部分采用LED显示直流电机的正反转、加减速。通过单片机软件产生PWM波来控制电机,经过电路,实现电机转向控制和速度的实时调节。1.2.2 方案论证与设计1

19、系统控制设计方案论证与选择 方案一:采用MCS-51系列的单片机和专用的PWM芯片及外部D/A转换电路,同时结合PID算法实现实时控制。 方案二:直接采用STC89C52单片机由软件产生脉冲调制信号,经过PID算法,来对电机进行控制。 系统要求比较简单,考虑性价比上,所以采用STC89C52单片机芯片,来对电机进行控制。2 电机控制电路的设计 方案一:采用专用电机控制集成芯片来控制电机转动,该方案电路简单、可靠。 方案二:直接采用四个三极管搭成H型桥式电路来控制电机的转动。 系统驱动电机采用小电机,考虑性价比上,采用专用电机控制集成芯片L289N来控制电机转动。3 键盘电路的设计 由于系统要求

20、功能简单,所以直接采用行式键盘进行控制。键盘用来输入启动、停止;正转、反转;加速、减速信号和设定的速度值。4 显示电路的设计 显示电路采用LED进行对启动、停止;正转、反转;加速、减速的状态显示。1.2.3 系统组成 经过比较与论证,最终确定的系统组成框图如图1所示,其中采用STC89C52为主控制芯片,采用L298 N进行对直流电机的驱动,显示电路采用LED显示,键盘控制电路和电机控制电路。图6 系统组成框图3 硬件制作、调试与软件3.1 系统PCB板的设计PCB即印刷电路板,是电子电路的承载体。在现代电子产品中,几乎都要使用PCB。PCB板的设计是电路设计的最后一个环节,也是对原理电路的再

21、设计。因此PCB板的设计是理论设计到实际应用一个十分重要的内容。印制电路板(PCB)是电子产品中电路元件和器件的支撑件它提供电路元件和器件之间的电气连接。PCB设计的好坏对抗干扰能力影响很大因此,在进行PCB设计时必须遵守印制电路板设计原则和抗干扰措施的一般原则,并应符合抗干扰设计的要求。本次设计采用Altium公司PROTEL系列设计完成SCH到PCB的设计,并且手工完成电路焊接以及整机的装配。采用Proteus软件下载程序仿真调试,Proteus软件仿真图:图8 Proteus软件仿真电路3.2 系统硬件调试本系统的硬件调试分为以下阶段进行调试:(1)对每一块加工好的印刷电路板要仔细的检查

22、,检查它的印制线是否断线,是否有毛刺,是否与其他印制线或焊盘或过孔粘连,焊盘是否脱落,过孔是否有未金属化等现象,查出的故障及时排除。然后用万用表复核认为可疑的连接线或接点,检查它们的通断状态是否与设计规格相符。再检查各种电源线与地线之间是否有短路现象并排除。最后,加电检查,加电过程中细心观察芯片或器件是否出现打火、过热、变色、冒烟和异味等现象,如有,立即断电检查。(2)将程序烧入STC89C52芯片,分别接上电源,观察电源显示灯是否亮,并观察电机是否转动,若转动则用行列式开关来控电机的正反转,加速,减速等功能是否实现。若没有实现功能则看是电路原因还是软件程序的原因。3.3 主控程序程序流程图:

23、YNNNNYYYNY系统初始化主控程序方向控制按键0?开始加速控制按键0?减速控制按键0?停止或启动控制按键0?定时计数器T0溢出?取反控制方向位加速减速停止/启动消去TF0,重装初值图7 控制流程图程序中几个关键的寄存器的意义:1.TCNT0:定时器计数值,定时过程中不断增大,溢出后重新置数,开始下一轮。 2.OCR0:定时器比较的值,当TCNT0 OCR0时,会产生timer0_comp_isr中断。 3.TCCR0:控制timer0的寄存器。4.TIMSK:定时器中断选项,这里允许timer0比较中断,溢出中断。 5.预分频器:预分频器是独立运行的。也就是说,其操作独立于T/C 的时钟选

24、择逻辑,且它由T/C1 与 T/C0 共享。由于预分频器不受T/C 时钟选择的影响,预分频器的状态需要包含预分频时钟 被用到何处这样的信息。一个典型的例子发生在定时器使能并由预分频器驱动(6 CSn2:0 1)的时候:从计时器使能到第一次开始计数可能花费 1 到N+1个系统时钟周期, 其中N 等于预分频因子(8、64、256 或1024)。 PWM的工作流程:1.初始化,定时器开始工作,TCNT0逐渐增大,在预分频这么多个时钟周期里变化一次。 2.输出比较寄存器包含一个8 位的数据,不间断地与计数器数值TCNT0 进行比较。匹配事件可以用来产生输出比较中断,或者用来在OC0 引脚上产生波形。

25、3.TCNT0溢出,溢出中断用于在OC0上产生波形,置位或者清零。 4.TCNT0复位,进行下一次定时操作。 PWM的占空比:调节PWM的占空比,只需要用程序更改OCR0的值即可,根据不同的情况,可能是增加也可能是减小。注意:因为Timer2是异步控制器,使用Timer2时,调节OCR2需要等待寄存器更新完成才能进行其他操作。4 实训心得体会本次实训设计使我对直流电机控制电路的设计与制作有所了解,尽管以前没有接触过,但都是通过查找资料大体了解了直流电机设计的大体思路。通过这次实训了解到直流电机的主要特点是:体积小,重量轻,效率高;改变输入电压就可以改变电机的转速,因此可以用降低电压的方法获得较

26、低转速,可以用升高电压的方法获得较高的转速;电机可以顺时针转动,也可以逆时针转动,只要改变输入端接线的极性,就可以改变直流电机的转通过本次实训使我对单片机的应用有了更深入的了解,对一个系统的设计要如何入手有了更加深刻的体会。同时,对PCB的画图更熟悉了些。在设计过程中,我是在和其他做同样的实训题目的同学讨论而完成的。遇到了一些问题,在绘制PCB图时我将封装画错了,将板子腐蚀好也转好孔了,但是元件无法放置,后经过修改才做出实物;硬件调试时由于电源供电不足,电机无法转动。开始以为是电路或是元器件焊接错误,经过一一排查发现是电源供电不足。对于女孩子编程无疑使最大的难题,但是通过其他同学的帮助,最终完

27、成程序编写。通过本次设计,还让我认识到了理论和实践的差距,同时发现自己的动手能力需要加强。有了理论的基础实践起来才会方便,但是,实践是要求有一定的经验和灵活的应变能力。通过本次实训充分调动了我对电子知识学习的积极性,锻炼了我的动手能力,知道了有时候要敢下手才能出成果,也学到了很多书本上没有的东西。在网上查找相关的资料,并从众多资料中筛选出对自己有用的东西,真正锻炼了我们的自学能力。虽然起初感觉有点无从下手,但后来慢慢就变得得心应手了。由于个人能力有限,在本次实训设计中难免会有不足之处,只完成了基础部分,在此恳请老师悉心指正。谢 辞首先,感谢应用科技学院为我们电子信息工程学生提供了一次实训学习的

28、平台。为学生提供所需的电子元件,为能够成功完成这次实训创造了很好的条件。同样要感谢老师,老师们轮流值班,为学生提供帮助;在本学期的实验课上和整个实训过程中对我们严格要求,耐心地、专业地指导,反复为我们讲解要点,给与我们极大的启发、帮助以及鼓励,使我们顺利的完成了每次实验课程以及这次的实训。老师们认真的态度,使我们认识到了工作态度是决定整个实训成败的关键所在,只有在好的心态的基础上才能做出好的作品。这些都将会是我们终生收益的财富。衷心感谢在实训期间在实验室值班的热心帮助过我的学长学姐以及同学,电科的技术能手,还有参加本次实训的全体同仁。参考文献1、王贤勇、赵传申 .单片机原理及接口技术.应用教程

29、. 北京:清华大学大学出版社,20102、龙威林、胡山 .单片机应用入门. 北京:化学工业版社,20083、马潮. 单片机原理与程序设计实验教程. 西安:西安电子科技大学出版社,20074、刘坤、高征红. Protel 99 SE电路设计实例教程.北京:清华大学大学出版社,20085、网站:6、网站:7、网站:8、附录A:Bill of Material for 直流电机(元件清单):Used Part Type Designator Footprint = = = = 1 +5V/DC J4 SIP2 1 +12V/DC J8 SIP4 2 -BAT J6 J7 SIP3 7 1K R6 R

30、7 R8 AXIAL0.3 R9 R11 R12 R28 1 1uF/25V C1 RB.2/.4 1 2K R29 AXIAL0.3 1 8.2k R10 AXIAL0.3 1 8X1k J1 SIP9 1 12M Y1 CRYSTAL 2 30P C2 C3 RAD0.1 1 100nF C5 RAD0.2 5 104 C4 C7 C8 RAD0.2 C9 C10 1 220uF C6 RB.2/.4 1 Add S6 SW-PB2 1 Dec S5 SW-PB2 1 Fan S3 SW-PB2 1 GREEN D6 LED 1 L298N IC2 ZIP-15H 1 MOTOR J2 S

31、IP2 2 RED D7 D8 LED 1 RES S8 SW-PB2 1 STC89C52 IC1 DIP40 1 Start S1 SW-PB2 1 Stop S2 SW-PB2 1 USB J5 SIP4 1 YELLOW D5 LED 1 Zheng S4 SW-PB2 1 xiazai J3 SIP8 附录B:程序代码如下:#include #define TH0_TL0 (65536-1000)/设定中断的间隔时长 unsigned char count0 = 0; unsigned char count1 = 0; bit Flag = 1;/电机正反转标志位,1正转,0反转 s

32、bit Key_add=P20; /电机加速 sbit Key_dec=P21; /电机减速 sbit Key_turn=P22; /电机换向(正转或反转) sbit Ting=P23; /电机停止sbit Qi=P24; /电机重新启动sbit ENA=P02; /电机使能端,高电平有效sbit PWM1=P00; /PWM 通道 1 sbit PWM2=P01 /PWM 通道 2 unsigned char Time_delay; /函数声明 void Delay(unsigned char x); void Motor_speed_high(void); void Motor_speed

33、_low(void); void Motor_turn(void); void Timer0_init(void); /*/ void Delay(unsigned char x)/延时处理 Time_delay = x; while(Time_delay != 0); /*/ void Timer0_int(void) interrupt 1 using 1/定时0中断处理 TR0 = 0; TL0 += (TH0_TL0 + 9) % 256; TH0 += (TH0_TL0 + 9) / 256 + (char)CY; TR0 = 1; if(Time_delay != 0)/延时函数用

34、 待添加的隐藏文字内容1 Time_delay-; if(Flag = 1) /电机正转 PWM1 = 0; if(+count1 = 100) count1=0; else /电机反转 PWM2 = 0; if(+count1 = 100) count1=0; /反转 /*/ void Motor_speed_high(void)/按键处理加pwm占空比,电机加速 if(! Key_add) Delay(10); if(Key_add=0) count0 +=5; if(count0 = 100) count0 = 100; while(Key_add=0); /等待键松开 /*/ void

35、 Motor_speed_low(void)/按键处理减pwm占空比,电机减速 if( Key_dec=0) Delay(10); if(Key_dec=0) count0 -= 5; if(count0 = 0) count0 = 0; while(Key_dec=0); /等待键松开 /*/ void Motor_turn(void)/电机正反向控制 if(Key_turn = 0) Delay(10); if(Key_turn = 0) Flag = Flag; while(Key_turn = 0);/等待键松开 /*/ void Timer0_init(void)/定时器0初始化 T

36、MOD=0x01; TH0=TH0_TL0 / 256; TL0=TH0_TL0 % 256; TR0=1; ET0=1; EA=1; /*/ void main(void)/主函数 Timer0_init(); while(1) if(Ting=0) /电机停止 Delay(10); if(Ting=0) ENA=0; PWM1=0; PWM2=0; while(Ting=0);/等待键松开 if(Qi=0) /电机重新启动 Delay(10); if(Qi=0) ENA=1; Motor_turn(); Motor_speed_high(); Motor_speed_low(); whil

37、e(Qi=0); /等待键松开 Motor_turn(); Motor_speed_high(); Motor_speed_low(); End 附录C:Employment tribunals sort out disagreements between employers and employees.You may need to make a claim to an employment tribunal if: you dont agree with the disciplinary action your employer has taken against you your emp

38、loyer dismisses you and you think that you have been dismissed unfairly.For more information about dismissal and unfair dismissal, seeDismissal.You can make a claim to an employment tribunal, even if you haventappealedagainst the disciplinary action your employer has taken against you. However, if you win your case, the tribuna

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号