基于c语言的步进电机调速大学毕设论文Word格式.docx
- 文档编号:22404989
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:19
- 大小:126.76KB
基于c语言的步进电机调速大学毕设论文Word格式.docx
《基于c语言的步进电机调速大学毕设论文Word格式.docx》由会员分享,可在线阅读,更多相关《基于c语言的步进电机调速大学毕设论文Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
0.前言
步进电机最早是在1920年由英国人所开发。
1950年后期晶体管的发明也逐渐应用在步进电机上,这对于数字化的控制变得更为容易。
以后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解性能、高响应性、信赖性等灵活控制性高的机械系统中。
在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。
步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。
随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。
步进电机是将电脉冲信号变换成角位移或直线位移的执行部件。
步进电机可以直接用数字信号驱动,使用非常方便。
一般电动机都是连续转动的,而步进电动机则有定位和运转两种基本状态,当有脉冲输入时步进电动机一步一步地转动,每给它一个脉冲信号,它就转过一定的角度。
步进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向。
在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置处于定位状态。
因此非常适合于单片机控制。
步进电机还具有快速启动、精确步进和定位等特点,因而在数控机床,绘图仪,打印机以及光学仪器中得到广泛的应用。
步进电动机已成为除直流电动机和交流电动机以外的第三类电动机。
传统电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的作用。
步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。
现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等。
永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5度或15度;
反应式步进电机一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。
反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。
混合式步进电机是指混合了永磁式和反应式的优点。
它又分为两相和五相:
两相步进角一般为1.8度而五相步进角一般为0.72度。
这种步进电机的应用最为广泛,也是本次细分驱动方案所选用的步进电机。
1.步进电机的基本理论
步进电机的工作原理是将电脉冲信号转换成相位移的电机,其机械位移和转速分别与输入电机绕组的脉冲个数和脉冲频率成正比,每一个脉冲信号可使步进电机旋转一个固定的角度.脉冲的数量决定了旋转的总角度,脉冲的频率决定了电机运转的速度.当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;
同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
本设计选择四相八拍的工作方式,步进电机的步进过程可以用下图1-1所示。
图1-1步进电机的工作原理图
图1-1是一个四相反应式步进电机,其定子的每相都有一对磁极,每个磁极都有一个齿,即磁极本身,故四相步进电机有四对磁极8个齿,其转子有五个齿,分别称为0,1,2,3,4,5齿。
直流电源通过开关四个开关分别对步进电机的A,B,C,D相绕组轮流通电。
开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。
而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。
依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。
2.方案设计
2.1步进电机
步进电机电路的基本组成如图1所示。
步进电机的驱动原理是通过每相线圈中的电流的顺序切换,来使电机作步进旋转。
驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。
步进电机的励磁顺序如图2-4。
表2-2步进电机的励磁顺序
1
2
3
4
5
6
7
8
+
-
按这种顺序切换,步进电机正方向旋转。
2.28255芯片
图2-18255芯片引脚
8255工作原理:
8255有8条数据引脚D0~D7,它们全部是双向,三态,用来与数据总线相连接;
另外,还有5条输入控制引脚,分别是:
①RESET:
复位输入信号,高电平有效.当RESET有效时,将梭鱼哦内部寄存器,
包括控制寄存器清零,而且把A,B,C三个都设为输入方式,对应的PA7~PA0,PB7~
PB0,PC7~PC0引脚均为高阻态.
②CS:
芯片选中信号,输入低电平有效.只有当它为低电平时,8255才被CPU选
中.
③A0和A1:
芯片内部寄存器的选中信号.当有效时,8255被选中,再由A0,A1
的编码决定选中通道A,B,C,还是控制寄存器.
④RD:
读信号.输入低电平有效.当它为低电平时,由CPU读出8255的数据或者
状态信息.
⑤WR:
写信号.输入低电平有效当它为低电平时,由CPU将数据或命令写到8255.
3.硬件电路的工作原理
3.1步进电机硬件电路图
根据上述的设计方案,数据的输出、输入采用TDN实验箱上的8255单元完成。
通过对每相线圈中的电流的顺序切换(实验中的步进电机有四相线圈,每次有二相线圈有电流,有电流的相顺序变化),来使电机作步进式旋转。
实验的硬件线路图如下图3-1。
图3-1步进电机硬件线路图
图中PB10、PB11、PB12、PB13、四个端口的各路电平步序如表3-2所示
步序
PB13
PB12
PB11
PB10
对应B输出值
01H
03H
02H
06H
04H
0CH
08H
09H
表3-28255端口各路电平步序
按表3-2写出的电平步序编写C语言程序。
在一个通电循环内,步进电机的转角恒为一个齿距角。
所以,可以通过改步进电机通电循环次序来改变转动方向,可以通过改变通电频率来改变其角频率。
运用8255芯片的输出功能,通过编程实现输出四个信号分别给步进电机的四相A、B、C、D,并通过输出时信号的循环次序,来设定步进电机的转动方向及输出信号的频率以便设定步进电机的转动频率。
初始状态时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子5、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。
步进电机在单单仅给予电压时,电机是不会动作的,必须由脉冲产生器提供位置(脉波数)、速度的脉冲信号指令,以及驱动器驱动电流流过电机内部线圈、依顺序切换激磁相序的方式才能够让电机运转。
所以欲使步进电机动作的必要系统组成有:
(1)脉冲产生器:
给予角度(位置移动量)、动作速度及运转方向之脉冲信号的电机驱动指令。
(2)步进驱动器:
依控制器所投入的脉冲信号指令,提供电流来驱动步进电机动作。
(3)步进电机:
提供转矩动力输出来带动负载。
所以步进电机系统构成简单,不需要速度感应器、位置传感器,即能依照脉冲产生器所输入的脉冲来做到速度及位置的控制。
3.2驱动选择
步进电机可以选用专用的电机驱动模块,也可以自己构建驱动电路。
一般有以下几种选择:
专用驱动模块,如L298,FT5754等,这类驱动接口简单,这类可以驱动步进电机,直流电机等。
本设计选用的是达林顿驱动器ULN2803,这个芯片可以一次驱动八线步进电机。
8255的PB10、PB11、PB12、PB13发送信号给驱动器,然后驱动器的四根线把信号递给电机,使电机实现正反转、速度及旋转角度等。
电机部分接12V直流电源。
4.软件编程
正反转程序流程图
转速快慢程序流程图
根据设计要求,软件编程部分采用C语言或C++来控制步进电机的调速等。
步进电机的方向控制:
通过改变步进电机控制输出字的输出顺序来控制步进电机的转动方向。
当顺序输出时步进电机正转,反向输出时步进电机反转。
在控制程序中通过设置一个方向变量f(0或1)来表示电机的转动方向,改变f的值并利用中断来使步进电机的转动方向改变。
中断子程序IRQ6实现对方向控制。
中断子程序IRQ6:
它是在主程序的作用下,通过将脉冲信号接到8088CPU中断6上,在,脉冲信号的作用下,实现对步进电机转动方向的控制,以实现使步进电机正反转的功能。
中断子程序6具体程序如下:
voidinterruptirq6(void)
{
f=!
f;
outp(0x20,0x20);
return;
}
步进电机的转速控制:
通过改变步进电机驱动信号的脉冲频率来控制步进电机的转速。
频率升高时步进电机转速加快,频率降低时步进电机转速下降,在程序中通过软件延时的手段来实现。
设置软件延时常数M通过对M大小的改变来实现对步进电机速度的控制。
中断子程序IRQ7实现对速度控制。
中断子程序IRQ7:
若将脉冲信号接到8088CPU的中断7上,通过脉冲信号,来实现对步进电机转动速度的控制。
它包含了3极变速系统,并能够无限循环,而不会陷入死区。
中断子程序7流程图如图4-1:
图4-1中断子程序7流程图
中断子程序7具体程序如下:
voidinterruptirq7(void)
{
switch(s)
{case0:
{M=5000;
break;
case1:
{M=800;
case2:
{M=10000;
}
s++;
if(s==3)
s=0;
主程序设计:
设计所用的程序共分为三个部分,分别是主程序、中断子程序6和中断子程序7。
通过这两个中断程序来实现对步进电机转动方向和转动速度的控制。
主程序主要用来定义变量和实现使四相八拍步进电机转动的功能,它包含了8255和8259初始化,以及对中断作出响应,调控步进电机转动。
主程序如下:
voidmain()
{intn=0,m_ip;
outp(0x63,0x90);
if(_CS==0)m_ip=0x2000;
_asm{
pushds
xorax,ax
movds,ax
movax,offsetirq6
addax,m_ip
movsi,0038h
mov[si],ax
movax,cs
movsi,003ah
mov[si],ax
movax,offsetirq7
movsi,003ch
movsi,003eh
cli
popds
程序清单
#include<
stdio.h>
stdlib.h>
conio.h>
voidloop(inttime);
staticintb[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};
//步进电机通电步序四相八拍
intf=0,s=0,M=20000;
//设置软件延时的时间M
voidinterruptirq6(void)//中断子程序irq6
f=!
//设置方向参数f通过改变f
来获取不同的转动方向
}
voidinterruptirq7(void)//中断子程序irq7
switch(s)//设置速度参数s根据s不同的值选
}择不同的延迟时间,以获得不同的
}速度
voidmain()//主函数
//向8255控制口输出控制字初始化8255
elsem_ip=0x00;
pushds//初始化
movax,offsetirq6//填IRQ6偏移地址
mov[si],ax//填IRQ6的段基址
movax,offsetirq7//填IRQ7偏移地址
cli//填IRQ7的段基址
outp(0x21,(inp(0x21)&
0x3f));
_asmSTI;
//开中断
for(;
;
)//电机转动并且进入循环,等待中断
{
outp(0x61,b[n]);
//实现正反转输出通电步序
loop(M);
//每输出一步均延时
if(f==0)//正向输出
{
if(n==7)
n=0;
n++;
}
else//反向输出
{
if(n==0)
n=7;
n--;
voidloop(inttime)//延时程序
inti;
for(i=time;
i>
=0;
i--){}
return;
5.系统调试和结果分析
a.控制步进电机连续转动,按图3-1步进电机实验线路连接电路。
b.打开VisualMicosoftC++6.0连机软件,输入C语言程序,进行编译,编译连接、调试。
c.测试步进电机是否可以正常运转,若不能,检查机箱连接是否错误,直到电机可以正常运转。
d.运行C语言程序进行调试,如在中断子程序6中,如果参数f设置为!
f时,观察电机是否反转,若不能,检查并修改程序。
e.当电机可以运转时,在程序中设置不同电机速度并进行调试,观察电机的速度是否有变化,若不明显,将延时时间增长,再观察。
6.结论及进一步设想
实际上步进电机在运行时是带有一定量的负载,当运转时会存在许多误差,同时因为负载的存在可能引起失步和震荡。
这就使步进电机不能按预定的规律运行,从而是很难达到转速精度的要求。
为准确测量电机的转速稳定度,须选用高精度测量仪器。
参考文献
[1]刘复华.单片机及其应用系统.北京:
清华大学出版社,1992
[2]李斌,董慧颖.可重组机器人研究和发展现状.沈阳工业学院学报,2000,19(4):
23-27
[3]于海生,等.微型计算机控制技术.北京:
清华大学出版社,1999.
[4]陈理壁.步进电机及其应用.上海:
上海科学技术出版社,1989.
[5]刘保延,等.步进电机及其驱动控制系统.哈尔滨:
哈尔滨工业大学出版社,1997.
[6]季维发,过润秋,严武升等.机电一体化技术.北京:
电子工业出版社,1995.
[7]郭敬枢,庄继东,孔峰.微机控制技术.重庆:
重庆大学出版社,1994.
[8]刘国荣.单片微型计算机技术.北京:
机械工业出版社,1996.
[9]常斗南,等.可编程序控制器原理、应用、实验.北京:
机械工业出版社,1998.
附录1元件清单
元件名称
型号
数量
PC机
一台
电机
U18电机单元
1个
驱动器
ULN2803A
导线
若干
课设体会
通过为期两个星期的课设学习中,通过自己对专业知识的理解,通过老师的认真辅导,我感到自己对所学的专业知识的掌握程度加深了许多,学会了利用所学的专业知识去解决实际问题,而且将多门专业科目的知识联系到一起,共同解决所遇到的问题。
而且我也锻炼了自己的实践能力,把课本知识应用于实际,将自己所学的理论与方法应用于设计之中,从而提高了自己理论联系实际的能力。
这段时间里,我不断学习,独立操作,加强了自己动手能力,同时对一些计算机软件的应用有了一定的掌握与理解。
并且了解了步进电机调速系统对现代生活的重要性,特别应用于小功率负载的控制;
具有成本底,性能稳定,可靠性高等优点。
步进电机作为执行元件,在科技的进步中起到了非常重要的作用,而步进电机调速系统可方便地应用与各种自动化控制系统与领域。
专业课设是对自己所学知识的一个综合。
无论是基础知识还是专业知识都被设计统一起来,使零散的知识系统化。
这也为我们走入社会,自我锻炼打下一个良好的基础。
感谢老师给我这个珍贵的机会,让我从课设中学习了很多,锻炼了很多,这是进入社会之前的一个小小的磨练。
我一定更好得学习专业知识,在以后的工作中充分发挥所学习的专业知识。
[2010年7月23日完成]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 语言 步进 电机 调速 大学 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)