基于51系列单片机控制步进电机调速实验 (自动保存的)
51系列单片机直流电机闭环调速实验
一、实验名称:51系列单片机直流电机闭环调速实验 基于Protuse 仿真实验平台实现二、实验内容(实验原理介绍): 1、直流电机调速原理图1所示电枢电压为V ,电枢电流I ,电枢回路总电阻为R ,电机常数C ,励磁磁通量Φ。
那么根据KVL 方程:电机转速φC IR V n -=,其中,对于极对数为P ,匝数为N ,电枢支路数为a 的电机来说:电机常数aPN C 60=,意味着电机确定后,该值是不变的。
而在V-IR 中,由于R 仅为绕组电阻,导致IR 非常小,所以V-IR ≈V 。
由此可见我们改变电枢电压,转速n 即可随之改变。
实现直流电机的闭环调速 实现原理如下图所示:2、测速软件设计Array图12 软件测速的方框图/****T1中断服务程序********单位时间(S)方波的个数*************/void time1_int(void) interrupt 3{count_speed++; if(count_speed == 20) { count_speed = 0;num_display = num_medium; num_medium = 0; }}3、PID 算法的数字实现由于DDC (Direct Digital Control )系统是一种时间离散控制系统。
因此,为了用微机实现(式3-1-1)必须将其离散化,用数字形式的差分方程来代替连续系统的微分方程。
离散化的PID 表达式为:[]⎭⎬⎫⎩⎨⎧--++=∑=nj DIP n e n e T T j e T T n e K n P 0)1()()()()( (式3-1-2)式中,T ——采样周期;P n ()——第n 次采样时微机输出;e n ()——第n 次采样时的偏差值;e n ()-1——第n-1次采样时的偏差值;n ——采样序号,n =0,1,2,…。
通常把(式3-1-2)称为PID 的位置控制算式。
根据(式3-1-2)可以进一步推导出离散化的位置型PID 编程表达式,如(式3-1-3):第K 次采样PID 的输出式为:P K P K P K P K P I D ()()()()=++(式3-1-3)其中,设[]⎪⎪⎩⎪⎪⎨⎧--=-+=+===∑∑==)1()()()1()()()()()()()(00K E K E K K P K P K E K j e K K E K j E K K P K E K K P D DK j I I I I K j I I P P 式中,K TT K K T T K I I PD DP=----=----积分系数;微分系数。
基于51单片机的步进电机控制-设计报告(说明书)及源程序
步数
Q1
Q2
Q3
Q4
1
1
0
1
0
2
1
0
0
1
3
0
1
0
1
4
0
1
1
0
5
1
0
1
0
表1
二
2.
该系统中只运用到三个控制按钮,即 “正反”,“换挡”,“启停”,由于按钮较少,所以采用独立键电路,这种按键电路的按键结构相对行列式按键电路更简单,更使人易懂。
单片机的晶振为12MHZ;
(3)、系统电路图:
南京XX大学
指导老师:张X
课 程 设 计
基于51单片机的步进电机控制
机械电子工程学院
测控技术与仪器
XXXXX
Xxx
2012年1年4日
步进电机控制系统
[摘要]本课程设计的内容是利用51单片机,达到控制步进电机的启动、停止、正转、反转、两档速度和状态显示的目的,使步进电机控制更加灵活。步进电机驱动芯片采用ULN2803,ULN2803具有大电流、高电压,外电路简单等优点。利用四位数码管增设电机状态显示功能,各项数据更直观。实测结果表明,该控制系统达到了设计的要求。
2.
如图2.31,采用LED数码管动态显示数据与个项参数,方法简单,容易控制,成本低。
设计如下图
图2.31
2.4驱动电路设计
驱动电路可分为:三极管直接驱动(图3),采用斩波恒流驱动方式(图2.41)和芯片驱动电路等。驱动电路的性能直接关系到步进电机走步的准确与稳定。本电路采用驱动芯片ULN2803。ULN2803是一种大电流高电压型器件,外电路简单(图2.42)。
51单片机按键控制步进电机加减速及正反转
51单片机按键控制步进电机加减速及正反转之前尝试用单片机控制42步进电机正反转,电机连接导轨实现滑台前进后退,在这里分享一下测试程序及接线图,程序部分参考网上找到的,已经实际测试过,可以实现控制功能。
所用硬件:步进电机及驱动器、STC89C52单片机、直流电源1、硬件连接图•注意:上图为共阳极接法,实际连接参考总体线路连接。
•驱动器信号端定义:PUL+:脉冲信号输入正。
( CP+ )PUL-:脉冲信号输入负。
( CP- )DIR+:电机正、反转控制正。
DIR-:电机正、反转控制负。
EN+:电机脱机控制正。
EN-:电机脱机控制负。
•电机绕组连接A+:连接电机绕组A+相。
A-:连接电机绕组A-相。
B+:连接电机绕组B+相。
B-:连接电机绕组B-相。
•电源连接VCC:电源正端“+”GND:电源负端“-”注意:DC直流范围:9-32V。
不可以超过此范围,否则会无法正常工作甚至损坏驱动器.•总体线路连接输入信号共有三路,它们是:①步进脉冲信号PUL+,PUL-;②方向电平信号DIR+,DIR-③脱机信号EN+,EN-。
输入信号接口有两种接法,可根据需要采用共阳极接法或共阴极接法。
在这里我采用的是共阴极接法:分别将PUL-,DIR-,EN-连接到控制系统的地端(接入单片机地端);脉冲输入信号通过PUL+接入单片机(代码中给的P2^6脚),方向信号通过DIR+接入单片机(代码中给的P2^4脚),使能信号通过EN+接入(不接也可,代码中未接,置空)。
按键连接见代码,分别用5个按键控制电机启动、反转、加速、减速、正反转。
注意:接线时请断开电源,电机接线需注意不要错相,相内相间短路,以免损坏驱动器。
2、代码1.#include<reg51.h>2.#define MotorTabNum 53.unsigned char T0_NUM;4.sbit K1 = P3^5; // 启动5.sbit K2 = P3^4; // 反转6.sbit K3 = P3^3; // 加速7.sbit K4 = P3^2; // 减速8.sbit K5 = P3^1; //正反转9.10.sbit FX = P2^4; // 方向11.//sbit MotorEn = P2^5; // 使能12.sbit CLK = P2^6; // 脉冲13.14.inttable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};15.16.unsigned char g_MotorSt = 0; //17.unsigned char g_MotorDir = 0; //18.unsigned char MotorTab[7] = {12, 10, 8, 6, 4, 2,1};19.20.signed char g_MotorNum = 0;21.22.void delayms(xms);23.void mDelay(unsigned int DelayTime);24.void T0_Init();25.26.void KeyScan(void);27.28.29.30.void main(void)31.{32.T0_Init();33.// MotorEn = 0; //34.FX = 0;35.while(1)36.{37.KeyScan(); //38.}39.40.41.}42.43.void T0_Init()44.{45.TMOD = 0x01;46.TH0 = (65535-100)/256; // 1ms47.TL0 = (65535-100)%256;48.EA = 1;49.ET0 = 1;50.// TR0 = 1;51.52.}53.54.void T0_time() interrupt 155.{56.// TR0 = 0;57.TH0 = (65535-100)/256;58.TL0 = (65535-100)%256;59.T0_NUM++;60.if(T0_NUM >= MotorTab[g_MotorNum]) //61.{62.T0_NUM = 0;63.CLK=CLK^0x01; //64.}65.// TR0 = 1;66.}67.68.69.//--------------------------70.void KeyScan(void)71.{72.if(K1 == 0)73.{74.delayms(10);75.if(K1 == 0)76.{77.g_MotorSt = g_MotorSt ^ 0x01;78.// MotorEn ^= 1;79.TR0 = 1;80.FX ^= 0; //反转81.}82.}83.84.if(K2 == 0)85.{86.delayms(10); //正转87.if(K2 == 0)88.{89.g_MotorDir = g_MotorDir ^ 0x01;90.FX ^= 1; //加速91.}92.}93.94.if(K3 == 0) //95.{96.delayms(5); //加速97.if(K3 == 0)98.{99.g_MotorNum++;100.if(g_MotorNum > MotorTabNum) 101.g_MotorNum = MotorTabNum; 102.}103.}105.if(K4 == 0) //106.{107.delayms(5); // 减速108.if(K4 == 0)109.{110.g_MotorNum--;111.if(g_MotorNum < 0)112.g_MotorNum = 0;113.}114.}115.116.if(K5 == 0) //117.{118.delayms(10); // 正反转119.if(K5 == 0)120.{121.g_MotorSt = g_MotorSt ^ 0x01; 122.g_MotorDir = g_MotorDir ^ 0x01; 123.MotorEn ^= 1;124.TR0 = 1;125.while(1)126.{127.FX ^= 1; //128.delayms(90000);129.FX ^= 0; //130.delayms(90000);131.}132.}133.}135.136.void delayms(xms)//延时137.{138.unsigned int x,y;139.for(x=xms;x>0;x--)140.for(y=110;y>0;y--);141.}3、常见问题解答•控制信号高于5v一定要串联电阻,否则可能会烧坏驱动器控制接口电路。
基于51单片机的步进电机控制
目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (1)1.3实验环境 (2)第2章详细设计方案 (3)2.1硬件电路设计 (3)2.2主程序设计 (4)2.3功能模块的设计与实现 (5)第3章结果测试及分析 (8)3.1结果测试 (8)3.2结果分析 (8)参考文献 (9)附录A (10)附录B(电路原理图) (15)附录C (元件列表) (16)第1章总体设计方案1.1 设计原理根据课程设计任务书的内容与要求,要实现步进电机的工作过程,步进电机是一种将电脉冲转换成相应角位移或线位移的电磁机械装置,也是一种能把输出位移增量和输入数字脉冲对应的驱动器件。
首先要给步进电机送入脉冲信号来启动,然后在已经设定好的步进电机的正反转及三种节拍工作方式中切换,步进电机的三种节拍工作方式分别为单四拍、双四拍、单双八拍。
步进电机的驱动需要时钟脉冲信号,改变单片机输出脉冲信号来实现的。
改变各脉冲的先后顺序,可以改变电机的旋转方向和工作方式。
步进电机工作方式的转换则通过键盘控制,可以进行启动、停止、正转、反转及三种节拍工作方式的选择。
键盘的控制是在程序中已经给给每个键设置相应的功能,扫描键盘判断是否有键按下,若有,则执行与之对应的功能;若没有键按下,则保持正在运行的状态不变。
1.2 设计思路采用C语言程序设计的方法结合硬件电路设计方法,利用Lab6000实验箱上已有芯片来实现步进电机的工作(包括正转、反转、单四拍、双四拍、单双八拍的节拍工作方式)。
1)提出方案首先,实现步进电机的启动与停止;其次,实现步进电机的正反转;再次,实现在正转时可选择三种节拍工作方式;最后,实现在反转时可选择三种节拍工作方式。
2)方案论证P1口接步进电机的A~D口,键盘接通片选信号,扫描键盘,由于本程序设定固定按键为功能键,所以扫描键盘时,将使用到的按键的相应列扫描码设置为低电平,如果有键按下,74LS374输出的低电平经过按键被接到74LS245的端口上,这样从74LS245读回的数据就会有低位,根据74LS374输出的列信号和74LS245读回的行信号,就可以判断哪个键被按下。
基于51单片机的步进电机调速系统(含完整代码)
课程设计报告设计题目:遥控小车——基于51单片机的步进电机调速系统学院:专业:班级:学号:姓名:电子邮件:时间:成绩:指导教师:华南农业大学理学院应用物理系课程设计(报告)任务书学生姓名指导教师职称学生学号专业电子信息科学与技术题目基于51单片机的步进电机调速系统(遥控小车)任务与要求1. 设计并制作电路,利用单片计控制步进电机运转。
2. 通过键盘可以不间断地设定改变电机的转速、转向。
3. 利用显示器实时显示转速等参数。
4. 扩展功能:可设定转动步数。
开始日期2014 年3 月完成日期2014 年3 月1引言步进电机是一种将电脉冲转化为角位移的执行机构。
目前,步进机已经广泛应用于领域,例如工业生产中的机械臂的控制,照明装置和监控摄像机转动等。
步进机在装置转动、精确位移方面有很重大的作用。
本系统是基于STC89C51 单片机的遥控小车。
采用STC89C51单片机作为控制核心,通过ULN2003A驱动步进机(28BYJ-48)转动,由按键和显示屏1602组成人机交互模块,同时通过315M无线发射和接收模块向单片机输入控制信号,将整个系统固定于简易小车上,最终实现小车测试和远程遥控功能。
基本达到预定的设计要求以及功能的扩展。
2系统的设计与理论分析2.1系统总体设计2.2理论分析本设计分为两种工作模式:测试模式、遥控模式。
在电路板上有一个带锁的开关进行设置。
测试模式工作时,通过控制小车上的按键进行加速、减速、反转、设置、步数增、步数减等按键,单片机扫描按键,通过软件控制液晶模块显示对应的转速、设置的速度和步数,同时控制步进机模块进行相应的转动。
步进机的是由ULN2003A达林顿管驱动,由单片机控制输入脉冲的频率来控制步进机的转速,单片机是通过程序查表对4个I/O口输出脉冲,本次设计采用的是两相四线减速步进机,步进角为5.625°,减速比为64:1,程序采用的是8拍查表,具有较好的扭矩。
遥控模式工作时,遥控部分五个按键分别输入前、后、左、右、暂停,单片机扫描按键,通过无线发射模块发射串行编码,小车的无线接收模块接收对应的编码,送至单片机进行解码,从而控制液晶模块的显示和步进机模块的工作,进而完成功能。
基于51单片机的电动机调速系统的设计与实现
基于51单片机的电动机调速系统的设计与实现摘要本文针对市场上电动机调速系统普遍存在的价格高、功能单一等问题,以51单片机为核心,设计了一种低成本、功能强大的电动机调速系统。
该系统主要包括直流电机、电机驱动模块、转速检测模块、51单片机控制模块、人机交互模块等组成。
通过对转速检测模块和电机驱动模块的分析和设计,实现了对电机的准确控制和调速功能。
通过人机交互模块,用户可以方便地对电机进行操作和监测。
实验结果表明,该系统具有性能稳定、可靠性高、调速精度高等优点,是一种较为理想的电动机调速系统设计。
关键词:51单片机;电动机;调速系统;人机交互AbstractIn view of the problems of high price and single function of the electric motor speed control system in the market, this paper designs a low-cost and powerful electric motor speed control system based on 51 single-chip microcomputer. The system mainly consists of DC motor, motor drive module, speed detection module, 51 single-chip microcomputer control module, human-computer interaction module and so on. By analyzing and designing the speed detection module and motor drive module, the accurate control and speed regulation of the motor are realized. Through the human-computer interaction module, users can conveniently operate and monitor the motor. Experimental results show that the system has the advantages of stable performance, high reliability and high speed regulation accuracy, and is anideal electric motor speed control system design.Keywords: 51 single-chip microcomputer; electric motor; speed control system; human-computer interaction.一、绪论在现代工业生产中,电动机是最常用的动力源之一,其在驱动生产线、机械设备等方面都起到着不可或缺的作用。
基于51单片机的步进电机控制系统设计与实现
步进电机工作原理
步进电机是一种基于磁场的控制系统,工作原理是当电流通过定子绕组时,会 产生一个磁场,该磁场会吸引转子铁芯到相应的位置,从而产生一定的角位移。 步进电机的角位移量与输入的脉冲数量成正比,因此,通过控制输入的脉冲数 量和频率,可以实现精确的角位移和速度控制。同时,步进电机具有较高的分 辨率和灵敏度,可以满足各种高精度应用场景的需求。
二、系统设计
1、硬件设计
本系统主要包括51单片机、步进电机、驱动器、按键和LED显示等部分。其中, 51单片机负责接收按键输入并控制步进电机的运动;步进电机用于驱动负载运 动;驱动器负责将51单片机的输出信号放大,以驱动步进电机。LED显示用于 显示当前步进电机的状态。
2、软件设计
软件部分主要包括按键处理、步进电机控制和LED显示等模块。按键处理模块 负责接收用户输入,并根据输入控制步进电机的运动;步进电机控制模块根据 按键输入和当前步进电机的状态,计算出步进电机下一步的运动状态;LED显 示模块则负责实时更新LED显示。
三、系统实现
1、按键输入的实现
为了实现按键输入,我们需要在主程序中定义按键处理函数。当按键被按下时, 函数将读取按键的值,并将其存储在全局变量中。这样,主程序可以根据按键 的值来控制步进电机的转动。
2、显示输出的实现
为了实现显示输出,我们需要使用单片机的输出口来控制显示模块的输入。在 中断服务程序中,我们根据设定的值来更新显示模块的输出,以反映步进电机 的实时转动状态。
基于单片机的步进电机控制系统需要硬件部分主要包括单片机、步进电机、驱 动器、按键和显示模块等。其中,单片机作为系统的核心,负责处理按键输入、 控制步进电机转动以及显示输出等功能。步进电机选用四相八拍步进电机,驱 动器选择适合该电机的驱动器,按键用于输入设定值,显示模块用于显示当前 步进电机的转动状态。
基于C51单片机步进电机综合控制实验
重庆工商大学计算机与信息工程学院学院《单片机原理及应用》课程实验报告实验名称:步进电机综合控制实验实验班级:2010级自动化专业班级:2010级自动化三班指导老师:文远熔组员:陶园2010133330 王路2010133344江洋2010133335陈娅2010133326张琴芳2010133317张丹2010133320(组长)一、摘要:本实验利用8051单片机达到控制步进电机的启动、停止、正转、反转、点动、转过指定角度、状态显示和数据指示的目的,使步进电机控制更加灵活。
步进电机驱动芯片采用ULN2003,ULN2003具有大电流、高电压,外电路简单等优点。
利用ZLG7290模块驱动LED数码管显示速度设定值。
通过这个单片机控制系统的设计来掌握步进电机的工作原理和驱动过程以及LED显示原理和ZLG7290模块的使用方法,用LED数码管显示实验要求的状态结果,设计电路的硬件接线图和实现上述要求的程序。
关键词:51单片机步进电机ZLG7290 ULN2003二、设计内容与要求:1、任务介绍:实现步进电机按规定的速度正转、反转,转过指定的角度,要有点动功能。
所有命令通过键盘输入,步进电机在运行过程中要有状态和数据指示。
2、每套设计文档应包括:系统原理说明、程序框图、电路原理图和程序清单。
三、实验器件介绍及原理:本实验采用单片机来控制步进电机,实现了软件与硬件相结合的控制方法。
在单片机环境下,用ULN2003驱动芯片驱动步进电机,用ZLG7290芯片作用下的按键控制步进电机的运行,从而达到实验要求。
其控制框图(图一)为:图一:控制框图1、系统硬件介绍1.1步进电机1.1.1相关的技术指标:a、相数:指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机,本实验用的是四相步进电机。
电机相数不同,其步距角也不同。
b、步距角:表示控制系统每发一个步进脉冲信号,电机所转动的角度。
本实验程序运行前要先测量步进电机的步距角。
基于C51单片机步进电机综合控制实验
重庆工商大学计算机与信息工程学院学院《单片机原理及应用》课程实验报告实验名称:步进电机综合控制实验实验班级:2010级自动化专业班级:2010级自动化三班指导老师:文远熔组员:陶园2010133330 王路2010133344江洋2010133335陈娅2010133326张琴芳2010133317张丹2010133320(组长)一、摘要:本实验利用8051单片机达到控制步进电机的启动、停止、正转、反转、点动、转过指定角度、状态显示和数据指示的目的,使步进电机控制更加灵活。
步进电机驱动芯片采用ULN2003,ULN2003具有大电流、高电压,外电路简单等优点。
利用ZLG7290模块驱动LED数码管显示速度设定值。
通过这个单片机控制系统的设计来掌握步进电机的工作原理和驱动过程以及LED显示原理和ZLG7290模块的使用方法,用LED数码管显示实验要求的状态结果,设计电路的硬件接线图和实现上述要求的程序。
关键词:51单片机步进电机ZLG7290 ULN2003二、设计内容与要求:1、任务介绍:实现步进电机按规定的速度正转、反转,转过指定的角度,要有点动功能。
所有命令通过键盘输入,步进电机在运行过程中要有状态和数据指示。
2、每套设计文档应包括:系统原理说明、程序框图、电路原理图和程序清单。
三、实验器件介绍及原理:本实验采用单片机来控制步进电机,实现了软件与硬件相结合的控制方法。
在单片机环境下,用ULN2003驱动芯片驱动步进电机,用ZLG7290芯片作用下的按键控制步进电机的运行,从而达到实验要求。
其控制框图(图一)为:图一:控制框图1、系统硬件介绍1.1步进电机1.1.1相关的技术指标:a、相数:指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机,本实验用的是四相步进电机。
电机相数不同,其步距角也不同。
b、步距角:表示控制系统每发一个步进脉冲信号,电机所转动的角度。
本实验程序运行前要先测量步进电机的步距角。
基于51系列单片机控制步进电机调速实验
基于51系列单片机控制步进电机调速实验实验指导书仇国庆编写重庆邮电大学自动化学院自动化专业实验中心2009年2月基于51系列单片机控制步进电机调速实验实验目的及要求:1、熟悉步进电机的工作原理2、熟悉51系列单片机的工作原理及调试方法3、设计基于51系列单片机控制的步进电机调速原理图(要求实现电机的速度反馈测量,测量方式:数字测量)4、实现51系列单片机对步进电机的速度控制(步进电机由实验中心提供,具体型号42BYG )由按钮控制步进电机的启动与停止;实现加速、匀速、和减速控制。
速度设定由键盘设定,步进电机的反馈速度由LED数码管显示。
实验原理:步进电机控制原理一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。
步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。
步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。
因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。
步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。
由于输入的是脉冲信号,输出的角位移是断续的,所以又称为脉冲电动机。
随着数字控制系统的发展,步进电动机的应用将逐渐扩大。
步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。
步进电机的驱动电路根据控制信号工作,控制信号可以由单片机产生。
电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开0、1/3て、2/3て,(相邻两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐,B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:(图2所示)图1 是反应式步进电动机结构示意图,它的定子具有均匀分布的六个磁极,磁极上绕有绕组。
基于51单片机控制步进电机
单片机原理及系统课程设计1 引言步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。
单片机控制的步进电机广泛地应用于工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,大型望远镜,卫星天线定位系统等等。
随着经济的发展,技术的进步和电子技术的发展,步进电机的应用领域更加广阔,同时也对步进电机的运行性能提出了更高的要求。
步进电机的原始模型起源于1830年至1860年,1870年前后开始以控制为目的的尝试,应用于氩弧灯的电极输送机构中,这被认为最早的步进电机。
1950年后期晶体管的发明也逐渐应用在步进电机上,对于数字化的控制变得更为容易。
到20世纪60年代后期,在步进电机本体方面随着永磁材料的发展,各种实用性步进电机应运而生。
步进电机往后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中。
在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。
2 设计方案与原理4.1 设计方案设计一个51单片机四相步进电机控制系统要求系统具有如下功能:(1)由I/O口产生的时序方波作为电机控制信号;(2)信号经过驱动芯片驱动电机的运转;(3)电机的状态通过键盘控制,包括正转,反转,加速,减速,停止和单步运行。
4.2 设计原理步进电机实际上是一个数字\角度转换器,也是一个串行的数\模转换器。
步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4个方面。
从结构上看,步进电机分为三相、四相、五相等类型,本次设计的是四相电机。
四相步进电机的工作方式有单四拍、双四拍和单双八拍三种。
在本次设计中,我们使用的是四相单八拍的工作方式。
通过P1口给A,B,C,D四相依次输出高电平即可实现步进电机的旋转,通过控制两次输出的间隔,即可实现对步进电机的速度控制。
基于51单片机的步进电机的控制设计
单片机应用系统设计报告设计题目:步进电机控制器设计专业班级:学生姓名:指导教师:设计时间: 2016年12月一、 设计要求及方案 1、设计要求可以实现步进电机正转和反转控制及速度的控制,同时实现步进电机步数的控制。
2、设计方案本次设计采用AT89C51单片机控制一个四相步进电机。
单片机输出脉冲序列,驱动步进电机转动;并设置开关、按键电路,来控制步进电机的2挡转速,即加速、减速;以及步数的变化,即四拍驱动方式、八拍驱动方式,同时控制步进电机的转动方向,即正转、反转。
设计方案总体框图:二、步进电机简介 1、步进电机工作原理步进电机是一种将电脉冲转化为角位移的执行机构。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。
步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的多相时序控制器。
虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。
它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。
因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。
步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。
随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。
2、步进电机磁力方式选择步进电机的励磁方式主要分为全步励磁和半步励磁两种,其中全步励磁又有一相励磁和二相励磁之分,半步励磁又称一-二相励磁。
基于51单片机三相步进电机调速系统
基于51单片机三相步进电机调速系统学校:南京理工大学专业:机电一体化技术姓名:***班级:电气123学号:*********摘要步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速,停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
这一线性关系的存在,加上步进电机只有周期性的误差而无累计误差等特点,使得它在位置,速度等控制领域显得非常简单。
步进电机的调速一般是改变输入步进电机的脉冲频率来实现调速的,步进电机每给一个脉冲就转动一个固定角度,这样就可以通过控制步进电机的脉冲到下一个脉冲的时间间隔来改变脉冲的频率,延时的长短来具体控制步进角来改变转速,从而实现调速功能。
一. 步进电机1.1步进电机的工作原理本论文我们采用的电机是三相步进电机,其主要应用于完成调速功能。
步进电机是一种用电脉冲进行控制,将电脉冲信号转换成相位移的电机,其机械位移和转速分别与输入电机绕组的脉冲个数和脉冲频率成正比,每一个脉冲信号可以使步进电机旋转一个固定角度,脉冲的数量决定了旋转的总角度,脉冲的频率决定了电机运转的速度,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,他的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的,同时可以通过控制脉冲频率来控制电动机的速度和加速度,从而达到调速的目的。
1.2 步进电机的特点1·一般步进电机的精度为步进角的百分之三到百分之五;2·步进电机外表允许的温度高,电机外表允许的最高温度应取决于不同的电机磁性材料的退磁点,一般的磁性材料的退磁点都在摄氏130度以上,所以步进电机的外表温度在摄氏80度到90度下完全正常。
3·步进电机的力矩会随转速的升高而下降。
二单片机的选择本次设计以AT89C51作为步进电机的控制芯片。
基于51单片机的步进电机控制系统设计与实现
基于51单片机的步进电机控制系统设计与实现步进电机控制系统是基于51单片机的一种控制系统,它主要用来控制步进电机的转动方向和转速等参数。
下面详细解释一下这个系统的设计和实现。
1. 系统硬件设计步进电机控制系统的硬件主要包括51单片机、驱动电路、步进电机和电源等部分。
其中,驱动电路是控制步进电机的关键,它通常采用L298N芯片或ULN2003芯片等常用的驱动模块。
在硬件设计方面,主要需要考虑以下几个方面:(1)步进电机的种类和规格,以便选择合适的驱动电路和电源。
(2)驱动电路的接线和参数设置,例如步进电机的相序、脉冲频率和电流大小等。
(3)电源的选取和参数设置,以满足系统的供电要求和安全性要求。
2. 系统软件设计步进电机控制系统的软件设计主要包括编写控制程序和调试程序。
其中,控制程序是用来实现步进电机的正转、反转、加速和减速等控制功能,而调试程序则用来检测系统的电路和程序的正确性和稳定性。
在软件设计方面,主要需要考虑以下几个方面:(1)确定控制程序的算法和流程,例如使用“循环控制法”或“PID控制法”等控制方法。
(2)选择编程语言和编译器,例如使用汇编语言或C语言等。
(3)编写具体的控制程序和调试程序,并进行测试和调试,以确保程序的正确性和稳定性。
3.系统实现步进电机控制系统的实现主要包括硬件组装和软件烧录两个部分。
在硬件组装方面,需要按照硬件设计图纸进行零部件的选取和电路的组装,同时进行电源和信号线的接入。
在软件烧录方面,需要使用专用的编程器将程序烧录到51单片机的芯片中,并进行相应的设置和校验。
总之,基于51单片机的步进电机控制系统是一个功能强大、应用广泛的控制系统,可以实现精密控制和自动化控制等多种应用,具有很高的实用价值和研究价值。
51单片机控制步进电机的转动,加减速,停止,反转
51单片机控制步进电机的转动,加减速,停止,反转#includesbit inc=P3^2;sbit dec=P3^3;sbit zhzhd=P3^6;sbit fazhd=P3^7;bit flag=1;unsigned char t=0x00; //表正反速度void delay(unsigned int t);void motor_ffw();unsigned char code led7code[]={0x81,0xe7,0x92,0xc2,0xe4,0xc8,0x88,0xe3,0x00,0xc0};unsigned int num=0;unsigned char code FFW[8]={0x40,0x60,0x20,0x30,0x10,0x18,0x08,0x48}; unsigned char code FFZ[8]={0x48,0x08,0x18,0x10,0x30,0x20,0x60,0x40}; //反转void main(){EA=1;IT0=1;EX0=1;IT1=1;EX1=1;TMOD=0x06;TL0=0xff;TH0=0xff;TR0=1;ET0=1;P3=0x3f;P0=led7code[num%10];while(1){motor_ffw();}}void motor_ffw() /* 步进电机驱动*/ // {unsigned char i;int j;while(1){for(j=0;j<12;j++) //12个周期转一圈{ for (i=0; i<8; i++) //一个周期转30度{if(flag==1)P2 = FFW[i]; //取数据elseP2 = FFZ[i];delay(t); //t调节转速}}}}void int0(void) interrupt 0{EX0=0;delay(10);if(inc==0){num++;P0=led7code[num%10];if(num%10!=0&&flag){zhzhd=0;fazhd=1;} else if (num%10==0){zhzhd=0;fazhd=0;} else {zhzhd=1;fazhd=0;}switch(num%10){case 0:t=0x00;break;case 1:t=0x12;break;case 2:t=0x11;break;case 3:t=0x10;break;case 4:t=0x09;break;case 5:t=0x08;break;case 6:t=0x07;break;case 7:t=0x06;break;case 8:t=0x05;break;case 9:t=0x04;break;}}while(!inc);EX0=1;}void int1(void) interrupt 2{EX1=0;delay(10);if(dec==0){num--;if(num==65535)num=65529;P0=led7code[num%10];if(num%10!=0&&flag){zhzhd=0;fazhd=1;} else if (num%10==0){zhzhd=0;fazhd=0;} else {zhzhd=1;fazhd=0;}if(num==65535)num=65529;switch(num%10){case 0:t=0x00;break;case 1:t=0x12;break;case 2:t=0x11;break;case 3:t=0x10;break;case 4:t=0x09;break;case 5:t=0x08;break;case 6:t=0x07;break;case 7:t=0x06;break;case 8:t=0x05;break;case 9:t=0x04;break;}}while(!dec);EX1=1;}void huanx(void) interrupt 1{ET0=0;TR0=0;delay(10);if(P3^4==0){if(flag==1) {flag = 0;zhzhd=1;delay(500);fazhd=0;} else {flag = 1;fazhd=1;delay(500);zhzhd=0;}}while(!(P3^4));ET0=1;TR0=1;}// 延时程序void delay(unsigned int t){unsigned int k;while(t--){for(k=0; k<80; k++);}}。
单片机控制电机调速实验报告
重庆邮电大学综合实验报告——单片机控制步进电机调速学生姓名:组长:AAAA组员:AAAAAAAA学号:XXXXXXXXXXXXXXXXXX所在学院:自动化班级:XXXXX 专业:机械设计制造及其自指导老师:XXXX 成绩评定:检测与控制实验中心2目录一、实验要求与目的 (3)1、设计要求 (3)2、实验目的 (3)二、设计思路 (3)三、实验原理 (4)1、步进电机 (4)2、步进电机控制系统结构 (4)3、速度控制算法 (5)四、功能概述及方案设计 (5)1、显示模块 (5)2、AD转换模块 (6)3、步进电机细分驱动模块 (6)五、实验运行程序 (7)六、实验心得 (13)参考文献 (13)3一、实验要求与目的1、设计要求1、步进电机的给定速度由电位器通过AD转换输入2、只有给定速度和实际速度显示功能3、实际速度通过红外光电开关(或霍尔元件)检查4、步进电机具有细分功能:1/2细分 1/4细分 1/8细分5、测试步进电机的响应时间及曲线2、实验目的1、熟悉步进电机的工作原理2、熟悉51系列单片机的工作原理及调试方法3、设计基于51系列单片机控制的步进电机调速原理图4、实现51系列单片机对步进电机的速度控制5、了解霍尔元件和步进电机细分驱动芯片tb6560的使用二、设计思路主控芯片采用STC89C52单片机,显示采用1602液晶,由于步进电机速度设定由电位器输入,使用外部AD tlc5510,AD时钟源接89C52 ALE引脚,AD为并行,AD使用单片机P1口,可以直接读取,根据对应数据设定速度。
步进电机速度控制采用闭环控制,由于传统的PID控制算法波动较大,我们采用分级设定加速度的办法,并把编码器反馈回来的速度与设定速度进行比较确定是加速还是减速,软件模拟加速减速过程,步进电机细分由驱动芯片TB6560提供,由于驱动细分由m1、m2口电平决定,我们采取直接通过拨码开关设定电平,从而设定驱动细分值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于51系列单片机控制步进电机调速实验实验指导书仇国庆编写重庆邮电大学自动化学院自动化专业实验中心2009年2月基于51系列单片机控制步进电机调速实验实验目的及要求:1、熟悉步进电机的工作原理2、熟悉51系列单片机的工作原理及调试方法3、设计基于51系列单片机控制的步进电机调速原理图(要求实现电机的速度反馈测量,测量方式:数字测量)4、实现51系列单片机对步进电机的速度控制(步进电机由实验中心提供,具体型号42BYG )由按钮控制步进电机的启动与停止;实现加速、匀速、和减速控制。
速度设定由键盘设定,步进电机的反馈速度由LED数码管显示。
实验原理:步进电机控制原理一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。
步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。
步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。
因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。
步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。
由于输入的是脉冲信号,输出的角位移是断续的,所以又称为脉冲电动机。
随着数字控制系统的发展,步进电动机的应用将逐渐扩大。
步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。
步进电机的驱动电路根据控制信号工作,控制信号可以由单片机产生。
电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。
0、1/3て、2/3て,(相邻两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐,B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:(图2所示)图1 是反应式步进电动机结构示意图,它的定子具有均匀分布的六个磁极,磁极上绕有绕组。
两个相对的磁极组成一组,联法如图所示。
下面介绍反应式步进电动机单三拍、六拍及双三拍通电方式的基本原理。
一、单三拍通电方式的基本原理设A 相首先通电(B、C 两相不通电),产生A-A′轴线方向的磁通,并通过转子形成闭合回路。
这时A、A′极就成为电磁铁的N、S 极。
在磁场的作用下,转子总是力图转到磁阻最小的位置,也就是要转到转子的齿对齐A、A′极的位置(图3a);接着B 相通电(A、C两相不通电),转了便顺时针方向转过30°,它的齿和C、C′极对齐(图3c)。
不难理解,当脉冲信号一个一个发来时,如果按A→C→B→A→…的顺序通电,则电机转子便逆时针方向转动。
这种通电方式称为单三拍方式。
二、六拍通电方式的基本原理设A 相首先通电,转子齿与定子A、A′对齐(图4a)。
然后在A 相继续通电的情况下接通B 相。
这时定子B、B′极对转子齿2、4 产生磁拉力,使转子顺时针方向转动,但是A、A′极继续拉住齿1、3,因此,转子转到两个磁拉力平衡为止。
这时转子的位置如图4b 所示,即转子从图(a)位置顺时针转过了15°。
接着A 相断电,B 相继续通电。
这时转子齿2、4和定子B、B′极对齐(图c),转子从图(b)的位置又转过了15°。
其位置如图3d 所示。
这样,如果按A→A、B→B→B、C→C→C、A→A…的顺序轮流通电,则转子便顺时针方向一步一步地转动,步距角15°。
电流换接六次,磁场旋转一周,转子前进了一个齿距角。
如果按A→A、C→C→C、B→B→B、A→A…的顺序通电,则电机转子逆时针方向转动。
这种通电方式称为六拍方式。
三、双三拍通电方式的基本原理如果每次都是两相通电,即按A、B→B、C→C、A→A、B→…的顺序通电,则称为双三拍方式,从图4b,和图4d 可见,步距角也是30°。
因此,采用单三拍和双三拍方式时转子走三步前进了一个齿距角,每走一步前进了三分之一齿距角;采用六拍方式时,转子走六步前进了一个齿距角,每走一步前进了六分之一齿距角。
因此步距角θ可用下式计算:θ=360°/Zr×m式中Zr 是转子齿数;m 是运行拍数。
一般步进电动机最常见的步距角是3°或1.5°。
由上式可知,转子上不只4 个齿(齿距角90°),而有40 个齿(齿距角为9°)。
为了使转子齿与定子齿对齐,两者的齿宽和齿距必须相等。
因此,定子上除了6 个极以外,在每个极面上还有5 个和转子齿一样的小齿。
步进电动机的结构图如图5 所示。
由上面介绍可知,步进电动机具有结构简单、维护方便、精确度高、起动灵敏、停车准确等性能。
此外,步进电动机的转速决定于电脉冲频率,并与频率同步。
四、步进电动机的驱动电源步进电动机需配置一个专用的电源供电,电源的作用是让电动机的控制绕组按照特定的顺序通电,即受输入的电脉冲控制而动作,这个专用电源称为驱动电源。
步进电动机及其驱动电源是一个互相联系的整体,步进电动机的运行性能是由电动机和驱动电源两者配合所形成的综合效果。
1、对驱动电源的基本要求(1)驱动电源的相数、通电方式和电压、电流都要满足步进电动机的需要;(2)要满足步进电动机的起动频率和运行频率的要求;(3)能最大限度地抑制步进电动机的振荡;(4)工作可靠,抗干扰能力强;(5)成本低、效率高、安装和维护方便。
2、驱动电源的组成步进电动机的驱动电源基本上由脉冲发生器、脉冲分配器和脉冲放大器(也称功率放大器)三部分组成,如图6 所示。
L298N的说明及应用恒压恒流桥式2A驱动芯片L298NL298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。
可以方便的驱动两个直流电机,或一个两相步进电机。
L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。
L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7 V电压。
4脚VS接电源电压,VS电压范围VIH为+2.5~46 V。
输出电流可达2.5 A,可驱动电感性负载。
1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。
L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。
5,7,10,12脚接输入控制电平,控制电机的正反转。
EnA,EnB接控制使能端,控制电机的停转。
表1是L298N功能逻辑图。
In3,In4的逻辑图与表1相同。
由表1可知EnA为低电平时,输入电平对电机控制起作用,当EnA为高电平,输入电平为一高一低,电机正或反转。
同为低电平电机停止,同为高电平电机刹停。
L298N控制器原理如下:图8是控制器原理图,由3个虚线框图组成。
下面是3个虚线框图功能:(1)虚线框图1控制电机正反转,U1A,U2A是比较器,VI来自炉体压强传感器的电压。
当VI>VRBF1时,U1A输出高电平,U2A输出高电平经反相器变为低电平,电机正转。
同理VI<VRBF1时,电机反转。
电机正反转可控制抽气机抽出气体的流量,从而改变炉体压强。
(2)虚线框图2中,U3A,U4A两个比较器组成双限比较器,当VB<VI<VA时输出低电平,当VI>VA,VI <VB时输出高电平。
VA,VB是由炉体压强转感器转换电压的上下限,即反应炉体压强控制范围。
根据工艺要求,我们可自行规定VA,VB的值,只要炉体压强在VA,VB所确定范围之间电机停转(注意VB<VRBF1<VA,如果不在这个范围内,系统不稳定)。
(3)虚线框图3是一个长延时电路。
U5A是一个比较器,Rs1是采样电阻,VRBF2是电机过流电压。
Rs1上电压大于VREF2,电机过流,U5A输出低电平。
由上面可知,框图1控制电机正反转,框图2控制炉体压强的纹波大小。
当炉体压强太小或太大时,电动机转到两端固定位置停止,根据直流电机稳态运行方程[3]:U=CeФN+RaIa其中:Ф为电机每极磁通量;Ce为电动势常数;N为电机转数;Ia为电枢电流;Ra电枢回路电阻。
电机转数N为0,电机的电流急剧增加,时间过长将会使电机烧坏。
但电机起动时,电机中线圈中的电流也急剧变大,因此我们必须把这两种状态分开。
长延时电路可把这两种状态区分出来。
长延时电路工作原理:当Rs1过流U5A产生一个负脉冲经过微分后,脉冲触发555的2脚,电路置位,3脚输出高电平,由于放电端7脚开路,C1,R5及U6A组成积分器开始积分,电容C1上的充电电压线性上升,延时运放积分常数为100R5C1。
当C1上充电电压,即6脚电压超过2/3 VCC,555电路复位,输出低电平。
电机启动时间一般小于0.8 s,C1充电时间一般为0.8~1 s。
U5A输出电平与555的3脚输出电平经U7相或,如果U5A输出低电平大于C1充电时间,U7在C1充电后输出低电平由与门U8输入到L298N的6脚ENA端使电机停止。
如果U5A的输出电平小于C1充电时间,6脚不动作电机的正常启动。
长延时电路吸收电机启动过流电压波形,从而使电机正常启动。
1、15脚是输出电流反馈引脚,在通常使用中这两个引脚也可以直接接地。
图8是其引脚图:3、步进电机的静态指标术语相数:产生不同对极N、S磁场的激磁线圈对数,常用m表示。
拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即A-AB-B-BC-C-CD-D-DA-A。
步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。
θ=360度(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。
四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。
定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。
此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。
虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过份采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。
4、步进电机动态指标及术语1、步距角精度:步进电机每转过一个步距角的实际值与理论值的误差。