ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:227.51KB ,
资源ID:10500118      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10500118.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(四相步进电机单片机课程设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

四相步进电机单片机课程设计.docx

1、四相步进电机单片机课程设计编号课程设计的特点,广泛应用于各种开环控制。第2章 设计内容的介绍2.1步进电机原理步进电机的工作就是步进转动,其功用是将脉冲电信号变换为相应的角位移或是直线位移,就是给一个脉冲信号,电动机转动一个角度或是前进一步。步进电机的角位移量与脉冲数成正比,它的转速与脉冲频率(f成正比,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。如下所示的步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图1是该四相反应式步进电机工

2、作原理示意图。图2-1 四相步进电机步进示意图开始时,开关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所示:图2-2 步进电机工作时

3、序波形图2.2 步进电机的分类与选择现在比较常用的步进电机包括反应式步进电机VR)、永磁式步进电机PM)、混合式步进电机HB)和单相式步进电机等。反应式步进电动机采用高导磁材料构成齿状转子和定子,其结构简单,生产成本低,步距角可以做的相当小,一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩,但动态性能相对较差。永磁式步进电机转子采用多磁极的圆筒形的永磁铁,在其外侧配置齿状定子。用转子和定子之间的吸引和排斥力产生转动,它的出力大,动态性能好,但步距角一般比较大。一般为两相,转矩和体积较小,

4、步进角一般为7.5度 或15度。混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛,它是PM和VR的复合产品,其转子采用齿状的稀土永磁材料,定子则为齿状的突起结构。此类电机综合了反应式和永磁式两者的优点,步距角小,出力大,动态性能好,是性能较好的一类步进电动机,在计算机相关的设备中多用此类电机。步进电机有步距角涉及到相数)、静转矩、及电流三大要素组成。一旦三大要素确定,步进电机的型号便确定下来了。1、步距角的选择电机的步距角取决于负载精度的要求,将负载的最小分辨率当量)换算到电机轴上,每个当量电机

5、应走多少角度包括减速)。电机的步距角应等于或小于此角度。目前市场上步进电机的步距角一般有0.36度/0.72度五相电机)、0.9度/1.8度二、四相电机)、1.5度/3度 三相电机)等。2、静力矩的选择步进电机的动态力矩一下子很难确定,我们往往先确定电机的静力矩。静力矩选择的依据是电机工作的负载,而负载可分为惯性负载和摩擦负载二种。单一的惯性负载和单一的摩擦负载是不存在的。直接起动时一般由低速)时二种负载均要考虑,加速起动时主要考虑惯性负载,恒速运行进只要考虑摩擦负载。一般情况下,静力矩应为摩擦负载的2-3倍内好,静力矩一旦选定,电机的机座及长度便能确定下来几何尺寸)。3、电流的选择静力矩一样

6、的电机,由于电流参数不同,其运行特性差别很大,可依据矩频特性曲线图,判断电机的电流参考驱动电源、及驱动电压)。4、力矩与功率换算步进电机一般在较大范围内调速使用、其功率是变化的,一般只用力矩来衡量,力矩与功率换算如下: P= M =2n/60 P=2nM/60其P为功率单位为瓦,为每秒角速度,单位为弧度,n为每分钟转速,M为力矩单位为牛顿MP=2fM/400(半步工作)其中f为每秒脉冲数简称PPS)2.3设计目标1)一个正反转开关控制正转和反转;2)一个速度开关控制高速和低速高速和低速只要有明显差别);3)一个半圈按钮,按一下时转半圈, 一个一圈按钮, 按一下时转一圈;4)一个连续转动按钮,

7、按一下时连续转动,再按一下时停止转动;5)深入理解步进电机工作原理,设计系统方案;6)用protel画出系统原理图,要求是一个完整的单片机控制系统,电源为220V交流电在单片机实验室调试。第3章 设计思路与具体内容3.1设计思路本系统主要由供电电源模块、单片机最小系统、按键电路、步进电机驱动电路以及步进电机等几部分组成。本系统采用两个独立开关三个独立按钮,分别进行高低速、正反转、半圈、一圈以及连动的控制。驱动电路采用ULN2003A实现步进电机的驱动。步进电机的供电采用独立12V供电。3.2总体设计框图及电路原理图总体设计框图如图3.1所示。图3.1 总体设计框图3.3单片机最小系统及按键部分

8、最小系统主要是为了单片机的正常工作。51单片机是一种低功耗/低电压、高性能的8位单片机,它采用CMOS和高密度非易失性存储器技术,而且其输出引脚和指令系统都与MCS-51兼容;片内的Flash ROM允许在系统内改编程序或用常规的非易失性编程器来编程,内部除CPU外,还包括256字节RAM,4K字节的ROM,4个8位并行I/O口,5个中断源,2个中断优先级,2个16位可编程定时计数器。89S51单片机是一种功能强、灵活性高且价格合理的单片机,且支持在线编程,完全满足本系统设计需要。单片机最小系统包括单片机和复位电路,振荡电路。3.4 按键电路采用2个开关3个按键来控制步进电机,即“高低速切换”

9、、“正反转切换”、“半圈”、“一圈”和“连动切换”。当波动开关或按下其中一个按键时,电源通过上拉电阻和按键到地形成通路,使相应输入管脚接地,即给单片机送入一个低电平,此低电平即为有效电平。按键电路及单片机最小系统部分如图3.2所示。图3.1最小系统及按键电路3.5 步进电机驱动电路步进电机的驱动电路如图3.3所示,驱动芯片采用ULN2003A。图3.2步进电机的驱动电路第四章 程序设计4.1 程序设计思路根据单片机外围电路的设计,单片机的P2.0、P2.1、P2.2、P2.3、P3.2为按键输入,P1.0、P1.1、P1.2、P1.3与电机驱动IC相连。单片机采用扫描按键方式其中连动切换按键采

10、用外部中断方式),程序根据键值结果进行相应的操作。步进电机的正反转利用给步进电机送入与原来相反的脉冲即可,步进电机的加减速控制是主要控制步进电机送脉冲的时间。4.2程序设计程序中首先进行两个切换开关的检测,确定电机转速及方向,然后进行按键扫描,确定点动和电动方式或者连动,其中连动切换用外部中断0控制。图4.1程序流程图第五章 总结通过此次课程设计,使我更加扎实的掌握了有关单片机应用方面的知识,在设计过程中尤其是自己动手编制程序时,遇到了很多困难,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我掌握的知识

11、不再是纸上谈兵,而是学以致用。同时,这次课程设计让我感受到了我对所学习的内容是多么的不熟练,在设计过程中总是需要翻书,还总是会出现问题,同时这些问题也提醒了我那些地方没学好,加深了对这部分知识的印象。课程设计不仅仅是一门专业课,使我学到很多专业知识以及提升了专业技能上,同时又是一门提升自我综合能力的课程,给了我莫大的发展空间,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高;更重要的是,在课程设计中,我们学会了很多学习的方法,而这些都将为日后做准备,会使我们终身都受益匪浅。面对社会的挑战,只有不断的学习、实践,再学习、再实践,才能在最大程度上发掘自己。这对于我们的将来也有很大的

12、帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。参考文献1 丁元杰著.单片微机原理及应用M.机械工业出版社,2018年1月2李秀霞PROTEL dxp2004 电路设计与仿真教程M.北京:北京航空航天大学出版社,2007年11月附录电路原理图程序代码:#include /uchar,uint,宏定义#define uchar unsigned char#define uint unsigned int/开关,位定义sbit Direction = P20。 /正反转方向切换sbit Speed = P21。 /高低速切换/按键,位定义sbit Half = P

13、22。 / 转半圈 sbit Circle = P23。 / 转一圈sbit Switch = P32。 /连续转动/停止 切换/步进电机连接端口,位定义sbit A1 = P10。 sbit B1 = P11。 /B相,因头文件已定义B,故用B1sbit C1 = P12。sbit D1 = P13。/通电方式,宏定义#define Coil_A1 A1=1。B1=0。C1=0。D1=0。/A相通电,其他相断电#define Coil_B1 A1=0。B1=1。C1=0。D1=0。/B相通电,其他相断电#define Coil_C1 A1=0。B1=0。C1=1。D1=0。/C相通电,其他相

14、断电#define Coil_D1 A1=0。B1=0。C1=0。D1=1。/D相通电,其他相断电#define Coil_OFF A1=0。B1=0。C1=0。D1=0。/全部断电/全局变量定义uint v1 = 10。 /高速转速uint v2 = 5。 /低速转速uint i = 512。 /转动一圈uint j = 8。 /转动半圈bit Flag = 1。/子函数声明void DelayUs2x( uchar t 。void DelayMs( uchar t 。void Init_Time0( void 。/void Time0_isr( void interrupt 1/void

15、Forward( uint a 。 /正转子函数/void Reverse( uint b 。 /反转子函数/uS延时函数,晶振使用12M,大致延时 T = (tx2+5 uS void DelayUs2x( uchar t while( -t 。/mS延时函数,晶振使用12M,大致延时 T = t mSvoid DelayMs( uchar t while( t- DelayUs2x( 245 。 DelayUs2x( 245 。 /正转 ,a = i或j,b = vvoid Forward( uint a, uint b Coil_OFF while( a- Coil_A1 DelayMs

16、( b 。 Coil_B1 DelayMs( b 。 Coil_C1 DelayMs( b 。 Coil_D1 DelayMs( b 。 /反转,a = i或j,b = v1或v2void Reverse( uint a, uint b Coil_OFF while( a- Coil_D1 DelayMs( b 。 Coil_C1 DelayMs( b 。 Coil_B1 DelayMs( b 。 Coil_A1 DelayMs( b 。 /连续转动,正转 b = v1或v2void Con1( uint b Coil_OFF if( !Flag Coil_A1 DelayMs( b 。 Co

17、il_B1 DelayMs( b 。 Coil_C1 DelayMs( b 。 Coil_D1 DelayMs( b 。 /连续转动,反转 b = v1或v2void Con2( uint b Coil_OFF if( !Flag Coil_D1 DelayMs( b 。 Coil_C1 DelayMs( b 。 Coil_B1 DelayMs( b 。 Coil_A1 DelayMs( b 。 void ISR_INT0( void interrupt 0 if( !INT0 DelayMs(10。 if( !INT0 while(!INT0。 Flag = !Flag。 /主函数int m

18、ain( void EA = 1。 /开全局中断 EX0 = 1。/开外部中断0 IT0 = 1。/边沿触发 while(1 Coil_OFF if( Speed & Direction /高速(v1,正转(Forward /开关,故无需消抖环节 if( Flag & !Half /转半圈 while( !Half 。 /等待按键释放 Forward( j, v1 。 /半圈,高速 else if( Flag & !Circle /转一圈 while( !Circle 。 Forward( i, v1 。 else if( !Flag /连续转动 Con1( v1 。 else if( Fla

19、g & Half & Circle Coil_OFF else Coil_OFF else if( !Speed & Direction /低速(v2,正转(Forward if( Flag & !Half /转半圈 while( !Half 。 /等待按键释放 Forward( j, v2 。 /半圈,高速 else if( Flag & !Circle /转一圈 while( !Circle 。 Forward( i, v2 。 else if( !Flag /连续转动 Con1( v2 。 else if( Flag & Half & Circle Coil_OFF else Coil_

20、OFF else if( Speed & !Direction /高速(v1,反转(Reverse if( Flag & !Half /转半圈 while( !Half 。 /等待按键释放 Reverse( j, v1 。 /半圈,高速 else if( Flag & !Circle /转一圈 while( !Circle 。 Reverse( i, v1 。 else if( !Flag /连续转动 Con2( v1 。 else if( Flag & Half & Circle Coil_OFF else Coil_OFF else if( !Speed & !Direction /低速(v2,反转(Reverse if( Flag & !Half /转半圈 while( !Half 。 /等待按键释放 Reverse( j, v2 。 /半圈,高速 else if( Flag & !Circle /转一圈 while( !Circle 。 Reverse( i, v2 。 else if( !Flag /连续转动 Con1( v2 。 else if( Flag & Half & Circle Coil_OFF else Coil_OFF else Coil_OFF

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1