步进电机设计报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

硬件实习报告第1页共页步进电动机的设计报告题目:步进电动机的设计与制作学院:大数据与信息工程学院专业:计算机科学与技术班级:电信113学生姓名:王浩指导教师:马光喜老师2015年1月6日硬件实习报告第2页共页目录前言---------------------------------------------------------------21.设计目标及内容------------------------------------------------31.1设计内容---------------------------------------------------41.2设计目的---------------------------------------------------42.硬件原理及设计分析--------------------------------------------42.1步进电机的工作原理-----------------------------------------52.2液晶显示原理----------------------------------------------52.3步进电机转速控制及显示设计(LCD显示转速)的硬件框图--------62.4总的硬件电路图---------------------------------------------73.软件分析及设计------------------------------------------------83.1软件需求分析-----------------------------------------------83.2程序流程图-------------------------------------------------83.3软件代码---------------------------------------------------94.操作说明及结果分析-------------------------------------------185.调试过程中遇到的问题和解决方法-------------------------------186.硬件实习总结-------------------------------------------------197.参考文献-----------------------------------------------------19硬件实习报告第3页共页前言在电子科技不断飞速发展的今天,数字控制技术得到了广泛而深入的应用。步进电机是一种将数字信号直接转换成角位移或线位移的控制驱动元件,具有快速起动和停止的特点。因为步进电动机组成的控制系统结构简单,价格低廉,性能上能满足工业控制的基本要求,所以广泛地应用于手工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,投影仪、数码摄像机、大型望远镜、卫星天线定位系统、医疗器件以及各种可控机械工具等等。步进电机突出的优点是它可以在宽广频率范围内通过改变脉冲频率来实现调速,在需要精确定位的地方都要用到它,比如打印机、绘图仪等。而LCD显示屏在很多数码产品中有着广泛的应用,如计算器,IC卡电话机,电子手表,掌上电脑,仪表显示屏等。同时,单片机也广泛应用于实时控制、智能仪器、仪表通信和家用电器等各个领域,所涉及的内容非常广泛,是计算机科学、电子学、自动控制等基础知识的综合应用。单片机的应用系统有硬件和软件所组成。本次硬件实习是基于51单片机对步进电机转速进行控制,加之液晶的显示,使其转速的档位和方向显示在液晶上。硬件实习报告第4页共页1.设计目标及内容1.1设计内容1.1.1利用实验平台上单片机P0口输出脉冲序列,74LS244输出开关量,开关K2—K7控制步进电机转速,(分6档),K0,K1控制转向。驱动方式分两种,四相四拍、四相八拍,通过软件设计,控制步进电机的转速和方向。并将转速(1~6档)和转向(正转“1”,反转“0”)显示在LCD显示器上1.2设计目的1.2.1了解步进电机控制的基本原理;1.2.2掌握液晶显示图形的基本方法,从而对其它液晶屏的使用也能得心应手。2.硬件原理及设计分析2.1步进电机的工作原理该步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图1是该四相反应式步进电机工作原理示意图。图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方向转动。硬件实习报告第5页共页四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c所示:a.单四拍b.双四拍c八拍图2通电时序波形本实验使用的步进电机用直流+12V电压,电机线圈由A、B、C、D四相组成。驱动方式为四相四拍方式,各线圈通电顺序如下表。表中首先向A线圈输入驱动电流,接着B、C、D线圈驱动,最后又返回到A线圈驱动,按这种顺序切换,电机轴按顺时针方向旋转。若通电顺序相反,则电机轴按逆时针方向旋转。(注:为提高步进电机负载能力和运行平稳,可使用四相八拍驱动方式。)顺序/相ABCD00111110112110131110表二:驱动方式2.2液晶显示原理本实验用的是1602液晶,1602液晶可以显示两行字符,其写入字符是根据时序特点,写指令,写数据等操作。以下是1602液晶的相关资料,读状态输入RS=L,R/W=H,E=H输出D0—D7=状态字写指令输入RS=L,R/W=L,D0—D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0—D7=数据写数据输入RS=H,R/W=L,D0—D7=数据,E=高脉冲输出无硬件实习报告第6页共页表二:基本操作时序表读写操作时序如图所示图3:读操作时序图4:写操作时序2.3步进电机转速控制及显示设计(LCD显示转速)的硬件框图如图5所示,整个硬件围绕51单片机,根据开关输入通过外接电路控制步进电机的转速和方向,并显示在液晶上。8051单片机作为处理器,整个硬件功能围绕8051进行实现,首先,由开关通过扩展输入实现对整个硬件功能的控制。当开关设置为某个状态时,由8051单片机输出相应的值,通过扩展输出对步进电机进行相应方向和转速的控制,并由1602进行相应的显示。硬件实习报告第7页共页图5硬件框图2.4总的硬件电路图如硬件电路图图6所示。其中,74LS373为地址锁存器,74LS244为带3态输出的八缓冲器,74LS273为带清除的八触发器;74LS138为三八译码器。开关由扩展输入对单片机进行输入相关变量,从而通过单片机对步进电机的转速和方向进行控制。再有液晶进行相应的显示。3.软件分析及设计8051单片机开关液晶LCD步进电机扩展输出驱动电路LCD驱动电路扩展输入硬件实习报告第8页共页3.1软件需求分析本实习要求用开关控制步进电机的转速和方向,并将相应的数据显示在液晶上;通过分析,我们只需将开关的输入量转换成相应的步进电机转速即可,然而,通过前面讲过的步进电机的相关驱动方式我们可以知道,转速可以通过设置延时子程序的时间长短来实现,而步进电机的方向则通过不同的时序来控制,从而加上很容易的实现步进电机的转速控制,在根据液晶的时序规则来显示相应的数据,很简单的实现了整个实习要求。3.2程序流程图如图(图7:程序流程图)所示,在程序开始后先进行各个参数的初始化,然后对开关量进行读取,根据读取的数值进行对步进电机的转速量和方向量进行设置,并同时在LCD上显示出相应的数据,定时,置输出地址,然后输出相应的参数,从而实现对步进电机和液晶的相应控制。图7:硬件实习报告第9页共页如下图(图8:LCD框图所示)为LCD液晶的显示子程序框图,程序先进行LCD初始化,然后进行清屏,在需要写入时,对LCD进行写操作,最后就可以显示出来你想要的字符。3.3软件代码#includereg52.h#includeintrins.h//#defineucharunsignedchar//#defineuintunisgnedint//#defineBYTEunsignedchar//#definenumunsignedintsbitk1=P2^0;sbitk2=P2^1;sbitk3=P2^2;sbitk4=P2^3;sbitk5=P2^4;sbitk6=P2^5;sbitk7=P2^6;sbitk8=P2^7;voiddelay1(unsignedintt)//电机驱动延时程序{unsignedintk;while(t--){图8:LCD程序框图硬件实习报告第10页共页for(k=0;k100;k++)}}voidmotor_ffw(unsignedchari)//电机顺时针转动程序{P1=0x01;delay1(i);P1=0x02;delay1(i);P1=0x04;delay1(i);P1=0x08;delay1(i);}voidmotor_ffz(unsignedchari)//电机逆时针转动程序{P1=0x01;delay1(i);P1=0x02;delay1(i);P1=0x04;delay1(i);P1=0x08delay1(i);}sbitRS=P0^5;//定义P2^5为液晶控制端口RSsbitRW=P0^6;sbitE=P0^7;硬件实习报告第11页共页ucharcodetable[]=Guizhoudaxue//字符定义ucharcodetable1[]=wangxiaogangucharcodetable2[]=1120020075ucharcodetable3[]=SPEED:123456;ucharcodetable4[]=startstepmotor;ucharcodetable5[]=SPEED:;ucharcodetable6[]=123456;typedefunsignedcharBYTE;//定义字符变量BYTEtypedefunsignedintWORD;//定义整形变量WORDtypedefbitBOOL;//字符变量BOOL//LCD驱动程序voidlcddelay(BYTEms)//延时子程序{BYTEi;while(ms--){for(i=0;i250;i++)//循环250次{_nop_();_nop_();_nop_();//空操作延时1us_nop_();}}}//测试LCD忙碌状态-忙检测函数BOOLlcd_bz(){BOOLresult;//定义字符变量result,用于存放测试的LCD忙碌状态值RS=0;//寄存器的选择控制口,选择指令寄存器RW=1;//读写操作控制端口,RW=1表示读操作E=1;//_nop_();//延时4us硬件实习报告第12页共页_nop_();_nop_();_nop_();result=(BOOL)(P0&0x80);E=0;returnresult;}//写入指令数据到LCDvoidlcd_wcmd(BYTEcmd){while(lcd_bz());RS=0;RW=0;E=0;_nop_();_nop_();P0=cmd;_nop_();_nop_();_nop_();_nop_();E=

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功