步进电机的控制实验报告
步进电机实验报告册(3篇)

第1篇一、实验目的1. 熟悉步进电机的工作原理和特性。
2. 掌握步进电机的驱动方式及其控制方法。
3. 学会使用常用实验设备进行步进电机的调试和测试。
4. 了解步进电机在不同应用场景下的性能表现。
二、实验设备1. 步进电机:选型为双极性四线步进电机,型号为NEMA 17。
2. 驱动器:选型为A4988步进电机驱动器。
3. 控制器:选型为Arduino Uno开发板。
4. 电源:选型为12V 5A直流电源。
5. 连接线、连接器、电阻等实验配件。
三、实验原理步进电机是一种将电脉冲信号转换为角位移或线位移的电机。
它具有以下特点:1. 转动精度高,步距角可调。
2. 响应速度快,控制精度高。
3. 结构简单,易于安装和维护。
4. 工作可靠,寿命长。
步进电机的工作原理是:通过控制驱动器输出脉冲信号,使步进电机内部的线圈依次通电,从而产生步进运动。
四、实验步骤1. 搭建实验电路(1)将步进电机连接到驱动器上,确保电机线序正确。
(2)将驱动器连接到Arduino Uno开发板上,使用连接线连接相应的引脚。
(3)连接电源,确保电源电压与驱动器要求的电压一致。
2. 编写控制程序(1)使用Arduino IDE编写程序,实现步进电机的正转、反转、调速等功能。
(2)通过串口监视器观察程序运行情况,调试程序。
3. 调试步进电机(1)测试步进电机的正转、反转功能,确保电机转动方向正确。
(2)调整步进电机的转速,观察电机运行状态,确保转速可调。
(3)测试步进电机的步距角,确保步进精度。
4. 实验数据分析(1)记录步进电机的正转、反转、调速等性能参数。
(2)分析步进电机的运行状态,评估其性能。
五、实验结果与分析1. 正转、反转测试步进电机正转、反转功能正常,转动方向正确。
2. 调速测试步进电机转速可调,调节范围在1-1000步/秒之间。
3. 步距角测试步进电机的步距角为1.8度,与理论值相符。
4. 实验数据分析步进电机的性能指标符合预期,可满足实验要求。
单片机步进电机控制实验报告

单片机步进电机控制实验报告单片机步进电机控制实验报告引言:步进电机是一种常用的电动机,具有结构简单、体积小、转速稳定等优点,广泛应用于工业自动化、机械设备等领域。
本实验旨在通过单片机控制步进电机,实现电机的正转、反转、加速、减速等功能。
通过实验,深入了解步进电机的工作原理和控制方法,提高对单片机的编程能力。
一、实验目的本实验的主要目的是掌握步进电机的工作原理,了解单片机控制步进电机的方法和步骤,并通过实验验证控制效果。
二、实验器材1. 步进电机:XX型号,XXV,XXA2. 单片机开发板:XX型号3. 驱动电路:包括电源、驱动芯片等三、实验原理步进电机是一种特殊的电动机,其转子通过电磁螺线管的工作原理实现转动。
步进电机的转子分为若干个极对,每个极对上都有一个螺线管,通过对这些螺线管施加电流,可以使转子转动。
单片机通过控制螺线管的电流,实现步进电机的控制。
四、实验步骤1. 连接电路:根据实验器材提供的电路图,将步进电机与单片机开发板相连接。
2. 编写程序:使用C语言编写单片机控制步进电机的程序。
程序中需要包括电机正转、反转、加速、减速等功能的实现。
3. 上传程序:将编写好的程序通过编程器上传到单片机开发板上。
4. 实验验证:通过按下开发板上的按键,观察步进电机的运动情况,验证程序的正确性。
五、实验结果与分析经过实验验证,编写的程序能够准确控制步进电机的运动。
按下不同的按键,电机可以实现正转、反转、加速、减速等功能。
通过调整程序中的参数,可以实现不同速度的控制效果。
实验结果表明,单片机控制步进电机具有较高的精确性和可靠性。
六、实验总结通过本次实验,我深入了解了步进电机的工作原理和控制方法,掌握了单片机控制步进电机的编程技巧。
实验中遇到了一些问题,如电路连接不正确、程序逻辑错误等,但通过仔细分析和排除,最终解决了这些问题。
通过实验,我不仅提高了对步进电机的理论认识,还锻炼了自己的动手实践能力和问题解决能力。
步进电控制实验报告

一、实验目的1. 理解步进电机的工作原理及其应用领域。
2. 掌握单片机控制步进电机的技术方法。
3. 熟悉步进电机的驱动电路设计。
4. 通过实验验证步进电机控制系统的性能。
二、实验原理步进电机是一种将电脉冲信号转换为角位移的电机,具有精度高、响应快、控制简单等优点。
其工作原理是:当输入一定频率的脉冲信号时,步进电机按照一定的步距角转动。
步进电机的步距角与线圈匝数、绕组方式有关。
本实验采用单片机控制步进电机,通过编写程序实现步进电机的正转、反转、停止、转速调节等功能。
三、实验设备1. 单片机实验平台:包括51单片机、电源、按键、数码管等。
2. 步进电机驱动模块:用于驱动步进电机,包括驱动电路和步进电机本体。
3. 实验指导书。
四、实验步骤1. 搭建实验电路(1)连接单片机实验平台,包括电源、按键、数码管等。
(2)连接步进电机驱动模块,包括电源、控制线、步进电机本体等。
(3)检查电路连接是否正确,确保无误。
2. 编写控制程序(1)初始化单片机相关端口,包括P1口、定时器等。
(2)编写步进电机控制函数,包括正转、反转、停止、转速调节等功能。
(3)编写主函数,根据按键输入实现步进电机的控制。
3. 下载程序(1)将编写好的程序下载到单片机实验平台。
(2)检查程序是否下载成功。
4. 测试实验(1)观察数码管显示的转速挡次和转动方向。
(2)通过按键控制步进电机的正转、反转、停止和转速调节。
(3)观察步进电机的转动情况,验证控制程序的正确性。
五、实验结果与分析1. 实验结果(1)通过按键控制步进电机的正转、反转、停止和转速调节。
(2)数码管显示转速挡次和转动方向。
(3)步进电机按照设定的方向和转速转动。
2. 实验分析(1)通过实验验证了单片机控制步进电机的可行性。
(2)实验结果表明,控制程序能够实现步进电机的正转、反转、停止和转速调节等功能。
(3)实验过程中,需要对步进电机驱动模块进行合理设计,以确保步进电机的稳定运行。
步进电机控制实训报告

一、实训背景随着科技的飞速发展,步进电机在工业自动化、精密定位、医疗设备等领域得到了广泛的应用。
为了深入了解步进电机的原理和应用,提高自身的动手实践能力,我们进行了步进电机控制实训。
二、实训目标1. 理解步进电机的原理和工作方式。
2. 掌握步进电机的驱动方法和控制方法。
3. 学会使用单片机对步进电机进行编程和控制。
4. 提高团队协作能力和问题解决能力。
三、实训内容1. 步进电机原理步进电机是一种将电脉冲信号转换为角位移或线位移的执行元件。
其特点是响应速度快、定位精度高、控制简单。
步进电机每输入一个脉冲信号,就转动一个固定的角度,称为步距角。
步距角的大小取决于电机的结构,常见的步距角有1.8度、0.9度等。
2. 步进电机驱动步进电机的驱动通常采用步进电机驱动器。
驱动器将单片机输出的脉冲信号转换为驱动步进电机的电流信号,实现对步进电机的控制。
常见的驱动器有L298、A4988等。
3. 单片机控制本实训采用AT89C51单片机作为控制核心。
通过编写程序,控制单片机输出脉冲信号,实现对步进电机的正转、反转、停止、速度等控制。
4. 实训步骤(1)搭建步进电机驱动电路,连接单片机、步进电机、按键等外围设备。
(2)编写程序,实现以下功能:- 正转、反转控制;- 速度控制;- 停止控制;- 按键控制。
(3)使用Proteus仿真软件进行程序调试,验证程序的正确性。
(4)将程序烧录到单片机中,进行实际硬件测试。
四、实训结果与分析1. 正转、反转控制通过编写程序,实现了对步进电机的正转和反转控制。
在Proteus仿真软件中,可以观察到步进电机按照设定的方向转动。
2. 速度控制通过调整脉冲信号的频率,实现了对步进电机转速的控制。
在Proteus仿真软件中,可以观察到步进电机的转速随脉冲频率的变化而变化。
3. 停止控制通过编写程序,实现了对步进电机的停止控制。
在Proteus仿真软件中,可以观察到步进电机在停止信号后立即停止转动。
步进电机控制实验报告

步进电机控制实验报告开课学院及实验室:学院年级、专业、班姓名学号实验课程名称计算机控制技术成绩实验项目名称步进电机控制实验指导老师一、实验目的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。
步进电机控制实验报告

步进电机控制实验报告一、实验要求利用P0输出脉冲序列,74LS244输入开关量,开关K2-K8控制步进电机转换(分6挡),K0、K1控制步进电机转向。
必须要K2-K8中一开关和K0、K1中一开关同时为‘1’时步进电机才启动,其他情况步进电机不工作。
步进电机驱动原理是通过对它每线圈中的电流的顺序切换来使电机作步进式旋转。
驱动电路又脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。
微电脑控制步进电机最合适。
二、试验目的1、了解步进电机控制的基本原理。
2、掌握控制步进电机转动编程方法。
三、步进电机工作原理步进电机是将给定的电脉冲信号转变为角位移或线位移的开环控制元件。
给定一个电脉冲信号,步进电机转子就转过相应的角度,这个角度就称作该步进电机的步距角。
目前常用步进电机的步距角大多为1.8度(俗称一步)或0.9度(俗称半步)。
以步距角为0.9度的进步电机来说,当我们给步进电机一个电脉冲信号,步进电机就转过0.9度;给两个脉冲信号,步进电机就转过1.8度。
以此类推,连续给定脉冲信号,步进电机就可以连续运转。
由于电脉冲信号与步进电机转角存在的这种线性关系,使得步进电机在速度控制、位置控制等方面得到了广泛的应用。
步进电机的使用至少需要三个方面的配合,一是电脉冲信号发生器,它按照给定的设置重复为步进电机输送电脉冲信号,目前这种信号大多数由可编程控制器或单片机来完成;二是驱动器(信号放大器),它除了对电脉冲信号进行放大、驱动步进电机转动以外,还可以通过它改善步进电机的使用性能,事实上它在步进电机系统中起着重要的作用,一般一种步进电机可以根据不同的工况具有多种驱动器;三是步进电机,它有多种控制原理和型号,现在常用的有反应式、感应子式、混合式等。
步进电机的速度控制是通过输入的脉冲频率快慢实现的。
当发生脉冲的频率减小时,步进电机的速度就下降;当频率增加时,速度就加快。
还可以通过频率的改变而提高步进电机的速度或位置精度。
控制步进电机实验报告(3篇)

第1篇一、实验目的1. 理解步进电机的工作原理及控制方法。
2. 掌握单片机与步进电机驱动模块的接口连接方法。
3. 学习使用C语言编写程序,实现对步进电机的正反转、转速和定位控制。
4. 通过实验,加深对单片机控制系统的理解。
二、实验原理步进电机是一种将电脉冲信号转换为角位移或线位移的电机,其特点是控制精度高、响应速度快、定位准确。
步进电机控制实验主要涉及以下几个方面:1. 步进电机驱动模块:常用的驱动模块有ULN2003、A4988等,它们可以将单片机的数字信号转换为步进电机的控制信号。
2. 单片机:单片机是整个控制系统的核心,负责接收按键输入、处理数据、控制步进电机驱动模块等。
3. 步进电机:步进电机分为单相、双相和三相等类型,本实验使用的是双相四线步进电机。
三、实验设备1. 单片机开发板:例如STC89C52、STM32等。
2. 步进电机驱动模块:例如ULN2003、A4988等。
3. 双相四线步进电机。
4. 按键。
5. 数码管。
6. 电阻、电容等元件。
7. 电源。
四、实验步骤1. 硬件连接(1)将步进电机驱动模块的输入端(IN1、IN2、IN3、IN4)分别连接到单片机的P1.0、P1.1、P1.2、P1.3口。
(2)将按键的输入端连接到单片机的P3.0口。
(3)将数码管的段选端连接到单片机的P2口。
(4)将步进电机驱动模块的电源端连接到电源。
(5)将步进电机连接到驱动模块的输出端。
2. 编写程序(1)初始化单片机I/O端口,设置P1口为输出端口,P3.0口为输入端口,P2口为输出端口。
(2)编写按键扫描函数,用于读取按键状态。
(3)编写步进电机控制函数,实现正反转、转速和定位控制。
(4)编写主函数,实现以下功能:a. 初始化数码管显示;b. 读取按键状态;c. 根据按键状态调用步进电机控制函数;d. 更新数码管显示。
3. 调试程序(1)将程序烧写到单片机中;(2)打开电源,观察数码管显示和步进电机运行状态;(3)根据需要调整程序,实现不同的控制效果。
步电机控制实验报告

一、实验目的1. 理解步进电机的工作原理和特性;2. 掌握步进电机的驱动电路设计;3. 学会使用步进电机驱动器;4. 实现步进电机的正反转、转速调节及位置控制。
二、实验器材1. 步进电机:NEMA 17 42BYG250-20042. 步进电机驱动器:A4988步进电机驱动模块3. 电源:12V 2A4. 连接导线5. 实验平台:Arduino Uno6. 实验软件:Arduino IDE三、实验原理步进电机是一种将电脉冲信号转换为角位移的电机,具有响应速度快、定位精度高、控制简单等优点。
步进电机的工作原理是:当输入一个电脉冲时,步进电机内部的转子就旋转一个固定的角度,这个角度称为步距角。
步进电机的步距角取决于其结构,常见的步距角有1.8°、0.9°等。
步进电机的驱动电路主要由电源、驱动模块和步进电机组成。
驱动模块负责将输入的脉冲信号转换为步进电机所需的电流,从而实现电机的转动。
四、实验步骤1. 步进电机驱动电路搭建(1)将步进电机驱动模块的VCC、GND、ENA、IN1、IN2、IN3、IN4分别连接到电源的12V、GND、GND、Arduino Uno的数字引脚2、3、4、5;(2)将步进电机的A、B、C、D分别连接到驱动模块的A、B、C、D;(3)连接电源和步进电机。
2. 步进电机控制程序编写(1)在Arduino IDE中创建一个新的项目,命名为“StepMotorControl”;(2)编写如下代码:```cpp#include <Stepper.h>const int stepsPerRevolution = 200; // 步进电机每转一周的步数Stepper myStepper(stepsPerRevolution, 2, 3, 4, 5);void setup() {myStepper.setSpeed(60); // 设置步进电机的转速,单位为步/秒}void loop() {myStepper.step(stepsPerRevolution); // 正转一周delay(1000);myStepper.step(-stepsPerRevolution); // 反转一周delay(1000);}```(3)将编写好的代码上传到Arduino Uno。
实验5 步进电机控制实验

实验五、步进电机控制实验5.1实验目的1.学习步进电机的控制方法。
2.学会用8255控制步进电机。
5.2实验内容1.学习步进电机的控制方法,编写程序,利用8255的B口来控制步进电机的运动。
2.计算步进电机的步距角、齿距角。
5.3 实验原理使用开环控制方式能对步进电机的转动方向、速度、角度进行调节。
所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动一次。
实验平台可连接的步进电机为四相八拍电机,电压为DC12V,其励磁线圈及其励磁顺序如图4-l-1及表4-1-l 所示。
实验中PB端口各线的电平在各步中的情况如表4-1-2所示。
实验电路如图4-1-2 所示。
5.4 实验步骤及说明Data segmentTTABLE DB 01H,03H,02H,06H,04H,0CH,08H,09H;Data endsMOV DX,MY8255_MODE ;定义8255工作方式MOV AL,80H ;工作方式0,B口为输出OUT DX,ALMOV BX,OFFSET TTABLEMOV CX,0008H MOV AL,[BX]MOV DX,MY8255_BOUT DX,ALCALL DALLY在返回DOS之前,给B口清零MOV AL,0MOV DX,MY8255_BOUT DX,ALDALLY PROC NEAR ;软件延时子程序PUSH CXPUSH AXMOV CX,0FFFHD1: MOV AX,5000HD2: DEC AXJNZ D2LOOP D1POP AX POP CXRET DALLY ENDP;***************根据CHECK 配置信息修改下列符 号值******************* IOY0 EQU 9C00H ;片选IOY0对应的端口始地址 ;***************************************************************** MY8255_A EQU IOY0+00H*4 ;8255的A 口地址 MY8255_B EQU IOY0+01H*4 ;8255的B 口地址 MY8255_C EQU IOY0+02H*4 ;8255的C 口地址 MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址 STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT TTABLE DB 01H,03H,02H,06H,04H,0CH,08H,09H DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AXMAIN: MOV DX,MY8255_MODE ;定义8255工作方式MOV AL,80H ;工作方式0,A 口和B 口为输出OUT DX,ALA1: MOV BX,OFFSET TTABLEMOV CX,0008H A2: MOV AL,[BX]MOV DX,MY8255_B OUT DX,ALCALL DALLYINC BX LOOP A2MOV AH,1 ;判断是否有按键按下INT 16HJZ A1 ;无按键则跳回继续循环,有则退出 QUIT: MOV AL,0MOV DX,MY8255_B OUT DX,AL MOV AX,4C00H ;返回到DOS INT 21H DALLY PROC NEAR ;软件延时子程序 PUSH CX PUSH AX MOV CX,0FFFH D1: MOV AX,5000H D2: DEC AX JNZ D2 LOOP D1 POP AX POP CX RET DALLY ENDP CODE ENDS END START。
步进电机控制实验报告

步进电机控制实验报告步进电机控制实验报告引言步进电机是一种常见的电机类型,具有精准的位置控制和可靠的运动控制能力。
在本次实验中,我们将学习如何使用Arduino控制步进电机,并通过实际操作来验证控制的可行性和有效性。
一、实验目的本次实验的主要目的是掌握步进电机的控制原理和方法,了解步进电机的特点以及其在实际应用中的作用。
通过实验,我们将学习如何使用Arduino来控制步进电机的旋转方向和步进角度,并能够实现精确的位置控制。
二、实验器材1. Arduino开发板2. 步进电机3. 驱动模块4. 连接线三、实验步骤1. 连接步进电机和驱动模块:将步进电机的相线连接到驱动模块的对应接口上,并将驱动模块与Arduino开发板连接。
2. 编写控制程序:在Arduino开发环境中,编写控制步进电机的程序。
首先,定义步进电机的旋转方向和步进角度,然后利用Arduino的输出引脚控制驱动模块,从而控制步进电机的旋转。
3. 上传程序并测试:将编写好的程序上传到Arduino开发板上,并将步进电机连接到电源。
通过控制程序中的参数,观察步进电机的旋转方向和步进角度,验证控制的准确性和可行性。
四、实验结果与分析经过实验,我们成功地控制了步进电机的旋转方向和步进角度。
通过改变控制程序中的参数,我们可以实现步进电机的正转、反转和停止等操作。
实验结果表明,步进电机的控制精度较高,可以实现精确的位置控制。
五、实验总结通过本次实验,我们深入了解了步进电机的控制原理和方法,并通过实际操作验证了控制的可行性和有效性。
步进电机作为一种常见的电机类型,在工业自动化和机器人领域有着广泛的应用。
掌握步进电机的控制技术,对于我们今后的学习和工作具有重要的意义。
六、实验心得本次实验让我对步进电机的控制有了更深入的了解。
通过编写控制程序,我学会了如何利用Arduino来控制步进电机的旋转方向和步进角度。
实验过程中,我遇到了一些问题,例如如何正确连接步进电机和驱动模块,以及如何调试控制程序等。
步进电机实验报告

一、实验目的1. 了解步进电机的工作原理和特性;2. 掌握步进电机的驱动方式和控制方法;3. 熟悉步进电机在不同控制方式下的运行特点;4. 提高电子电路设计、调试和故障排除能力。
二、实验原理步进电机是一种将电脉冲信号转换为角位移的执行元件,其特点是步进角小、定位精度高、响应速度快。
步进电机主要由转子、定子和控制电路组成。
1. 转子:由永磁材料制成,具有多个均匀分布的齿;2. 定子:由铁芯和线圈组成,线圈分为若干相,每相对应一组线圈;3. 控制电路:产生脉冲信号,驱动步进电机转动。
步进电机的驱动方式主要有两种:直流驱动和交流驱动。
本实验采用直流驱动方式,通过控制线圈电流的通断,使步进电机产生旋转。
三、实验仪器与设备1. 步进电机实验装置一套;2. 电源一台;3. 信号发生器一台;4. 示波器一台;5. 电流表一台;6. 电压表一台;7. 集成电路测试仪一台。
四、实验内容及步骤1. 步进电机工作原理观察(1)观察步进电机转子与定子齿的相对位置;(2)分析步进电机转动过程中的齿对齿的相互作用。
2. 步进电机驱动电路设计(1)根据步进电机型号,设计驱动电路,包括电源、驱动芯片、驱动线圈等;(2)连接电路,检查无误后通电测试。
3. 步进电机控制方法实验(1)观察步进电机在不同控制方式下的运行特点,如正转、反转、慢速、快速等;(2)调整控制参数,使步进电机满足实验要求。
4. 步进电机运行特性分析(1)观察步进电机在不同转速下的运行情况;(2)分析步进电机转速与控制脉冲频率的关系;(3)研究步进电机负载变化对转速的影响。
5. 步进电机故障排除(1)观察步进电机运行过程中的异常现象;(2)分析故障原因,如驱动电路故障、控制程序错误等;(3)进行故障排除,确保步进电机正常运行。
五、实验结果与分析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的使⽤,学习汇编语⾔编程⽅法及调试技巧。
步进机电机实验报告

一、实验目的1. 了解步进电机的工作原理和特点。
2. 掌握步进电机的驱动方式和控制方法。
3. 学会使用PLC编程控制步进电机。
4. 培养动手能力和实验技能。
二、实验原理步进电机是一种将电脉冲信号转换成角位移的电动机,具有精度高、响应快、控制简单等优点。
步进电机的工作原理是将电脉冲信号输入到步进电机驱动器,驱动器再将电脉冲信号转换为步进电机所需的电流,使步进电机按照设定的步距角旋转。
三、实验仪器与设备1. PLC编程器2. 步进电机驱动器3. 步进电机4. 电源5. 连接导线6. 电脑四、实验步骤1. 步进电机驱动器与PLC的连接:将步进电机驱动器的输入端连接到PLC的输出端口,将电源连接到步进电机驱动器。
2. 步进电机与驱动器的连接:将步进电机连接到驱动器的输出端。
3. PLC编程:在PLC编程器中编写步进电机控制程序。
(1)设置步进电机控制参数:包括步进电机的步距角、脉冲频率等。
(2)编写步进电机控制程序:编写程序控制步进电机的启动、停止、正转、反转等功能。
4. 程序下载与运行:将编写好的程序下载到PLC中,运行程序控制步进电机。
五、实验结果与分析1. 步进电机启动:按下启动按钮,步进电机开始旋转。
2. 步进电机正转:按下正转按钮,步进电机按照设定的步距角正转。
3. 步进电机反转:按下反转按钮,步进电机按照设定的步距角反转。
4. 步进电机停止:按下停止按钮,步进电机停止旋转。
六、实验总结通过本次实验,我们了解了步进电机的工作原理和特点,掌握了步进电机的驱动方式和控制方法。
同时,学会了使用PLC编程控制步进电机,提高了我们的动手能力和实验技能。
以下为实验过程中的关键代码段:1. 步进电机控制参数设置:```步距角= 1.8°脉冲频率 = 1000Hz```2. 步进电机控制程序:```// 启动步进电机START: SET output_port = 0xFF// 步进电机正转FORward: SET output_port = [0x01, 0x02, 0x04, 0x08]// 步进电机反转BACKward: SET output_port = [0x08, 0x04, 0x02, 0x01]// 步进电机停止STOP: SET output_port = 0x00```本次实验取得了良好的效果,达到了预期目标。
plc步进电机控制实验报告

plc步进电机控制实验报告PLC步进电机控制实验报告引言:在现代工业中,电机的运动控制是一个重要的环节。
PLC(可编程逻辑控制器)作为一种广泛应用于自动化领域的控制设备,被广泛应用于电机控制系统中。
本实验旨在通过使用PLC来控制步进电机,实现对电机的精确控制和定位。
一、实验目的本实验的主要目的是通过PLC来控制步进电机,实现对电机的精确控制和定位。
具体的实验目标如下:1.了解步进电机的工作原理和控制方式;2.掌握PLC的基本原理和编程方法;3.设计并实现一个简单的步进电机控制系统。
二、实验原理步进电机是一种能够将电脉冲信号转化为角位移的电动机。
它通过控制电流的方式来实现精确的位置控制。
步进电机的控制方式主要有两种:开环控制和闭环控制。
在本实验中,我们将使用开环控制的方式。
PLC是一种可编程的控制器,它可以根据预先编写的程序来控制设备的运行。
PLC的基本原理是通过输入模块接收外部信号,经过处理后,通过输出模块控制执行器的运动。
在本实验中,我们将使用PLC来控制步进电机的运动。
三、实验步骤1.准备工作:a.搭建步进电机控制系统,包括步进电机、PLC、电源等设备;b.连接电路,将PLC的输入模块与步进电机的控制信号线连接;c.编写PLC的控制程序。
2.程序设计:a.根据步进电机的控制方式,编写PLC的控制程序,包括控制信号的输出和控制逻辑的设计;b.根据实际需求,确定步进电机的运动方式和控制参数。
3.实验操作:a.将编写好的PLC程序下载到PLC设备中;b.启动PLC设备,观察步进电机的运动情况;c.根据实验需求,对步进电机的运动进行调试和优化。
4.实验结果分析:a.观察步进电机的运动情况,记录每次的位置和速度;b.根据实验数据,分析步进电机的控制效果和精度。
四、实验结果与讨论通过本次实验,我们成功地使用PLC来控制步进电机的运动。
通过对步进电机的控制参数进行调试和优化,我们实现了对电机的精确控制和定位。
步进电机实验报告(1)

步进电机控制实验一、实验目的步进电机作为一种数字控制电机,可以准确的控制角度和距离应用非常广泛,本实验利用SPCE061A单片机通过自己编写程序实现步进电机的控制使我们加深对步进电机的了解,同时学会使用步进电机的驱动芯片WZM-2H042M。
另外要求我们掌握单片机控制步进电机的硬件接口电路,以及熟悉步进电机的工作特性。
二、实验内容根据步进电机驱动电路,使用单片机驱动步进电机,控制步进电机正转、反转操作。
三、实验要求按实验内容编写程序,并在实验仪上调试和验证。
四、实验说明1.步进电动机有三线式、五线式、六线式三种,但其控制方式均相同,必须以脉冲电流来驱动。
若每旋转一圈以20个励磁信号来计算,则每个励磁信号前进18度,其旋转角度与脉冲数成正比,正、反转可由脉冲顺序来控制。
2.步进电动机的励磁方式可分为全部励磁及半步励磁,其中全步励磁又有1相励磁及2相励磁之分,而半步励磁又称1-2相励磁。
图为步进电动机的控制等效电路,适应控制A、B、/A、/B的励磁信号,即可控制步进电动机的转动。
每输出一个脉冲信号,步进电动机只走一步。
因此,依序不断送出脉冲信号,即可步进电动机连续转动。
a.1相励磁法:在每一瞬间只有一个线圈导通。
消耗电力小,精确度良好,但转矩小,振动较大,每送一励磁信号可走18度。
若欲以1相励磁法控制步进电动机正转,其励磁顺序如图所示。
若励磁信号反向传送,则步进电动机反转。
励磁顺序: A→B→C→D→AA B C DSTEP1 1 0 0 02 0 1 0 03 0 0 1 04 0 0 0 1b.2相励磁法:在每一瞬间会有二个线圈同时导通。
因其转矩大,振动小,故为目前使用最多的励磁方式,每送一励磁信号可走18度。
若以2相励磁法控制步进电动机正转,其励磁顺序如图所示。
若励磁信号反向传送,则步进电动机反转。
励磁顺序: AB→BC→CD→DA→ABSTEP A B C D1 1 1 0 02 0 1 1 03 0 0 1 14 1 0 0 1c.1-2相励磁法:为1相与2相轮流交替导通。
步进电机实验报告

步进电机实验报告步进电机实验报告引言步进电机是一种常见的电动机,其特点是能够实现精确的位置控制和旋转运动。
本实验旨在通过对步进电机的实际操作,深入了解其工作原理和应用。
一、实验目的本实验的目的是通过实际操作步进电机,了解步进电机的基本结构和工作原理,掌握步进电机的控制方法,并能够利用步进电机实现简单的运动控制。
二、实验仪器和材料1. 步进电机:本实验使用4相5线式步进电机。
2. 电机驱动器:采用常用的双H桥驱动器。
3. 控制器:使用Arduino开发板作为控制器。
4. 电源:提供步进电机和驱动器所需的电源。
5. 连接线:用于连接各个部件。
三、实验原理步进电机是一种通过控制电流方向和大小来实现旋转运动的电机。
它由定子和转子组成,定子上布有若干个电磁线圈,转子上有若干个磁极。
当电流依次通过定子上的线圈时,会产生磁场,与转子上的磁极相互作用,从而使转子旋转一定的角度。
四、实验步骤1. 连接电路:将步进电机、驱动器和控制器按照电路图连接起来。
2. 编写控制程序:使用Arduino开发板编写控制程序,通过控制引脚输出高低电平来控制电机的旋转方向和步进角度。
3. 上传程序:将编写好的控制程序上传到Arduino开发板中。
4. 运行实验:通过调用控制程序中的函数,控制步进电机的旋转运动。
五、实验结果与分析在实验中,我们通过编写控制程序,成功控制步进电机的旋转运动。
通过改变控制程序中的参数,我们可以控制电机的旋转方向、速度和步进角度。
实验结果表明,步进电机可以实现较为精确的位置控制,适用于一些对运动精度要求较高的应用场景。
六、实验总结通过本次实验,我们深入了解了步进电机的工作原理和控制方法。
步进电机作为一种常见的电动机,具有精确的位置控制和旋转运动的特点,在工业自动化和机器人领域有着广泛的应用。
掌握步进电机的原理和控制方法,对于我们今后的学习和工作具有重要的意义。
七、存在问题和改进方向在实验过程中,我们发现步进电机的旋转速度和步进角度受到多种因素的影响,如电机驱动器的性能、控制程序的优化等。
步进电机实验报告

步进电机实验报告第一篇:步进电机实验报告步进电机调速实验报告班级: xx 姓名: xx 学号: xxx 指导老师: xx步进电机调速实验报告一、实验目的及要求:1、熟悉步进电机的工作原理2、熟悉51系列单片机的工作原理及调试方法3、设计基于51系列单片机控制的步进电机调速原理图(要求实现电机的速度反馈测量,测量方式:数字测量)4、实现51系列单片机对步进电机的速度控制(步进电机由实验中心提供,具体型号 42BYG)由按钮控制步进电机的启动与停止;实现加速、匀速、和减速控制。
速度设定由键盘设定,步进电机的反馈速度由LED数码管显示。
二、实验原理:1.一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。
步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。
步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。
由于输入的是脉冲信号,输出的角位移是断续的,所以又称为脉冲电动机。
随着数字控制系统的发展,步进电动机的应用将逐渐扩大。
进电动机需配置一个专用的电源供电,电源的作用是让电动机的控制绕组按照特定的顺序通电,即受输入的电脉冲控制而动作,这个专用电源称为驱动电源。
步进电动机及其驱动电源是一个互相联系的整体,步进电动机的运行性能是由电动机和驱动电源两者配合所形成的综合效果。
2.对驱动电源的基本要求(1)驱动电源的相数、通电方式和电压、电流都要满足步进电动机的需要;(2)要满足步进电动机的起动频率和运行频率的要求;(3)能最大限度地抑制步进电动机的振荡;(4)工作可靠,抗干扰能力强;(5)成本低、效率高、安装和维护方便。
3.驱动电源的组成步进电动机的驱动电源基本上由脉冲发生器、脉冲分配器和脉冲放大器(也称功率放大器)三部分组成,三、实验源程序:/*************** writer:shopping.w ******************/ #include #define uint unsigned int #define uchar unsigned char uchar code FFW[]= { 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 };uchar code REV[]= { 0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01 };sbit K1 = P3^0;sbit K2 = P3^1;sbit K3 = P3^2;void DelayMS(uint ms){ uchar i;} void SETP_MOTOR_FFW(uchar n){ uchar i,j;while(ms--){ for(i=0;i<120;i++);} for(i=0;i<5*n;i++){for(j=0;j<8;j++){if(K3 == 0)break;P1 = FFW[j];DelayMS(25);} } } void SETP_MOTOR_REV(uchar n){ uchar i,j;for(i=0;i<5*n;i++){for(j=0;j<8;j++){if(K3 == 0)break;P1 = REV[j];DelayMS(25);} } } void main(){uchar N = 3;while(1){if(K1 == 0){P0 = 0xfe;SETP_MOTOR_FFW(N);if(K3 == 0)break;}} } else if(K2 == 0){ P0 = 0xfd;} else { P0 = 0xfb;} P1 = 0x03;SETP_MOTOR_REV(N);if(K3 ==0)break;4四、实验心得:本次实验让我了解了步进电动机的工作原理,掌握了怎样用单片机编程来控制步进电机的正反转及调速。
单片机步进电机控制实验报告

单片机步进电机控制实验报告1. 实验背景步进电机是一种特殊的直流电机,具有精确定位、运行平稳等特点,广泛应用于自动化控制系统中。
本实验旨在通过单片机控制步进电机的转动,加深对步进电机原理和控制方法的理解。
2. 实验器材和原理实验器材•单片机开发板•步进电机•驱动模块•连接线实验原理步进电机按照一定步进角度进行转动,每转动一定步数,即转动特定的角度。
步进电机的控制需要通过驱动模块来实现,驱动模块与单片机进行连接,通过单片机的输出控制步进电机的转动。
3. 实验步骤步骤1:连接电路将单片机开发板与驱动模块通过连接线连接,确保连接线的接口正确连接。
步骤2:编写程序使用C语言编写控制步进电机的程序,并上传到单片机开发板中。
程序需要实现控制步进电机转动的功能,可以根据需要设置转动的方向和步数。
步骤3:设置参数根据实际情况设置步进电机的转动参数,例如转动方向、转动速度等。
确保设置的参数符合实验要求。
步骤4:开始实验将步骤1和步骤2准备好的电路和程序连接在一起,并开启电源。
通过单片机的输出控制步进电机的转动,观察步进电机的转动情况。
步骤5:记录实验结果记录步进电机的转动情况,包括转动方向、转动步数等信息。
观察步进电机的转动是否符合预期,记录任何异常情况。
步骤6:实验总结根据实验结果进行总结和分析,评估步进电机控制的效果。
分析实验中可能出现的问题和改进方向,并提出改进措施。
4. 实验注意事项•在实验过程中,严格按照操作步骤进行,避免出现操作失误。
•注意检查电路连接是否正确,确保连接稳固可靠。
•在进行步进电机控制时,注意控制信号的稳定性和准确性。
•注意观察步进电机的转动情况,及时记录转动信息。
•实验过程中如有异常情况出现,应立即停止实验并进行排查。
5. 实验结果根据实验步骤和注意事项进行实验,步进电机的转动情况符合预期,控制效果良好。
6. 实验总结本次实验通过单片机控制步进电机的转动,加深了对步进电机原理和控制方法的理解。
步进电机的控制实验报告

步进电机的控制实验报告一、实验目的1.学习步进电机的工作原理。
2.了解步进电机的驱动电路。
3.学会用单片机控制步进电机。
二、实验器件1.T IVA C 系列芯片,电机模块和LCD显示模块。
2.电脑以及CCS开发软件。
三、实验内容设计一个简单的程序驱动步进电机并控制转速,通过LCD板上的滚轮装置可以调节步进电机的转速。
四、实验原理双极性四线步进电机:一般双极性四线步进电机线序是 A B A/ B/, 其中A 与A/是一个线圈,B和B/是一个线圈,一般这种驱动需要的是H桥电路。
H双极性四线步进电机驱动相序:1.单相四拍通电驱动时序正转: A/ B A B/反转: B/ A B A/2.双相通电四拍驱动时序正转:A/B AB AB/ A/B/反转:A/B/ AB/ AB A/B3.半步八拍驱动时序正转:A/ A/B B AB A AB/ B/ A/B/反转:A/B/ B/ AB/ A AB B A/B A/DRV8833驱动芯片: DRV8833为玩具、打印机及其他机电一体化应用提供了一款双通道桥式电机驱动器解决方案。
该器件具有两个H 桥驱动器,并能够驱动两个直流(DC)电刷电机、一个双极性步进电机、螺线管或其他电感性负载。
每个H桥的输出驱动器模块由N沟道功率MOSFET组成,这些MOSFET被配置成一个H桥,以驱动电机绕组。
每个H桥都包括用于调节或限制绕组电流的电路。
借助正确的PCB设计,DRV8833的每个H桥能够连续提供高达1.5-ARMS(或DC)的驱动电流(在25℃和采用一个5VVM电源时)。
每个H桥可支持高达2A的峰值电流。
在较低的VM电压条件下,电流供应能力略有下降。
该器件提供了利用一个故障输出引脚实现的内部关断功能,用于:过流保护、短路保护、欠压闭锁和过热。
另外,还提供了一种低功耗睡眠模式。
DRV8833内置于16引脚HTSSOP封装或采用PowerPAD™的QFN封装(绿色环保:RoHS和无Sb/Br)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
步进电机的控制实验报告一、实验目的1.学习步进电机的工作原理。
2.了解步进电机的驱动电路。
3.学会用单片机控制步进电机。
二、实验器件1.T IVA C 系列芯片,电机模块和LCD显示模块。
2.电脑以及CCS开发软件。
三、实验内容设计一个简单的程序驱动步进电机并控制转速,通过LCD板上的滚轮装置可以调节步进电机的转速。
四、实验原理双极性四线步进电机:一般双极性四线步进电机线序是 A B A/ B/, 其中A 与A/是一个线圈,B和B/是一个线圈,一般这种驱动需要的是H桥电路。
H双极性四线步进电机驱动相序:1.单相四拍通电驱动时序正转: A/ B A B/反转: B/ A B A/2.双相通电四拍驱动时序正转:A/B AB AB/ A/B/反转:A/B/ AB/ AB A/B3.半步八拍驱动时序正转:A/ A/B B AB A AB/ B/ A/B/反转:A/B/ B/ AB/ A AB B A/B A/DRV8833驱动芯片: DRV8833为玩具、打印机及其他机电一体化应用提供了一款双通道桥式电机驱动器解决方案。
该器件具有两个H 桥驱动器,并能够驱动两个直流(DC)电刷电机、一个双极性步进电机、螺线管或其他电感性负载。
每个H桥的输出驱动器模块由N沟道功率MOSFET组成,这些MOSFET被配置成一个H桥,以驱动电机绕组。
每个H桥都包括用于调节或限制绕组电流的电路。
借助正确的PCB设计,DRV8833的每个H桥能够连续提供高达1.5-ARMS(或DC)的驱动电流(在25℃和采用一个5VVM电源时)。
每个H桥可支持高达2A的峰值电流。
在较低的VM电压条件下,电流供应能力略有下降。
该器件提供了利用一个故障输出引脚实现的内部关断功能,用于:过流保护、短路保护、欠压闭锁和过热。
另外,还提供了一种低功耗睡眠模式。
DRV8833内置于16引脚HTSSOP封装或采用PowerPAD™的QFN封装(绿色环保:RoHS和无Sb/Br)。
图1 H桥电路真值表设计思路:使用单相四拍通电驱动时序驱动步进电机。
用单片机生成四个占空比为25%相位逐个延迟90度的PWM信号,按照特定顺序输入到驱动芯片的AIN1、AIN2、BIN1、BIN2引脚。
通过调节LCD模块上的滚轮来调节PWM信号的周期从而控制步进电机的转速。
调节的频率范围是25HZ-50HZ。
步进电机的转速信息通过传感器采样送到单片机,信息处理后送到LCD显示模块显示。
实验主程序:int main(void){uint32_t pui32ADC0Value[1]; // 保存ADC采样值int speed = 0;uint32_t cur_Period, old_Period = 0; // 根据滚轮ADC转换值换算出当前的时间周期值// 系统时钟设置SysCtlClockSet(SYSCTL_SYSDIV_64 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |SYSCTL_XTAL_16MHZ);// 初始化滚轮Init_ADCWheel();// 使能LCDLCD_Enable();// 初始化LCDLCD_Init();// 清屏LCD_ScreenClr();// 显示“rpm 电机转速单位转/分”字符{LCD_Draw_Char('S', 0, 0);LCD_Draw_Char('p', 0, 8);LCD_Draw_Char('e', 0, 16);LCD_Draw_Char('e', 0, 24);LCD_Draw_Char('d', 0, 32);LCD_Draw_Char(':', 0, 40);}LCD_Draw_Char('(', 1, 127-40);LCD_Draw_Char('r', 1, 127-32);LCD_Draw_Char('/', 1, 127-24);LCD_Draw_Char('s', 1, 127-16);LCD_Draw_Char(')', 1, 127-8);//Enable PB0SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_0);GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_0, GPIO_PIN_0);while(1){SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);GPIODirModeSet(GPIO_PORTC_BASE,GPIO_PIN_7, GPIO_DIR_MODE_IN);GPIOPadConfigSet(GPIO_PORTC_BASE,GPIO_PIN_7,GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPU);SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);GPIODirModeSet(GPIO_PORTD_BASE, GPIO_PIN_6, GPIO_DIR_MODE_IN);GPIOPadConfigSet(GPIO_PORTD_BASE, GPIO_PIN_6,GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPU);if(GPIOPinRead(GPIO_PORTD_BASE,GPIO_PIN_6)==0){Init_PWM();}if(GPIOPinRead(GPIO_PORTC_BASE,GPIO_PIN_7)==0){Init_PWM1();}初始化时,检测按键,实现正反转ADCProcessorTrigger(ADC_BASE, SequenceNum);// 等待完成取样转换while(!ADCIntStatus(ADC_BASE, SequenceNum, false))}// 清楚ADC中断标志位ADCIntClear(ADC_BASE, SequenceNum);// 读取ADC采样值ADCSequenceDataGet(ADC_BASE, SequenceNum, pui32ADC0Value);// 当前周期转化公式cur_Period = MIN_PERIOD + ((MAX_PERIOD - MIN_PERIOD) *pui32ADC0Value[0]) / 4096;// 记录ADC的变化率大小uint32_t temp = 0;if(cur_Period > old_Period){temp = cur_Period - old_Period;}else{temp = old_Period - cur_Period;// cur_Period = PERIOD_TIME;// ADC 实现16级的有极变化,if(temp > 0xFFF){// 调整周期// PWMGenPeriodSet(PWM0_BASE, PWM_GEN_0, cur_Period); // PWMGenPeriodSet(PWM0_BASE, PWM_GEN_1, cur_Period);// PWMGenPeriodSet(PWM1_BASE, PWM_GEN_2, cur_Period);// PWMGenPeriodSet(PWM1_BASE, PWM_GEN_3, cur_Period);//// // 调整占空比// PWMPulseWidthSet(PWM0_BASE, PWM_OUT_1, cur_Period / 2); // PWMPulseWidthSet(PWM0_BASE, PWM_OUT_2, cur_Period / 2); // PWMPulseWidthSet(PWM0_BASE, PWM_OUT_1, cur_Period / 4); // PWMPulseWidthSet(PWM0_BASE, PWM_OUT_2, cur_Period / 4); // PWMPulseWidthSet(PWM1_BASE, PWM_OUT_5, cur_Period / 4); // PWMPulseWidthSet(PWM1_BASE, PWM_OUT_6, cur_Period / 4); //////// // 延时调整// PWMSyncTimeBase(PWM0_BASE, PWM_GEN_1_BIT);// SysCtlDelay((cur_Period / 4) );// PWMSyncTimeBase(PWM0_BASE, PWM_GEN_0_BIT);// SysCtlDelay((cur_Period / 4));// PWMSyncTimeBase(PWM1_BASE, PWM_GEN_3_BIT);// SysCtlDelay((cur_Period / 4));// PWMSyncTimeBase(PWM1_BASE, PWM_GEN_2_BIT);//计算电机转数speed = ROM_SysCtlClockGet() / cur_Period;old_Period = cur_Period;}//计算频率并显示unsigned char number = '0';int i = 0 ;unsigned char data[4] = {0};data[0] = speed / 1000;data[1] = (speed / 100) % 10;data[2] = (speed / 10) % 10;data[3] = (speed / 1) % 10;// 如果ADC采样值发生变化则更新显示for(i = 0; i < 4; ++i){LCD_Draw_Char('.', 1, 20 + 10 * 2);if(i > 1)LCD_Draw_Char(number + data[i], 1, 20 + 10 * (i + 1)elseLCD_Draw_Char(number + data[i], 1, 20 + 10 * i);// 系统延时,一秒执行4次ROM_SysCtlDelay(SysCtlClockGet() / 12);}}五、实验调试1.将程序下载到单片机上。
2.运行程序,打开电机开关,这时候可以看到步进电机转动。
图2 步进电机转动3.调节滚轮可以调节步进电机的转速。