单片机步进电机设计说明书含电路原理图.
- 格式:doc
- 大小:3.86 MB
- 文档页数:18
4.4 步进电机与微型机的接口电路
由于步进电机的驱动电流较大,
所以微型机与步进电机的连接都需要专门的
接口及驱动电路。
驱动器可用大功率复合管,也可以是专门的驱动器。
总之,只要按一定的顺序改变8713脉冲分配器的 13脚~15脚 三位通电的状况,即可控制步进电机依选定的方向步进。
由于步进电机运行时功率较大,可在微型机与驱动器之间增加一级光电隔离器(一是抗干扰,二是电隔离。
)以防强功率的干扰信号反串进主控系统。
电路图如下所示:
图4.5 单片机与步进电机的接口电路图
1. 图中 K1、K2、K3、K4按钮分别控制步进电机正转、反转、加速、减速。
2. 因为我们讨论的是三相六拍的工作方式,所以P0.4和P0.6接高电平,P0.7接低电平。
3. P0.0输出步进脉冲。
4. P0.1控制步进电机的转向。
一步进电机与驱动电路1.1 什么是步进电机步进电机是一种将电脉冲转化为角位移的执行机构。
通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
1.2 步进电机的种类步进电机分永磁式(PM)、反应式(VR)、和混合式(HB)三种。
永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。
在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。
它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为0.72度。
这种步进电机的应用最为广泛。
1.3 步进电机的特点1.精度高一般的步进电机的精度为步进角的3-5%,且不累积。
可在宽广的频率围通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,这是步进电动机最突出的优点2.过载性好其转速不受负载大小的影响,不像普通电机,当负载加大时就会出现速度下降的情况,所以步进电机使用在对速度和位置都有严格要求的场合;3.控制方便步进电机是以“步”为单位旋转的,数字特征比较明显,这样就给计算机控制带来了很大的方便,反过来,计算机的出现也为步进电机开辟了更为广阔的使用市场;4.整机结构简单传统的机械速度和位置控制结构比较复杂,调整困难,使用步进电机后,使得整机的结构变得简单和紧凑。
1.4 步进电机的原理图1是一种四相可变磁阻型的步进电机结构示意图。
这种电机定子上有八个凸齿,每一个齿上有一个线圈。
线圈绕组的连接方式,是对称齿上的两个线圈进行反相连接,如图中所示。
八个齿构成四对,所以称为四相步进电机。
图1它的工作过程是这样的:当有一相绕组被激励时,磁通从正相齿,经过软铁芯的转子,并以最短的路径流向负相齿,而其他六个凸齿并无磁通。
51单片机控制四相步进电机接触单片机快两年了,不过只是非常业余的兴趣,实践却不多,到现在还算是个初学者吧。
这几天给自己的任务就是搞定步进电机的单片机控制。
以前曾看过有关步进电机原理和控制的资料,毕竟自己没有做过,对其具体原理还不是很清楚。
今天从淘宝网买了一个EPSON的UMX-1型步进电机,此步进电机为双极性四相,接线共有六根,外形如下图所示:拿到步进电机,根据以前看书对四相步进电机的了解,我对它进行了初步的测试,就是将5伏电源的正端接上最边上两根褐色的线,然后用5伏电源的地线分别和另外四根线(红、兰、白、橙)依次接触,发现每接触一下,步进电机便转动一个角度,来回五次,电机刚好转一圈,说明此步进电机的步进角度为360/(4×5)=18度。
地线与四线接触的顺序相反,电机的转向也相反。
如果用单片机来控制此步进电机,则只需分别依次给四线一定时间的脉冲电流,电机便可连续转动起来。
通过改变脉冲电流的时间间隔,就可以实现对转速的控制;通过改变给四线脉冲电流的顺序,则可实现对转向的控制。
所以,设计了如下电路图:C51程序代码为:代码一#include <AT89X51.h>static unsigned int count;static unsigned int endcount;void delay();void main(void){count = 0;P1_0 = 0;P1_1 = 0;P1_2 = 0;P1_3 = 0;EA = 1; //允许CPU中断TMOD = 0x11; //设定时器0和1为16位模式1 ET0 = 1; //定时器0中断允许TH0 = 0xFC;TL0 = 0x18; //设定时每隔1ms中断一次TR0 = 1; //开始计数startrun:P1_3 = 0;P1_0 = 1;delay();P1_0 = 0;P1_1 = 1;delay();P1_1 = 0;P1_2 = 1;delay();P1_2 = 0;P1_3 = 1;delay();goto startrun;}//定时器0中断处理void timeint(void) interrupt 1{TH0=0xFC;TL0=0x18; //设定时每隔1ms中断一次count++;}void delay(){endcount=2;count=0;do{}while(count<endcount);}将上面的程序编译,用ISP下载线下载至单片机运行,步进电机便转动起来了,初步告捷!不过,上面的程序还只是实现了步进电机的初步控制,速度和方向的控制还不够灵活,另外,由于没有利用步进电机内线圈之间的“中间状态”,步进电机的步进角度为18度。
学院:姓名:班级:学号:一、实验任务1.从键盘上输入正、反转命令,转速参数(16级)和转动步数显示在LED显示器上。
显示器上显示:第一位为0表示正转,为1表示反转;第二位0~F为转速等级;第三到第六位设定步数。
2.单片机显示器上显示的正、反转命令,转速级数和转动步数进行相应动作,转动步数减为零时停止转动。
二、基本原理1.步进电机基本原理如图,当有一相绕组被通电激励时,磁通从正相齿,经过软铁芯的转子,并以最短路径流向负相齿,为使磁通路径最短,在磁场力的作用下,转子被迫移动,使最近的一对齿与被激励的一相对准。
那么,通过对它每相线圈中电流的顺序切换可使电机作步进式旋转。
相数:产生不同对极N、S磁场的激磁线圈对数。
拍数:指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB或A-B-C-D-A,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A.步距角:对应一个脉冲信号电机转子转过的角位移。
步距角=360/(转子齿数*拍数)系统中使用20BY-0型号步进电机,它使用+5V直流电源,步距角为18度,电机线圈由A、B、C、D四相组成。
步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。
BA、BB、BC、BD即为脉冲信号输入插孔,驱动器输出A、B、C、D接步进电机。
步进电机原理接线图如图所示:步进电机模块插头接实验系统J3插座,(顺接)把P1.0~P1.3分别接到BA~BD插孔。
2.数码管显示和键盘(1)数码管显示字形LED显示器是由发光二极管构成的字段组成的显示器。
显示程序任务:●设置显示缓冲区(7EH- 79 H) ,存放待显示数据和字符(位置码)。
●显示译码:程序存储器中建立字形码常数表,查表得出对应数据和字符的字形码。
●输出显示:输出字形码到显示端口。
(2)字位口表(从高位起)(3)键盘显示原理图三、内存使用分配表位置G5 G4 G3 G2 G1 G0 数值20H 10H08H04H02H01H四、设计说明及流程 1.显示子程序模块● 采用动态显示方式,即一位一位地轮流点亮(扫描)6位显示器。
1题目:2 电路原理图的设计2.1步进电机控制电路原理图硬件总体电路原理图如下图2.1所示,图2.1 2.2 LCD显示模块LCD1602与51单片机的接口原理图如下图2.2,2.3L297/298电机驱动模块L297、L298与单片机的接口原理图如下图2.3,图2.3L297能产生4相控制信号,其用于分辨单片机传送给它的信号是低电平还是高电平,以采取相应的措施工作。
L298是步进电机专用驱动芯片,是2相和4相步进电机的专用驱动器,驱动46V,2A 以下的步进电机,如上图2.3所示。
2.4 键盘控制模块(加速、减速、正转、反转)键盘控制模块的链接方式如图2.5所示图2.2图2.5由这4个键分别来控制电机的转动情况:加速,减速,正转,反转。
3软件系统设计3.1软件系统的流程结构3.2主程序模块#include "AT89X51.h"int delay();void inti_lcd();void show_lcd(int);void cmd_wr();void ShowState();void clock(unsigned int Delay) ;void DoSpeed(); //计算速度//正转值#define RIGHT_RUN 1//反转值#define LEFT_RUN 0sbit RS=0xA0;//P2口地址sbit RW=0xA1;sbit E=0xA2;char SpeedChar[]="SPEED(n/min):";char StateChar[]="RUN STATE:";char STATE_CW[]="CW";char STATE_CCW[]="CCW";char SPEED[3]="050";unsigned int RunSpeed=50; //速度unsigned char RunState=RIGHT_RUN; //运行状态main(){/*定时器设置*/TMOD=0x66; //定时器0,1都为计数方式;方式2;EA=1; //开中断TH0=0xff; //定时器0初值FFH;TL0=0xff;ET0=1;TR0=1;TH1=0xff; //定时器1初值FFH;TL1=0xff;ET1=1;TR1=1;IT0=1; //脉冲方式EX0=1; //开外部中断0:加速IT1=1; //脉冲方式EX1=1; //开外部中断1:减速inti_lcd();DoSpeed();ShowState();while(1){clock(RunSpeed);//延时时间P0_1=P0_1^0x01;//什么意思,用与或也行的}}//定时器0中断程序:正转void t_0(void) interrupt 1{RunState=RIGHT_RUN;P0_0=1;//控制CW CCW的P1=0x01;cmd_wr();ShowState();}//定时器1中断:反转void t_1(void) interrupt 3{RunState=LEFT_RUN;P0_0=0;P1=0x01;cmd_wr();ShowState();}//中断0:加速程序void SpeedUp() interrupt 0{if(RunSpeed>=12)RunSpeed=RunSpeed-2;DoSpeed();P1=0x01;cmd_wr();ShowState();}//中断1:减速程序void SpeedDowm() interrupt 2{if(RunSpeed<=100)RunSpeed=RunSpeed+2;DoSpeed();P1=0x01;cmd_wr();ShowState();}int delay() //判断LCD是否忙{int a;start:RS=0;RW=1;E=0;for(a=0;a<2;a++);E=1;P1=0xff;if(P1_7==0)return 0;elsegoto start;}void inti_lcd() //设置LCD方式{P1=0x38;cmd_wr();delay();P1=0x01; //清除cmd_wr();delay();P1=0x0f;cmd_wr();delay();P1=0x06;cmd_wr();delay();P1=0x0c;cmd_wr();delay();}void cmd_wr() //写控制字{RS=0;RW=0;E=0;E=1;}void show_lcd(int i) //LCD显示子程序{P1=i;RS=1;RW=0;E=0;E=1;}void ShowState() //显示状态与速度{int i=0;while(SpeedChar[i]!='\0'){delay();show_lcd(SpeedChar[i]);i++;}delay();P1=0x80 | 0x0d;cmd_wr();i=0;while(SPEED[i]!='\0'){delay();show_lcd(SPEED[i]);i++;}delay();P1=0xC0;cmd_wr();i=0;while(StateChar[i]!='\0'){delay();show_lcd(StateChar[i]);i++;}delay();P1=0xC0 | 0x0A;cmd_wr();i=0;if(RunState==RIGHT_RUN)while(STATE_CW[i]!='\0'){delay();show_lcd(STATE_CW[i]);i++;}elsewhile(STATE_CCW[i]!='\0'){delay();show_lcd(STATE_CCW[i]);i++;}}void clock(unsigned int Delay) //1ms延时程序{ unsigned int i;for(;Delay>0;Delay--)for(i=0;i<124;i++);}void DoSpeed(){SPEED[0]=(1000*6/RunSpeed/100)+48;SPEED[1]=1000*6/RunSpeed%100/10+48;SPEED[2]=1000*6/RunSpeed%10+48;}4仿真及调试如图4.1(1)、图4.1(2)所示5.总论图4.1(1)图4.1(2)参考文献致谢。
【关键字】说明书基于单片机的步进电机控制系统设计1 引言1.1 课题研究的目的和意义步进电动机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。
随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。
1.2 国内外研究概况步进电机是国外发明的。
中国在文化大革命中已经生产和应用,例如江苏、北京都生产,而且都在各行业使用,驱动电路所有半导体器件都是完全国产化的,当时是全分立元器件构成的逻辑运算电路,还有电容耦合输入的计数器,触发器,环形分配器。
国外在大功率的工业设备驱动上,目前基本不使用大扭矩步进电动机,因为从驱动电路的成本,效率,噪音,加速度,绝对速度,系统惯量与最大扭矩比来比较,比较不划算,还是用直流电动机,加电动机编码器整体技术和经济指标高。
一些少数高级的应用,就用空心转杯电机,交流电机。
国外在小功率的场合,还使用步进电机,例如一些工业器材,工业生产装备,打印机,复印件,速印机,银行自动柜员机。
国外用许多现代的手段将步进电机排挤出驱动应用,除了前面提到的旋转编码器,打印机还使用光电编码带或感应编码带配合直流电动机,实现闭环直线位移控制。
国内过去是用大力矩步进电动机实现机床数控,有实力的公司现在也采用交流电动机驱动数控机床,在驱动设备的主要差距,是国外对交流电动机的控制理论与工程分析和应用能力强,先进的控制理论作为软件,写在控制器内部。
在卫星、雷达等应用场合,中国在文化大革命后期,就生产了力矩电机,就生产了环形力矩电机,在高品质的控制场合,有时还不能使用步进电机。
步进电机的细分控制,在改革开放初期,国内就已经基本掌握,这与交流电动机的矢量控制相比,难度要低得多。
正反转可控的步进电机1 引言本课程设计目的是为了进一步掌握单片机系统,加强对系统设计和应用能力的培养而开设的综合设计训练环节。
本系统用51单片机和ULN2003A电机驱动芯片并加入控制按钮来实现步进电机的正、反转控制。
2 设计方案及原理步进电机可以对旋转角度和转动速度进行高精度的控制。
作为控制执行部件,广泛应用于自动控制和精密仪器等领域。
例如在仪器仪表、机床设备以及计算机的外围设备中(如打印机和绘图仪),常有对精确的、可控制的回转源的需要。
在这种情况下,使用步进电机最为理想。
2.1 步进电机控制步进电机两个相邻磁极之间的夹角为60°,线圈绕过相对的两个磁极构成一相。
此外各磁极上还有5个分布均匀的锯形小齿。
电机转子上没有绕组。
当某相绕组通电时,响应的两个磁极就分别形成N-S极,产生磁场,并与转子形成磁路。
如果这是定子的小齿与转子的小齿没有对齐,则在磁场的作用下,转子将转动一定的角度,使转子齿与定子齿对齐,从而使步进电机向前“走”一步。
如果通过单片机按顺序给绕组施加有序的脉冲电流,就可以控制电机的转动,从而进行了数字到角度的转换。
转动的角度大小与施加的脉冲数成正比,转动的速度与脉冲频率成正比,而转动方向则与脉冲的顺序有关。
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方向转动。
四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。
单四拍与双四拍的步距角相等,但单四拍的转动力矩小。
八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。
单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c所示:图2.步进电机工作时序波形图图3 步进电机驱动器系统电路原理图AT89C2051将控制脉冲从P1口的P1.4~P1.7输出,经74LS14反相后进入9014,经9 014放大后控制光电开关,光电隔离后,由功率管TIP122将脉冲信号进行电压和电流放大,驱动步进电机的各相绕组。
程设计说明书题目:基于单片机的步进电机控制系统设计课程:机电一体化系统设计姓名:马福德学号:0804705030指导教师:段广云、俞学兰专业年级:机械设计制造及其自动化(机械电子工程方向)2008级所在院系:机械工程学院完成日期: 2011年7月 10 日答辩日期: 2011年7月 11 日摘要随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。
研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。
步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。
采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。
软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。
本设计是采用AT89C51单片机对步进电机的控制,通过IO口输出的时序方波作为步进电机的控制信号,信号经过芯片AT6560AHQ驱动步进电机;同时,用 4个按键来对电机的状态进行控制,并用数码管动态显示电机的转速。
系统由硬件设计和软件设计两部分组成。
其中,硬件设计包括AT89C51单片机的最小系统、电源模块、键盘控制模块、步进电机驱动模块、数码显示模块、测速模块(含霍尔片UGN3020)6个功能模块的设计,以及各模块在电路板上的有机结合而实现。
软件设计包括键盘控制、步进电机脉冲、数码管动态显示以及转速信号采集模块的控制程序,最终实现对步进电机转动方向及转动速度的控制,并将步进电机的转动速度动态显示在LED数码管上,对速度进行实时监控显示。
软件采用在Keil软件环境下编辑的C语言。
本系统具有智能性、实用性及可靠性的特点。
关键词:步进电机 ,单片机 ,电脉冲信号, 角位移, 转速控制,方向控制ABSTRACTWith the development of microelectronics and computer technology, increasing demand for stepper motor, which is widely used in printers, electronic toys and consumer products such as CNC machine tools, industrial robots, medical equipment and electrical products, and its various national fields are applied. Of stepper motor control system to improve the control accuracy and response speed, energy conservation and so important.Stepper motor is an electric pulse signals can convert the angular displacementor linear displacement of the mechanical and electrical components, stepper motor control system consists of stepper controller, stepper motor power amplifier and so on. Use MCU control, the stepper controller instead of using software to make simple circuit, low cost, reliability greatly increased. Software programming flexibility to produce different types of stepping motor excitation sequence to control the operation of the various stepper motor modeThis design is used AT89C51 of Stepping motor control, through the IO port as a square wave output of the timing of step motor control signal, the signal through the ULN2003 driver chip stepper motor; the same time, with four buttons to the status of the motor control, and dynamic display with digital control motor speed.System consists of hardware and software design of two parts. Among them, the hardware design, including minimum system AT89C51 microcontroller, power supply module, keyboard control module, stepper motor drive (integrated Darlington ULN2003) module, digital display (SM420361K digital control) module, speed modules (including the Hall probe UGN3020) six function modules, and each module in the circuit board to achieve the organic combination. Software design, including keyboard control, stepping motor pulse, the digital dynamic display and speed signal acquisition module, control procedures, and ultimately to the stepper motor rotation direction and rotation speed control of stepper motor rotation speed and dynamic display in the LED digital tube, real-time monitoring of the speed display. Software used in the software environment to edit Keil C language. This system has the intelligence, practicality and reliability features.Key Words: Stepping motor , MCU Pulse Signal , Angular displacement ,Speed control ,Direction control目录1 绪论 (1)1.1背景 (1)1.2设计任务及要求 (1)2 总体方案设计 (2)2.1方案设计 (2)2.2芯片选择 (2)2.2.1 CPU的芯片选择 (2)2.2.2 驱动电路的芯片选择 (3)2.2.3 测试电路的芯片选择 (6)3 系统硬件设计 (7)3.1电机驱动电路 (7)3.2测试及显示电路 (8)3.2.1 CS3020霍尔传感器测试电路 (8)3.2.2 LED数码显示管 (8)3.3电源 (9)3.4两相步进电机 (9)3.5键盘控制系统 (10)4 控制系统软件分析与设计 (11)4.1主程序流程图 (11)4.2读键盘子程序流程图 (11)4.3键盘处理子程序流程图 (12)4.4电机控制中断程序流程图 (12)4.5程序设计平台 (13)4.6源程序清单 (14)5 PCB板设计 (19)5.1设计原则 (19)5.1.1布局操作的基本原则 (19)5.1.2布线原则 (19)5.2PCB板设计方案: (20)5.3PCB板各电器元件的布局 (21)6 设计体会 (22)致谢 (23)参考文献 (24)附录 (25)A元件清单 (25)B电路PCB图 (26)C电路原理图 (26)1 绪论1.1 背景当今社会,电动机在工农业生产、人们日常生活中起着十分重要的作用。
华北水利水电学院单片机课程设计步进电机设计说明书2012——2013学年第2学期专业班级:学号:姓名:指导教师:雷冀南院、系:机械学院教研室:机械制造教研室注:指导教师在课程设计期间每天指导时间不少于2小时。
教学院长:教研室主任:填表人:雷冀南填表时间:2013年04月13日步进电机课程设计说明书目录第一章课程设计整体认识及规划 (5)第二章电路所用主要元件认识 (6)第三章画电路原理图 (11)第四章编写程序 (12)第五章调试模拟达到效果 (13)第六章焊接电路板 (13)第七章程序烧写 (14)第八章总结 (14)参考文献 (14)附页附图 (15)附录1 程序流程图附录2 C51程序附录3 电路原理图[摘要]本课程设计的内容是利用51单片机,达到控制步进电机的启动、停止、正转、反转、速度和状态显示的目的,使步进电机控制更加灵活。
步进电机驱动芯片采用ULN2003A,ULN2003A具有大电流、高电压,外电路简单等优点。
利用数码管增设电机速度状态显示功能,各项数据更直观。
实测结果表明,该控制系统达到了设计的要求。
关键字:步进电机、数码管、51单片机、ULN2003A、设计过程第一章课程设计整体认识及规划1.1课程设计目的《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。
1.2课程设计任务根据给定的任务要求选择合适的单片机和其他电子元器件,进行系统硬件电路设计和软件编程,根据系统制作并调试系统电路板,使之实现任务要求。
有关参数选择要求符合国家标准。
具体设计内容如下:1.能控制电机正反转,有正转和反转按钮。
2.在一定范围内可控制转速,有加速和加速按钮,用七段码显示。
3.可在不断电源的情况下暂停,有一个暂停按钮。
4.电动机处于哪个速度状态观察七段码数值,也可直观的观察电动机的旋转状态比较。
1.3单片机应用系统的设计步骤1.分析设计任务,构思需要达到的效果,了解步进电机的一些知识。
2.设计系统工作原理图,利用PROTEUS软件绘制系统工作原理图;3.购买电路所需的电子元件。
4.系统控制程序设计、调试及实现:(1)根据要求,写出完整的程序流程图;(2)了解C51编写语句,将设计程序输入、汇编,排除语法错误,生成*.OBJ 文件;(3)按所设计的原理图,焊接电路板,检查无误;(4)将目标文件传送到AT89S51芯片上,执行并运行调试该程序,最终实现控制要求单片机的应用系统随着用途不同,它们的硬件和软件结构差别很大,但系统设计的方法和步骤基本上是相同的。
一般包括总体设计、硬件设计、软件设计、仿真调试、固化程序、应用系统独立运行等步骤。
第二章电路所用主要元件认识2.1 AT98S51芯片认识该芯片是我们上课时以此为例讲的,所以也算很熟悉,各个引脚功能课本上一讲很清楚了,在这就不再多赘述。
展示一下它的引脚,实物引脚就这样,焊接电路时需注意!2.2 ULN2003A芯片认识ULN2003A芯片是一个7路反相器,即第1到7引脚输入端为低电平时,对应输出端第16到10引脚输出为高电平,反之亦然。
8引脚接地,第9引脚COM提供工作电压,如proteus中图(3),实物图中引脚编号是逆时针(8号在左下,9号在右下)。
本设计中引脚1、2、3、4分别与AT89s51芯片的P2.0、P2.1、P2.2、P2.3口相连接,规定正转为逆时针方向的转动引脚16、15、14、13连接到A、B、C、D上所示,电动机中间引脚直接与5V电压相接,目的是驱动电动机,使其正常工作2.3七段码显示管认识七段码是大家比较熟悉,实质上就是一些二极管组合,这里用的是共阳极的七段码。
课本上还有接法及码值表。
本设计由P0口控制显示,用共阳极的。
从P0.0-P0.7连接a-f引脚,com接电源。
LED是发光二极管的英文缩写,LED 显示器是由发光二极管构成的,它在单片还机中的应用非常普遍。
通常所说的LED显示器由7个发光二极管组成,其排列状如图所示。
此外,显示器中还有一个圆点型发光二极管以dp表示,用于小数点表示。
通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。
LED显示中的发光二极管共有两种连接方法:共阳极接法:把发光二极管的阳极连在一起构成公共阳极。
使用时公共阳极接+5V。
这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不亮。
共阴极接法:把发光二极管的阴极连在一起构成公共阴极。
使用时公共阴极接地。
这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不亮。
十六进制码值表如下:2.4 步进电机一、步进电机是一种将电脉冲转化为角位移的执行机构。
通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
进电机工作原理二、步进电机是工业过程控制及仪表中常用的控制元件之一,例如在机械装置中可以用丝杠把角度变为直线位移,也可以用步进电机带螺旋电位器,调节电压或电流,从而实现对执行机构的控制。
步进电机可以直接接收数字信号,不必进行数模转换,用起来非常方便。
步进电机还具有快速启停、精确步进和定位等特点,因而在数控机床、绘图仪、打印机以及光学仪器中得到广泛的应用。
三、步进电机实际上是一个数字/角度转换器,三相步进电机的结构原理如图所示。
从图中可以看出,电机的定子上有六个等分磁极,A、A′、B、B′、C、C ′,相邻的两个磁极之间夹角为60°,相对的两个磁极组成一相(A-A′,B-B′,C-C′),当某一绕组有电流通过时,该绕组相应的两个磁极形成N极和S极,每个磁极上各有五个均匀分布矩形小齿,电机的转子上有40个矩形小齿均匀地分布的圆周上,相邻两个齿之间夹角为9°。
当某一相绕组通电时,对应的磁极就产生磁场,并与转子形成磁路,如果这时定子的小齿和转子的小齿没有对齐,则在磁场的作用下,转子将转动一定的角度,使转子和定子的齿相互对齐。
由此可见,错齿是促使步进电机旋转的原因。
四、步进电机以三相六拍(三相双拍)方式工作,若按A→AB→B→BC→C→CA→A次序通电为正转,则当按A→AC→C→CB→B→BA→A次序通电为反转。
三相三拍(三相单拍)有两种A→B→C→A,AB→BC→CA→AB正转,反转则反序。
五、速度计算1.输出代码的变化周期T控制了电机的运转速度:n=60/(T.N)式中:n ——步进电机的转速(转/分);N ——步进电机旋转一周需输出的字节数;T ——代码字节的输出变化周期。
2.步角θ=360º/(MZC)M——步进电机的相数;Z——步进电机转子齿数;C——单双拍3.转数 n=60f/(MZC) f——通电脉冲频率注意:步进电机转数受相数、起转频率、载荷影响等只能在一定范围内。
第三章画电路原理图3.1 电路图雏形图从最简单的电路画,只用开关闭合,来控制电机转动。
编写修改的程序调试,简单模拟。
3.2 电路发展图加上发光二极管,画电路图如下3.3电路完善图改用数码管显示速度,因为开关按开与闭合,直接由手控制,眼观察,不需再灯显示。
原理图设计完成进行程序编写。
第四章编写程序老师建议C语言编写,用单片机汇编语言编习惯了且C语言编汇编语言的程序还没学过。
必须得看一下课本,了解到C51(C语言编写程序用来编写单片机汇编语言的调用函数)的语句及用法。
我个人觉得编简单的程序用单片机汇编语言,编复杂的用C51语言,单片机语言执行占cpu少,C51占的多。
先编一个简单使电机转的程序,我刚开始想让电机高速运转,结果电机却几乎不转、一直抖。
用软件仿真可见到P2口变化不均,好像芯片达不到那种变化似的。
只有加上延时程序,降低变化速度。
为此我几乎试了一天,变换不同的延时,从10ms左右才达到好的效果。
最终使程序实现正、反转,加减速,急停,显示的功能。
4.1 旋转程序其实挺简单的就是让接电机驱动的P2.0~P2.3只有一个不同电平在这四相来回安循环即可,也可双相。
例如:for(i=0,P2=0x01;i<4;i++){ delay(12);P2=P2<<1;}4.2 延时程序直接用循环即可void delay(m){ int i,j;for(i=0;i<m;i++)for(j=0;j<1000;j++);}4.3 加减速程序步进电机实现速度的精确控制,我设定十个速度,通过加减延时来实现。
其中最小速度还可用来控制角度,我见一个同学专门编一这样程序才想到的。
4.4 紧急制动把P2置为0ff或00即可实现。
4.5 速度显示用码值表建立一数组即可。
第五章调试模拟达到效果5.1 正反转控制初始时没开关按下数码管显示0,第二、三按钮为正反转按钮,按下其一就能实现正反旋转。
每次换方向都需松开另一方向开关,否则以先按下为准旋转。
5.2 加减速控制按下加减速开关,数码管会显示速度编号。
当松开加减速按钮数码管显示就是当前速度值。
5.3 紧急制动无论是否有按钮按下,按下紧急制动按钮电机会停止,七段码显示“P”。
通过Proteus模拟达到效果所以就开始焊接电路板。
第六章焊接电路板焊接电路板需考虑各元件所放的位置及连接方法,注意引脚连接。
所需工具:电烙铁,松香,镊子,剪刀,打火机等。
注意:焊锡不必太多,先焊元件,再连线路。
第七章程序烧写先了解烧写程序软件progisp及所需工具AT89S系列/AVR系列单片机下载线USB ISP下载器。
Progisp1.72软件的操作:1.插上usb isp下载线,连上电源。
2.单击“RD”读取,显示正确连接ID,方可开始烧写。
3.选调入flash文件打开汇编好的.hex文件。
4.单击“自动”,就开始“檫除——写入——校检”显示成功,即烧好程序。
第八章总结我的步进电机能实现十种不同的速度,当然通过编程能实现更多,达到速度精确,数码管显示的只是速度编号。
最慢的速度,通过按钮点动控制实现角度控制。
普通电机只能实现一种速度,若变速需要复杂变速机构且效率低。
本次课程设计,虽然老师分成硬件、软件组,但我是从画图到编程再到焊接电路全部自己做的。
基本对本次设计刚到满意,虽然硬件做的不是很好。
通过本次课程设计真正体验到单片机制作过程,同时了解了步进电机基本原理,基本要求,确实学到不少知识。
从与同学交流中知道步进电机的控制精确,也感觉到执着追求知识之精神。
做本次课程设计我已尽力,也基本达到我想要的效果。