AT89C51单片机控制步进电机

合集下载

基于AT89C51单片机的步进电机控制

基于AT89C51单片机的步进电机控制

基于AT89C51单片机的步进电机控制基于AT89C51单片机的步进电机控制摘要:随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。

研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。

步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。

采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。

软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。

本设计是采用AT89C51单片机对步进电机的控制,通过I/O口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。

实践证明,基于单片机控制的步进电机比传统的步进控制器具有更好的性能,更加简单、方便、可靠。

本设计的主要研究对象就是开环伺服系统中最常用的执行器件——步进电机。

关键词:步进电机,单片机,正反转控制,键盘目录摘要 (1)第一章绪论 (2)1.1 步进电机及其发展 (2)1.2 步进电机在我国的发展应用及前景 (2)1.3 设计研究内容 (3)第二章控制系统硬件分析与设计 (4)2.1 步进电机 (4)2.2 单片机的选择 (6)2.3 步进电机控制系统的组成 (7)第三章控制系统软件分析与设计 (14)3.1 程序流程图 (14)3.2 读键盘子程序流程图 (15)3.3 键盘处理子程序流程图 (15)3.4 电机控制中断程序流程图 (16)第四章调试与改进 (18)4.1 调试与改进 (18)4.2 运行结果 (18)第五章总结 (19)致谢 (20)参考文献 (21)附录 (22)附录一源程序清单 (22)附录二控制原理图 (27)第一章绪论1.1 步进电机及其发展步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。

89C51单片机对步进电动机的C语言控制程序

89C51单片机对步进电动机的C语言控制程序

89C51单片机对步进电动机的控制程序啊?兄弟做的如何了?我也是不懂啊,真是有点同病相怜了这个程序是课程设计的,现在老师要复杂点的,不让用延时程序了,因为浪费CPU时间,改为定时器扫描防抖,还有显示是用四个数码管,用四个键控制,其中一个起停,一个正反转,两个加减速。

我只能写到这些了,你有何进展,交流一下吧#define uchar unsigned char //定义一下方便使用#define uint unsigned int#define ulong unsigned long#include <reg52.h> //包括一个52标准内核的头文件sbit P10 = P1^0; //头文件中没有定义的IO就要自己来定义了sbit P11 = P1^1;sbit P12 = P1^2;sbit P13 = P1^3;sbit K1 = P3^2;sbit K2 = P3^5;sbit K3 = P3^6;sbit K4 = P3^7;sbit P20=P2^0;sbit P21=P2^1;bit ldelay=0; //长定时溢出标记,预置是0uchar a,m=50;uchar result;uint b,n;uint i,j;char code dx516[3] _at_ 0x003b;//这是为了仿真设置的/*********************************************************************** ***********///电机正转void zheng_z(){ uchar code ledp1[8]={0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6};//预定的写入P1的值正转uchar ledi1; //用来指示正转显示顺序P1=ledp1[ledi1];//读出一个值送到P1口ledi1++;//指向下一个if(ledi1==8)ledi1=0; //到了最后一个灯就换到第一个}//电机反转void fan_z(){ uchar code ledp2[8]={0xf6,0xf7,0xf3,0xfb,0xf9,0xfd,0xfc,0xfe};//预定的写入P1的值反转uchar ledi2; //用来指示反转显示顺序P1=ledp2[ledi2];//读出一个值送到P1口ledi2++; //指向下一个if(ledi2==8)ledi2=0; //到了最后一个灯就换到第一个}//减速void jian_s(){m+=5;if(m>=50)m=50;}//加速void jia_su(){ m-=5;if(m<=10)m=10;}/*******************************************************************/ void delay(uint j){j=100;for(i=0;i<j;i++){;}}void display(uint x){switch(x){case 0: P0=0xC0;break;case 1: P0=0xF9;break;case 2: P0=0xA4;break;case 3: P0=0xB0;break;case 4: P0=0x99;break;case 5: P0=0x92;break;case 6: P0=0x82;break;case 7: P0=0xF8;break;case 8: P0=0x80;break;case 9: P0=0x90;break;}}void sudu(uint c){switch(c){case 50: result=15;break;case 45: result=17;break;case 40: result=19;break;case 35: result=21;break;case 30: result=25;break;case 25: result=30;break;case 20: result=38;break;case 15: result=50;break;case 10: result=75;break;}}/*******************************************************************/ //主程序void main(void){TMOD = 0x01; //设定时器0为16位模式TH0 =0xdb; //赋T0的预置值0xdbTL0 =0xff;TR0=1; //启动定时器ET0=1; //打开定时器0中断EA=1; //打开总中断while(1) //主程扫描各键值{if(ldelay) //发现有时间溢出标记,进入处理{ldelay=0; //清除标记zheng_z();if(!K3)a=1; //如果读到K3为0if(!K4)a=0; //如果读到K4为0if(a==1)zheng_z();elsefan_z();if(!K1) //如果读到K1为0jian_s(); //减速if(!K2) //如果读到K2为0jia_su(); //加速/*********************************************************************** ************/sudu(m);b=result/10;n=result%10;P20=1;P21=0;display(b);delay (2);P20=~P20;P21=~P21;display(n);delay (2);}}}//定时器0中断timer0() interrupt 1{static uchar t;TH0 =0xdb; //赋T0的预置值0xdbTL0 =0xff;//TF0=0;t++;if(t==m){ t=0;ldelay=1;}}//定时器1中断/*timer1() interrupt 3{static uchar t;TF0=0;t++;if(t==20) { t=0; ldelay=1; } }*/。

单片机控制的步进电机

单片机控制的步进电机

浙江海洋学院设计题目单片机控制的步进电机摘要步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,步进电机有三线式、五线式、六线式3种但控制方法都相同都必须以脉冲电流来驱动。

非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,广泛应用在各种自动化控制系统。

本设计以AT89C51单片机为核心,对步进电机进行控制,通过按键实现步进电机正转、反转、加速、减速,并使用LED显示电机速度。

经过PROTEUS仿真和硬件焊接,结果表明,系统实现了要求。

电机控制编程原理根据励磁方法建立励磁顺序数组,励磁顺序数组元素为:x[]={0x02, 0x0 6,0x04,0x0c,0x08,0x09, 0x01,0x03} 该电路简单,可靠性强,运行稳定。

关键词:AT89C51;ULN2003A,LED;步进电机目录1. 引言 (5)2. 方案设计 (5)2.1. 设计要求 (5)2.2.1单片机芯片的选择 (5)2.2.2总设计及系统原理 (5)2.2. 设计方案 (5)3. 硬件设计 (6)3.1. 单片机最小系统 (6)3.2. 驱动部分 (6)3.3 按键部分 (6)3.4 显示部分 (7)4. 软件设计 (7)4.1. 软件流程 (7)4.2. 子程序设计 (7)5. 实验结果与讨论 (8)5.1. 实验仿真 (8)5.2. 结果讨论 (8)6. 心得体会 (9)7. 附录;源程序 (10)8. 参考文献 (11)1.引言步进电机是一种常用的机电执行元件,相应的控制和驱动电路对于其整体性能起着非常重要的作用。

采用常见的AT89S51单片机和步进电机驱动芯片L298N实现步进电机的控制和驱动。

整个系统具有结构简单、可靠性高、体积小、成本低和实用性强等特点,具有较高的应用推广价值。

利用STC89C51单片机对四相步进电机进行读写操作并通过对按键的控制改变单片机的输出脉冲以此控制电机转速反应电机正反转及加速减速,这样便构成了一个单片机控制的步进电机。

基于AT89C51单片机的步进电动机控制系统设计

基于AT89C51单片机的步进电动机控制系统设计

重庆科技大学本科毕业论文基于AT89C51单片机的步进电动机控制系统设计考生姓名: XXXXX X 准考证号: XXXXXXXXXXXX 专业层次:本科院(系):XXXXXXXXXXXXXXXXXXX 指导教师: XXXXXX 职称:讲师重庆科技大学二O一二年月日基于AT89C51单片机的步进电动机控制系统设计考生姓名: XXXXXX准考证号: XXXXXXXXXXXX专业层次:本科指导教师: XXXXXXX院(系):机械与动力工程学院重庆科技大学二O一二年九月二十日摘要随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。

研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。

步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。

采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。

软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。

本设计是采用AT89C51单片机对步进电机的控制,通过I/O口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。

实践证明,基于单片机控制的步进电机比传统的步进控制器具有更好的性能,更加简单、方便、可靠。

本设计的主要研究对象就是开环伺服系统中最常用的执行器件——步进电机。

关键词:步进电机,单片机,正反转控制,键盘控制,LCD液晶显示Based on the AT89C51 single-chip stepper motor controlsystem designABSTRACTWith the development of microelectronics and computer technology, the stepper motor demand grow with each passing day, which is widely used in printers, electric toys and other consumer products, industrial robots and CNC machine tools, medical equipment and other mechanical and electrical products, the national economy in various fields are applied. Study of stepping motor control system, to improve the control precision and response speed, energy saving etc have important significance.A stepper motor can be converted into electric pulse signal of angular displacement or line displacement of the mechanical and electrical components, a stepper motor control system is mainly composed of a stepping controller, a power amplifier and a stepper motor. Using single chip microcomputer control, using software to replace the stepping controller, which has the advantages of simple circuit, low cost, reliability is increased. Software programming can produce different types of step motor excitation sequence to control stepper motor operation mode.This design is the use of AT89C51 single-chip stepper motor control, through the I/O port output timing square wave as a stepper motor control signal, the signal through the ULN2003 chip stepper motor driver.Practice has proved, based on the single chip microcomputer to control the step motor than the traditional stepping controller has better performance, more simple, convenient, and reliable. The design of the main research object is the open loop servo system in the most commonly used executive device -- stepping motor.Keywords:Stepper motor, MCU, Positive control, Keyboard control, LCD liquid crystal display目录中文摘要 (I)英文摘要 (II)1 绪论 (1)1.1 步进电机及其发展 (1)1.2 步进电机在我国的发展应用及前景 (1)1.3 设计研究内容 (2)2 控制系统硬件分析与设计 (3)2.1 步进电机 (3)2.1.1 步进电机的原理 (3)2.1.2 步进电机的特点 (4)2.1.3 步进电机的分类 (4)2.1.4 永磁步进电机的控制原理 (5)2.2 单片机的选择 (6)2.2.1 单片机的引脚功能 (6)2.2.2 主要特性 (6)2.3 步进电机控制系统的组成 (7)2.3.1 键盘控制电路 (7)2.3.2 LCD液晶显示电路 (8)2.3.3 步进电机驱动电路 (10)3 控制系统软件分析与设计 (13)3.1 程序流程图 (13)3.2 读键盘子程序流程图 (14)3.3 键盘处理子程序流程图 (14)3.4 电机控制中断程序流程图 (15)4 调试与改进 (17)4.1 调试与改进 (17)4.2 运行结果 (17)结论 (19)致谢 (20)参考文献 (21)附录一 (22)附录二 (27)论文原创性声明1 绪论1.1 步进电机及其发展步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。

基于89C51单片机控制步进电机实例

基于89C51单片机控制步进电机实例

基于89C51单片机控制步进电机实例一、实物图二、原理图三、参考程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;功能:测试步进电机程序,可以测试不用的相电机,本例只给出测4相电机的程序,其它可以相继加入;操作:使用4个按钮来操作,1个正转,1个反转,1个停止,1个选择不同的相电机,在电机停止的时,可; 可以设定不同的相电机程序。

;使用资源 3.2正转,p3.3反转,p3.4停止 P3.5设定相电机,步进电机接p1.0 p1.1 p1.2 p1.3 ;使用单片机:AT89C51 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;PRONUM EQU 30H ;定义要测定那个电机程序ORG 00hJMP MAINORG 0030H;--------------------------MAIN: MOV SP,#07HMOV PRONUM,#04H ;初始化数码管的显示数据CLR P2.0 ;使数码管处于可用状态PRO: ;要求运行的的数码,如果是4则运行四相电机,3则是三相电机LCALL DISPMOV A,PRONUMCJNE A,#04H,PRO1;这里可以增加别的电机调试程序JMP LOOPPRO1: JNB p3.5,ADDPRO ; 如果p3.5按下跳到下一个程序中执行JMP PROstp: ORL p1,#0ffh ; 步进电机停止LOOP: JNB p3.2,for2 ; 如果p3.2按下正转JNB p3.3,rev2 ; 如果p3.3按下反转JNB p3.4,stop1 ; 如果p3.4按下停止JNB p3.5,ADDPRO ; 如果p3.5按下跳到下一个程序中执行LCALL DISPJMP LOOP ;反复监测键盘;------------------DISP:MOV A,PRONUMMOV DPTR,#TAB1MOVC A,@A+DPTRMOV P0,ARET;--------------------------程序跳转ADDPRO: CALL delay ; 按p3.4的消除抖动JNB p3.5,$ ; p3.4放开否?CALL delay ;放开消除抖动MOV A,PRONUMINC ACJNE A,#0AH,ADDPRO1MOV A,#00HADDPRO1:MOV PRONUM,AJMP PRO;----------------------------for2: CALL delay ; 按p3.2的消除抖动JNB p3.2,$ ; p3.2放开否?CALL delay ;放开消除抖动MOV r0,#00h ;正转到tab取码指针初值for1: MOV a,r0 ;取码MOV dptr,#table1 ;MOVC a,@a+dptrCPL a ;把acc反向MOV p1,a ;输出到p1开始正转JNB p3.4,stop1 ; 如果p3.4按下停止JNB p3.3,rev2 ; 如果p3.3按下反转CALL delay ;转动的速度INC r0 ;取下一个码CJNE R0,#4,FOR1MOV R0,#0JMP for1 ;继续正转;-----------------------------rev2: CALL delay ; 按p3.3的消除抖动JNB p3.3,$ ; p3.3放开否?CALL delay ;放开消除抖动MOV r0,#00h ;反转到tab取码指针初值rev1: MOV a,r0MOV dptr, #table2 ;取码MOVC a, @a+dptrCPL a ;把acc反向MOV p1,a ;输出到p1开始反转JNB p3.4,stop1 ; 如果p3.4按下停止JNB p3.3,rev2 ; 如果p3.3按下反转CALL delay ;转动的速度INC R0 ;取下一个码CJNE R0,#4,FOR1MOV R0,#0JMP rev1 ;继续反转;------------------------------stop1: CALL delay ; 按p3.4的消除抖动JNB p3.4,$ ; p3.4放开否?CALL delay ;放开消除抖动JMP STP;----------------------------delay: mov r1,#20 ;步进电机的转速20msd1: mov r2,#248djnz r2,$djnz r1,d1ret;------------------------------table1: db 03h,09h,0ch,06h ;正转表table2: db 03h,06h,0ch,09h ;反转;-------------------------------TAB1: DB 0C0H,0F9H,0A4H,0B0H; 0,1,2,3//数码管显示表DB 99H,92H,82H,0F8H;?,5,6,7DB 80H,90H,88H,83H;?,9,A,BDB 0C6H,0A1H,86H,8EH;C,D,E,FDB 8CH,89H,07fh,0bFH;P,H,.,-11001011 END。

毕业设计(论文)-基于AT89C51单片机的步进电机控制系统

毕业设计(论文)-基于AT89C51单片机的步进电机控制系统

内蒙古科技大学本科生毕业设计说明书(毕业论文)题目:基于AT89C51单片机的步进电机控制系统设计学生姓名:学号:专业:自动化班级:自动化06-3班指导教师:基于AT89C51单片机的步进电机控制系统摘要步进电机是数字控制系统中的一种执行元件,它能按照控制脉冲的要求,迅速起动,制动,正反转和调速。

具有步距角精度高,停止时能自锁等特点,因此步进电机在自动控制系统中,特别是在开环的控制系统中得到了日益广泛的应用。

本文以单片机和环形脉冲分配器为核心设计的步进电机控制系统,通过软硬件的设计调试,实现步进电机能根据设定的参数进行自动加减速控制,使控制系统以最短的时间到达控制终点,而又不发生失步的现象;同时它能准确地控制步进电机的正反转,启动和停止。

硬件是以AT89C51单片机为核心的控制电路,主要包括:环形脉冲分配器、键盘显示电路、步进电机的驱动电路等。

软件部分采用C语言编程,主要包括键盘显示程序、步进电机的调速程序、停止判断程序等。

关键词:步进电机控制系统;调速;单片机Based on AT89C51 Single-chip ComputerStepping Motor Control SystemAbstractStepping motor is a kind of digital control system components. It can achieve quick start-up, positive inversion, stopping and speed control, according to the control pulse. It has high precision step angle, and can be self-locking when it keeps still. As these characteristics, stepping motor in automatic control system, especially in the open loop control system has been widely applied.This article mainly focuses on taking Single-chip Computer and cycle pulse distributor as the core, and designing the stepping motor control system. Through the design of the software and hardware debugging, it realizes controlling the step motor’s acceleration and deceleration automatically, according to parameter setting. Making the system arrive the end point with the shortest time, but not occur outing of step. Besides it can accurately achieve start-up, positive inversion and shutdown. Hardware takes AT89C51 as the core of control circuit, mainly including: cycle pulse distributor, keyboard and display circuit, stepping motor driving circuit, etc. Software part adopts the C language programming, mainly including keyboard and display program, stepping motor speed control program, stop judging program, etc.Key words: Stepping motor control system; speed control; Single-chip Computer目录摘要 (I)Abstract (II)第一章引言 (1)1.1 课题提出的背景和研究意义 (1)1.2 课题的主要研究内容 (2)1.3 本章小结 (2)第二章步进电机控制系统设计 (3)2.1 步进电机的原理 (3)2.1.1 三相单三拍通电方式 (3)2.1.2 三相双三拍通电方式 (5)2.1.3 三相六拍通电方式 (6)2.2 环形脉冲分配器 (8)2.3 续流电路 (12)2.3.1 二极管续流 (13)2.3.2 二极管—电阻续流 (14)2.4 步进电机驱动电路 (15)2.5 步进电机的变速控制 (17)2.5.1 变速控制的方法 (19)2.6 步进电机在自动生产线中的应用 (20)2.7 本章小结 (22)第三章控制系统硬件设计 (23)3.1 硬件系统设计原则 (23)3.2 控制系统组成 (23)3.3 主要元件的选择 (24)3.3.1 单片机的选择 (24)3.3.2 EPROM的选择 (25)3.3.3 可逆计数器的选择 (27)3.4 控制系统接口电路的设计 (27)3.4.1 环形脉冲分配器设计 (27)3.4.2 显示电路设计 (29)3.4.3 外部复位电路设计 (30)3.5 控制系统整体电路设计 (31)3.6 本章小结 (31)第四章控制系统软件设计 (32)4.1 软件系统设计原则 (32)4.2 步进电机控制系统功能设计 (32)4.3 主程序设计 (33)4.3.1 主程序工作过程 (33)4.3.2 主程序工作流程图 (34)4.3.3 定时器T0中断程序流程图 (34)4.4 Proteus仿真 (37)4.5 显示程序设计 (39)4.6 键盘程序设计 (39)4.7 调速程序设计 (41)4.7.1 20BY步进电机参数 (41)4.7.2 步进电机转速与频率的关系 (41)4.8 本章小结 (42)第五章结束语 (43)参考文献 (44)附录 (46)附录A 系统程序(C) (46)附录B 20BY步进电机转速与定时器定时常数关系表 (59)附录C 控制系统电路图 (62)致谢 (63)第一章引言1.1 课题提出的背景和研究意义由于步进电机不需要位置传感器或速度传感器就可以实现定位,即使在开环状态下它的控制效果也是令人非常满意的,这有利于装置或设备的小型化和低成本,因此步进电机在计算机外围设备、数控机床和自动化生产线等领域中都得到了广泛的应用。

利用单片机AT89C51控制步进电机毕业论文(论文)

利用单片机AT89C51控制步进电机毕业论文(论文)广州城建职业学院毕业设计题目利用单片机AT89C51控制步进电机所在系机电与信息工程学院专业班级 10应用电子技术班学生姓名罗 X X学生学号 1004080123指导老师李有兵广州城建职业学院教务处制利用单片机AT89C51控制步进电机10应用电子技术班罗汉友指导教师:李有兵摘要步进电动机是一种将电脉冲信号转换成角位移或线位移的精密执行元件,由于步进电机具有控制方便、体积小等特点,所以在数控系统、自动生产线、自动化仪表、绘图机和计算机外围设备中得到广泛应用。

微电子学的迅速发展和微型计算机的普及与应用,为步进电动机的应用开辟了广阔前景,使得以往用硬件电路构成的庞大复杂的控制器得以用软件实现,既降低了硬件成本又提高了控制的灵活性,可靠性及多功能性。

在当今社会的各个领域步进电机无处不在,应用领域涉及机器人、工业电子自动化设备、医疗器件、广告器材、舞台灯光设备、印刷设备、计算机外部应用设备等等。

因此,设计出高精确度、实时监控、语音提示的步进电机具有重要的现实意义和实用价值。

本文介绍了单片机控制步进电机的系统。

步进电机是机电控制中一种常用的执行机构,其原理是通过对它每相线圈中的电流和顺序切换来使电机作步进式旋转。

本文先介绍了混合式步进电机的结构和工作原理,分析了细分驱动对于改善步进电机运行性能的作用,设计主要采用控制电路主要由AT89C51单片机、晶振电路、地址锁存器、译码器、数码管显示电路组成,单片机是控制系统的核心。

文中对整个系统的架构及硬件电路和驱动软件的实现都做了详细的介绍。

关键词AT89C51;步进电机;正反转目录第1章单片机控制系统概述 (3)1.1单片机系统概述 (3)1.2 AT89C51单片机概述 (4)第2章步进电机概述 (9)2.1 步进电机的基本介绍 (9)2.2 步进电机的特点及种类 (10)2.3 步进电机的选择 (11)第3章单片机编程软件概述 (12)3.1 Keil软件简介 (12)3.2 Keil工程项目建立 (12)3.3 C语言程序代码 (13)第4章硬件电路设计 (21)4.1电路设计构思 (21)4.2 硬件电路设计 (23)结论 (25)致谢 (26)参考文献 (27)第1章单片机控制系统概述1.1单片机系统概述随着材料科学、工艺技术、计算机技术的发展与进步,电路系统向着集成度极高的方向发展。

基于AT89C51单片机的步进电动机控制系统设计

基于AT89C51单片机的步进电动机控制系统设计步进电动机是一种运动精度高、控制方便的电动机。

在很多应用中,需要使用步进电动机进行精确的位置控制,因此设计一个基于AT89C51单片机的步进电动机控制系统非常有意义。

本文将设计一个基于AT89C51单片机的步进电动机控制系统的原理、硬件电路和软件设计方案,并进行详细的说明。

1.原理步进电动机通过依次在不同的相上加电来实现精确的旋转运动。

控制步进电动机的主要原理是通过改变控制相的顺序和频率来控制电动机的转向和运动速度。

在本设计中,我们将使用四相步进电动机,即控制电动机旋转需要改变四个相的状态。

2.硬件电路设计硬件电路主要包括:电源电路、单片机模块、驱动模块和步进电动机模块。

(1)电源电路:为步进电动机和单片机提供适当的电源电压和电流。

(2)单片机模块:使用AT89C51单片机作为主控制器,通过引脚控制驱动模块的工作状态。

(3)驱动模块:用于驱动步进电动机,可选择使用L298N或ULN2003驱动芯片。

(4)步进电动机模块:包括四相步进电动机和相应的接线。

3.软件设计方案(1)初始化:设置单片机工作模式、引脚方向和初始状态。

(2)编写驱动程序:根据步进电动机的相序进行编写,并通过控制相的芯片来控制电机的转向和运动速度。

(3)编写控制程序:通过按键或外部信号触发,调用相应的驱动程序来实现步进电动机的控制。

(4)编写显示程序:通过液晶显示屏或LED灯等方式显示步进电动机的状态,方便用户了解电动机的运行情况。

4.系统功能和特点本控制系统具有以下功能和特点:(1)精确控制:通过改变相序和频率控制电动机的转向和运动速度,实现步进电动机的精确控制。

(2)高效稳定:采用AT89C51单片机作为主控制器,具有高效、稳定的运行特性。

(3)灵活可扩展:可以根据实际需求添加外部输入或输出模块,实现更多功能的扩展。

(4)易操作性:可以通过按键或外部信号触发,方便用户进行操作和控制。

基于AT89C51单片机的步进电机控制系统 江荣懿

基于AT89C51单片机的步进电机控制系统江荣懿摘要:以提升步进电机控制质量与效率为目标,结合步进电机控制系统工作原理提出基于AT89C51单片机下的步进电机控制系统设计方案,从硬件系统与软件系统出发进行具体实践。

研究表明基于AT89C51单片机下的步进电机控制系统控制精度相对较高,具有良好节能作用,实现了步进电机控制系统应用价值的有效提升。

关键词:AT89C51单片机;步进电机;控制系统引言步进电机(stepping motor)又被称为“脉冲电动机”,是一种通过转换电脉冲信号实现控制的执行装置,在过程控制系统与仪表控制元件系统中具有广泛应用。

步进电机控制系统价格低、结构相对简单,稳定性、控制性较高,因此在机械设备中具有广泛应用。

对此,在单片机技术逐渐成熟,电机应用要求日渐提升的背景下,进行步进电机控制系统的优化设计,提升步进电机控制系统应用价值,已成为相关工作人员研究的重要内容,具有重要现实意义。

1步进电机控制系统工作原理由步进电机定义可知,步进电机控制系统的工作原理主要是通过将系统结接受的电脉冲信号转换为角位移或线位移,进行开环控制。

因此,在步进电机控制系统控制质量与效率与电脉冲信号的脉冲次数、频率等存在密切关联性,通过控制脉冲信号,可实现步进电机的有效控制。

就传统的步进电机控制系统而言,主要是通过利用触发器控制系统脉冲从而控制步进电机的。

此方法下的步进电机电能消耗量较大,系统控制电路相对复杂,整体功率较低,控制精度度不足且无法实现人机之间的有效交互[1]。

因此,加强步进电机控制系统优化设计已成为相关工作人员思考的重点内容。

而单片机技术的发展与应用,为步进电机控制系统设计提供了新动力。

以单片机系统为步进电机系统核心控制体系,可实现信号的有效控制,强化对电机电压与电流的监测力度,提升控制质量,降低步进电机控制系统能耗。

2基于AT89C51单片机的步进电机控制系统设计2.1系统硬件设计基于AT89C51单片机的步进电机控制系统,主要是由单片机系统结构、按键控制电路结构、驱动电路结构与步进电机共同组成[2]。

课程设计(论文)-基于AT89C51单片机的步进电机控制系统设计模板

摘要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

本次课程设计是用单片机来控制步进电机的定位和正反旋转。

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

整个系统有89C51单片机控制系统,L298驱动电路,4*4的键盘控制电路,LED显示电路。

用89C51单片机控制两相四线步进电机,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲的相序来改变步进电机的转动方向,从而达到的控制正反转的目的。

本系统采用单片机AT89C51为中心器件来控制步进电机,系统实用性强。

关键字:单片机;步进电机;脉冲;步距角目录1 前言 (3)2 步进电机工作原理 (4)2.1两相步进电机结构 (4)2.2两相步进电机的原理 (4)2.3两相步进电机的供电方式 (5)3 硬件系统设计 (6)3.1系统总体设计框图 (6)3.2单片机系统 (6)3.3时钟信号控制电路 (7)3.4电源电路 (8)3.5驱动电路 (8)3.6显示电路 (9)3.7 4*4键盘电路 (9)4 软件系统设计 (10)4.1主程序流程图及源代码 (10)4.2扫描键盘流程图及源代码............... . (11)4.3 LED显示流程图及源代码 (12)5 开发系统简介.............................. . (14)5.1 W A VE6000编译器简介 (14)5.2 protues仿真平台简介 (14)6 仿真结果及分析 (16)7 课程设计总结 (19)附录 (20)1 前言本次课程设计是以步进电机控制和驱动为要求,用单片机来控制步进电机的定位和正反旋转圈数的显示。

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要步进电机是一种进行精确步进运动的机电执行元件,它广泛应用于工业机械的数字控制,为使系统的可靠性、通用性、可维护性以及性价比最优,根据控制系统功能要求及步进电机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051单片机的四相步进电机的开环控制系统。

控制系统通过单片机存储器、I/O接口、中断、键盘、LED显示器的扩展、步进电机的环形分频器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。

为实现单片机控制步进电机系统在数控机床上的应用,系统设计了两个外部中断,以实现步进电机在某段时间内的反复正反转功能,也即数控机床的刀架自动进给运动,随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,自六十年代初期以来,步进电机的应用得到很大的提高。

人们用它来驱动时钟和其他采用指针的仪器,打印机、绘图仪,磁盘光盘驱动器、各种自动控制阀、各种工具,还有机器人等机械装置。

此外作为执行元件,步进电机是机电一体化的关键产品之一,被广泛应用在各种自动化控制系统中,随着微电子和计算机技术的发展,它的需要量与日俱增,在各个国民经济领域都有应用。

步进电机是机电数字控制系统中常用的执行元件,由于其精度高、体积小、控制方便灵活,因此在智能仪表和位置控制中得到了广泛的应用大规模集成电路的发展以及单片机技术的迅速普及,为设计功能强,价格低的步进电机控制驱动器提供了先进的技术和充足的资源。

关键词:步进电机;单片机;精度高;体积小;控制方便。

目录设计要求 (2)1.1设计要求 (2)1.2验收标准 (2)步进电机原理及硬件和软件设计 (2)2.1步进电机工作方式 (2)2.2 总体设计方框图 (5)2.3 设计原理分析 (6)2.3.1元器件介绍:步进电机 (6)2.3.2方案论证 (7)2.3.3硬件设计 (8)2.3.4元件清单 (12)2.3.5 软件设计 (13)总结 (19)致谢 (19)参考文献 (20)附录 (21)设计要求1.1设计要求(1)最小系统:选择AT89C51单片机为核心元件构成系统。

有时钟产生电路和复位电路。

(2)控制电路:由开关和按键组成,由操作者根据相应的工作需要进行操作。

(3)显示电路:显示电机的工作状态和转速。

(4)驱动部分:对单片机输出的脉冲进行功率放大,从而驱动电机转动.(5)主要功能:实现步进电机的正反转,加速、减速;显示电机转速(转速级别)和工作状态(正转、反转、不转)。

1.2验收标准(1)按照设计要求,画出系统硬件电路组成框图,电路组成原理图,PCB图,并在现有的单片机实验系统上完成硬件电路接线。

(2)完成本题程序设计,提交流程图和程序清单。

(3)完成硬件与软件联合调试,实现单片机控制步进电机的功能。

(4)提交课程设计报告。

步进电机原理及硬件和软件设计2.1步进电机工作方式由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专业设备----步进电机控制驱动器,典型步进电机控制系统如图1所示:控制器可以发出脉冲频率从几赫兹到几千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列,环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输入端,以驱动步进电机的转动,环形分配器主要有两大类:一类是用计算机软件设计的方法实现环形分配器要求的功能,通常称软环形分配器。

另一类是用硬件构成的环形分配器,通常称硬环形分配器。

功率放大器主要对环形分配器的较小输出信号进行放大,以达到驱动步进电机的目的,步进电机的基本控制包括转向控制和速度控制两个方面。

从结构上看,步进电机分为三相单三拍、三相双三拍和三相六拍3种,其基本原理如下:(1)换相顺序的控制通电换相这一过程称为脉冲分配。

例如,三相步进电机在单三拍的工作方式下,其各相通电顺序为A→B→C→A,通电控制脉冲必须严格按照这一顺序分别控制A、B、C相的通断。

三相双三拍的通电顺序为AB→BC→CA→AB,三相六拍的通电顺序为A→AB→B→BC→C→CA→A。

(2)步进电机的换向控制如果给定工作方式正序换相通电,步进电机正转。

若步进电机的励磁方式为三相六拍,即A→AB→B→BC→C→CA→A。

如果按反序通电换相,即A→AC→C→CB→B→BA→A,则电机就反转。

其他方式情况类似。

(3)步进电机的速度控制如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。

两个脉冲的间隔越短,步进电机就转得越快。

调整送给步进电机的脉冲频率,就可以对步进电机进行调试。

(4)步进电机的起停控制步进电机由于其电气特性,运转时会有步进感。

为了使电机转动平滑,减小振动,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波,可以减小步进电机的步进角,跳过电机运行的平稳性。

在步进电机停转时,为了防止因惯性而使电机轴产生顺滑,则需采用合适的锁定波形,产生锁定磁力矩,锁定步进电机的转轴,使步进电机转轴不能自由转动。

(5)步进电机的加减速控制在控制系统中,通过实验发现,如果信号变化太快,步进电机由于惯性跟不上电信号的变化,这时就会产生堵转和失步象。

所有步进电机在启动时,必须有加速过程,在停止时波形有减速过程。

理想的加速曲线一般为指数曲线,步进电机整个降速过程频率变化规律是整个加速过程频率变化规律的逆过程。

选定的曲线比较符合步进电机升降过程的运行规律,能充分利用步进电机的有效转矩,快速响应性好,缩短了升降速的时间,并可防止失步和过冲现象。

实际的控制系统中,根据负载的情况来选择步进电机。

步进电机能响应不失步的最高步进频率称为“启动频率”,于此类似“停止频率”是指系统控制信号突然关断,步进电机不冲过目标位置的最高步进频率。

电机的启动频率、停止频率和输出转矩都要和负载的转动惯量相适应,有了这些数据,才能有效地对电机进行加减速控制。

加速过程有突然施加的脉冲启动频率f0。

步进电机的最高启动频率(突跳频率)一般为0.1KHz到3~4KHz,而最高运行频率则可以达到N*102KHz,以超过最高启动频率的频率直接启动,会产生堵转和失步的现象。

在一般的应用中,用PLC实现步进电机的加P减速控制,实践上就是控制发脉冲的频率。

加速时,使脉冲频率增高,减速则相反。

如果使用定时器来控制电机的速度,加减速控制就是不断改变定时中断的设定值。

速度从v1~v2变化,如果是线性增加,则按给定的斜率加P减速;如果是突变,则按阶梯加速处理。

在此过程中要处理好两个问题:①速度转换时间应尽量短。

为了缩短速度转换的时间,可以采用建立数据表的方法。

结合各曲线段的频率和各段间的阶梯频率,就可以建立一个连续的数据表,并通过转换程序将其转换为定时初始表。

通过在不同的阶段调用相应的定时初值,就可控制电机的运行。

定时初值的计算是在定时中断外实现的,并不占用中断时间,保证电机的高速运行。

②保证控制速度的精确性。

要从一个速度准确达到另一个速度,就要建立一个校验机制,以防超过或未达到所需速度。

(6)步进电机的换向控制步进电机换向时,一定要在电机降速停止或降到突跳频率范围之内在换向,以免产生较大的冲击而损坏电机。

换向信号一定要在前一个方向的最后一个脉冲结束后以及下一个方向的第一个脉冲前发出。

对于脉冲的设计主要要求其有一定的脉冲宽度、脉冲序列的均匀度及高低电平方式。

在某一高速下的正、反向切换实质包含了降速→换向→加速3个过程。

2.2 总体设计方框图根据C51芯片的工作方式设计总体设计方框图如图 2 所示。

AT89C51图2总体设计方框图2.3 设计原理分析2.3.1元器件介绍:步进电机步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。

步进电机区别于其他控制电机的最大特点是:它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。

步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),步进电机又称为脉冲电机,是工业过程控制和仪表中一种能够快速启动,反转和制动的执行元件,其功用是将电脉冲转换为相应的角位移或直线位移,由于开环下就能实现精确定位的特点,使其在工业控制领域获得了广泛应用。

步进电机的运转是由电脉冲信号控制的,其角位移量或线位移量与脉冲数成正比,每个一个脉冲,步进电机就转动一个角度(不距角)或前进、倒退一步。

步进电机旋转的角度由输入的电脉冲数确定,所以,也有人称步进电机为数字/角度转换器。

①四相步进电机的工作原理该设计采用了20BY-0型步进电机,该电机为四相步进电机,采用单极性直流电源供电。

只要对步进电机的各相绕组按合适的时序通电,就能使步进电机转动。

当某一相绕组通电时,对应的磁极产生磁场,并与转子形成磁路,这时,如果定子和转子的小齿没有对齐,在磁场的作用下,由于磁通具有力图走磁阻最小路径的特点,则转子将转动一定的角度,使转子与定子的齿相互对齐,由此可见,错齿是促使电机旋转的原因。

②步进电机的静态指标及术语相数:产生不同队N、S磁场的激磁线圈对数,常用m表示。

拍数:完成一个磁场周期性变化所需脉冲用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB→BC →CD→DA→AB,四相八拍运行方式即A→AB→B→BC→C→CD→D→DA→A。

步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。

θ=360度(转子齿角运行拍数),以常规二、四相,转子齿角为50齿角电机为例。

四相运行时步距角为θ=360度/(50*4)=1.8度,八拍运行时步距角为θ=360度/(50*8)=0.9度。

定位转矩:电机在不通电的状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)。

静转矩:电机在额定静态作业下,电机不做旋转运动时,电机转轴的锁定力矩。

此力矩是衡量电机体积的标准,与驱动电压及驱动电源等无关。

虽然静态转矩与电磁激磁匝数成正比,与定子和转子间的气隙有关。

但过分采用减小气隙,增加励磁匝数来提高静转矩是不可取的,这样会造成电机的发热及机械噪音。

③四相步进电机的脉冲分配规律目前,对步进电机的控制主要有分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。

本设计利用单片机进行控制,主要是利用软件进行环形脉冲分配。

四相步进电机的工作方式为四相单四拍,双四拍和四相八拍工作的方式。

各种工作方式在电源通电时的时序与波形分别如图1 a、b、c所示。

本设计的电机工作方式为四相单四拍,根据步进电机的工作的时序和波形图,总结出其工作方式为四相单四拍时的脉冲分配规律,四相双四拍的脉冲分配规律,在每一种工作方式中,脉冲的频率越高,其转速就越快,但脉冲频率高到一定程度,步进电机跟不上频率的变化后电机会出现失步现象,所以脉冲频率一定要控制在步进电机允许的范围内。

相关文档
最新文档