欢迎来到天天文库
浏览记录
ID:28144558
大小:144.65 KB
页数:5页
时间:2018-12-07
《基于51单片机的步进电机控制原理》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、1步进电机设计模块1.1步进电机的基本工作原理及选型步进电机有三线式、五线式和六线式,但是其控制方式均相同,都要以脉冲信号电流来驱动,假设每转动一圈耍200个脉冲信号来励磁,可以计算出每个励磁信号能使步进电机前进1.8°,其旋转的角度与脉冲的个数成正比。因为六线式四相步进电机控制简单,步进精确,因此我们选用六线式四相步进电机进行设计。他的控制等效电路如图1.1所示,他有四条励磁信号引线A,A*,B,B*,通过控制这四条引线上的励磁脉冲产生的时刻,即可控制步进电机的转动,每出现一个脉冲信号,步进电机只走一步,因此,只要
2、依照顺序不断地送出脉冲信号,步进电机就能实现连续转动。BIB2绿绿H图1.1步进电机的控制等效电路1.2励磁方式选择步进电机的励磁方式主耍分为全步励磁和半步励磁两种,其中全步励磁又有一相励磁和二和励磁之分:半步励磁乂称一-二和励磁。1.2.1—相励磁在每一瞬间,步进电机只有一个线圈导通。每送出一个励磁信号,步进电机旋转1.8°,这是三种励磁方式中最简单的一种。其特点是:精确度好、消耗电力小,但输出转矩小,震动较大。1.2.2二相励磁在每一瞬间,步进电机有两个线圈同吋导通。每送一个励磁信号,步进电机旋转1.8°。其特点
3、是:输出转矩大,振动小。1.2.3—-二相励磁为一相励磁与二相励磁交替导通的方式。每送一个励磁信号,步进电机旋转0.9°。其特点是:分辨率高,运转平滑。1.2.4小结本次设计屮,步进电机的工作任务是带动载物台做精确的水平移动,综合考虑各种励磁方式的优点与缺点,最终选择一-二相励磁方式,励磁顺序见表1.1。STEPA1A2B1B21100021100301004011050010600117000181001表1.1一-二相励磁顺序表励磁顺序说明:1-2-3-4-5-6-7-8-11.3步进电机的驱动步进电机的驱动可以
4、选用专用的点击驱动模块,如L298,FT5754等,这类驱动模块接口简单,操作方便,它们既可以驱动步进电机,也可驱动直流电机。此外,还可以利用三极管搭建驱动电路,不过这样非常麻烦,可靠性也会降低。另外,还有一种方法就是用达林顿驱动器ULN2803,该芯片单片最多可以一次驱动八线步进电机,当然四线和六线也可驱动。本次设计选用达林顿ULN2803驱动步进电机。1.4步进电机与单片机连接原理图分析本实验采用的是六线制四相步进电机(*******),该电机与驱动器连接如图所示,JP1为点击六线接口,其中JP1的第3,4引脚连
5、接在一起与电机的公共端相连,对应图1.1中黑白两条线,JP1的第1引脚对应步进电机的Al,JP1的第2引脚对应步进电机的Bl,JP1的第5引脚对砬步进电机的A2,JP1的第6引脚对应步进电机的B2。这4调驱动线通过ULN2803后与单片机的P1.0〜P1.3引脚连接。原理如图1.2所示ULN2803IJ9N1N22N42N6N7N83NDOUT1OLTEOLTDOUT4OLH5OUT6OUT7OUT8CM181716H1413V2HTovccCON610II121514151617181920P1()M80C52Vc
6、cP0.0/(ALX))P1.2P0.1/(ADl)P1.3P0.2/(AD2)PL4P0.3/(AD3)P1.5P0.4/(AD4)P1.6P0.5/(AD5)P1.7P0.6/(AD6)Rst/VqdP0.7/(AD7)RXD/P3D"EAA^pTXD/P3.IALEIxinP3.2"P^NIMTP33P2.7/(AI5)TU/P3.4P2.6/(AI4)T1/P3.5P2.5/(A13)WR/P3.6P2.4/(A12)RD/P3.7P2.3/(AI1)XTAL2P2.2/(AI0)XTAL1P2.1/(A9)
7、VssP2.(V(A8>图1.2步进电机和单八机连接原理图1.5步进电机控制程序流程图谴取M收移疆和地JLtt反转图1.3程序流程图1.6电机控制模块源代码木节给出的代码只是电机控制模块子程序代码。#include#defineucharunsignedcharbitflag=O;ucharnum=0,show_num二2,maichong二4,table_begin=0;ucharcodetable1[1={0x01,0x02,0x04,0x08,0x08,0x04,0x02,0x01};//电机
8、正反转IO口德高低电平对应表voiddispose()//速度选择子程序{switch(num){case0:maichong二5;break;case1:maichong=4;break;case2:maichong=3;break;case3:maichong=2;break;}If(flag==O){table_begin=O;//fla
此文档下载收益归作者所有