毕业设计(论文)-步进电机的驱动及控制.doc_第1页
毕业设计(论文)-步进电机的驱动及控制.doc_第2页
毕业设计(论文)-步进电机的驱动及控制.doc_第3页
毕业设计(论文)-步进电机的驱动及控制.doc_第4页
毕业设计(论文)-步进电机的驱动及控制.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

(学校名称)毕业设计(论文)( *届 )题目:步进电机的驱动及控制 系 别 *分院 专业班级 *班 学生姓名 * * * 学 号 导师姓名 成 绩 年 月 日目录摘要2一、引言3(一)论文的研究意义2(二)论文的主要内容2(三)设计要求2(四)设计目的2二、步进电机介绍4(一)种类4(二)工作原理4(三)驱动方法51、单电压功率驱动接口 52、双电压功率驱动接口 63、高低压功率驱动接口 64、斩波恒流功率驱动接口75、升频升压功率驱动接口76、集成功率驱动接口7(四)步进电机优缺点9三、步进电机的速度控制9(一)工作原理9(二)硬件原理框图9(三)硬件原理图(见附录一)10(四)硬件原理介绍10四、软件设计流程和描述12(一)主程序流程图12(二)延时程序流程图14(三)源程序代码(见附录二)14五、总结15附录17参考文献23致谢24步进电机的驱动及控制* *班 姓名指导教师:*摘要:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。关键词:电机 脉冲 频率 脉冲频率一、 引言步进电机是一种将脉冲信号转化为机械角位移或者线位移的控制电机, 它能够在不涉及复杂反馈环路的情况下实现良好的定位精度,并由于具有价格低廉、易于控制、无积累误差等优点,在民用、工业用的经济型数控定位系统中获得了广泛的应用,具有较高的实用价值。为了强调本论文的实用性及可行性,说明了步进电机的构造、工作原理及驱动;回顾了步进电机在国内外发展及应用的概况;分析了本论文所要重点研究的spwm(正弦脉冲宽度调制)细分驱动、及升降频运动控制等关键技术;最后,介绍了本论文的研究内容以及其它章节的结构安排。(一)论文的研究意义步进电机是工业控制中的主要控制元件之一,具有快速启停、精确步进及直接接收数字量的特点。步进电机实际上是一个脉冲/角度转换器,在步进电机控制系统中,脉冲分配器产生周期性的脉冲序列,步进电机每接受到一个脉冲,就沿规定方向走一步。通过本次实验我能够更加熟悉应用可编程外围接口芯片8255a、可编程计数器/定时器8253、adc0809。同时更加了解步进电机的工作原理、控制方法及其应用。(二)论文的主要内容以8088cpu为核心,扩展8255a及相应的接口电路。产生步进电机所需的脉冲系列,该脉冲系列经驱动电路后,直接驱动步进电机,实现速度调节及方向控制,进行功能扩展后我设计的系统能实现的功能:通过四个开关和一个外接电路的旋钮来控制步进电机的正反转及速度的调节,其中一个开关s1控制步进电机的开启,一个开关s2控制步进电机的正反转,剩下的两个开关s2,s3的前三种组合00,01,10控制三种不能调的预先设定好的三个速度,第四种组合11,通过8255a和adc0809将由外接电路的旋钮控制的一个连续可调电压信号采样有这个数值的大小来控制延时的长短从而控制步进电机的速度来实现无极调速。这个系统的特点就是:可设定三个固定常用的速度,和一个可无极调速的速度,操作简单可靠。(三)设计要求在本次设计中,要求独立完成设计,画出电路原理图,说明工作原理,画出电路板图,编写程序及程序流程图。1. 画出系统原理图,并分析工作原理及过程。 2. 掌握步进电机工作原理。 3. 编制产生步进电机所需脉冲序列的秩序,给出流程图。 4. 设计电路板图。5. 获取实验结果。(四)设计目的通过该次学习可以使我们对步进电机一个全面的理解,它将起到让我学到新的知识、加强综合能力、提高系统设计水平、启发创新思想的作用。通过本次设计可以提高学生在电机与电气控制方面的实际工作能力。使学生学习的理论知识能应用到实际问题中,在实践中,巩固和加深对理论的认识。更重要学会面对一个实际问题,如何自己去搜集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断的分析解决道路上的一切问题,如此不断提高自身的能力。这也是本次设计应该达到的目的。掌握8088cpu的最小工作模式的结构及其应用各管脚的含义,地址的分配、选择。熟练掌握8255a的初始化控制字的写入及更改,巧妙应用a口、b口、c口的功能,是它与实验板上的其它芯片更好的配合应用。熟练掌握可编程计数器/定时器8253的六种工作方式,各种方式控制字的写入,各种工作方式的特点,并能够熟练的加以应用。熟练掌握应用8255a与adc0809的配合使用来进行数据采样。了解步进电机的工作原理,用程序实现脉冲分配器,并对步进电机进行顺序控制。更加熟悉应用汇编语言中的语句及用法,子程序的调用,模块化编写程序,和学会使用有关软件的应用编程、编译、调试、发现错误、修改错误总结经验,并且还要应用汇编语言编写实用程序,控制一个实际的对象。二、 步进电机介绍(一) 种类目前常用的有三种步进电动机:1、反应式步进电动机(vr)。反应式步进电动机结构简单,生产成本低,步距角小;但动态性能差。2、永磁式步进电动机(pm)。永磁式步进电动机出力大,动态性能好;但步距角大。3、混合式步进电动机(hb)。混合式步进电动机综合了反应式、永磁式步进电动机两者的优点,它的步距角小,出力大,动态性能好,是目前性能最高的步进电动机。它有时也称作永磁感应子式步进电动机。(二)工作原理图2.1 三相反应式步进电动机的结构示意图1定子 2转子 3定子绕组图2.1是最常见的三相反应式步进电动机的剖面示意图。电机的定子上有六个均布的磁极,其夹角是60。各磁极上套有线圈,按图1连成a、b、c三相绕组。转子上均布40个小齿。所以每个齿的齿距为e=360/40=9,而定子每个磁极的极弧上也有5个小齿,且定子和转子的齿距和齿宽均相同。由于定子和转子的小齿数目分别是30和40,其比值是一分数,这就产生了所谓的齿错位的情况。若以a相磁极小齿和转子的小齿对齐,如图1,那么b相和c相磁极的齿就会分别和转子齿相错三分之一的齿距,即3。因此,b、c极下的磁阻比a磁极下的磁阻大。若给b相通电,b相绕组产生定子磁场,其磁力线穿越b相磁极,并力图按磁阻最小的路径闭合,这就使转子受到反应转矩(磁阻转矩)的作用而转动,直到b磁极上的齿与转子齿对齐,恰好转子转过3;此时a、c磁极下的齿又分别与转子齿错开三分之一齿距。接着停止对b相绕组通电,而改为c相绕组通电,同理受反应转矩的作用,转子按顺时针方向再转过3。依次类推,当三相绕组按abca顺序循环通电时,转子会按顺时针方向,以每个通电脉冲转动3的规律步进式转动起来。若改变通电顺序,按acba顺序循环通电,则转子就按逆时针方向以每个通电脉冲转动3的规律转动。因为每一瞬间只有一相绕组通电,并且按三种通电状态循环通电,故称为单三拍运行方式。单三拍运行时的步矩角b为30。三相步进电动机还有两种通电方式,它们分别是双三拍运行,即按abbccaab顺序循环通电的方式,以及单、双六拍运行,即按aabbbcccaa顺序循环通电的方式。六拍运行时的步矩角将减小一半。反应式步进电动机的步距角可按下式计算:b=360/ner (1)式中 er转子齿数; n运行拍数,n=km,m为步进电动机的绕组相数,k=1或2。(三)驱动方法步进电动机不能直接接到工频交流或直流电源上工作,而必须使用专用的步进电动机驱动器,如图2.2所示,它由脉冲发生控制单元、功率驱动单元、保护单元等组成。图中点划线所包围的二个单元可以用微机控制来实现。驱动单元与步进电动机直接耦合,也可理解成步进电动机微机控制器的功率接口,这里予以简单介绍。图2.2 步进电动机驱动控制器1、单电压功率驱动接口实用电路如图2.3所示。在电机绕组回路中串有电阻rs,使电机回路时间常数减小,高频时电机能产生较大的电磁转矩,还能缓解电机的低频共振现象,但它引起附加的损耗。一般情况下,简单单电压驱动线路中,rs是不可缺少的。rs对步进电动机单步响应的改善如图2.3(b)。图2.3 单电压功率驱动接口及单步响应曲线图2.4 双电压功率驱动接口2、双电压功率驱动接口双电压驱动的功率接口如图2.4所示。双电压驱动的基本思路是在较低(低频段)用较低的电压ul驱动,而在高速(高频段)时用较高的电压uh驱动。这种功率接口需要两个控制信号,uh为高压有效控制信号,u为脉冲调宽驱动控制信号。图中,功率管th和二极管dl构成电源转换电路。当uh低电平,th关断,dl正偏置,低电压ul对绕组供电。反之uh高电平,th导通,dl反偏,高电压uh对绕组供电。这种电路可使电机在高频段也有较大出力,而静止锁定时功耗减小。3、高低压功率驱动接口图2.5 高低压功率驱动接口高低压功率驱动接口如图2.5所示。高低压驱动的设计思想是,不论电机工作频率如何,均利用高电压uh供电来提高导通相绕组的电流前沿,而在前沿过后,用低电压ul来维持绕组的电流。这一作用同样改善了驱动器的高频性能,而且不必再串联电阻rs,消除了附加损耗。高低压驱动功率接口也有两个输入控制信号uh和ul,它们应保持同步,且前沿在同一时刻跳变,如图5所示。图中,高压管vth的导通时间tl不能太大,也不能太小,太大时,电机电流过载;太小时,动态性能改善不明显。一般可取13ms。(当这个数值与电机的电气时间常数相当时比较合适)。4、斩波恒流功率驱动接口恒流驱动的设计思想是,设法使导通相绕组的电流不论在锁定、低频、高频工作时均保持固定数值。使电机具有恒转矩输出特性。这是目前使用较多、效果较好的一种功率接口。图6是斩波恒流功率接口原理图。图中r是一个用于电流采样的小阻值电阻,称为采样电阻。当电流不大时,vt1和vt2同时受控于走步脉冲,当电流超过恒流给定的数值,vt2被封锁,电源u被切除。由于电机绕组具有较大电感,此时靠二极管vd续流,维持绕组电流,电机靠消耗电感中的磁场能量产生出力。此时电流将按指数曲线衰减,同样电流采样值将减小。当电流小于恒流给定的数值,vt2导通,电源再次接通。如此反复,电机绕组电流就稳定在由给定电平所决定的数值上,形成小小的锯齿波,如图2.6所示。图2.6 斩波恒流功率驱动接口斩波恒流功率驱动接口也有两个输入控制信号,其中u1是数字脉冲,u2是模拟信号。这种功率接口的特点是:高频响应大大提高,接近恒转矩输出特性,共振现象消除,但线路较复杂。目前已有相应的集成功率模块可供采用。5、升频升压功率驱动接口为了进一步提高驱动系统的高频响应,可采用升频升压功率驱动接口。这种接口对绕组提供的电压与电机的运行频率成线性关系。它的主回路实际上是一个开关稳压电源,利用频率-电压变换器,将驱动脉冲的频率转换成直流电平,并用此电平去控制开关稳压电源的输入,这就构成了具有频率反馈的功率驱动接口。6、集成功率驱动接口目前已有多种用于小功率步进电动机的集成功率驱动接口电路可供选用。l298芯片是一种h桥式驱动器,它设计成接受标准ttl逻辑电平信号,可用来驱动电感性负载。h桥可承受46v电压,相电流高达2.5a。l298(或xq298,sgs298)的逻辑电路使用5v电源,功放级使用546v电压,下桥发射极均单独引出,以便接入电流取样电阻。l298(等)采用15脚双列直插小瓦数式封装,工业品等级。它的内部结构如图2.7所示。h桥驱动的主要特点是能够对电机绕组进行正、反两个方向通电。l298特别适用于对二相或四相步进电动机的驱动。图2.7 l298原理框图与l298类似的电路还有ter公司的3717,它是单h桥电路。sgs公司的sg3635则是单桥臂电路,ir公司的ir2130则是三相桥电路,allegro公司则有a2916、a3953等小功率驱动模块。图2.8是使用l297(环形分配器专用芯片)和l298构成的具有恒流斩波功能的步进电动机驱动系统。图2.8 专用芯片构成的步进电动驱动系统(四)步进电机优缺点优点1、电机旋转的角度正比于脉冲数; 2、电机停转的时候具有最大的转矩(当绕组激磁时); 3、由于每步的精度在百分之三到百分之五,而且不会将一步的误差积累到下一步因而有较好的位置精度和运动的重复性; 4、优秀的起停和反转响应; 5、由于没有电刷,可靠性较高,因此电机的寿命仅仅取决于轴承的寿命; 6、电机的响应仅由数字输入脉冲确定,因而可以采用开环控制,这使得电机的结构可以比较简单而且控制成本 7、仅仅将负载直接连接到电机的转轴上也可以极低速的同步旋转。 8、由于速度正比于脉冲频率,因而有比较宽的转速范围。缺点1、如果控制不当容易产生共振; 2、难以运转到较高的转速。三、 步进电机的速度控制(一) 工作原理以8088cpu为核心,扩展8255a及相应的接口电路,产生步进电机所需的脉冲系列。该脉冲系列经驱动电路后,直接驱动步进电机,实现速度调节及方向控制,进行功能扩展后我设计的系统能实现的功能:通过四个开关和一个外接电路的旋钮来控制步进电机的正反转及速度的调节,其中一个开关s1控制步进电机的开启,一个开关s2控制步进电机的正反转,剩下的两个开关s2,s3的前三种组合00,01,10控制三种不能调的预先设定好的三个速度,第四种组合11,通过8255a和adc0809将由外接电路的旋钮控制的一个连续可调电压信号采样有这个数值的大小来控制延时的长短从而控制步进电机的速度来实现无极调速。这个系统的特点就是:可设定三个固定常用的速度和一个可无极调速的速度,操作简单可靠。(二) 硬件原理框图1 in7adc08098253 out2in7 d0d78088控制机 a口pb0pb18255apb6pb7 pb2pb3pb4 pb5a 12vb a 驱动器uln2803 b c c d d 步进电机54s33s421s2s11图3.1系统的硬件原理框图(三)硬件原理图(见附录一)(四)硬件原理介绍1、8086cpu构成的最小模式系统图3.2 8086最小系统结构示意图根据使用目的的不同,8086/8088系统可以有最小模式和最大模式两种系统配置,两种方式的选择主要取决于硬件,当cpu引脚mn/mx端接高电平+5v时,构成最小系统。图3.3 总线结构示意图在最小模式系统中,除了8086cpu,存储器及i/o接口芯片外,还加入了一片8284a作为时钟发生器,三片8282/8283或74ls373作为地址锁存器,二片8286/8287或74ls245作为双向数据总线收发器。数据总线和地址总线分时复用。存储器用来存放程序与数据,通过译码器74ls138选择出所对应的存储单元。如选中2723(1-1),要求a19-a14、a13、a0=0,即地址范围为(00000h-01ffeh),能存放4k的数据。其余各存储器的地址范围依此类推。2、外设接口电路部分本部分设计使用了adc0809采样电路,8255a接口芯片,译码器74ls138等构成.adc0809的数据输出端口接在8255a的a口上。同时adc0809采样的启动信号由定时器/计数器8253提供和时钟频率clock由系统应用时钟频率opclk提供。b口是分时复用的,有时输出,有时输入.输入是控制信号,输出的是电机驱动信号。其中8253,8255a的地址见系统编码表输入/输出接口编码电路名称信号线寄存器编址8253ioy20#计数器40h1#计数器41h2#计数器42h控制寄存器43h8255aioy3a口60hb口61hc口62h控制寄存器63h3、驱动电路及步进电机部分驱动电路相当于一个功率放大电路,是输入的信号变换后能驱动负载.但要求负载不超过额定值.本次设计使用的是uln2803驱动芯片.其引脚标注如下.励磁顺序如表所示节拍项数123456785+4-3-2-1-参照步进电机的节拍表,8255a的b口输出电平步序的对应表如下所示:步序pb3pb2pb1pb0对应b口输出值1000101h2001103h3001002h4011006h5010004h611000ch7100008h8100109h四、 软件设计流程和描述(一) 主程序流程图(二) 延时程序流程图(三) 源程序代码(见附录二)总结本次课程设计,进一步促进了我对电力拖动的热爱,不仅如此它还进一步加深了我对以前知识的认识和提高,书上对步进电机只是简单的介绍并没有很多关于应用的说明,这次设计我对步进电机的驱动和控制有了更多的了解,为以后的学习生活带来了方便。此次课程设计是激发我们见理论与实际相结合的手段,增强了我们动手和动脑的能力,是对思维能力的深度提高。通过这次课程设计我学会了很多知识,不仅对电拖方面知识,也对电脑的操作知识也得到了提高,特别是对办公软件office的基本操作有了很大的提高。附录二 源程序代码;- ;定义堆栈段;- stack segment stack dw 256 dup(?) stack ends;- ;定义数据段;- data segment table1 db 01h,03h,02h,06h,04h,0ch,08h,09h ;顺时针旋转脉冲列表 table2 db 09h,08h,0ch,04h,06h,02h,03h,01h ;逆时针旋转脉冲列表 rd db 03h ;用以记录是顺时针转,还是逆时针转 sd db 08h ;用于记录所输入的开关的速度 data ends;- ;代码段;- code segment assume cs:code, ds:data, es:data start: mov ax,data mov ds,ax mov es,ax mov si,offset rd ;用si指向存储上次是正反转的存储单元 mov di,offset sd ;用di指向存储速度信息的存储单元 mov al,0a4h ;初始化8253芯片,送控制字,使用2号计数器 out 43h,al ;并工作在方式2下,只读写高位字节 mov al,17h ;8253的2号计数器计数初值,计数1毫秒 out 42h,al jmp check ;逃到检查开关的状态程序处执行;- main: mov al,90h ;初始化8255芯片,a口为基本的输入方式,b out 63h,al ;口为基本输出方式 mov al,si ;si的数为0正转,si为1则反转 cmp al,00h jne b0;- ;步进电机正传;- mov al,dh ;dh用于记录上次的转向和现在这次是否同向 cmp al,00h ;若dh为0,则同向bx则继续加一,否则bx je xa ;指向表头1重新开始 a1: mov bx,offset table1 ;bx指向顺时针转脉冲列表的表头 mov cx,0008h ;步进电机的步数为八 a2: mov al,bx out 61h,al mov al,di ;检测di的值来确定速度大小 cmp al,01h ;调用延时程序控制步进电机速度一(开关控制) je y1 cmp al,02h ;调用延时程序控制步进电机速度二(开关控制) je y2 cmp al,03h ;调用延时程序控制步进电机速度三(开关控制) je y3 cmp al,04h ;控制步进电机速度(通过a/d转换的数值控制 je y4 ; 延时大小,来控制速度),速度调节范围广 xa: inc bx loop a2 jmp a1;- ;步进电机反转;- b0: mov al,dh ;dh用于记录上次的转向和现在这次是否同向 cmp al,03h ;若dh为3,则同向bx则继续加一,否则bx je xb ;指向表头2重新开始 b1: mov bx,offset table2 ;bx指向逆时针转脉冲列表的表头 mov cx,0008h ;步进电机的步数为八 b2: mov al,bx out 61h,al mov al,di ;检测di的值来确定速度大小 cmp al,01h ;调用延时程序控制步进电机速度一(开关控制) je y1 cmp al,02h ;调用延时程序控制步进电机速度二(开关控制) je y2 cmp al,03h ;调用延时程序控制步进电机速度三(开关控制) je y3 cmp al,04h ;控制步进电机速度(通过a/d转换的数值控制 je y4 ; 延时大小,来控制速度),速度调节范围广 xb: inc bx loop b2 jmp b1;- ; 调用延时程序中转过程;- y1: call dally ;速度一 jmp check y2: call dally ;速度二 call dally jmp check y3: call dally ;速度三 call dally call dally jmp check y4: call dally1 ;通过a/d转换的数值大小控制延时,速度四 jmp check;- ;检测开关状态程序;- check: mov al,92h ;初始化8255芯片,b口基本输入,初始化a out 63h,al ;口基本输入 in al,61h ;读入b口数据,即开关状态 and al,0f0h ;屏蔽低四位 test al,10h ;检测pb4是否为1 jz check ;如果为1则开启电机否则等待 test al,20h ;检测pb5是否为1,为1则正转,为0则反转 jz b;- ;步进电机正转;- a: push ax mov al,si ;检测si为0则上次为正转,dh赋值为0 cmp al,00h ;否则上次为反转,dh赋值为1 je x1 jmp x2 x1: mov dh,00h jmp aa x2: mov dh,01h aa: mov dl,00h ;正转si赋值为0 mov si,dl pop ax cmp al,30h ;检测到pb6是0,pb7为0则为速度一 jz sudu1 cmp al,70h ;检测到pb6是1,pb7为0则为速度二 jz sudu2 cmp al,0b0h ;检测到pb7是1,pb6是0则为速度三 jz sudu3 cmp al,0f0h ;检测到pb7是1,pb6是1则为速度四 jz sudu4;- ;步进电机反转;- b: push ax mov al,si ;检测si为1则上次为反转,dh赋值为3 cmp al,01h ;否则上次为正转,dh赋值为4 je x3 jmp x4 x3: mov dh,03h jmp bb x4: mov dh,04h bb: mov dl,01h ;反转si的赋值为1 mov si,dl pop ax cmp al,10h ;检测到pb6是0,pb7为0则为速度一 jz sudu1 cmp al,50h ;检测到pb6是1,pb7为1则为速度二 jz sudu2 cmp al,90h ;检测到pb7是1,pb6是0则为速度三 jz sudu3 cmp al,0d0h ;检测到pb7是1,pb6是1则为速度四 jz sudu4;- sudu1: mov dl,01h ; 速度为一时,di赋值为1 mov di,dl jmp main sudu2: mov dl,02h ;速度为二时,di赋值为2 mov di,dl jmp main sudu3: mov dl,03h ;速度为三时,di赋值为3 mov di,dl jmp main sudu4: mov dl,04h ;速度由a/d转换的数值控制延时大小 mov di,dl ; 来控制速度时di赋值为4 jmp main;- dally: push cx ;延时环节 mov cx,1000h t1: push ax pop ax loop t1 pop cx ret;-;通过8255a口读入0809采样数值大小来控制延时大小的延时程序;- dally1 proc near ;延时环节 push cx push bx in al,60h ;读a口的经过a/d转换过来的数据 mov ah,00h mov bx,ax push ax ;显示空格 mov ax,0120h int 10h pop ax call xianshi ;调显示子程序(将采样值送至液晶显示) mov ax,bx mov cl,6 ;将输入的ad值左移6位,是延长时间明显增 shl ax,

温馨提示

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

评论

0/150

提交评论