步进电机控制a图文.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2015-2016学年第一学期微机原理(单片机)课程设计总结报告项目名称:步进电机控制A微机原理(单片机)课程设计任务书项目名称:步进电机控制A内容与要求:上位机:完成界面设计与通讯程序能够设置步进电机的启动、停止、正转、反转能够设置步进电机转速(快中慢)圈数能够保存或读取电机的工作状态可以对串口进行设置下位机:完成电路设计与控制程序完成步进电机的控制按键1可控制电机的启动和停止,按键2可控制电机的转动方向,按键3可控制电机的转速,按键4可控制转动圈数(按一次加一圈)由串行LCD显示当前转动方向,转速,圈数通过串口与上位机通讯项目组任务分担评价表姓名分担任务组内评价张浩完成LCD显示模块设计与编程、上位机串口通讯界面设计、下位机串口通讯程序、上位机串口通讯程序5李福俊查阅资料,焊接外部电路,外部电路连线,完成下位机除串口通讯以外的程序编写。5课程设计报告评分表内容总体方案硬件设计软件设计结果分析明细清单问题分析心得体会参考文献程序代码格式规范总分学生1得分学生2得分目录一、总体方案:总体方案:步进电机控制系统框图如图1所示。图1 步进电机控制系统总体功能模块示意图图中,控制器为单片机STC89C52,通过串口与上位机相连,与上位机实现通讯。通过IO口输出到驱动电路,通过驱动电路控制步进电机的工作。同时将步进电机的工作状态通过串行LCD模块显示出来。二、硬件设计:1.单片机最小系统单片机的最小系统是指单片机能正常工作所必须的基本电路,主要有单片机,电源电路,复位电路,晶振电路构成。其原理图如下所示:2.驱动电路步进电机的驱动芯片我们采用的ULN2003实现。实验中1脚到4脚接单片机输出信号,13到16脚接步进电机。8脚接地,9脚接电源。电路图如下:3.步进电机电路连接图:步进电机用万用表测试后,将其与ULN2003和电源连接。4.LED显示电路连接图:5.总接线图三、软件设计:结合STC89C52的各个引脚,分配它的各个端口给各个模块。在本次设计中用到了串行LCD显示模块,键盘控制模块,模块。键盘控制模块本次课程设计中,设定了四个按键来控制电机启动、停止、转向、圈数(按一次加一圈)。先检测每个键是否被按下,再根据设定的键位判断要让电机实现什么功能。按键控制转速流程图如下:图中,Dir代表电机的工作状态,0代表正转,1代表反转,2代表停止;Speed代表电机的转速,100代表慢速,30代表中速,5代表快速;N代表电机转动脉冲数,50代表实际转一圈。串行LCD显示模块本次课程设计使用了串行LCD诺基亚5110,该模块具有以下特点:1)性价比高,LCD1602可以显示32个字符,而Nokia5110可以显示15个汉字,30个字符。Nokia5110裸屏仅8.8元,LCD1602一般15元左右,LCD12864一般50~70元。2)接口简单,仅四根I/O线即可驱动,LCD1602需11根I/O线,LCD12864需12根。3)速度快,是LCD12864的20倍,是LCD1602的40倍。4)Nokia5110工作电压3.3V,正常显示时工作电流200uA以下,具有掉电模式,适合电池供电的便携式移动设备。将串行LCD与单片机IO口相连,可以通过编写程序使其实现数字、英文字符、汉字及图形的显示,显示程序见附录。5110的管脚配置如下:上位机通信模块通过串口与上位机实现通讯,在VS2010中使用MSCOMM控件编写一个串口应用程序。使用组合框实现串口号、波特率、校验类型的选择,添加命令按钮打开串口及发送数据。(1)打开串口:在打开串口按钮的代码中,首先判断各个组合框的值,然后打开相应的串口端口。代码如下:UpdateData();m_mscomm1.put_CommPort(m_comnum+1); //端口号m_mscomm1.put_InBufferSize(1024); //设置输入缓冲区的大小,Bytesm_mscomm1.put_OutBufferSize(512); //设置输出缓冲区的大小,Bytes if(!m_mscomm1.get_PortOpen()) //打开串口{m_mscomm1.put_PortOpen(true); }m_mscomm1.put_InputMode(1); //设置输入方式为二进制方式//m_mscomm1.put_Settings(L9600,n,8,1); //设置波特率等参数CString str,str0,str1,str2,str3,strr;int boderate;strr=,;str2=8;str3=1;  boderate = pow(2.0,m_boderate)*4800;  str0.Format(_T(%d),boderate); if (m_c

您可能关注的文档

文档评论(0)

beifanglei + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档