




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、89C2051驱动步进电机的电路和源码时间:2006-10-26 来源: 作者: 点击:1434字体大小:【大 中小 程序stepper.cstepper.hex/* STEPPER.C* sweep ing steppers rotor cw and cww 400 steps* Copyright (c) 1999 by W.Sirichote*/#include c:mc518051io.h /* include i/o header file */#i nclude c:mc518051reg.hregister un sig ned char j,flag1,temp;registe
2、r un sig ned int cw_n, ccw_ n;unsigned char Step8=0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90#defi ne n 400/* flag1 mask byte0x01 ru n cw()0x02 run ccw()*/main ()flag1=0;seri ni t(9600);disable(); /* no n eed timer in terrupt */cw_n = n; /* in itial step nu mber for cw */flag1 |=0x01; /* i nitial en abl
3、e cw() */19while(1)tick_wait(); /* wait for 10ms elapsed */energize(); /* round-robin execution the following tasks every 10ms */ cw();ccw();cw()if(flag1 &0 x01)!=0)cw_n-; /* decreme nt cw step nu mber */if (cw_n !=0)j+; /* if not zero in creme nt in dex j */elseflagl &=0x01; /* disable cw() executi
4、on */ccw_ n = n; /* reload step nu mber to ccw coun ter */flagl |=0x02; /* en able cww() execution */ccw()if(flag1 &0x02)!=0)ccw_ n-; /* decre mnent ccw step nu mber */if (ccw_n !=0)j-; /* if not zero decreme nt in dex j */elseflagl &=0x02; /* disable ccw() executio n */cw_n = n; /* reload step nu m
5、ber to cw coun ter */flagl |=0x01; /* en able cw() execution */tick_wait() /* cputick was replaced by simpler ASM code 10ms wait */asm JNB TCON.5,*; /* wait for TFO set */asm CLR TCON.5; /* clear TF0 for further set */asm ORL TH0,#$DC; /* reload TH0 with $DC, TL0 = 0 */en ergize()P1 = step(j&0x07);
6、/* only step 0-7 needed */电路图il代 2* :l v Z54ZL- vlc310 UfThrit ;-RlsuPTxt1XLX2H.teTrL门汕弓L-liL* 1L.:592MB2 二论 YTA.L1JDpF产8 穹 C2O51IKTO k 13 rati -M PlPlGMCJ PJ- If-5VTags :步进电机 89C2051如何用单片机控制步进电机时间:2006-10-26 来源: 作者: 点击:2106 字体大小:【大 中小总国步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,通俗地说:当步进驱动器接收到一个脉冲信号,它就驱动步进
7、电机按设定的方向转动一个固定的角度(及步进角)。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。一、步进电机常识常见的步进电机分三种:永磁式( PM),反应式(VR)和混合式(HB),永磁式步进 一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为0.72度。这种步进电机的应用最为广泛。二
8、、永磁式步进电机的控制下面以电子爱好者业余制作中常用的永磁式步进电机为例,来介绍如何用单片机控制步 进电机。图1是35BY型永磁步进电机的外形图,图2是该电机的接线图,从图中可以看出,电机共有四组线圈,四组线圈的一个端点连在一起引出,这样一共有5根引出线。要使用步进电机转动,只要轮流给各引出端通电即可。将COM端标识为C,只要AC、 C、BC、C,轮流加电就能驱动步进电机运转,加电的方式可以有多种,如果将COM端接正电源,那么只要用开关元件(如三极管),将A、 、B、轮流接地。下表列出了该电机的一些典型参数:表135BY48S03型步机电机参数型号步距角相数电压电流电阻最大静转距定位转距转动惯
9、量35BY48S03 7.5 4 12 0.26 47 180 65 2.5有了这些参数,不难设计出控制电路,因其工作电压为12V,最大电流为0.26A,因此用一块开路输出达林顿驱动器(ULN2003 )来作为驱动,通过P1.4P1.7来控制各线圈的接通与切断,电路如图3所示。开机时,P1.4P1.7均为高电平,依次将P1.4P1.7切换为 低电平即可驱动步进电机运行,注意在切换之前将前一个输出引脚变为高电平。如果要改变电机的转动速度只要改变两次接通之间的时间,而要改变电机的转动方向,只要改变各线圈接通的顺序。图135BY48S03型步进电机外形图黒 红 蓝图235BY48S03型步进电机的接
10、线图msMaE沫K書盅書XH点汕图3 单片机控制35BY48S03型步进电机的电路原理图三、步进电机的驱动实例要求:控制电路如图 3所示,开机后,电机不转,按下启动键,电机旋转,速度为25转/分,按下加1键,速度增加,按下减1键,速度降低,最高速度为 100转/分,最低转带 为25转/分,按下停止键,电机停转。速度值要求在数码管上显示出来。1 要求分析按上面的分析,改变转速,只要改变P1.0P1.3轮流变低电平的时间即可达到要求,这个时间不应采用延时来实现,因为会影响到其他功能的实现。这里以定时的方式来实现。下面首先计算一下定时时间。按要求,最低转速为 25转/分,而上述步进电机的步距角为7.
11、5,即每48个脉冲为1周,即在最低转速时,要求为1200脉冲/分,相当于50ms/脉冲。而在最高转速时,要求为 100转/分,即48000脉冲/分,相当于12.5ms/脉冲。可以列出下表表1步进电机转速与定时器定时常数关系速度单步时间(us) TH1 TL1 实际定时(us)25 50000 76 0 49996.826 48077 82 236 48074.1827 46296 89 86 46292.6128 44643 95 73 44640.155100 12500 211 0 12499.2表中不仅计算出了 TH1和TL1,而且还计算出了在这个定时常数下,真实的定时时间,可以根据这个
12、计算值来估算真实速度与理论速度的误差值。表中TH1和TL1是根据定时时间算出来的定时初值,这里用到的晶振是11.0592M 。有了上述表格,程序就不难实现了,使用定时/计数器T1为定时器,定时时间到后切换输出脚即可。2 程序实现定义DSB 1A实验板的S1为启动键,S2为停止键,S3为加1键,S4为减1键,程序 如下:StartEnd bit01H ;起动及停止标志Min Spd EQU 25;起始转动速度MaxSpd EQU 100 ;最高转动速度Speed DATA 23H ;流动速度计数DjCount DATA 24H ;控制电机输出的一个值,初始为 11110 111Hidden EQ
13、U 10H ;消隐码Cou nter DATA 57H ;显示计数器DISPBUF DATA 58H ;显示缓冲区ORG 0000HAJMP MAINORG 000BHJMP DISPORG 001BHJMP DJZDORG 30HMAIN:MOV SP,#5FHMOV P1,#0FFHMOV A,#Hidde nMOV DispBuf,AMOV DispBuf+1,AMOV DispBuf+2,AMOV DjCou nt,#BMOV SPEED,#MinSpd ;起始转动速度送入计数器CLR StartEnd ;停转状态MOV TMOD,#00010001B ;MOV TH0,#HIGH(6
14、5536-3000)MOV TLO,#LOW(65536-3OOO)MOV TH1,#0FFH;MOV TL1,#0FFHSETB TR0SETB EASETB ET0SETB ET1LOOP: ACALL KEY ;键盘程序JNB F0,m_NEXT1 ;无键继续ACALL KEYPROC ;否则调用键盘处理程序 m_NEXT1:MOV A,SpeedMOV B,#10DIV ABMOV DispBuf+5,B ;最低位MOV B,#10DIV ABMOV DispBuf+4,BMOV DispBuf+3,AJB StartE nd,m_Next2CLR TR1 ;关闭电机JMP LOOPO
15、RL P1,#Bm_Next2:SETB TR1 ;启动电机AJMP LOOP :主程序结束DIOms:; 延时程序,键盘处理中调用KEYPROC:MOV A,B ;获取键值JB ACC.2,StartStop ;分析键的代码,某位被按下,则该位为1JB ACC.3,KeyStyJB ACC.4,UpSpdJB ACC.5,DowSpdAJMP KEY_RETStartStop:SETB StartE nd;启动AJMP KEY_RETKeySty:CLR StartEnd;停止AJMP KEY_RETUpSpd:INC SPEED;MOV A,SPEEDCJNE A,#MaxSpd,K1 ;
16、到了最多的次数?DEC SPEED ;是则减去1,保证下次仍为该值K1:AJMP KEY_RETDowSpd:DEC SPEEDMOV A,SPEEDCJNE A,#MAXSPD,KEY_RET ;不等(未到最大值),返回MOV SPEED,#Mi nSpd;KEY_RET:RETKEY:获取键值的程序RETDjZd:;定时器T1用于电机转速控制PUSH ACCPUSH PSWMOV A,SpeedSUBB A,#MinSpd ;减基准数MOV DPTR,#DjHMOVC A,A+DPTRMOV TH1,AMOV A,SpeedSUBB A,#Mi nSpdMOV DPTR,#DjLMOVC
17、A,A+DPTRMOV TL1,AMOV A,DjCo untCPL AORL P1,AMOV A,DjCo untJNB ACC.7,d_Next1JMP d_Next2d_Next1:MOV DjCou nt,#Bd_Next2:MOV A,DjCo untRL AMOV DjCount,A ;回存ANL P1,APOP PSWPOP ACCRETIDjH: DB 76,82,89,95,100,106,110,115,119,123,12DjL: DB 0,236,86,73,212,0,214,96,163,165DISP:;显示程序POP PSWPOP ACCRETIBitTab:
18、DB 7Fh,0BFH,0DFH,0EFH,0F7H,0FBHDISPTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH END3 .程序分析本程序主要由键盘程序、显示器程序、步进电机驱动程序三部份组成,主程序首先初始 化各变量,将显示器的高3位消隐,步进电机驱动的各引脚均输出高电平,然后调用键盘程序,并作判断,如果有键按下,则调用键盘处理程序,否则直接转下一步。下一步是将当前 的转速值转换为 BCD码,送入显示缓冲区;接着判断StartEnd这个位变量,是“1还是“0” 如果是“
19、1”则开启定时器 T1,否则关闭定时器 T1,为防止关闭时某一相线圈长期通电, 因此,在关闭定时器 T1时,将P1.0P1.3均置高。至此,主程序的工作即结束。这里为简 便起见,这里没有做高位“0消隐的工作,即如果速度为 10转/分,则显示值“010;读者可以自行加入相关的代码来处理这一工作。步进电机的驱动工作是在定时器T1的中断服务程序中实现的,由前述分析,每次的定时时间到达以后,需要将P1.0P1.3依次接通,程度中用了一个变量DjCntr来实现这一功能,在主程序初始化时,该变量被赋予初值B,进入到定时中断以后,将该变量取出送 ACC累加器,并在累加器中进行左移,这样,该数值就变为1110
20、 1111 ,然后将该数与P1相与”,此时,P1.4即输出低电平,第二次进入中断时,先将该数取反,成为00010000,然后将该数与P1相或”,这样,P1.4即输出高电平,关断了相应的线圈,然后将该数重新取出,并作左移,即1110 , 1111右移成为1101 1111,将该数与P1相与”,这样P1.5即输出低电平,依次类推,P1.7P1.4即循环输出低电平。当这一数据变为0111 1111后,需要作适当的改动,将数据重新变回1111 0111,进行第二次循环,相关代码,请读者自行分析。定时时间又是如何确定的呢?这里用的是查表的方法,首先用Excel计算得出在每一种转速下的TH值和TL值,然后
21、,分别放入 DjH和DjL表中,在进入T1中断程序之后,将 速度值变量Speed送入累加器ACC,然后减去基数25,使其基数从0开始计数,然后分别 查表,送入TH1和TL1,实现重置定时初值的目的。 看完这一部份内容以后,请读者自行完成以下工作:1 .更改程序,将S1定义为 启动/停止”,而S2定义为 方向”,按下S2,切换电机旋转方 向。2. 更改程序,要求转速从 1到100。3. 更改程序,实现首位无效零消隐。Tags :单片机步进电机步进电机问答时间:2006-10-19 来源: 作者: 点击:717 字体大小:【大中小AUdLUi.什么是步进电机?步进电机是一种将电脉冲转化为角位移的执
22、行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过 控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。2步进电机分哪几种 ?步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB)永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家 80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又 分为两相和五相:两相步进角一
23、般为1.8度而五相步进角一般为0.72度。这种步进电机的应用最为广泛。3. 什么是保持转矩(HOLDING TORQUE ) ?保持转矩(HOLDING TORQUE )是指步进电机通电但没有转动时,定子锁住转子的力矩。它是步进电机最重要的参数之一,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数之一。比如,当人们说2N.m的步进电机,在没有特殊说明的情况下是指保持转矩为 2N.m的步进电机。4. 什么是 DETENT TORQUE?DETENT TORQUE是指步进电机没有通电的情
24、况下,定子锁住转子的力矩。DETENT TORQUE在国内没有统一的翻译方式,容易使大家产生误解;由于反应式步进电机的转子不是永磁材料,所以它没有DETENT TORQUE。5. 步进电机精度为多少?是否累积?一般步进电机的精度为步进角的3-5%,且不累积。6. 步进电机的外表温度允许达到多少?从而导致力矩下降乃至于失步,因此电机步进电机温度过高首先会使电机的磁性材料退磁,外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏 200度以上,所以步进电机外表温度在摄氏 80-90 度完全正常。7. 为什么步进电机的力矩会随转速的升高
25、而下降?当步进电机转动时, 电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。8. 为什么步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声?步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。 在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。9. 如何克服两相混合式步进电机在低速运转时的
26、振动和噪声?步进电机低速转动时振动和噪声大是其固有的缺点,一般可采用以下方案来克服:A. 如步进电机正好工作在共振区,可通过改变减速比等机械传动避开共振区;B. 采用带有细分功能的驱动器,这是最常用的、最简便的方法;C. 换成步距角更小的步进电机,如三相或五相步进电机;D. 换成交流伺服电机,几乎可以完全克服震动和噪声,但成本较高;E. 在电机轴上加磁性阻尼器,市场上已有这种产品,但机械结构改变较大。10. 细分驱动器的细分数是否能代表精度?步进电机的细分技术实质上是一种电子阻尼技术(请参考有关文献),其主要目的是减弱或消除步进电机的低频振动,提高电机的运转精度只是细分技术的一个附带功能。比如
27、对于步进角为1.8 的两相混合式步进电机,如果细分驱动器的细分数设置为4,那么电机的运转分辨率为每个脉冲 0.45 ,电机的精度能否达到或接近0.45 ,还取决于细分驱动器的细分电流控制精度等其它因素。不同厂家的细分驱动器精度可能差别很大;细分数越大精度越难控制。11. 四相混合式步进电机与驱动器的串联接法和并联接法有什么区别?四相混合式步进电机一般由两相驱动器来驱动,因此,连接时可以采用串联接法或并联接法将四相电机接成两相使用。串联接法一般在电机转速较的场合使用,此时需要的驱动器输出电流为电机相电流的 0.7倍,因而电机发热小;并联接法一般在电机转速较高的场合使用(又称高速接法),所需要的驱
28、动器输出电流为电机相电流的1.4倍,因而电机发热较大。12. 如何确定步进电机驱动器的直流供电电源 ?A. 电压的确定混合式步进电机驱动器的供电电源电压一般是一个较宽的范围(比如IM483的供电电压为1248VDC),电源电压通常根据电机的工作转速和响应要求来选择。如果电机工作转速较高或响应要求较快, 那么电压取值也高,但注意电源电压的纹波不能超过驱动器的最大输 入电压,否则可能损坏驱动器。B. 电流的确定供电电源电流一般根据驱动器的输出相电流I来确定。如果采用线性电源,电源电流一般可取I的1.11.3倍;如果采用开关电源,电源电流一般可取I的1.52.0倍。13. 混合式步进电机驱动器的脱机
29、信号FREE 般在什么情况下使用 ?当脱机信号FREE为低电平时,驱动器输出到电机的电流被切断,电机转子处于自由状态(脱机状态)。在有些自动化设备中,如果在驱动器不断电的情况下要求直接转动电机轴(手动 方式),就可以将 FREE信号置低,使电机脱机,进行手动操作或调节。手动完成后,再将 FREE信号置高,以继续自动控制。14. 如果用简单的方法调整两相步进电机通电后的转动方向?只需将电机与驱动器接线的A+和A-(或者B+和B-)对调即可。关于驱动器的细分原理及一些相关说明(转载)在国外,对于步进系统,主要采用二相混合式步进电机及相应的细分驱动器。但在国内,广大用户对 细分”还不是特别了解,有的
30、只是认为,细分是为了提高精度,其实 不然,细分主要是改善电机的运行性能,现说明如下:步进电机的细分控制是由驱动器精确控制步进电机的相电流来实现的,以二相电机为例,假如电机的额定相电流为3A,如果使用常规驱动器(如常用的恒流斩波方式)驱动该电机,电机每运行一步,其绕组内的电流将从0突变为3A或从3A突变到0,相电流的巨大变化,必然会引起电机运行的振动和噪音。 如果使用细分驱动器,在 10细分的状态下驱动该电机,电机每运行一微步,其绕组内的电 流变化只有0.3A而不是3A,且电流是以正弦曲线规律变化,这样就大大的改善了电机的振动和噪音,因此,在性能上的优点才是细分的真正优点。由于细分驱动器要精确控
31、制电机的相电流,所以对驱动器要有相当高的技术要求和工艺要求,成本亦会较高。注意,国内有一些驱动器采用 平滑”来取代细分,有的亦称为细分,但这不是真正的细分,望广大用户一定 要分清两者的本质不同:1 .平滑”并不精确控制电机的相电流,只是把电流的变化率变缓一些,所以平滑”并不产生微步,而细分的微步是可以用来精确定位的。2 电机的相电流被平滑后,会引起电机力矩的下降,而细分控制不但不会引起电机力矩的 下降,相反,力矩会有所增加。Tags :问答 步进电机51单片机驱动步进电机电路及程序时间:2007-06-26 来源: 作者: 点击:3755 字体大小:【大 中小 在这里介绍一下用 51单片机驱动
32、步进电机的方法。这款步进电机的驱动电压12V,步进角为 7.5度.一圈360度,需要48个脉冲完成!!该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:黄色、6:黑 色。采用51驱动ULN2003的方法进行驱动。系统电源:5V10uF1 IR1I OK艾n30353433J2i2345虚r7 O 丄 VCC GNDIC1ATS9C51RSTPSENXIX2貢ALBCADD)PO.O(A8)P2O(為,Di jPD 1(ASJPZ.lCAD2)PD.2CA10JP2 2(AD3)PD. 3(A1QP2 3(AD4JP0 4(A12)P2 4(AD5)P0.5CA13)P2 5(ADQPM(A14)P26CAD7)P0.7CA15)PZ7pi omP3(VRXD0PI.17T2EXP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 影视道具专业保险及责任承担协议
- 知识产权代管与新能源技术合作合同
- 微信视频号美食烘焙教程制作与推广服务协议
- 智能家居股权变更登记及智能家居生态合作协议
- 建筑空调系统安装与节能改造及运维服务协议
- 固废处理与资源化利用项目投资协议
- 商业银行柜员岗位全职聘用与业务流程优化合同
- 智能教育平台课程内容版权授权与品牌合作合同
- 数据中心备用电源租赁及智能运维服务合同
- 抖音平台火花话题挑战赛合作伙伴市场推广与品牌宣传协议
- 蜜雪冰城合作加盟合同
- 急性心衰的急救护理与流程
- 新闻记者职业资格《新闻基础知识》考试题库(含答案)
- 国开2024年秋《心理健康教育》形考任务1-9答案
- 妊娠纹的治疗
- 电力运维管理平台方案设计
- 安全培训管理体系
- 古诗教案模板范文
- 屠宰场安全培训
- 光伏电站运维课件
- 厂区绿化环境提升方案
评论
0/150
提交评论