微型计算机原理步进电机实验
基于stm32单片机的步进电机实验报告
基于stm32单片机的步进电机实验报告步进电机是一种将电脑控制信号转换为机械运动的设备,常用于打印机、数码相机和汽车电子等领域。
本实验使用STM32单片机控制步进电机,主要目的是通过编程实现步进电机的旋转控制。
首先,我们需要了解步进电机的基本原理。
步进电机是一种能够按照一定步长精确旋转的电机。
它由定子和转子两部分组成,通过改变定子和转子的电流,使转子按照一定的角度进行旋转。
在本实验中,我们选择了一种四相八拍步进电机。
该电机有四个相位,即A、B、C、D相。
每个相位都有两个状态:正常(HIGH)和反向(LOW)。
通过改变相位的状态,可以控制步进电机的旋转。
我们使用STM32单片机作为控制器,通过编程实现对步进电机的控制。
首先,我们需要配置STM32的GPIO口为输出模式。
然后,编写程序通过改变GPIO口的状态来控制步进电机的旋转。
具体来说,我们将A、B、C、D相分别连接到STM32的四个GPIO口,设置为输出模式。
然后,通过改变GPIO口输出的电平状态,可以控制相位的状态。
为了方便控制,我们可以定义一个数组,将表示不同状态的四个元素存储起来。
通过循环控制数组中的元素,可以实现步进电机的旋转。
在实验中,我们通过实时改变数组中元素的值,可以实现不同的旋转效果。
例如,我们可以将数组逐个循环左移或右移,实现步进电机的正转或反转。
在实验过程中,我们可以观察步进电机的旋转情况,并根据需要对程序进行修改和优化。
可以通过改变步进电机的旋转速度或步进角度,来实现更加精确的控制。
总结起来,通过本次实验,我们了解了步进电机的基本原理,并通过STM32单片机控制步进电机的旋转。
通过编写程序改变GPIO口的状态,我们可以实现步进电机的正转、反转和精确控制。
这对于理解和应用步进电机技术具有重要意义。
步进电机控制实验报告
步进电机控制实验报告开课学院及实验室:学院年级、专业、班姓名学号实验课程名称计算机控制技术成绩实验项目名称步进电机控制实验指导老师一、实验目的1.了解步进电机的工作原理。
2.掌握步进电机的驱动及编程方法。
二、实验原理步进电机是一种电脉冲转化为角位移的执行机构。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的。
通过设定脉冲数来使步进电机转过一定的角度。
步进电机多为永磁感应式,有两相、四相、六相等多种,实验所用电机为四相八拍式。
三、使用仪器、材料1.TPCC-III计算机控制技术实验箱一台。
2. 数字式万用表一个。
3.微型计算机一台(安装“DICE计算机控制实验软件”)。
四、实验步骤本实验使用的AD35-02M型四相八拍电机,电压为DC12V,其励磁线圈及励磁顺序如下图3-1。
图3-1 励磁线圈及励磁顺序图3-2 实验接线图表3-1 8255B口输出电平在各步中的情况步骤1:按图3-2接线:步骤2:在汇编程序编辑界面输入程序,将宏汇编程序经过汇编,连接后形成.EXE文件。
打开调试窗口,复位,待出现“Welcome to you!”,装入系统,输入命令“G=2000↙”。
EXP3.ASM汇编程序如下:STACK SEGMENT STACKDW 256 DUP(?)STACK ENDSDATA SEGMENTTABLE DB 01H,03H,02H,06H,04H,0CH,08H,09H ;Step of motorDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMAIN: MOV AL,80H ;Initiate 8255 B(OUT)OUT 63H,ALA1: MOV BX,OFFSET TABLEMOV CX,0008H ; Number of stepA2: MOV AL,[BX] ; 8255 outOUT 61H,AL。
单片机步进电机控制实训报告
单片机步进电机控制实训报告一、引言随着工业自动化技术的不断发展,步进电机作为一种能够将电脉冲转化为机械转动的装置,在各种自动化控制系统中得到了广泛的应用。
而单片机作为现代电子计算机技术的重要分支,具有体积小、价格低、抗干扰能力强等特点,被广泛应用于各类电机的控制中。
本次实训旨在通过单片机实现对步进电机的控制,加深对步进电机和单片机理论知识的理解,提高实际操作技能。
二、实验目标本次实训的目标是通过单片机控制步进电机,实现电机的正转、反转、停转等操作。
同时,通过对电机的控制,进一步了解步进电机的特性和工作原理。
三、实验原理步进电机是一种将电脉冲转化为机械转动的装置。
当给步进电机施加一个电脉冲信号时,电机就会转动一个固定的角度,这个角度通常称为“步进角”。
通过控制电脉冲的数量和频率,可以实现对电机的速度和位置的控制。
而单片机的GPIO口可以输出高低电平信号,通过控制输出信号的频率和占空比,可以实现对步进电机的控制。
四、实验步骤1、准备器材:单片机开发板、步进电机、杜邦线、面包板、焊锡等。
2、连接电路:将步进电机连接到单片机开发板上,使用杜邦线连接电源和信号接口。
3、编写程序:使用C语言编写程序,通过单片机控制GPIO口输出电脉冲信号,控制步进电机的转动。
4、调试程序:在调试过程中,需要不断调整程序中的参数,观察电机的反应,直到达到预期效果。
5、测试结果:完成程序调试后,进行实际测试,观察步进电机是否能够实现正转、反转、停转等操作。
五、实验结果及分析通过本次实训,我们成功地实现了通过单片机控制步进电机的正转、反转、停转等操作。
在实验过程中,我们发现步进电机的转速和方向可以通过改变单片机输出信号的频率和占空比来控制。
我们还发现步进电机具有较高的精度和稳定性,适用于需要精确控制的位置和速度控制系统。
六、结论与展望通过本次实训,我们深入了解了步进电机的工作原理和单片机的应用。
实践证明,单片机控制步进电机是一种高效、精确、可靠的方法。
步进电机微机实验报告
步进电机微机实验报告步进电机微机实验报告引言:步进电机是一种特殊的电动机,它可以根据输入的电脉冲信号精确地控制转动角度和速度。
在本次实验中,我们使用了微机控制步进电机的转动,通过编写程序和控制电路,实现了步进电机的正转、反转和定位功能。
本报告将详细介绍实验的目的、原理、实验过程和结果,并对实验中遇到的问题进行分析和解决。
一、实验目的本次实验的目的是通过微机控制步进电机的转动,掌握步进电机的工作原理和控制方法。
具体目标包括:1. 理解步进电机的工作原理和结构特点;2. 掌握步进电机的控制方式和驱动电路设计;3. 通过编写程序实现步进电机的正转、反转和定位功能;4. 分析实验中可能遇到的问题,并提出解决方案。
二、实验原理步进电机是一种将电脉冲信号转化为机械转动的电动机。
它由定子、转子和驱动电路组成。
定子上有多个绕组,每个绕组上有若干个磁极。
转子上有多个磁极,与定子的磁极相对应。
通过改变绕组的通电顺序,可以使转子按一定的步距转动。
步进电机有两种常见的控制方式:全步进和半步进。
全步进模式下,每个步进脉冲使电机转动一个步距角度;半步进模式下,每个步进脉冲使电机转动半个步距角度。
在实验中,我们将使用全步进模式进行控制。
三、实验过程1. 设计驱动电路:根据步进电机的额定电流和电压,设计合适的驱动电路。
选择合适的功率晶体管和电流限制电阻,确保电机能够正常工作。
2. 连接电路:按照驱动电路的设计连接步进电机和微机。
注意接线的正确性和稳定性。
3. 编写控制程序:使用合适的编程语言编写步进电机的控制程序。
程序需要实现电机的正转、反转和定位功能。
4. 调试程序:通过调试程序,确保电机能够按照预期的方式工作。
可以通过改变电脉冲的频率和脉冲数来调整电机的转速和转动角度。
5. 实验结果记录:记录电机的转动角度、转速和实际运行情况。
分析实验结果,验证实验的准确性和可行性。
四、实验结果与分析经过实验,我们成功实现了步进电机的正转、反转和定位功能。
步进电机微机实验报告
一、实验目的1. 熟悉步进电机的工作原理和特性。
2. 掌握通过微机控制步进电机的基本方法。
3. 了解步进电机在微机控制下的应用。
二、实验原理步进电机是一种将电脉冲信号转换为角位移或线位移的电机,其特点是步进角固定,控制精度高,响应速度快。
步进电机的工作原理是:当给步进电机输入一定频率的脉冲信号时,电机就会以一定的步进角进行旋转。
步进电机的控制方式主要有以下几种:1. 单相控制:将步进电机绕组分为A、B、C、D四相,每相依次通电,实现电机的旋转。
2. 双相控制:将步进电机绕组分为A、B两相,通过改变A、B两相的通电顺序,实现电机的旋转。
3. 四相控制:将步进电机绕组分为A、B、C、D四相,通过改变A、B、C、D四相的通电顺序,实现电机的旋转。
三、实验设备1. 微机:一台2. 步进电机驱动器:一台3. 步进电机:一台4. 编程软件:例如Keil、IAR等5. 连接线:若干四、实验内容1. 步进电机基本特性测试(1)观察步进电机在不同脉冲频率下的转动情况。
(2)观察步进电机在不同脉冲数下的转动角度。
2. 步进电机单相控制(1)编写程序,实现步进电机单相控制。
(2)测试步进电机单相控制下的转动情况。
3. 步进电机双相控制(1)编写程序,实现步进电机双相控制。
(2)测试步进电机双相控制下的转动情况。
4. 步进电机四相控制(1)编写程序,实现步进电机四相控制。
(2)测试步进电机四相控制下的转动情况。
5. 步进电机转速控制(1)编写程序,实现步进电机转速控制。
(2)测试步进电机在不同转速下的转动情况。
6. 步进电机转向控制(1)编写程序,实现步进电机转向控制。
(2)测试步进电机正转和反转的情况。
五、实验步骤1. 连接步进电机驱动器和步进电机。
2. 在微机上编写程序,实现步进电机的基本控制。
3. 编写程序,实现步进电机单相、双相、四相控制。
4. 编写程序,实现步进电机转速和转向控制。
5. 运行程序,观察步进电机的转动情况。
步进电机调速实验
肇庆学院光机电一体化综合性实验实验报告学院:电子信息与机电工程学院课程:微型计算机控制技术级糸班别:13级电气2班姓名:梁智健学号:201324122202指导老师:陈显明实验地点:后山金工楼3楼电工实验室实验日期: 2015年12月7日________________________________________ 实验一步进电机调速实验一、实验目的掌握步进电机的控制方法二、实验设备TDN86/88+教学实验系统一台三、实验原理及接线步进电机工作原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机作步进式旋转。
驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。
1、本实验使及35BY146型四项八拍电机,电压为DC12V,其励磁线圈及励磁顺序如下图:实验线路8255B口输出电平在各步中的情况如下:2.实验程序及流程STACK SEGMENT STACKDW 256 DUP(?)STACK ENDSDATA SEGMENTTABLE DB 01H,03H,02H,06H,04H,0CH,08,09H ;步进电机对应步值(1-8) DATA ENDS ;即8255 B口输出值CODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMAIN:MOV AL,90H ;初始化8255 B 口为输出OUT 63H,ALA1:MOV BX,OFFSET TABLEMOV CX,0008H ;步进电机步数为8A2:MOV AL,[BX] ;8255输出OUT 61H,ALCALL DALLY ;调Dally延时程序INC BXLOOP A2JMP A1DALLY: PUSH CXMOV CX,5000H ;在此可改变步间延时值,只需增T1:PUSH AX ;减输入到CX中的值POP AXLOOP T1POP CXRETCODE ENDSEND START四、实验内容及步骤(1)按图接线:(2)输入程序,将宏汇编程序经过汇编,连接后形成.EXE文件装入系统,也可直接从软盘中调用EXP3.EXE文件。
微型计算机原理步进电机实验
微型计算机原理步进电机实验一、实验目的掌握步进电机的基本工作原理和控制方法,理解步进电机与微型计算机的接口原理。
二、实验器材1.电脑2.步进电机3.驱动器电路板4.接口电缆5.实验面包板6.杜邦线7.电源三、实验步骤1.搭建电路连接:将步进电机与驱动器电路板连接,然后将驱动器电路板与微型计算机的接口电缆连接。
2.编写控制程序:使用任何一种编程语言,编写通过微型计算机控制步进电机的程序。
3.载入程序:将编写好的控制程序载入微型计算机。
4.运行程序:执行控制程序,观察步进电机的运动情况。
四、实验内容1.观察步进电机是否正常运转。
2.改变控制程序中的参数,例如步进角度和转速,观察步进电机的运动情况。
3.尝试通过控制程序改变步进电机的运动方向。
4.尝试同时控制多个步进电机。
五、实验原理步进电机是一种能够按照指令进行旋转的电机。
它可以精确控制转动角度和转速,适用于需要精确定位的应用场景。
步进电机的控制通常使用驱动器来实现。
驱动器接受来自微型计算机的指令,然后根据指令来控制步进电机的转动。
步进电机的控制方法有多种,常见的有脉冲信号控制方法和磁场控制方法。
脉冲信号控制方法是通过给步进电机的控制端口发送不同的脉冲信号来实现转动控制;磁场控制方法是通过改变电磁铁的磁场来使步进电机转动。
在本实验中,我们使用脉冲信号控制方法来控制步进电机。
步进电机的转动是按照一定的角度来进行的,这个角度叫做步角。
步进电机通常有两种类型:单圈步进电机和多圈步进电机,它们的步角不同。
每接收到一个脉冲信号,步进电机就会转动一定的步角。
驱动器电路板通常有多个控制端口,用来接收控制信号。
控制信号可以是高电平或低电平的脉冲信号,通过给这些控制端口发送不同的脉冲信号,就可以控制步进电机的转动方向和转动步数。
六、实验问题与解答1.为什么要使用驱动器来控制步进电机?答:步进电机的控制需要精确的脉冲信号来实现转动控制,而微型计算机无法直接提供这种精确的信号。
微机步进电机实验报告
一、实验目的1. 了解步进电机的工作原理,掌握其控制方式和调速方法。
2. 学习使用微机对步进电机进行控制,提高微机应用能力。
3. 培养实验操作和数据分析能力。
二、实验设备及器件1. 微机一台2. 步进电机驱动器一台3. 步进电机一台4. 电源一个5. 连接导线若干三、实验原理步进电机是一种将电脉冲信号转换为角位移或线位移的电机,具有定位精度高、响应速度快、控制简单等优点。
步进电机的工作原理是利用电机的磁极与定子磁极之间的磁力相互作用,通过控制脉冲信号的输入,使电机产生相应的角位移。
步进电机的控制方式主要有以下几种:1. 单拍控制:每输入一个脉冲信号,电机转动一个步距角。
2. 双拍控制:每输入两个脉冲信号,电机转动一个步距角。
3. 四拍控制:每输入四个脉冲信号,电机转动一个步距角。
步进电机的调速方法主要有以下几种:1. 脉冲频率调速:通过改变脉冲信号的频率,实现电机转速的调节。
2. 脉冲宽度调速:通过改变脉冲信号的宽度,实现电机转速的调节。
3. 脉冲分配调速:通过改变脉冲信号的分配方式,实现电机转速的调节。
四、实验步骤1. 将步进电机驱动器连接到微机,确保连接正确。
2. 将步进电机连接到驱动器,确保连接牢固。
3. 将电源连接到驱动器,确保电源电压符合要求。
4. 编写程序,实现步进电机的控制功能。
5. 调试程序,观察步进电机的转动情况。
6. 分析实验结果,总结实验经验。
五、实验程序以下是一个简单的步进电机控制程序,实现单拍控制方式:```c#include <reg51.h>#define STEP_PIN P2 // 定义步进电机控制端口void delay(unsigned int ms) {unsigned int i, j;for (i = 0; i < ms; i++)for (j = 0; j < 123; j++);}void main() {while (1) {STEP_PIN = 0x01; // 输入第一个脉冲信号delay(100); // 延时STEP_PIN = 0x00; // 清除脉冲信号delay(100); // 延时}}```六、实验结果与分析1. 在实验过程中,通过改变脉冲信号的频率,实现了步进电机的调速。
步进电机控制实验实验报告及程序
实验九步进电机控制实验姓名专业通信工程学号成绩一、实验目的1.掌握keil C51软件与proteus软件联合仿真调试的方法;2.掌握步进电机的工作原理及控制方法;3.掌握步进电机控制的不同编程方法;二、实验仪器与设备1.微机1台2.keil C51集成开发环境3.Proteus仿真软件三、实验内容1.用Proteus设计一四相六线步进电机控制电路。
要求利用P1口作步进电机的控制端口,通过达林顿阵列ULN2003A驱动步进电机。
基本参考电路见后面附图。
2.编写程序,实现步进电机的正反转控制。
正反转时间分别持续10S时间,如此循环。
3.设计一可调速步进电机控制电路。
P3.2~P3.5分别接按键k1~k4,其中k1为正反转控制按键,k2为加速按键,k3为减速按键,k4为启动/停止按键,要求速度7档(1~7)可调,加减速各设3档,复位时位于4档,要求每档速度变化明显。
该步进电机控制电路在以上电路的基础上自行修改。
四、实验原理1.步进电机控制原理:1)步进电机是利用电磁铁的作用原理,步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
每来一个电脉冲,步进电机转动一定角度,带动机械移动一小段距离。
特点A.来一个脉冲,转一个步距角。
B.控制脉冲频率,可控制电机转速。
C.改变脉冲顺序,可改变转动方向。
2)以反应式步进电机为例说明步进电机的结构和工作原理。
三相反应式步进电动机的原理结构图如下,定子内圆周均匀分布着六个磁极,磁极上有励磁绕组,每两个相对的绕组组成一相。
转子有四个齿。
给A相绕组通电时,转子位置如图(a),转子齿偏离定子齿一个角度。
由于励磁磁通力图沿磁阻最小路径通过,因此对转子产生电磁吸力,迫使转子齿转动,当转子转到与定子齿对齐位置时(图b),因转子只受径向力而无切线力,故转矩为零,转子被锁定在这个位置上。
由此可见:错齿是助使步进电机旋转的根本原因。
3)三相反应式步进电动机的控制原理①三相单三拍:A 相→ B 相→ C 相→ A 相②三相六拍:A→AB →B →BC →C → CA→ A③三相双三拍:AB →BC →CA→AB4)步距角计算公式:θ—步距角 Z r—转子齿数 m —每个通电循环周期的拍数2、ULN2003A:七达林顿阵列ULN2003A是集成达林顿管反相驱动电路,内部还集成了一个消线圈反电动势的二极管,可用来驱动电机、继电器等功率器件。
微机原理步进电机控制
微机原理步进电机控制微机原理步进电机控制实验报告实验步进电机控制⼀、实验内容l、⽤8255的PA0,PA3输出脉冲信号,驱动步进电机转动,通过键盘设定来控制步进电机正转、反转、停⽌。
2、实验预备知识,步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转。
驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速,⽤微电脑控制步进电机最适合。
⼆、实验步骤1、在系统处于命令提⽰符“P.”态下,按SCAL键。
2、按图6,9连好实验线路图,8255的PA0,PA3依次连到HA-HD插孔。
3、运⾏实验程序。
在系统处于命令提⽰符“P.”态下,输⼊1630,按EXEC键,显⽰BJ?,按“1”键正转;按“2”键反转;按“3”停⽌。
4、观察步进电机转动情况。
三、实验原理图, 实验接线图:四(实验程序清单CODE SEGMENT ;BJ.ASM ASSUME CS: CODE IOCONPT EQU 0FF2BH IOBPT EQU 0FF29H IOAPT EQU 0FF28HPA EQU 0FF20H ;字位⼝PB EQU 0FF21H ;字形⼝PC EQU 0FF22H ;键⼊⼝ORG 1630HSTART: JMP START0 BUF DB ?,?,?,?,?,? KZ DB ?ltime db ?lkey db ?data1:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F1HSTART0: CALL BUF1 ;写显⽰缓冲区初值MOV AL,88H ;MOV DX,IOCONPTOUT DX,AL ;写命令字redikey: call dispkey ;调⽤显⽰键扫cmp KZ,01h ;是1键正转JZ ZZcmp KZ,02h ;是2键反转JZ STXJMP REDIKEY ;继续读键JMP ST ;转停⽌ STX:ZZ: CALL BUFZ ;显⽰正转值ZZ1: MOV DX,IOAPT ;PA⼝MOV AL,03H ;MOV DX,IOAPTOUT DX,AL ;驱动步进电机,A.B两相CALL DELPZ ;延时,读键MOV AL,06HMOV DX,IOAPTOUT DX,AL ;驱动步进电机,A.d两相CALL DELPZ MOV AL,0CHMOV DX,IOAPTOUT DX,AL ;驱动步进电机,C.D两相CALL DELPZ MOV AL,09H ;驱动步进电机,B.C两相MOV DX,IOAPT OUT DX,ALCALL DELPZMOV AL,03HMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,06HMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,0CHMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,09HMOV DX,IOAPTOUT DX,AL;------------------------- FZ: CALL BUFF ;反转⼊⼝FZ1: MOV DX,IOAPTMOV AL,0CHOUT DX,ALCALL DELPFMOV AL,06HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV DX,IOAPTMOV AL,03HOUT DX,ALCALL DELPFMOV AL,09HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,0CHMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,06HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,03HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,09HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,00HOUT DX,ALST1: call dispkey cmp KZ,01hJZ ZZMONcmp KZ,02hJZ FZMONJMP ST1delpZ: mov cx,02h con1: push cx CALL dispkey pop cxcmp KZ,02hJZ FZMONcmp KZ,03hJZ STMONloop con1RETdelpF: mov cx,02h con2: push cx CALL dispkey pop cxcmp KZ,01hJZ ZZMONcmp KZ,03hJZ STMONloop con2RETZZMON: POP CXJMP ZZFZMON: POP CXJMP FZSTMON: POP CXJMP ST;-------------------------dispkey: call disp ;键盘显⽰⼦程序,见前注释call key mov ah,al ;newkeymov bl,ltime ;ltimemov dx,PA ;0ff21hout dx,alcmp ah,bhmov bh,ah ;bh=new keymov ah,bl ;al=timejz disk4mov bl,88hmov ah,88hdisk4: dec ahcmp ah,82hjz disk6cmp ah,0ehjz disk6cmp ah,00hjz disk5mov ah,20hdec bljmp disk7disk5: mov ah,0fhdisk6: mov bl,ahmov ah,bhdisk7: mov ltime,blmov lkey,bhmov KZ,bhmov al,ahretkey: mov al,0ffh ;键扫⼦程序mov dx,PB out dx,almov bl,00hmov ah,0fehmov cx,08hkey1: mov al,ahmov dx,PAmov ah,alnopnopnopnopnopnopmov dx,PCin al,dxnot alnopnopand al,0fhjnz key2inc blloop key1jmp nkeykey2: test al,01h je key3 mov al,00hjmp key6key3: test al,02h je key4 mov al,08hjmp key6key4: test al,04h je key5 mov al,10hjmp key6key5: test al,08hje nkeymov al,18hkey6: add al,blcmp al,10hjnc fkeymov bl,almov al,[bx+si]retnkey: mov al,20h fkey: retdata2: db 07h,04h,08h,05h,09h,06h,0ah,0bh DB 01h,00h,02h,0fh,03h,0eh,0ch,0dh DISP: MOV AL,0FFH ;显⽰⼦程序 ,5ms MOV DX,PAOUT DX,ALMOV CL,0DFH ;20HMOV BX,OFFSET BUF DIS1: MOV AL,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,0a0HLOOP $POP CXCMP CL,0FEHJZ LX1INC BXROR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,0BH ;写”BJ----” MOV BUF+1,019HMOV BUF+4,17HMOV BUF+5,17HRETBUFZ: MOV BUF,0BH ;写”BJ---F” MOV BUF+1,19HMOV BUF+2,17HMOV BUF+3,17HMOV BUF+4,17HMOV BUF+5,0FHRETBUFF: MOV BUF,0BH ;写”BJ---r” MOV BUF+1,19HMOV BUF+2,17HMOV BUF+3,17HMOV BUF+4,17HMOV BUF+5,18HRETBUFS: MOV BUF,0BH ;写”BJ---S” MOV BUF+1,19HMOV BUF+2,17HMOV BUF+3,17HMOV BUF+4,17HMOV BUF+5,05HRETCODE ENDSEND START五、实验总结1、通过实验进⼀步了解8086的使⽤,学习汇编语⾔编程⽅法及调试技巧。
步进电机控制实验报告
一、 实验要求利用P0输出脉冲序列,74LS244输入开关量,开关K2-K8控制步进电机转换(分6挡),K0、K1控制步进电机转向。
必须要K2-K8中一开关和K0、K1中一开关同时为‘1’时步进电机才启动,其他情况步进电机不工作。
进电机才启动,其他情况步进电机不工作。
步进电机驱动原理是通过对它每线圈中的电流的顺序切换来使电机作步进式旋转。
驱动电路又脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。
微电脑控制步进电机最合适。
机最合适。
二、 试验目的1、 了解步进电机控制的基本原理。
了解步进电机控制的基本原理。
2、 掌握控制步进电机转动编程方法。
掌握控制步进电机转动编程方法。
三、步进电机工作原理步进电机是将给定的电脉冲信号转变为角位移或线位移的开环控制元件。
步进电机是将给定的电脉冲信号转变为角位移或线位移的开环控制元件。
给定一个电脉冲信号,步进电机转子就转过相应的角度,这个角度就称作该步进电机的步距角。
目前常用步进电机的步距角大多为1.8度(俗称一步)或0.9度(俗称半步)。
以步距角为0.9度的进步电机来说,当我们给步进电机一个电脉冲信号,步进电机就转过0.9度;给两个脉冲信号,步进电机就转过1.8度。
以此类推,连续给定脉冲信号,步进电机就可以连续运转。
由于电脉冲信号与步进电机转角存在的这种线性关系,使得步进电机在速度控制、位置控制等方面得到了广泛的应用。
控制、位置控制等方面得到了广泛的应用。
步进电机的使用至少需要三个方面的配合,一是电脉冲信号发生器,它按照给定的设置重复为步进电机输送电脉冲信号,目前这种信号大多数由可编程控制器或单片机来完成;二是驱动器(信号放大器),它除了对电脉冲信号进行放大、驱动步进电机转动以外,还可以通过它改善步进电机的使用性能,事实上它在步进电机系统中起着重要的作用,一般一种步进电机可以根据不同的工况具有多种驱动器;进电机可以根据不同的工况具有多种驱动器;三是步进电机,三是步进电机,它有多种控制原理和型号,它有多种控制原理和型号,现现在常用的有反应式、感应子式、混合式等。
微机原理实验8253和步进电机实验
6
7
8
实际应用实验 (P. 12)
实验六 步进电机控制实验
利用8255A输出脉冲序列,开关K0~K6控制步进电机 利用8255A输出脉冲序列 开关K0~K6控制步进电机 转速,K7控制步进电机转向。
实现方法 实现方法:
A. 8255A+软件延时 —— 子程序的编写 B. 8255A+8253定时 —— 综合应用
实验 ( ) 实验三(2) 8253定时 定时
输入1MHz频率脉冲,分频输出1Hz频率脉冲。
选做实验:
A. 2MHz输入脉冲产生4s定时(第八章习题3)。 B.将实验三(1)计数初值范围改为0~99。 C.将实验三(1)改为键盘输入计数初值。 C 将实验三(1)改为键盘输入计数初值 D.将实验三(1)改为七段数码管显示计数值。 E. 8个LED依次闪烁,闪烁频率0 5Hz E 8个LED依次闪烁,闪烁频率0.5Hz (第八章习题6)。
4
8253实验内容
实验三(1)的问题与讨论
屏幕显示的是当前计数值,还是输入脉冲数? 为什么题目要求计数初值范围为N<=0FH,如果超 出这个范围,处理方法上有何不同? 出这个范 处 方法上有何 设置的计数初值与计数的脉冲数有什么关系? 计数到0之后,继续输入脉冲会观察到什么现象?
大连理工微机原理实验步进电机报告
大连理工大学本科设计报告(计算机原理接口实验综合设计)题目:步进电机控制系统设计课程名称:计算机原理实验学院(系):电信学院专业:电子信息工程班级:学号:学生姓名:成绩:2015 年月日题目:步进电机控制系统设计1 设计要求利用实验台上的电位器,实现步进电机的转速、转向控制。
具体要求如下:1.利用D8255A的PA0-PA3做输出,输出步进电机的相序、驱动步进电机工作(使用四个LED监视步进电机的相序信号),相序之间的时间决定着步进电机的转速,而间隔时间由延时程序中的CX寄存器的值决定。
2.利用电位器做输入,将电位器与ADC0809的IN0口相连,通过ADC0809将读取到的电压值转化为8位二进制值,根据这个8位二进制值的不同来实现对步进电机的转速、转向控制3.利用8254做秒脉冲发生器,产生约10Hz方波信号。
其中CNT0做分频器:将1MHz信号分频为100Hz;CNT1做秒脉冲输出(10Hz);4.利用386模块的主8259的MIR5做中断请求输入,将CNT1的OUT1秒信号方波作为中断请求信号,引发中断服务ISR;5.在中断服务程序中实现对步进电机的转速、转向实时控制。
方法如下:在ISR中,读取ADC0809转换得到的8位二进制值,并根据此值做如下处理:1)当转换值为00h~7fh时,逆时针旋转,00h时转速最大;2)当转换值为81h~0ffh时,顺时针旋转,0ffh时转速最大;3)当转换值为80h时,停止旋转。
2 设计分析及系统方案设计整个设计是在使用8255输出相序控制步进电机转动的基础上,利用中断实时调整输出相序的时间间隔以及顺序,起到控制步进电机转速和转向的效果。
程序的结构类型属于循环结构。
基础程序部分:该部分是利用8255 A口循环输出8个相序,在循环体中条用子程序delay控制时间间隔,延迟量由CX值决定。
中断程序部分:先安装中断向量,由于386EXCPU的8259初始化的程序已经固化在系统的ROM BIOS中,所以只要把中断类型码35H对应的内存位置上装上中断服务程序的段地址和偏移地址。
步进电机实验微机原理
步进电机实验微机原理步进电机是一种特殊类型的电动机,可以将输入的电信号转化为机械运动。
它具有先进的控制技术和广泛的应用领域,特别是在微机控制系统中。
本文将介绍步进电机的原理和在微机控制系统中的实验。
步进电机的原理是利用电磁场的磁力作用产生力矩,从而使电机转动。
步进电机是依靠控制电机驱动器对电机的每一个步进角度进行控制,从而实现精确的定位和运动控制。
步进电机通常由一个转子和一个定子组成。
转子是由一系列的磁极组成,而定子则是由一对电磁线圈组成,称为相。
根据电磁线圈的激励方式,步进电机可以分为单相和双相两种。
通过对不同相的激励,可以实现电机转动和定位控制。
在微机控制系统中,步进电机通常与微控制器或PLC(可编程逻辑控制器)等设备相结合,通过输出脉冲信号来控制电机的运动。
为了实现步进电机的精确定位和运动控制,需要将运动要求转化为脉冲信号,并通过控制器将脉冲信号发送给电机驱动器。
电机驱动器接收到脉冲信号后,根据脉冲信号的频率和方向来控制电机转动的角度和速度。
步进电机实验可以通过搭建简单的电路和编程控制来实现。
首先,需要选购适当的步进电机、电机驱动器和微控制器等设备。
然后,将步进电机和电机驱动器连接起来,确保电路正确连接,并通过编程控制器来控制电机的运动。
在步进电机实验中,可以进行一些常见的实验项目,如定向旋转、正反转、加减速运动等。
为了能够准确控制电机的运动,需要设置合适的脉冲频率和方向。
脉冲频率决定了电机的转速,而脉冲方向决定了电机的转动方向。
通过不同的脉冲频率和方向组合,可以实现各种精确的运动控制。
除了基本的实验项目,还可以根据实际需求进行更复杂的步进电机实验。
例如,可以将步进电机与传感器相结合,实现闭环控制。
通过读取传感器的反馈信号,可以实现电机的位置闭环控制,从而实现更高精度的运动控制。
此外,还可以通过与其他设备的联动控制,实现更复杂的自动化系统。
步进电机实验微机原理实验旨在通过搭建实际电路和编程控制来了解步进电机的工作原理和应用。
微机步进电机实验报告
微机步进电机实验报告微机步进电机实验报告引言:微机步进电机是一种常见的电动机,其特点是精准的定位和控制能力。
本实验旨在通过对微机步进电机的实际操作和观察,了解其工作原理和应用。
一、实验目的本实验的主要目的是:1. 了解微机步进电机的基本工作原理;2. 学习使用微机控制器对步进电机进行控制;3. 掌握步进电机的定位和旋转控制技术。
二、实验器材和原理1. 实验器材:- 微机步进电机;- 微机控制器;- 电源;- 连接线。
2. 实验原理:微机步进电机是一种定位精度高、控制简单的电动机。
它通过控制电流的方式,使电机按一定步进角度旋转。
步进电机的转子由若干个磁极组成,通过逐个激励磁极,可以实现转子的精确定位和旋转。
三、实验步骤1. 连接电路:将微机步进电机与微机控制器连接,并接通电源。
2. 编写控制程序:使用编程软件编写控制程序,设定步进电机的旋转角度和速度。
3. 运行程序:将编写好的程序下载到微机控制器中,并运行程序,观察步进电机的运动。
四、实验结果与分析在实验中,我们成功地控制了微机步进电机的旋转。
通过调整程序中的参数,我们可以控制步进电机的旋转角度和速度。
实验结果表明,微机步进电机具有较高的定位精度和控制能力。
五、实验总结通过本次实验,我们深入了解了微机步进电机的工作原理和控制技术。
步进电机作为一种常见的电动机,广泛应用于各种自动化设备中。
掌握步进电机的原理和控制方法,对于我们今后的工程实践具有重要意义。
六、实验心得本次实验让我对微机步进电机有了更深入的认识。
通过亲自操作和观察,我对步进电机的工作原理和控制方法有了更直观的理解。
同时,实验过程中也遇到了一些问题,但通过自己的努力和与同学的讨论,最终取得了良好的实验结果。
七、改进方向在今后的实验中,我们可以进一步探索微机步进电机的应用领域,尝试更复杂的控制方法和算法,提高步进电机的运动精度和效率。
同时,我们也应加强对电机控制技术的学习,为今后的工程实践做好准备。
微机原理接口技术综合实验 步进电机
INT 21HANY KEY PRESSED
POPDX *****控制信息出栈****
JE IN1***判断开关K0~K7是否被按下,是则跳转**
MOV AH,4CH
INT 21H***返回DOS****
IN1:MOV DX,P55a
IN AL,DX****从端口A读输入值****
JMP SAM
K6:MOV BL,0FFH
JMP SAM
第二部分:
DELAY PROC NEAR
DELAY1: MOV CX,0FFFFH;05A4H
DELAY2: LOOP DELAY2
DEC BL
JNZ DELAY1
RET
DELAY ENDP
代码解释:对应于按键K0~K6寄存器BL都有不同的值。根据BX值的不同通过指令DEC BX和指令JNZ DELAY1可以得到不同长度的延时,由不同长度的延时可以得到不同频率的输入脉冲,从而可以控制电机的转速。
实验说明
1、按图1连接线路,利用8255输出脉冲序列,开关K0~K6控制步进电机转速,K7控制步进电机转向。8255 CS接288H~28FH。PA0~PA3接BA~BD;PC0~PC7接K0~K7。
2、编程:
当K0~K6中某一开关为“1”(向上拨)时步进电机启动。K7向上打电机正转,向下打电机反转。
JNZ K6
STOP:MOV DX,P55c****程序第一次执行结束****
MOV AL,0FFH
JMP OUT1*****循环跳转*****
K0:MOV BL,10H
SAM:TEST AL,80H
JZ ZX0****检测K7是否被按下,否跳转到ZXO**
JMP NX0*****K7=1被按下跳转到NXO*****
微机实验报告 步进电机正反转及调速设计
微机原理与接口设计实验报告步进电机正反转及调速设计专业:机械设计制造及其自动化班级:10090112小组成员:周先军 10901239张赓 10901240胡一国 08901312组别: B5摘要:本系统是基于STM8系列单片机的步进电机转速转向控制器。
该系统采用STM8S103F3P6单片机作为主控制器,运用L298全桥驱动器驱动步进电机,通过摇杆、按键控制电机转速,并且通过1602液晶显示器显示当前转速。
该系统中使用的四相步进电机,具有控制精度高,转动扭矩大等特点,实际生产中有广泛的运用。
系统中除了传统按键控制外,还增加遥控控制,单片机通过AD读取摇杆控制信号,实时控制电机转速。
整个系统具有结构简单、可靠性高、成本低和实用性强等特点,具有较高的通用性和应用推广价值。
关键词:四相步进电机 STM8单片机控制 L298驱动电路正反转摇杆控制一、系统方案1.1控制系统方案方案一:采用8086系列单片机。
8086是Inter系列的16位微处理器,数据处理能力强。
但是8086系列的CPU指令数据需要放置在内存中,需要依赖外部非易失存储器和RAM才可以工作,外部电路复杂。
方案二:采用STM8系列单片机。
STM8是意法半导体生产的8位单片机,哈弗结构。
拥有8K字节Flash,1K字节RAM,1K EEPROM,内部集成5路10位ADC,高级控制定时器可带死区控制PWM 、以及SPI 、I2C等接口。
整体性能优越,价格便宜,周边电路简单。
综上对比,选择方案二。
1.2驱动电路方案方案一:采用ULN2003达林顿管阵列控制电机。
ULN2003 是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成,工作电压高,工作电流大,灌电流可达500mA。
但系统采用通用四线四相步进电机,需要两路同时灌、输电流,该驱动设计只能满足5线步进电机的驱动,不符合要求。
方案二;采用L298集成全桥驱动芯片。
L298内部含有4通道逻辑驱动电路,是一种二相和四相电机专业驱动器,内含有两个H桥的高电压大电流双全桥式驱动器,接受标准的TTL逻辑电平信号,可驱动46V、2A以下的电机。
【实验】步进电机实验报告
【关键字】实验论文题目:步进电机的控制课程名称:计算机控制技术学院信息工程学院专业班级应用电子技术(2)班学号08姓名卢广彬任课教师黄国宏6 日实验名称:步进电机的控制实验目的:1、复习步进电机的工作原理,进一步加强对步进电机的应用方面的学习;2、了解芯片ULN2003A的工作原理,并利用单片机或者微机等对芯片加予控制;3、学会灵活编写单片机的控制及应用程序,进一步熟悉单片机的工作方式;4、学会用单片机及一外围设备组建具有独特功能的自动控制系统。
实验原理:ULN是一个具有16个引脚驱动芯片,其作用是将输入的较小电流放大,以便可以驱动一般的I/O无法驱动的较大功率的外围设备。
下面将叙述ULN的内部结构、芯片引脚功能、与单片机的连接方法及简单的应用。
一、ULN2003管脚排列如下图所示:ULN2003的内部结构和功能ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。
它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。
ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。
用户输出口的外接负载可根据以上参数估算。
采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动高压灯泡。
通常单片机驱动ULN时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。
ULN是一个非门电路,包含7个单元,但独每个单元驱动电流最大可达350mA.资料的最后有引用电路,9脚可以悬空。
比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。
ULN的作用:ULN是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。
可直接驱动继电器等负载。
输入5VTTL电平,输出可达500mA/50V。
计算机控制系统步进电机实验报告 曹健
步进控制实验报告姓名:曹健学号:200707201133专业班级:B07072011其他组员:林杉、卢维指导老师:章红2010年7月5日目录第一章步进电机工作原理简介1.1、步进电机工作原理简介1.2、四相步进电机的工作原理简介第二章步进电机系统具体设计过程与实现2.1系统设计2.1.1步进电机运动规律及速度控制方法2.1.2步进电机的速度特性2.1.3 步进电机控制系统结构2.1.4 步进电机起动及加/减速控制方案2.1.5 步进电机的换向2.1.6定时器初值的确定2.1.7步进电机升降速数学模型2.2完成方式2.3实验过程第三章课程设计体会第四章参考资料第一章步进电机工作原理简介1.1、步进电机工作原理简介:步进电机是一种能将电脉冲信号转换成机械角位移或线位移的执行元件,它实际上是一种单相或多相同步电机。
电脉冲信号通过环形脉冲分配器,励磁绕组按照顺序轮流接通直流电源。
由于励磁绕组在空间中按一定的规律排列,轮流和直流电源接通后,就会在空间形成一种阶跃变化的旋转磁场,使转子转过一定角度(称为步距角),在正常运行情况下,电机转过的总角度与输入的脉冲数成正比;电机的转速与输入脉冲频率保持严格的对应关系, 步进电机的旋转同时与相数、分配数、转子齿轮数有关;电机的运动方向由脉冲相序控制。
因为步进电机不需要A/D 转换,能够直接将数字脉冲信号转化成为角位移,所以被认为是理想的数控执行元件。
广泛应用于数控机床、打印绘图仪等数控设备中。
1.2、四相步进电机的工作原理简介:该步进电机为一四相步进电机,采用单极性直流电源供电。
只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。
图1是该四相反应式步进电机工作原理示意图。
图1 四相步进电机步进示意图开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微型计算机原理综合实验装题目:步进电机控制订线学院电子信息工程学院学科门类工学专业通信工程学号**********姓名孙姣指导教师侯顺艳2015年1 月7日目录一、实验目的………………………………………………..二、设计要求……………………………………………….三、设计原理……………………………………………….四、程序流程图……………………………………………五、程序源代码……………………………………………六、总结与体会……………………………………………. 参考文献…………………………………………………….一、实验目的1.1掌握微机原理程序设计方法,达到运用所学知识来应用于实践的目的;1.2培养学生查阅资料、使用工程设计标准、手册及编写设计技术的能力;1.3培养初步掌握设计开发产品的能力,了解微机控制系统的一般设计方法。
1.4掌握汇编语言在硬件编程方面的应用二、设计要求2.1外设电路要求设计电路,使其能够驱动步进电机转动,所需元件及器材由实验室提供,其中步进电机为35BYJ46型四相八拍电机,电压为DC12V,电源取自实验箱。
根据相应状态,利用数码管完成输出显示。
数据的输入采用键盘、输出采用实验箱上8255单元完成。
2.2程序要求编写程序,控制步进电机的运转,要求可调整步进电机运转的方向和速度。
选择合适的设计方案,并进行理论阐述。
编制相应的控制程序,要求有程序流程图,程序加注释。
绘制实现电路原理图,所有图纸均用计算机绘制。
三、设计原理3.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所示:a. 单4拍b. 双4拍c. 八拍图2 步进电机工作时序波形图35BYJ46步进电机为四相八拍,其相序表如下:步序 PA3 PA2 PA1 PA0 对应A口输出值1 0 0 0 1 01H2 0 0 1 1 03H3 0 0 1 0 02H4 0 1 1 0 06H5 0 1 0 0 04H6 1 1 0 0 0CH7 1 0 0 0 08H8 1 0 0 1 09H步进电机的工作方式:35BYJ46 有四相ABCD,如果对各个相依次单独通电,"A-B-C- D",磁场旋转一周需要换相四次,则称为四相单四拍;如果每次对两相同时通电,"AB- BC- CD- DA",则称为四相双四拍;也可以每次对三相同时通电,"ABC- BCD- CDA- DAB";将单四拍和双四拍交替使用,就称为四相八拍,如:"A- AB- B- BC- C- CD- D-DA"、"AB- ABC- BC- BCD- CD- CDA- DA- DAB",此时磁场旋转一周需要换相八次。
双四拍每次对多相同时通电,与单四拍比较起来,每相通电的时间长,消耗的电功率增大,电机所得到的电磁转矩也大。
同时,采用多相励磁会产生电磁阻尼,会削弱或消除振荡现象,使得电机不易产生失步。
四相八拍与四相四拍相比较,步距角减小了一倍,有利于削弱振荡,提高电机的带负载能力。
一般说来,步进电机控制系统需要以下部分,如图1 所示。
其中的脉冲发生器用于产生频率变化的脉冲信号; 脉冲分配器根据方向控制信号将脉冲信号转换成有一定逻辑关系的环形脉_冲;功率放大器将脉冲分配器输出的环形脉冲放大,用于控制步进电机的运转,这些部分都可以由专门的电路来实现。
二、步进电机的驱动步进电机的驱动方式很多,有单电压驱动、双电压驱动、斩波驱动、细分驱动和集成电路驱动。
由于集成电路集驱动和保护于一体,作为小功率步进电动机的专用驱动芯片,使用起来非常方便。
在实际应用中, 我们可以选择L298N 集成电路芯片作为35BYJ46 的驱动芯片。
但本次实验我们采用的是自行设计的驱动电路。
3.2编写步进电机汇编程序1、通过实验了解8255工作在方式0下的编程方法8255可编程并行接口芯片介绍8255可编程外围接口芯片是Intel公司生产的通用并行I/0接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0—基本输入/出方式;方式1—选通输入/出方式;方式2—双向选通工作方式四、程序流程图本程序用8255的a口输出控制信息,经驱动电路实现对步进电机的速度和方向的控制。
程序中8255的地址段设置为200h~207h,控制键为0~9,正转速度分三档,分别由123控制;3为最高速度,反转速度分三档,分别由456控制,6为最高速度;78键为速度微调,分别在各档位速度的基础上小幅度调节速度的大小;0为停止键;9为退出键。
程序设计上用按键控制输出的延迟时间的大小来达到控制转速的目的。
程序流程图如下:五、实验程序ASTEP EQU 01H BSTEP EQU 02H CSTEP EQU 04H dstep EQU 08H CODE SEGMENT ORG 1000HASSUME CS:CODESTART :MOV DX,0FFDBH ;8255控制口地址MOV AL, 82H ;PA口输出,pB口输入OUT DX, AL ;写控制字K1:MOV DX, 0FFD8H ;PA口地址MOV AL,0 ;输出低电平OUT DX,AL ;电机停止转动MOV DX,0FFD9H ;PB口地址IN AL,DX ;读开关状态TEST AL,01H ;PB0位(K1=0吗?)JNZ K2 ;不是零转K2JMP ZHENGFAST ;是零转ZHENGFASTK2: MOV DX, 0FFD8H ;PA口地址MOV AL,0 ;输出低电平OUT DX,AL ;电机停止转动MOV DX,0FFD9HIN AL,DX ;读开关状态TEST AL,02H ;PB1位(K2=0吗?)JNZ K3 ;不是零转K3JMP FANFAST ;是零FANFASTK3: MOV DX, 0FFD8H ;PA口地址MOV AL,0 ;输出低电平OUT DX,AL ;电机停止转动MOV DX,0FFD9HIN AL,DX ;读开关状态TEST AL,08H ;PB2位(K3=0吗?)JNZ K4 ;不是零转K4JMP FANLOW ;是零转FANLOWK4: MOV DX, 0FFD8H ;PA口地址MOV AL,0 ;输出低电平OUT DX,AL ;电机停止转动MOV DX,0FFD9HIN AL,DX ;读开关状态TEST AL,04H ;PB2位(K3=0吗?) JNZ K1 ;是零转ZHENGKUAIJMP ZHENGLOWZHENGFAST:MOV BX,500H;设置初始延时时间 MOV DX, 0FFD8H;PA口地址MOV AL,CSTEPOUT DX,ALCALL DELAYMOV AL,CSTEP+DSTEPOUT DX,ALCALL DELAYMOV AL,BSTEPOUT DX,ALCALL DELAYMOV AL,BSTEP+CSTEPOUT DX,ALCALL DELAYMOV AL,DSTEPOUT DX,ALCALL DELAYMOV AL,ASTEP+BSTEPOUT DX,ALCALL DELAYMOV AL,ASTEPOUT DX,ALCALL DELAYMOV AL,DSTEP+ASTEPOUT DX,ALCALL DELAYJMP K1ZHENGLOW:MOV BX,1000H;设置延时时间MOV DX, 0FFD8H;PA口地址MOV AL,ASTEP+BSTEP;PA0PA1(AB相)输出高电平 OUT DX,ALCALL DELAY ;调延时MOV AL,ASTEP+DSTEP ;BC输出高电平OUT DX,ALCALL DELAY ;调延时MOV AL,CSTEP+DSTEP;CD输出高电平OUT DX,ALCALL DELAY ;调延时MOV AL,BSTEP+CSTEP;DA输出高电平OUT DX,ALCALL DELAY ;调延时JMP K1FANFAST:MOV BX,500H;设置延时时间MOV DX, 0FFD8H;PA口地址MOV AL,ASTEP+BSTEP;PA0PA1(AB相)输出高电平 OUT DX,ALCALL DELAY ;调延时MOV AL,BSTEP+CSTEP ;BC输出高电平OUT DX,ALCALL DELAY ;调延时MOV AL,DSTEP+CSTEP;DA输出高电平OUT DX,ALCALL DELAYMOV AL,ASTEP+DSTEP;CD输出高电平OUT DX,ALCALL DELAY ;调延时JMP K1FANLOW:MOV BX,1000H;设置延时时间MOV DX, 0FFD8H;PA口地址MOV AL,ASTEP+BSTEP;PA0PA1(AB相)输出高电平OUT DX,ALCALL DELAY ;调延时MOV AL,BSTEP+CSTEP ;BC输出高电平OUT DX,ALCALL DELAY ;调延时MOV AL,CSTEP+DSTEP;CD输出高电平OUT DX,ALCALL DELAY ;调延时MOV AL,DSTEP+ASTEP;DA输出高电平OUT DX,ALCALL DELAY ;调延时JMP K1DELAY PROC NEAR ;延时子程序PUSH CXMOV CX,BXDELAY1:NOPLOOP DELAY1POP CXRETDELAY ENDP ; 延时子程序结束CODE ENDS ;代码段结束END START六、总结与体会本次试验不仅实现了步机的转动,还可以通过控制开关实现步机顺时针旋转、逆时针旋转、加快速度的转动和减慢的转动,通过本次程序设计加深了8255的工作原理,对课本知识有了进一步的了解与认知,通过这次试验收获很大。