步进电机的概念和分类 基于单片机的步进电机试验_第1页
步进电机的概念和分类 基于单片机的步进电机试验_第2页
步进电机的概念和分类 基于单片机的步进电机试验_第3页
步进电机的概念和分类 基于单片机的步进电机试验_第4页
步进电机的概念和分类 基于单片机的步进电机试验_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

第第页步进电机的概念和分类基于单片机的步进电机试验

17.1(步进电机)概念

步进(电机)是将电脉冲(信号)转变为角位移或线位移的开环控制电机,是现代数字程序(控制系统)中的主要执行元件,应用极为广泛。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当(步进驱动器)接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

17.2步进电机分类

步进电机从其结构形式上可分为反应式步进电机(VariableReluctance,(VR))、永磁式步进电机PermanentMagnet,PM)、混合式步进电机(HybridStep(pi)ng,HS)。

1.反应式:

定子上有绕组、转子由软磁材料组成。结构简单、成本低、步距角小,可达1.2°、但动态性能差、效率低、发热大,可靠性难保证。

2.永磁式

永磁式步进电机的转子用永磁材料制成,转子的极数与定子的极数相同。其特点是动态性能好、输出力矩大,但这种电机精度差,步矩角大(一般为7.5°或15°),价格较便宜。

3.混合式

混合式步进电机综合了反应式和永磁式的优点,其定子上有多相绕组、转子上采用永磁材料,转子和定子上均有多个小齿以提高步矩精度。其特点是输出力矩大、动态性能好,步距角小,但结构复杂、成本相对较高。

4相步进电机内部结构如上图所示,A,B,C,D四相称为定子,内部1,2,3,4,5,6为永磁铁,称为转子。以转子逆时针旋转为例介绍电机的(工作原理)。

假设初始状态如上图所示,B闭合,B相绕阻导通,产生磁性将对定子齿轮产生强有力的吸引,使得B对6吸引,B’对3进行吸引,形成如上图所示的初始状态。而此时转子齿轮1将与定子齿轮A形成一个15°的夹角,2与D’之间形成一个30°的夹角。紧接着我们断开B,闭合A相,A对1产生最大的吸引力,A’对4产生最大的吸引力。最终,A与1对齐,A’与4对齐。相当于转子逆时针转动了15°。此时,2与D’之间的夹角由30°变成了15°。紧接着断开A,闭合D,2与D’对齐,5与D对齐,转子将逆时针再旋转15°。接着断开D,闭合C,转子逆时针旋转15°。因此可以总结为:经过B-A-D-C转子旋转了45°。这个过程称为四节拍。旋转一圈360°需要360°/45°=8个四节拍。因此,可以计算出一个节拍旋转的角度为:360°/(8*4)=11.25°。上述工作模式称为单四拍模式。

下面在上述的基础之上进行一下改进,假设在两个节拍之间插入一个新的节拍,例如在B断开,A闭合之间插入一个AB同时闭合的节拍,即B-BA-A。此时B对6与A对1具有相同的吸引力,最终将导致6和1之间的中心线将与B和A之间的中心线对齐,相当于转子转了5.625°。在每个节拍之间插入了一个节拍,即旋转45°由原来的4拍变成了8拍,B-AB-A-(AD)-D-(DC)-C-CB。因此,旋转一周360°需要360°/45°*8=64个节拍,每个节拍旋转5.625°。上述模式称为八拍模式,与四拍模式相比,由于增加了拍数使得电机扭矩更大,驱动力更强了,旋转精度提高了一倍。时序如下表所示:

驱动电机需要一定的驱动电流,一般有两种比较简单的(驱动电路)。一种为使用三极管驱动,一种为采用专用的(驱动芯片),我们这里采用的是第二种方法。如上图所示,采用ULN2023A来驱动动直流电机,(LED)7-LED4为输入端,连接到(单片机)的I/O口P1.7-P1.4,OUT_A-OUT_D为输出端连接到电机。输入端为高电平时,输出端为高电平,反之亦然。按照上表的时间顺序来驱动电机。那么这里有一个问题大家可能会问,每个节拍的持续时间是多少呢?理论上将节拍持续时间越小电机的转动速度越快。

该电机的参数表中有一个叫起动频率的参数,≥550P.P.S,表示,在每秒550个脉冲的情况下,电机可以正常启动。相当于每个脉冲,即每个节拍的持续时间大于等于1/550=1.8ms的情况下,电机可以正常转动。按照上述学到的相关内容我们接下来就可以使直流电机转起来了。

17.3步进电机试验

这里我们利用(定时器)来实现电机转动的功能,设置一个2ms的定时,每2ms执行一个节拍。根据上面的介绍64个节拍转动一周,一次,转动一周需要2ms*64=128ms,那么可以得到1s可以转7.8周。编写代码如下:

#include#defineucharunsignedchar#defineuintunsignedintucharcodeMotorCode[8]={0xBF,0x3F,0x7F,0x6F,0xEF,0xCF,0xDF,0x9F};//电机节拍#defineFOSC11059200//单片机晶振频率#defineT_2ms(65536-FOSC/12*2/1000)//定时器初始值计算sbitDU=P2^7;//(数码管)段选、位选引脚定义sbitWE=P2^6;voidmain(){P0=0;//关闭所有(数码)管WE=1;WE=0;TMOD=0x01;//定时器工作模式配置TL0=T_2ms;//装载初始值TH0=T_2ms>

>8;TR0=1;//启动定时器ET0=1;//允许定时器中断EA=1;//开总中断while(1);}//定时器0中断子程序,定时2msvoid(ti)mer0()interrupt1{stat(ic)ucharindex=0;TL0=T_2ms;//重装初始值TH0=T_2ms>

>8;P1=MotorCode[index];index++;if(index>=8)index=0;}将程序下载到单片机中,连接好电机。电机转起来了,但是好像有点不对劲,得8s左右才能转一圈,和我们预想的不一致。我们回过头来看电机参数表中有一个减速比1:64,速度减为原来的1/64。把这个考虑进去就和我们的现象吻合了。

下面我们写一个程序,让电机转动指定的角度,前面我们讲过转动一圈需要64个节拍,而减速比为1:64,因此,电机实际转动一圈需要64*64=4096个节拍。所以转动angle度所需的节拍数beats=(angle*4096)/360。根据这个公式编写程序如下:

#include#defineucharunsignedchar#defineuintunsignedintucharcodeMotorCode[8]={0xBF,0x3F,0x7F,0x6F,0xEF,0xCF,0xDF,0x9F};//电机节拍#defineFOSC11059200//单片机晶振频率#defineT_2ms(65536-FOSC/12*2/1000)//定时器初始值计算sbitDU=P2^7;//数码管段选、位选引脚定义sbitWE=P2^6;unsignedlongangle=180;unsignedbeats=0;voidmain(){P0=0;//关闭所有数码管WE=1;WE=0;beats=(angle*4096)/360;//计算节拍数TMOD=0x01;//定时器工作模式配置TL0=T_2ms;//装载初始值TH0=T_2ms>

>8;TR0=1;//启动定时器ET0=1;//允许定时器中断EA=1;//开总中断while(1);}//定时器0中断子程序,定时2msvoidtimer0()interrupt1{staticucharindex=0;TL0=T_2ms;//重装初始值TH0=T_2ms>

温馨提示

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

评论

0/150

提交评论