首页 步进电机

步进电机

举报
开通vip

步进电机HYPERLINK "http://hi.baidu.com/index.htm" INCLUDEPICTURE "http://img.baidu.com/hi/img/ihome/logo.gif" \* MERGEFORMATINET 366965876 | HYPERLINK "http://hi.baidu.com/chary8088/blog/item/177332ce39cef70a92457ea9.html" \l "#" INCLUDEPICTURE "http://img.baidu.com/h...

步进电机
HYPERLINK "http://hi.baidu.com/index.htm" INCLUDEPICTURE "http://img.baidu.com/hi/img/ihome/logo.gif" \* MERGEFORMATINET 366965876 | HYPERLINK "http://hi.baidu.com/chary8088/blog/item/177332ce39cef70a92457ea9.html" \l "#" INCLUDEPICTURE "http://img.baidu.com/hi/img/regist/oldactv/acitve_bg2.png" \* MERGEFORMATINET | 退出 漏子-爱创邮件群发专家 QQ邮件地址验证专家 最新版-爱创邮件群发软件---http://mailexpert.ucoz.com下载   主页博客相册|个人档案 |好友   查看文章   51单片机控制步进电机 2009-06-17 10:10 51单片机控制步进电机   接触单片机快两年了,不过只是非常业余的兴趣,实践却不多,到现在还算是个初学者吧。这几天给自己的任务就是搞定步进电机的单片机控制。以前曾看过有关步进电机原理和控制的资料,毕竟自己没有做过,对其具体原理还不是很清楚。今天从淘宝上http://shop58480815.taobao.com/买了一个EPSON的UMX-1型步进电机,此步进电机为双极性四相(后来才知道,四相和两相步进没什么区别的!!),接线共有六根,外形如下图所示: 拿到步进电机,根据以前看书对四相步进电机的了解,我对它进行了初步的测试,就是将5伏电源的正端接上最边上两根褐色的线,然后用5伏电源的地线分别和另外四根线(红、兰、白、橙)依次接触,发现每接触一下,步进电机便转动一个角度,来回五次,电机刚好转一圈,说明此步进电机的步进角度为360/(4×5)=18度。地线与四线接触的顺序相反,电机的转向也相反。 如果用单片机来控制此步进电机,则只需分别依次给四线一定时间的脉冲电流,电机便可连续转动起来。通过改变脉冲电流的时间间隔,就可以实现对转速的控制;通过改变给四线脉冲电流的顺序,则可实现对转向的控制。所以,设计了如下电路图: C51程序代码为: 代码一 #include static unsigned int count; static unsigned int endcount; void delay(); void main(void) { count = 0; P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 0; EA = 1;              //允许CPU中断 TMOD = 0x11; //设定时器0和1为16位模式1 ET0 = 1;             //定时器0中断允许 TH0 = 0xFC; TL0 = 0x18;      //设定时每隔1ms中断一次 TR0 = 1;           //开始计数 startrun: P1_3 = 0; P1_0 = 1; delay(); P1_0 = 0; P1_1 = 1; delay(); P1_1 = 0; P1_2 = 1; delay(); P1_2 = 0; P1_3 = 1; delay(); goto startrun; } //定时器0中断处理 void timeint(void) interrupt 1 { TH0=0xFC; TL0=0x18; //设定时每隔1ms中断一次 count++; } void delay() { endcount=2; count=0; do{}while(count static unsigned int count; static int step_index; void delay(unsigned int endcount); void gorun(bit turn, unsigned int speedlevel); void main(void) { count = 0; step_index = 0; P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 0; EA = 1;             //允许CPU中断 TMOD = 0x11; //设定时器0和1为16位模式1 ET0 = 1;            //定时器0中断允许 TH0 = 0xFE; TL0 = 0x0C; //设定时每隔0.5ms中断一次 TR0 = 1;         //开始计数 do{     gorun(1,60); }while(1); } //定时器0中断处理 void timeint(void) interrupt 1 { TH0=0xFE; TL0=0x0C; //设定时每隔0.5ms中断一次 count++; } void delay(unsigned int endcount) { count=0; do{}while(count7)       step_index=0; } else {     step_index--;     if (step_index<0)       step_index=7; }     }   改进的代码能实现速度和方向的控制,而且,通过step_index静态全局变量能“记住”步进电机的步进位置,下次调用 gorun()函数时则可直接从上次步进位置继续转动,从而实现精确步进;另外,由于利用了步进电机内线圈之间的“中间状态”,步进角度减小了一半,只为9度,低速运转也相对稳定一些了。   但是,在代码二中,步进电机的运转控制是在主函数中,如果程序还需执行其它任务,则有可能使步进电机的运转收到影响,另外还有其它方面的不便,总之不是很完美的控制。所以我又将代码再次改进: 代码三 #include static unsigned int count; //计数 static int step_index; //步进索引数,值为0-7 static bit turn; //步进电机转动方向 static bit stop_flag; //步进电机停止标志 static int speedlevel; //步进电机转速参数,数值越大速度越慢,最小值为1,速度最快 static int spcount;    //步进电机转速参数计数 void delay(unsigned int endcount); //延时函数,延时为endcount*0.5毫秒 void gorun();          //步进电机控制步进函数 void main(void) { count = 0; step_index = 0; spcount = 0; stop_flag = 0; P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 0; EA = 1;            //允许CPU中断 TMOD = 0x11; //设定时器0和1为16位模式1 ET0 = 1;           //定时器0中断允许 TH0 = 0xFE; TL0 = 0x0C;   //设定时每隔0.5ms中断一次 TR0 = 1;         //开始计数 turn = 0; speedlevel = 2; delay(10000); speedlevel = 1; do{     speedlevel = 2;     delay(10000);     speedlevel = 1;     delay(10000);     stop_flag=1;     delay(10000);     stop_flag=0; }while(1); } //定时器0中断处理 void timeint(void) interrupt 1 { TH0=0xFE; TL0=0x0C; //设定时每隔0.5ms中断一次 count++; spcount--; if(spcount<=0) {     spcount = speedlevel;     gorun(); } } void delay(unsigned int endcount) { count=0; do{}while(count7)       step_index=0; } else {     step_index--;     if (step_index<0)       step_index=7; }     }   在代码三中,我将步进电机的运转控制放在时间中断函数之中,这样主函数就能很方便的加入其它任务的执行,而对步进电机的运转不产生影响。在此代码中,不但实现了步进电机的转速和转向的控制,另外还加了一个停止的功能,呵呵,这肯定是需要的。   步进电机从静止到高速转动需要一个加速的过程,否则电机很容易被“卡住”,代码一、二实现加速不是很方便,而在代码三中,加速则很容易了。在此代码中,当转速参数speedlevel 为2时,可以算出,此时步进电机的转速为1500RPM,而当转速参数speedlevel 1时,转速为3000RPM。当步进电机停止,如果直接将speedlevel 设为1,此时步进电机将被“卡住”,而如果先把speedlevel 设为2,让电机以1500RPM的转速转起来,几秒种后,再把speedlevel 设为1,此时电机就能以3000RPM的转速高速转动,这就是“加速”的效果。   在此电路中,考虑到电流的缘故,我用的NPN三极管是S8050,它的电流最大可达1500mA,而在实际运转中,我用万用表测了一下,当转速为1500RPM时,步进电机的电流只有90mA左右,电机发热量较小,当转速为60RPM时,步进电机的电流为200mA左右,电机发热量较大,所以NPN三极管也可以选用9013,对于电机发热量大的问题,可加一个10欧到20欧的限流电阻,不过这样步进电机的功率将会变小。       由于在下浅薄,错误和问题难免,请各位不吝赐教! 类别:业余爱好 | HYPERLINK "http://hi.baidu.com/chary8088/blog/item/177332ce39cef70a92457ea9.html" \l "#" \t "_blank" INCLUDEPICTURE "http://img.baidu.com/hi/img/share.gif" \* MERGEFORMATINET | 添加到搜藏 | 分享到i贴吧 | 浏览(12103) | 评论 (9)   上一篇:两分钟让你彻底理解步进电机    下一篇:4线,6线8线接线方法   已有18人分享了这篇文章: HYPERLINK "http://hi.baidu.com/sys/checkuser/q390636091/3" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/9dc771333930363336303931d30f.jpg" \* MERGEFORMATINET q390636091 HYPERLINK "http://apps.hi.baidu.com/share/user/9dc771333930363336303931d30f" \t "_blank" Ta的转贴 HYPERLINK "http://hi.baidu.com/sys/checkuser/chengxifx/3" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/2ba56368656e67786966785b10.jpg" \* MERGEFORMATINET chengxifx HYPERLINK "http://apps.hi.baidu.com/share/user/2ba56368656e67786966785b10" \t "_blank" Ta的转贴 HYPERLINK "http://hi.baidu.com/sys/checkuser/598646744/3" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/affc353938363436373434ca09.jpg" \* MERGEFORMATINET 598646744 HYPERLINK "http://apps.hi.baidu.com/share/user/affc353938363436373434ca09" \t "_blank" Ta的转贴 HYPERLINK "http://hi.baidu.com/sys/checkuser/tyq_man/3" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/4b807479715f6d616e4706.jpg" \* MERGEFORMATINET tyq_man HYPERLINK "http://apps.hi.baidu.com/share/user/4b807479715f6d616e4706" \t "_blank" Ta的转贴 HYPERLINK "http://hi.baidu.com/sys/checkuser/12307068/3" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/034a31323330373036387902.jpg" \* MERGEFORMATINET 12307068 HYPERLINK "http://apps.hi.baidu.com/share/user/034a31323330373036387902" \t "_blank" Ta的转贴 HYPERLINK "http://hi.baidu.com/sys/checkuser/chzmount/3" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/468563687a6d6f756e743a0a.jpg" \* MERGEFORMATINET chzmount HYPERLINK "http://apps.hi.baidu.com/share/user/468563687a6d6f756e743a0a" \t "_blank" Ta的转贴 HYPERLINK "http://hi.baidu.com/sys/checkuser/cwenquan/3" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/71486377656e7175616e2703.jpg" \* MERGEFORMATINET cwenquan HYPERLINK "http://apps.hi.baidu.com/share/user/71486377656e7175616e2703" \t "_blank" Ta的转贴 HYPERLINK "http://hi.baidu.com/sys/checkuser/gnjiao/3" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/a9c0676e6a69616f5703.jpg" \* MERGEFORMATINET gnjiao HYPERLINK "http://apps.hi.baidu.com/share/user/a9c0676e6a69616f5703" \t "_blank" Ta的转贴   相关文章: • 51单片机综合学习-- 步进电机控...          • 步进电机控制程序(c语言51单片机... • 51单片机驱动步进电机的电路及程...          • 51单片机控制四相步进电机 • 单片机控制步进电机驱动器原理          • 基于PIC单片机步进电机自适应控... • 单片机之旅-步进电机          • 用单片机控制步进电机 • 基于STC单片机的经济型步进电机...          • 基于AT89C52单片机的步进电机驱... 更多>>   最近读者: HYPERLINK "http://hi.baidu.com/q390636091" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/9dc771333930363336303931d30f.jpg" \* MERGEFORMATINET HYPERLINK "http://hi.baidu.com/776731096" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/20a56c69755f6368756e3535351c0d.jpg" \* MERGEFORMATINET HYPERLINK "http://hi.baidu.com/wu%5Flong88" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/e67377755f6c6f6e673838450c.jpg" \* MERGEFORMATINET HYPERLINK "http://hi.baidu.com/%BF%C9%B0%AE%D0%A1%C5%C0%C5%C0" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/d64cbfc9b0aed0a1c5c0c5c07c06.jpg" \* MERGEFORMATINET HYPERLINK "http://hi.baidu.com/%C8%FD%D2%B6%B2%DD0625" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/17c0c8fdd2b6b2dd30363235d004.jpg" \* MERGEFORMATINET HYPERLINK "http://hi.baidu.com/lp525110627" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/aeee6c70353235313130363237950a.jpg" \* MERGEFORMATINET HYPERLINK "http://hi.baidu.com/xiaoyaoduhongchen" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/ac04b7e7c1f7d2bbd7ed7906.jpg" \* MERGEFORMATINET HYPERLINK "http://hi.baidu.com/jungshiangliou" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/e4ad4a756e67536869616e674c696f75990a.jpg" \* MERGEFORMATINET q390636091 liu_chun555 wu_long88 可爱小爬爬 三叶草0625 lp525110627 风流一醉 JungShiangLiou   网友评论: 1 HYPERLINK "http://hi.baidu.com/tanya615" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/44f074616e7961363135a707.jpg" \* MERGEFORMATINET tanya615 2009-07-13 16:54 | 回复 学习了。正找相关资料呢,谢谢了!   2 HYPERLINK "http://hi.baidu.com/tanya615" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/44f074616e7961363135a707.jpg" \* MERGEFORMATINET tanya615 2009-07-14 09:04 | 回复 你的是高位有效么?   3 网友:查勇 2009-07-14 20:23 | 回复 恩。。不错哈。。再给我发点各种步进电机的驱动电路哈。。谢了   4 HYPERLINK "http://hi.baidu.com/chary8088" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/37e2636861727938303838ff01.jpg" \* MERGEFORMATINET chary8088 2009-07-15 15:56 | 回复 回复tanya615:是高位有效   5 HYPERLINK "http://hi.baidu.com/chary8088" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/37e2636861727938303838ff01.jpg" \* MERGEFORMATINET chary8088 2009-07-15 16:01 | 回复 回复查勇:这个程序对两相步进电机是半拍 四相的整拍   6 网友:APPLE 2009-08-26 21:51 | 回复 厉害!!!   7 网友:匿名网友 2009-12-14 11:10 | 回复 bucuo   8 HYPERLINK "http://passport.baidu.com/?business&un=fuxinbo_68" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/39b6667578696e626f5f3638a303.jpg" \* MERGEFORMATINET fuxinbo_68 2010-01-03 20:21 | 回复 请问楼主,你的实验中电机没有使用驱动电路芯片么?   9 HYPERLINK "http://hi.baidu.com/shiyuefei0111" \t "_blank" INCLUDEPICTURE "http://tx.bdimg.com/sys/portraitn/item/cb6f73686979756566656930313131a00b.jpg" \* MERGEFORMATINET shiyuefei0111 2010-06-22 12:07 | 回复 请问楼主你的实验电路怎么搭建起来的啊?能不能说一说过程啊?电路图看不清   窗体顶端 窗体底端 窗体顶端 发表评论: 姓 名: 366965876 *姓名最长为50字节   内 容: 插入表情 ▼ 闪光字   验证码: 请点击后输入四位验证码,字母不区分大小写 看不清?       取消回复 窗体底端       ©2010 Baidu 学习了。正找相关资料呢,谢谢了! 你的是高位有效么? 恩。。不错哈。。再给我发点各种步进电机的驱动电路哈。。谢了 回复tanya615:是高位有效 回复查勇:这个程序对两相步进电机是半拍 四相的整拍 厉害!!! bucuo 请问楼主,你的实验中电机没有使用驱动电路芯片么? 请问楼主你的实验电路怎么搭建起来的啊?能不能说一说过程啊?电路图看不清
本文档为【步进电机】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_470183
暂无简介~
格式:doc
大小:391KB
软件:Word
页数:13
分类:企业经营
上传时间:2010-12-16
浏览量:31