欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PDF文档下载  

    基于单片机的步进电机控制系统的设计().pdf

    • 资源ID:4666945       资源大小:1.45MB        全文页数:34页
    • 资源格式: PDF        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的步进电机控制系统的设计().pdf

    0 / 34 本科毕业设计 基于单片机的步进电机控制系统的设计 摘要 随着自动控制系统的发展和对高精度控制的要求,步进电机在自动化控制中扮演着 越来越重要的角色,区别于普通的直流电机和交流电机,步进电机可以对旋转角度和转 动速度进行高精度控制。步进电机作为控制执行元件,是机电一体化的关键组成之一, 广泛应用在各种自动化控制系统和精密机械等领域。 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况 下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影 响,即给电机加一个脉冲信号,电机则转过一个步距角。 本系统介绍了一种基于单片机的步进电机控制系统的设计,包括了硬件设计和软件 设计两部分。其中,硬件设计包括单片机最小系统、键盘控制模块、LCD 显示模块、步 进电机驱动模块、位置检测模块共5 个功能模块的设计。系统软件设计采用C 语言编 1 / 34 写,包括主程序、数字键处理程序、功能键处理程序、电机驱动处理程序、显示模块、 位置采集模块。 本设计采用 STC89C52单片机作为主控制器, 4*4 矩阵键盘作为输入, LCD1602 液 晶作为显示, ULN2003A 芯片驱动步进电机。系统具有良好的操作界面,键盘输入步进 电机的运行距离;步进电机能以不同的速度运行,可以在不超过最大转速内准确运行到 任意设定的位置,可调性较强;显示设定的运行距离和实际运行距离;方便操作者使 用。 关键词: 单片机步进电机液晶显示键盘驱动 Design of the Stepping Motor Control System Based on SCM QiuHaizhao (College of Engineering, South China Agricultural University, Guangzhou 510642,China Abstract:With the development of automatic control system and the requirements of high- precision control, stepping motor control in automation is playing an increasingly important role, different from the common DC and AC motor, stepper motor rotation angle and rotational speed can be high-precision controlled. Stepper motor as a control actuator is a key component of mechanical and electrical integration, widely used in a variety of automated control systems and precision machinery and other fields. Stepper motor is the open-loop control components changing electric pulse signals into angular displacement or linear displacement .In the case of non-overloaded, the motor speed, stop position depends only on the pulse frequency and pulse number, regardless of load changes, that is, to add a pulse motor, the motor is turned a step angle. This system introduces a design of stepper motor control system based on single chip microcomputer, including hardware design and software design in two parts. Among them, the hardware design, including single chip minimal system, keyboard control module, LCD display module, the stepper motor drive module, position detection module five functional modules. System software design using C language, including the main program, process number keys, the key of function processes,motor driver handler, the display module, position acquisition module. 2 / 34 This design uses STC89C52 microcontroller as the main controller, 4 * 4 matrix keyboard as an input, LCD1602 LCD as a display, ULN2003A chip as stepper motor driver. System has a good user interface, keyboard input stepper motor running distance 。 Stepper motor can run at different speed, and run to any given position accurately in any speed without exceeding the maximum speed, with a strong adjustable 。 Display the runningdistance and the actual runningdistance, which is more convenient for the operator to use. Key words:SCM stepper LCD keyboard driver / 34 目录 1 前言 1 1.1 步进电机的发展1 1.2 设计要求 1 2 系统方案分析与选择论证1 2.1 步进电机的选择1 2.2 步进电机驱动方案的选择2 2.3 显示方案的选择3 2.3 键盘方案的选择3 2.3 步进电机位置检测方案的选择3 2.4 整体方案 4 3 主要芯片介绍与硬件电路设计4 3.1 单片机最小系统模块4 3.1.1 单片机介绍 4 3.1.2 单片机最小系统 5 3.2 键盘电路设计 6 3.3 显示模块 7 3.3.1 LCD1602介绍 7 3.3.2 LCD1602电路图 7 3.4 驱动模块 8 3.4.1 ULN2003A 介绍 8 3.4.2 驱动电路图 9 3.5 位置检测模块 9 3.5.1 A3144E介绍 9 3.5.2 位置检测电路图 11 4 程序设计 11 4.1 主程序 11 4.2 数字键处理程序12 4.3 功能键处理程序13 I / 34 5 结论 14 参考文献 15 附录 16 致谢 27 华南农业大学本科生毕业设计成绩评定表 0 / 34 1前言 1.1步进电机的发展 步进电机最早是在1920 年由英国人所开发。 1950 年后期晶体管的发明也逐渐应用 在步进电机上,这对于数字化的控制变得更为容易:110- 111. 16 / 34 附录 附录 A 电路原理图 17 / 34 附录 B 源程序代码 #include #include #include #define uint unsigned int /宏定义,为了后面定义变量书写简便 #define uchar unsigned char sbit lcdrs=P33。/定义端口 sbit lcdrw=P36。 sbit lcden=P37。 sbit ceju=P35。 bit flag=0。/ 正反标识 uchar code table=0X0E,0X06,0X07,0X03,0X0B,0X09,0X0D,0X0C,0X0E,0X0C,0X0D,0X09,0X0B,0 X03,0X07,0X06 。/驱动输出表 uchar code table1=“set distance“ 。 uchar code table2=“run distance“ 。 uchar num=0。 uchar speed=0 。 uchar table_begin = 0 。 uchar dat='0',' ',' ', 。/存放数子串值 uchar s=' ',' ',' ', 。 uchar c='0','0','0', 。 uchar rdat 。/按键次数 uchar dk。 uchar j=0。 18 / 34 uchar maichong=0 。 float juli 。 int rl ,sl。 uchar temp=1 。 void duankou(。 void delay(uint z。 void write_com(uchar com。 void write_data(uchar dat。 void lcd1602_init(。 void kbscan(void。 void keycl(uchar keyvol。 void left(uchar rx,uchar date。 void dispose(。 void qudong(。 void delay(uint z uint x,y。 for(x=z。x0。x for(y=110。y0。y。 void write_com(uchar com lcdrs=0。 lcdrw=0。 P0=com。 19 / 34 delay(5。 lcden=1。 delay(5。 lcden=0。 void write_data(uchar dat lcdrs=1。 lcdrw=0。 P0=dat。 delay(5。 lcden=1。 delay(5。 lcden=0。 void lcd1602_init( lcden=0。 write_com(0x38。/显示模式设置 write_com(0x0c。/显示开及光标设置 write_com(0x06。/显示光标移动设置 write_com(0x01。/显示清屏 void kbscan(void/键盘扫描函数 20 / 34 uchar line,row。 P1=0xf0。 if(P1&0xf0!=0xf0 delay(5。 if(P1&0xf0!=0xf0 row=0xfe。 while(row&0x10!=0 P1=row。 if(P1&0xf0!=0xf0 line=(P1&0XF0|0X0F 。 keycl(row&line 。/进入处理 else row=(row|0x01。 /键值处理函数 void keycl(uchar keyvol uchar k。 delay(400。 21 / 34 switch(keyvol case 0xeb: rdat+ 。k='1'。srdat-1=k。left( rdat,k。 break。/1 case 0xdb: rdat+。k='2'。srdat-1=k。left( rdat,k。 break。/2 case 0xbb: rdat+。k='3'。srdat-1=k。left( rdat,k。 break。/3 case 0xed: rdat+ 。k='4'。srdat-1=k。left( rdat,k。 break。/4 case 0xdd: rdat+。k='5'。srdat-1=k。left( rdat,k。 break。/5 case 0xbd: rdat+。k='6'。srdat-1=k。left( rdat,k。 break。/6 case 0xee: rdat+ 。k='7'。srdat-1=k。left( rdat,k。 break。/7 case 0xde: rdat+ 。k='8'。srdat-1=k。left( rdat,k。 break。/8 case 0xbe: rdat+ 。k='9'。srdat-1=k。left( rdat,k。 break。/9 case 0xd7: rdat+。k='0'。srdat-1=k。left( rdat,k。 break。/0 case 0xe7: k='A' 。break。/开始 case 0x77: k='E' 。break。/正转 case 0x7b: k='D'。break。/反转 case 0x7d: k='C' 。break。/加速 case 0x7e: k='B' 。break。/减速 case 0xb7: k='F' 。break。/停止 if(k='A' dk=1。 if(k='B' flag=0。 if(k='C' 22 / 34 flag=1。 if(k='D' delay(5。 num+。 if(num=5 num=4。 if(k='E' if(num!=0 num-。 else num=0。 if(k='F' dk=0。 /移位函数 void left(uchar rx,uchar date switch(rx 23 / 34 case 1:dat0=date 。break。 case 2:dat1=dat0,dat0=date 。break。 case 3:dat2=dat1,dat1=dat0,dat0=date。break。 void dispose(/处理电机速度 switch(num case 0: speed=5 。 break。 case 1: speed=4 。 break。 case 2: speed=3 。 break。 case 3: speed=2 。 break。 case 4: speed=1 。 break。 default: break 。 24 / 34 if(flag=0 table_begin=0。 else table_begin=8。 void qudong(/电机驱动 int i。 for(j=0+table_begin。j duankou(。/查电机输出表输出,从而驱动电机 for(i=0。i/根据档位来增加或者减少延迟次数 delay(5。 void duankou( switch(dk case 0: P2=0。temp=1。break。 case 1: P2=tablej。break。 25 / 34 default: break。 void main( uchar i。 lcd1602_init(。 write_com(0x80+0x00。/第一行首地址,注意每写一次,地址自动加1 for(i=0。i write_data(table1i。 write_com(0xc0+0x00。/第二行首地址 for(i=0。i write_data(table2i。 while(1 kbscan( 。 write_com(0x80+0x0d。/第一行首地址,注意每写一次,地址自动加1 for(i=0。i write_data(si。 sl=(s0-0x30*100+(s1-0x30*10+(s2-0x30 。 if(temp=0 maichong+。 temp=1。 26 / 34 while(ceju=0 juli=maichong*2.7*0.5*3.14159 。 c0=(intjuli/100%10 。 c1=(intjuli/10%10 。 c2=(intjuli%10 。 write_com(0xc0+0x0d。/第一行首地址,注意每写一次,地址自动加1 write_data(c0+'0'。 write_data(c1+'0'。 write_data(c2+'0'。 kbscan(。 dispose(。 qudong(。 temp=0。 dispose( 。 if( (intjuli=sl P2=0。 else qudong(。 27 / 34 致谢 感谢! 28 / 34 华南农业大学 本科生毕业设计成绩评定表 学号姓名专业 毕业设计题 目 指导教师评语 成绩百分制):指导教师签名:年月日 评阅人评语 成绩百分制):评阅人签名:年月日 答辩委员会评语 成绩百分制):答辩委员会签名:年月日 成绩 总评 毕业设计总评分数: 毕业设计成绩总评等级:答辩委员会主席 签名): 年月日

    注意事项

    本文(基于单片机的步进电机控制系统的设计().pdf)为本站会员(tbuqq)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开