附录A
uchar Status[]={\顺逆\ //LCD显示
uint Speed_time=6; //步进电机转速6,4,2三级
uchar Speed_flag='1'; //步进电机默认转速,最慢-->第一级 uchar Circle_num='1';
uint r;
uint N=64; uchar LCD_DATA[]={ \欧立 自动化 \\ \\顺时针 速度1 \\电机转动圈子1 \};
//line 1,3,2,4
void Initinal(void) {
delay(40); PSB=1; delay(1); RES=0; delay(1); RES=1; delay(10);
Transfer(0x30,0); delay(100); Transfer(0x30,0); delay(37); Transfer(0x08,0); delay(100); Transfer(0x10,0); delay(100); Transfer(0x0C,0); delay(100); Transfer(0x01,0); delay(10); Transfer(0x06,0); delay(100); }
void Beep(void) {
uchar i;
//因为步进电机是减速步进电机,减速比的1/64 , //所以N=64时,步进电机主轴转一圈 //LCD字库初始化程序 //大于40MS的延时程序 //设置为8BIT并口工作模式 //延时 //复位 //延时 //复位置高 //Extended Function Set :8BIT设置,RE=0: //basic instruction set, G=0 :graphic display OFF //大于100uS的延时程序 //Function Set //大于37uS的延时程序 //Display on Control //大于100uS的延时程序 //Cursor Display Control光标设置 //大于100uS的延时程序 //Display Control,D=1,显示开 //大于100uS的延时程序 //Display Clear //大于10mS的延时程序 //Enry Mode Set,光标从右向左加1位移动 //大于100uS的延时程序 //蜂鸣器 40
南京工业大学本科生毕业设计(论文)
for(i=0;i<100;i++) { delay(5); FMQ=!FMQ; }
//产生脉冲
FMQ=1;
}
void Motor_reversal(void) {
uchar i,j;
for(j=0;j<8;j++) { if(KEY3==0) { Beep(); LED1=1; LED2=1; LED3=0; break; } for(i=0;i<8;i++) { P2=Reversal[i]; delayms(Speed_time); } } }
void Motor_forward(void) {
uchar i,j;
for(j=0;j<8;j++) { if(KEY3==0) { Beep(); LED1=1; LED2=1; LED3=0;
//关闭蜂鸣器 //逆时针转动 //电机旋转一周,不是外面所看到的一周,是里 //面的传动轮转了一周 //停止按键 //如果KEY3按下,退出此循环 //旋转45度 //调节转速 //正时针转动 //如果KEY3按下,退出此循环 //停止按键 41
附录A
break; } for(i=0;i<8;i++) //旋转45度 { P2=Forward[i]; delayms(Speed_time); //调节转速 } } }
void Main(void) {
Initinal(); //调用LCD字库初始化程序 delay(100); //大于100uS的延时程序 Lcd_mesg(LCD_DATA); //LCD显示基本信息 delay(1000);
while(1) { if(KEY1==0) //三级调速按键 { delayms(10); if(KEY1==0) { Beep(); Speed_time=Speed_time-2; if(Speed_time<2) Speed_time=6; if(Speed_time==6) { Speed_flag='1'; //LCD上显示的速度级别 } else if(Speed_time==4) { Speed_flag='2'; } else if(Speed_time==2) { Speed_flag='3'; } Change_speed(Speed_flag); //LCD显示速度级别 } } else if (KEY2==0) //顺时针按键
42
南京工业大学本科生毕业设计(论文)
{ delayms(10); if(KEY2==0) { Beep(); LED1=0; LED2=1; LED3=1; Change(Status,0); for(r=0;r else if(KEY4==0) { delayms(10); if(KEY4==0) { Beep(); LED1=1; LED2=0; LED3=1; Change(Status,2); //Change_speed(Speed_flag); for(r=0;r 43 //LCD显示顺时针 //步进电机旋转Circle_num周//逆时针 //LCD显示顺时针 //LCD显示速度级别 //步进电机旋转Circle_num周 附录A if(KEY3==0) { delayms(5); if(KEY3==0) { Beep(); LED1=1; LED2=1; LED3=0; break; } } } } } else if(KEY5==0) { delayms(10); if(KEY5==0) { Beep(); Circle_num++; if(Circle_num>'8') Circle_num='1'; Change_Circle(Circle_num); } } else P2=0x0f; LED1=1; LED2=1; LED3=0; } } void Lcd_mesg(uchar *adder) { uchar i; Transfer(0x80,0); delay(100); for(i=0;i<32;i++) { Transfer(*adder,1); adder++; //旋转几周 //LCD显示步进电机旋转几周 //显示LCD信息 44 毕业设计(论文) 学生姓名 学 号 所在学院 专 业 课 题 指导老师 欧立 P1501090512 自动化与电气工程学院 自动化 基于单片机控制的步进电机调速系统的 设计 薄翠梅 基于单片机控制的步进电机调速系统的设计 摘 要 步进电机是一种利用电脉冲进行控制且将电脉冲信号转换成相位移的电机。每次给步进电机一个脉冲就转动一个固定的角度,这样就可以通过控制步进电机的两个相邻脉冲的时间间隔来改变脉冲的频率,通过延时的长短来控制步进角从而改变电机的转速,这样就实现了步进电机的调速系统。论文主要研究内容如下: (1)本次研究的单片机型号是基于STC89C52的,认真的分析STC89C52的各个参数和引脚功能,在熟悉STC89C52单片机及其外围电路的基础上,选择常见且价格合理的外围硬件,使用protel99 se绘制各模块电路图以及系统整体电路图,利用洞洞板焊接基于单片机的实物。 (2)根据硬件电路绘制子模块的程序流程图,使用Keil uVision4编写程序实现各个软件模块,完成软件设计。软件设计的主要难点是步进电机的正反转和速度的调节,其中步进电机的速度以软件延时的时间长短来调节。程序编写完后使用Keil uVision4调试,直至没有错误,最后烧入单片机,检查其各个功能运行的实际效果,反复改写并调试程序直至满足既定的效果。 本次论文研究的结果,完成了准确的硬件电路,利用独立键盘对步进电机调速系统进行控制,在此基础上还增加了额外的功能,如通过LCD12864显示器显示作者的基本信息和步进电机的实时状态,还增加了蜂鸣器和LED来表示执行过程中的状态。 关键词 :步进电机 单片机 调速系统 I Based on single chip microcomputer control stepping motor speed control system design Abstract Stepper motor is a pulse control, electric pulse signal phase shift motor. Stepper motor is a pulse of each to a fixed rotation angle, this can be achieved by controlling the stepper motor is a pulse to the next pulse time interval to change the frequency of the pulses, the delay to control the length of the stepping angle to vary the speed of the motor, thus realizing the stepper motor speed control. The main content as follows: (1) This research is based on STC89C52 SCM models, careful analysis of all parameters of the STC89C52 and pin function, according to online data to study the common construction of the hardware circuit. After familiar with STC89C52 single-chip microcomputer and peripheral circuit, the choice of common and reasonable price of peripheral hardware. All hardware after the selection, use protel99 se map module circuit diagram as well as the overall system circuit diagram, then check, finally using physical hole hole plate welding MCU, so far all hardware preparation work completed. (2) Followed by the software design, program flow chart of the first picture, and then use th Key words: Step-by-step electric motor Monolithic machine Speed regulation system II 目录 目录 摘要 ................................................................................................................................................................... I Abstract ........................................................................................................................................................ II 第一章 绪论 ................................................................................................................................................ 1 1.1 本课题研究背景、目的及意义 ............................................................................................................1 1.2 本课题国内外研究现状和发展趋势 ....................................................................................................1 1.3 本课题拟采用的研究手段 ....................................................................................................................2 第二章 步进电机简介 ........................................................................................................................... 3 2.1 步进电机概念 ........................................................................................................................................3 2.2 步进电机分类 ........................................................................................................................................3 2.3 步进电机特点 ........................................................................................................................................3 2.4 步进电机工作原理 ................................................................................................................................4 2.5 步进电机的基本参数 ............................................................................................................................4 2.5.1 空载启动频率 .............................................................................................................................4 2.5.2 电机固有步距角 .........................................................................................................................4 2.5.3 步进电机的相数 .........................................................................................................................4 2.5.4 保持转矩 .....................................................................................................................................5 2.6 步进电机详细调速原理 ........................................................................................................................5 第三章 硬件电路设计 ........................................................................................................................... 6 3.1 基本的方案确定 ....................................................................................................................................6 3.2 单片机的选择:STC89C52 ..................................................................................................................7 3.2.1 STC89C52概述 ...........................................................................................................................7 3.2.2 STC89C52特性 ...........................................................................................................................7 3.2.3 STC89C52参数 ...........................................................................................................................8 3.2.4 STC89C52引脚功能 ...................................................................................................................8 3.3 液晶显示器的选择:LCD12864 ........................................................................................................10 3.3.1 LCD12864概述 .........................................................................................................................10 3.3.2 LCD12864特性 .........................................................................................................................10 III 目录 3.3.3 LCD12864参数 .........................................................................................................................10 3.3.4 LCD12864引脚功能 ................................................................................................................. 11 3.4 步进电机驱动芯片选择:ULN2003 ..................................................................................................12 3.4.1 ULN2003概述 ...........................................................................................................................12 3.4.2 ULN2003参数 ...........................................................................................................................13 3.4.3 ULN2003引脚功能 ...................................................................................................................14 3.5 步进电机选择:28BYJ48(四相八拍的步进电机) ............................................................................15 3.5.1 28BYJ48概述 ............................................................................................................................15 3.5.2 28BYJ48特性 ..........................................................................................................................15 3.5.3 28BYJ48工作原理 ....................................................................................................................16 3.6 信号显示灯选择:LED ......................................................................................................................18 3.6.1 LED概述 ...................................................................................................................................18 3.6.2 LED特点 ...................................................................................................................................18 3.6.3 LED发光原理 ...........................................................................................................................19 3.7 独立按键 ..............................................................................................................................................20 3.7.1 按键的概述 ...............................................................................................................................20 3.7.2 按键的特性 ...............................................................................................................................21 3.7.3 按键的工作方式 .......................................................................................................................21 3.8 蜂鸣器选择:有源蜂鸣器 ..................................................................................................................22 3.8.1 蜂鸣器概述 ...............................................................................................................................22 3.8.2 有源蜂鸣器原理 .......................................................................................................................22 3.8.3 有源蜂鸣器优点 .......................................................................................................................23 3.9 晶振选择:12MHZ .............................................................................................................................24 3.9.1 晶振概述 ...................................................................................................................................24 3.9.2 晶振工作原理 ...........................................................................................................................24 3.9.3 晶振的基本分类 .......................................................................................................................25 第四章 软件设计 ................................................................................................................................... 27 4.1 键盘子程序设计 ..................................................................................................................................27 4.2 显示子程序设计 ..................................................................................................................................28 4.3 蜂鸣器子程序设计 ..............................................................................................................................29 IV 南京工业大学本科生毕业设计(论文) 图5-6 作品效果图5 35 第六章 结语 第六章 结语 毕业设计即将结束,大学也意味着即将结束。通过这几个月的磨练学习,把所有学过的知识进行了一次全面而系统的综合,并融会贯通应用到实际中去,不但完善了自己的知识结构,同时对所学过的各种理论知识与专业知识进行了一次全面的梳理。感谢薄翠梅老师和陶栋琦学长对我的指导,对我的毕业设计起到了非常好的导航作用。 人类文明在不断进步,科学技术发展速度飞快,伴随着不同的数字化技术的发展以及步进电动机本身技术的提高,步进电动机将会在更多的领域得到应用。步进电机调速系统适用各种现场自动化控制,特别应用于小功率负载的控制;具有成本底,性能稳定,可靠性高等优点。步进电机作为执行元件,在科技的进步中起到了非常重要的作用,而步进电机调速系统可方便地应用与各种自动化控制系统与领域。毕业设计是对大学所学课程的一个高度的综合。无论是基础知识还是专业知识都被设计统一起来,使零散的知识系统化,形成了一种能力,这也是毕业设计所要达到的目的。这也为我们走入社会打下一个良好的基础,为走入社会对知识与理论的应用做了一个好的铺垫。人生的路是漫长而曲折的,在这漫长而曲折的道路上需要自己的不断努力与拼搏。作为即将离校的学生,走出校门就站在另一个人生起点上,还有很长的路要走,这必须有足够的勇气去迎接挑战,克服困难,创造奇迹。特别对未来要充满期盼,充满希望,要微笑着走人生的每一步。 此次论文的完成既为大学四年画上了一个完美的句号,也为将来的人生之路做好了一个很好的铺垫。 36 南京工业大学本科生毕业设计(论文) 致谢 随着毕业设计的逐渐完成,离毕业离校的日子也就越来越近了。在这大学四年里,我非常感谢各位老师四年来对我的栽培,以及各位同学朋友对我的帮助,正是由于他们在学习和生活上给予我无微不至的关怀,才使我在这四年期间不仅学到了扎实的专业知识,还学到了很多为人处事的原则。 通过这次最后的毕业设计,使我学到了很多专业知识,实验技能也有了很大的提高,其实,有些事并非我们想的那样难,世上无难事,只怕有心人,只要我们真正用心去做了,你就会发现一切就变得很容易了。虽然感觉自己做的还不是很好,但毕竟自己亲自去完成了实物,所以还是有成就感的。 在整个设计、修改过程中,薄翠梅老师和陶栋琦学长悉心地给予了我许多指导和帮助,对我的毕业设计旅程起到了非常好的导航作用,在此我要衷心地感谢。通过他们的指导,使我少走了很多弯路。由衷的感谢他们! 最后,我还要感谢我的母校——南京工业大学,感谢“她”为我提供了一个良好的学习和生活环境。如果没有“她”也就没有今天的我们,即将离开学校,还真有点舍不得,在以后的日子里我会时常想起这里的一幕幕,因为在这里曾经给我留下了太多的喜.怒.哀.乐,有太多的人和事值得我去怀念了。 在这即将离开之即,祝所有的老师和同学朋友身体健康,工作顺利,愿我的母校明天更加美好! 37 参考文献 参考文献 [1]克劳斯贝伊特,沃尔夫冈施姆希.基本电路[M].北京:科学出版社,1999年9月. [2]阎石.数字电子技术基础[M].清华大学出版社,1983年. [3]陆心如.数字信号处理原理及应用[M].北京:电子工业出版社,1996年6月. [4]童诗白.模拟电子技术基础[M].人民教育出版社,1981年. [5]王福瑞,等. 单片机微机测控系统设计大全[M] . 北京:北京航空航天大学出版社,1998. [6]陈理壁. 步进电机及其应用[M] . 上海:上海科学技术出版社,1989. [7]刘保延,等. 步进电机及其驱动控制系统[M] . 哈尔滨:哈尔滨工业大学出版社,1997. [8]季维发,过润秋,严武升等. 机电一体化技术[M] .北京:电子工业出版社,1995. [9]郭敬枢,庄继东,孔峰. 微机控制技术[M] . 重庆:重庆大学出版社,1994. [10]刘国荣. 单片微型计算机技术[M] . 北京:机械工业出版社,1996. [11]王福瑞. 单片微机测控系统设计大全[M] . 北京:北京航空航天大学出版社,1998. [12]何立民. 单片机应用技术选编[M] . 北京:北京航空航天大学出版社,1993. [13]Vizimuller,P.:‘RF design guide-systems,circuits,and equations’(ArtechHouse,Boston,MA, 1995). [14]Guiyun Tian. Foumdation and Application pf Microcontroller. 2004. [15]王树青. 工业过程控制工程 [M]. 北京:化学工业出版社,2003. [16]何衍庆,俞金寿,蒋慰孙. 工业生产过程控制 [M]. 北京:化学工业出版社,2004. [17]F G Shinskey. Process Control System [M]. 2nd ed. NY:McGraw Hill, 1979. [18]陈宗海. 过程系统建模与仿真 [M]. 安徽:中国科技大学出版社,1997. [19]张森,张正亮. MATLAB仿真技术与实例应用教程 [M]. 北京:机械工业出版社,2004.1. [20]王克平,王宪等.基于DDE技术的MATLAB与WinCC通信设计[J].自动化仪表,2006,27(4):23-26. [21]祝磊,雷建军,王桂荣等.RSView32和MATLAB之间的通讯[J].微型计算机信息,2003,19(2):58-59. [22]马敬环,刘家祺,李俊台,等. 反应精馏技术的进展 [J]. 化学反应工程与工艺, 2003, 19(1): 1-8. 38 南京工业大学本科生毕业设计(论文) 附录A 基于单片机控制的步进电机调速系统的设计(C语言源码) #include #define uchar unsigned char #define uint unsigned int //逆时针旋转相序表 uchar code Reversal[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01}; //正时针旋转相序表 uchar code Forward[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; sbit LED1=P0^0; //顺时针 sbit LED2=P0^1; //逆时针 sbit LED3=P0^2; //停止 sbit KEY1=P0^3; //调速按键 sbit KEY2=P0^6; //顺时针按键 sbit KEY3=P0^5; //停止按键 sbit KEY4=P0^4; //逆时针按键 sbit KEY5=P0^7; //步进电机旋转圈数按键 sbit FMQ=P3^2; //蜂鸣器 sbit RS =P3^5; //LCD12864 sbit WRD=P3^6; sbit E =P3^4; sbit PSB=P3^7; sbit RES=P3^3; //传送数据或者命令,当DI=0是,传送命令,当DI=1,传送数据 void Transfer(uchar data1,bit DI); void Change(uchar *adder,uint j); //LCD显示顺时针,逆时针 void Change_speed(uchar adder); //LCD显示速度级别 void Change_Circle(uchar adder); //LCD显示步进电机的圈数 void delayms(uint i); //毫秒级延时 void delay(uint m); void Lcd_mesg(uchar *adder); //显示LCD基本信息 39 南京工业大学本科生毕业设计(论文) 晶振在电气上可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率为串联谐振,较高的频率为并联谐振。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。一般的晶振的负载电容为15p或12.5p,如果再考虑元件引脚的等效输入电容,则两个22p的电容构成晶振的振荡电路就是比较好的选择。 3.9.3 晶振的基本分类 晶体振荡器也分为无源晶振和有源晶振两种类型。无源晶振与有源晶振(谐振)的英文名称不同,无源晶振为crystal(晶体),而有源晶振则叫做oscillator(振荡器)。无源晶振需要借助于时钟电路才能产生振荡信号,自身无法振荡起来,所以“无源晶振”这个说法并不准确;有源晶振是一个完整的谐振振荡器。石英晶体振荡器与石英晶体谐振器都是提供稳定电路频率的一种电子器件。石英晶体振荡器是利用石英晶体的压电效应来起振,而石英晶体谐振器是利用石英晶体和内置IC共同作用来工作的。振荡器直接应用于电路中,谐振器工作时一般需要提供3.3V电压来维持工作。振荡器比谐振器多了一个重要技术参数:谐振电阻(RR),谐振器没有电阻要求。RR的大小直接影响电路的性能,因此这是各商家竞争的一个重要参数。 25 第三章 硬件电路设计 图3-21 晶振实物图 图3-22 晶振接线原理图 26 南京工业大学本科生毕业设计(论文) 第四章 软件设计 4.1 键盘子程序设计 我在程序中使用软件延时来消抖,一共有五个独立按键。 它们的功能分别为:步进电机顺时针转动、逆时针转动、停止、调节速度级别、调节转动圈数。实时监测每个独立按键的情况,只要闭合就执行相应的动作。 独立按键可以短按和长按,长按就会不间断的执行相应按键的程序。 图4-1 键盘子程序设计 27 第四章 软件设计 4.2 显示子程序设计 我使用的是LCD12864型号。 程序中首先编写LCD12864的初始化程序,载入初始的信息,然后根据独立按键的具体操作来实时调整屏幕上的信息。 屏幕上会显示作者的姓名,所学专业,学号,步进电机的转动方向、速度及步进电机转动的圈数。 图4-2 显示子程序设计 28 南京工业大学本科生毕业设计(论文) 4.3 蜂鸣器子程序设计 我使用的是有源蜂鸣器。 我把有源蜂鸣器子程序封装在一个独立函数中,给它多个脉冲,让蜂鸣器产生声音。当点击独立按键时就调用蜂鸣器函数,产生声音。 可以按照实际情况来调节脉冲数,从而产生不同频率的声音。 图4-3 蜂鸣器子程序设计 29 第四章 软件设计 4.4 步进电机正反转调速子程序设计 在这里主要使用到三个独立按键:步进电机顺时针、逆时针、调速按键。 实时监测独立按键,当按下顺时针独立按键时去调用步进电机的顺时针旋转相序表,反之,则去调用步进电机的逆时针旋转相序表。 对于步进电机的调速,我使用的是调节软件延时时间的大小。例如延时1ms,2ms等。 图4-4步进电机正反转调速子程序设计 30 南京工业大学本科生毕业设计(论文) 4.5 单片机主程序设计 Main函数中对独立按键进行实时监测,按照不同的独立按键来改变LCD12864、LED的状态,操作步进电机运动。 图4-5单片机主程序设计 31 第五章 实验结果与分析 第五章 实验结果与分析 5.1 步进电机电机参数简要分析 (1)这次实验使用的步进电机型号28BYJ48,特性 ① 5V ② 四相五线 ③ 减速步进电机,减速比为1:64 ④ 步进角为5.625/64度 采用四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A 如果需要转动1圈,那么需要 360/5.625*64=4096个脉冲信号。 (2)步进电机必须加驱动才可以运转,驱动信号必须为脉冲信号,没有脉冲的时候,步进电机静止,如果加入适当的脉冲信号,就会以一定的角度(称为步角)转动。转动的速度和脉冲的频率成正比。 5.2 实验结果图 图5-1 Protel 99 SE原理图 32 南京工业大学本科生毕业设计(论文) 图5-2 作品效果图1 图5-3 作品效果图2 33 第五章 实验结果与分析 图5-4 作品效果图3 图5-5 作品效果图4 34 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于单片机控制的步进电机调速系统的设计在线全文阅读。
相关推荐: