步进电机控制实验

合集下载

实验八步进电机控制

实验八步进电机控制

实验八步进电机控制一、实验目的a)了解步进电机控制的基本原理,掌握步进电机转动编程方法。

b) 熟悉51系列单片机得工作原理及调试方法c)设计基于51系列单片机控制的步进电机调速的原理图d)实现51系列单片机对步进电机的速度控制,实现步进电机的启动与停止:实现加速,匀速,和减速控制。

二、实验仪器计算机、单片机实验箱、MCS51仿真开发系统、杜邦线若干三、实验基本原理步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速,微电脑控制步进电机最适合。

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

(程序框图)(实验电路)四、实验内容及步骤1.内容:a)步进电机插头接80958B实验系统J1插座,b)P1.O-P1.3接HA-HD也可把L1-L4接A B C D 孔。

c)执行程序,从键盘上输入数字使显示器显示,第一位为0(正转),为1(反转),第二位0-F显示转速,第3-6位为设定步数d)按EXEC键后,使步进电机开始转动,步数逐渐减小到零时步进电机停止转动。

2.程序:;================== 硬件实验步进电机控制=========================ORG 0CA0HDOJ0: MOV SP,#53HLCALL LEDPDOJ6: LCALL X2 ;X1 ;调键扫显示子程序(见软件实验十)JB ACC.4,DOJ5LCALL X3 ;调数字键处理子程序(见软件实验十)DB 79H,7EHSJMP DOJ6DOJ5: CJNE A,#16H,DOJ6 ;不是执行键转MOV A,7AHSWAP AORL A,79HMOV R6,A ;低字节步距数送R6 MOV A,7CHSWAP AORL A,7BHMOV R7,A ;高字节步距数R7 MOV A,7EHCJNE A,#00H,DOJ2 ;判转动方向DOJ1: MOV P1,#03H ;顺时针转动LCALL DEL0YLCALL GGJ0MOV P1,#06HLCALL DEL0YLCALL GGJ0MOV P1,#0CHLCALL DEL0YLCALL GGJ0MOV P1,#09HLCALL DEL0YLCALL GGJ0SJMP DOJ1DOJ2: MOV P1,#09H ;逆时针转动LCALL DEL0YLCALL GGJ0MOV P1,#0CHLCALL DEL0YLCALL GGJ0MOV P1,#06HLCALL DEL0YLCALL GGJ0MOV P1,#03HLCALL DEL0YLCALL GGJ0SJMP DOJ2DEL0Y: MOV A,7DH ;根据(7D)内容改变延时时间SWAP ACLR CRRC ARRC AMOV R2,ADELY1: MOV R5,#01HDEL1Y: LCALL DISDJNZ R5,DEL1YDJNZ R2,DELY1RETGGJ0: CJNE R7,#00H,GGJ1 ;步距数为0停止 CJNE R6,#00H,GGJ1 ;不为0减1后显示 AJMP DOJ4GGJ1: DJNZ R6,DOJ3CJNE R7,#00H,DDJ8DOJ4: LCALL DOJ7SJMP DOJ4DDJ8: DJNZ R7,DOJ3AJMP DOJ4DOJ3: LCALL DOJ7RETDOJ7: MOV R0,#79HMOV A,R6LCALL PTDS5MOV A,R7LCALL PTDS5LCALL SSEE ;显示RETPTDS5: MOV R1,AACALL PTDS6MOV A,R1PTDS6: ANL A,#0FHMOV @R0,AINC R0RETSSEE: SETB RS1 ;换工作区 MOV R5,#05HSSE2: MOV 30H,#20HMOV 31H,#7EHMOV R7,#06HSSE1: MOV R1,#0DDHMOV A,30HMOVX @R1,A ;字位送入 MOV R0,31HMOV A,@R0MOV DPTR,#DDFFMOVC A,@A+DPTR ;取字形代码 MOV R1,#0DCHMOVX @R1,A ;字形送入 MOV A,30H ;右移RR AMOV 30H,AMOV A,#0FFHMOVX @R1,A ;关显示DJNZ R7,SSE1 ;6位显示完了吗?DJNZ R5,SSE2 ;5次显示完了吗?CLR RS1RET五、实验结果及处理(数据暂时不填)六、实验结果分析及问题讨论1、根据步进电机的原理可知,步进电机可用于精确制动控制,旋转角度容易控制。

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

步进电机实验报告册(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. 理解步进电机的工作原理及其应用领域。

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)实验过程中,需要对步进电机驱动模块进行合理设计,以确保步进电机的稳定运行。

步电机的实验报告(3篇)

步电机的实验报告(3篇)

第1篇一、实验目的1. 了解步进电机的工作原理和驱动方式。

2. 掌握步进电机的控制方法,包括正反转、速度调节和方向控制。

3. 通过实验验证步进电机的性能和稳定性。

二、实验原理步进电机是一种将电脉冲信号转换为角位移的电动机,其特点是控制精度高、响应速度快、易于控制。

步进电机的工作原理基于电磁感应原理,通过控制电流的通断,使电机绕组产生磁场,从而驱动转子旋转。

三、实验仪器与设备1. 步进电机实验平台2. 电脑3. 步进电机驱动器4. 步进电机5. 电源6. 接线端子四、实验内容1. 步进电机驱动电路搭建2. 步进电机正反转控制3. 步进电机速度调节4. 步进电机方向控制5. 步进电机性能测试五、实验步骤1. 步进电机驱动电路搭建(1)将步进电机驱动器与电脑连接,并确保电源连接正常。

(2)根据步进电机驱动器的说明书,将步进电机、电源和连接端子连接到相应的接口。

(3)检查电路连接是否正确,确保无误。

2. 步进电机正反转控制(1)编写程序实现步进电机正反转控制。

(2)在电脑上运行程序,观察步进电机正反转是否正常。

3. 步进电机速度调节(1)编写程序实现步进电机速度调节。

(2)在电脑上运行程序,调整速度参数,观察步进电机转速是否改变。

4. 步进电机方向控制(1)编写程序实现步进电机方向控制。

(2)在电脑上运行程序,观察步进电机旋转方向是否改变。

5. 步进电机性能测试(1)测试步进电机的空载转速和负载转速。

(2)测试步进电机的步距角和定位精度。

(3)测试步进电机的稳定性。

六、实验结果与分析1. 步进电机正反转控制实验结果显示,步进电机正反转控制正常,转速和方向可调。

2. 步进电机速度调节实验结果显示,步进电机速度调节正常,转速可调。

3. 步进电机方向控制实验结果显示,步进电机方向控制正常,旋转方向可调。

4. 步进电机性能测试(1)空载转速:步进电机空载转速为300转/分钟。

(2)负载转速:步进电机负载转速为200转/分钟。

步进电机的控制实验报告

步进电机的控制实验报告

步进电机的控制实验报告一、实验目的本实验旨在深入了解步进电机的工作原理,掌握其控制方法,并通过实际操作和测量,验证控制策略的有效性和准确性。

二、实验原理步进电机是一种将电脉冲信号转换为角位移或线位移的开环控制电机。

它通过按一定顺序依次给电机的各相绕组通电,使电机转子逐步转动。

其转动的角度与输入的脉冲数成正比,转速与脉冲频率成正比。

常见的步进电机控制方式有全步驱动、半步驱动和细分驱动。

全步驱动时,每输入一个脉冲,电机转子转动一个固定的角度(通常为 18°或 09°);半步驱动时,电机转子转动的角度为全步驱动的一半;细分驱动则通过控制各相电流的大小和相位,实现更精细的角度控制。

三、实验设备1、步进电机一台2、驱动控制器3、电源4、示波器5、数字万用表6、计算机及控制软件四、实验步骤1、连接实验设备将步进电机与驱动控制器正确连接,注意相序的对应。

给驱动控制器和电机接通电源。

将示波器和数字万用表分别连接到合适的测量点,以监测电机的电流、电压和脉冲信号。

2、设定控制参数在计算机控制软件中,设置电机的运行模式(全步、半步或细分)、脉冲频率、转动方向等参数。

3、启动电机点击控制软件中的启动按钮,观察电机的转动情况。

4、测量电机性能使用示波器测量电机的驱动脉冲信号,观察其波形和频率。

用数字万用表测量电机的相电流和相电压,记录数据。

5、改变控制参数调整脉冲频率,观察电机转速的变化。

改变转动方向,验证电机转向控制的正确性。

6、重复实验多次改变控制参数,进行重复实验,以获取更准确和可靠的数据。

五、实验数据及分析1、全步驱动模式下脉冲频率为 100Hz 时,电机转速约为 60r/min,相电流平均值为_____A,相电压为_____V。

脉冲频率提高到 500Hz 时,电机转速约为 300r/min,相电流平均值增加到_____A,相电压基本不变。

分析:在全步驱动模式下,脉冲频率越高,电机转速越快,但相电流也会相应增加,可能导致电机发热加剧。

步进电机控制试验

步进电机控制试验

实验6 步进电机控制试验一、实验目的1)、了解步进电机的工作原理。

2)、掌握步进电机的驱动及编程方法。

二、实验设备计算机,仿真器,EXP-II实验箱三、实验步骤1、将“步进电机”单元中的拨码开关S4的拨码开关1置“ON”。

2、连接好DSP开发系统,实验箱上电,运行CCS软件3、调入样例程序,运行。

4、观察实验结果,写实验报告5、程序实验操作说明可以看到步进电机先顺时针旋转,然后再逆时针旋转,“数字量输入输出单元”中的LED10-LED13在不停的闪烁。

用“Halt”暂停程序运行,将“delay_f”延时子程序中的i值由1000更改为8000,如下图所示。

该“delay_f”子程序控制步进电机的A、B、C、D相的延迟时间。

“Rebuild All”后,重新加载程序,运行程序。

可以观察到步进电机正转与反转的转速变慢;用“Halt”暂停程序运行,如下图,将“delay_f”循环中的i值还原为1000,将“delay_s”延时子程序中j的值由3000更改为10000,如下图所示。

该“delay_s”子程序控制步进电机的步与步之间的延迟时间。

“Rebuild All”后,重新加载程序,运行程序。

可以观察到步进电机正转与反转的转速变慢,而且步进电机的步进效果较明显。

关闭相关程序窗口,本实验结束。

四、实验说明:步进电机多为永磁感应式,有两相、四相、六相等多种,实验所用的电机为两相四拍式,通过对每相线圈中的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。

脉冲信号是有DSP的IO端口(地址8001H)的低四位提供。

位0对应“D”,位1对应“C”,位2对应“B”,位3对应“A”;如下图所示,电机每相电流为0.2A,相电压为5V,两相四拍的通电顺序如下表所示:。

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

控制步进电机实验报告(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。

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

DSP 实验报告
实验名称:步进电机控制实验__________
系部:物理与机电工程学院
专业班级:_
学号:____________________
学生姓名:___________________
指导教师:___________________
完成时间:_______ 2014-5-7 ___________
扌报告成绩:____________________________
评阅意见:
评阅步进电机控制实验期 __________
一、实验目的
1.掌握2812通用10 口的使用方法;
2.掌握2812对步进电机的控制。

二、实验设备
1.一台装有CCS软件的计算机;
2.DSP试验箱的TMS320F281主控板;
3.DSP硬件仿真器。

三、实验原理
步进电机工作原理,给步进脉冲电机就转,不给脉冲电机就不转,
步进脉冲的频率越高,步进控制电机就转的越快;改变各相的通电方式可以改变电机的运行方式;改变通电顺序可以控制步进电机的运行方式;改变通电顺
序可以控制步进电机的正反转。

步进电机的控制问题可以总结为两点:
(1)产生工作方式需要的时序脉冲;
(2)控制步进电机的速度使它始终遵循加速-匀速- 减速的规律工作。

对于I/O 口有二类寄存器:
1.控制寄存器和数据方向寄存器,使用方法如下:首先确定引脚的功能,即IO 控制器寄存器,为 1 表示引脚功能是原模块的功能,否则为IO 功能。

2.如果引脚被配置为IO 功能,就需要确定它的方向:输入还是输出。

为 1 表示是输出引脚,否则是输入引脚。

对于IO 功能的输入或输出是通过读写相应的数据方向寄存器来实现。

输入引脚对应读操作;输出引脚对应写操作。

3.步进电机的使用至少需要三个方面的配合,一是电脉冲信号发生器,它按照给定的设置重复为步进电机输送电脉冲信号,目前这种信号大多数由可编程控制器或单片机来完成;二是驱动器(信号放大器),它除了对电脉冲信号进行放大、驱动步进电机转动以外,还可以通过它改善步进电机的使用性能,事实上它在步进电机系统中起着重要的作用,一般一种步进电机可以根据不同的工况具有多种驱动器;三是步进电机,它有多种控制原理和型号,现
在常用的有反应式、感应子式、混合式等。

步进电机的速度控制是通过输入的脉冲频率快慢实现的。


发生脉冲的频率减小时,步进电机的速度就下降;当频率增加时,速度就加快。

还可以通过频率的改变而提高步进电机的速度或位置精度。

?????
步进电机的位置控制是靠给定的脉冲数量控制的。

给定一个脉冲,转
过一个步距角,当停止的位置确定以后,也就决定了步进电机需要给定的脉冲数。

在包装机控制中,给定脉冲数的多少,还与机构的参数有关,例如螺杆的直径等。

?
4. 实验电路
5.试验框图
四、实验步骤
1.连接好仿真器、DS实验箱,计算机;
2.本实验工程文件( Example_stepmotor.pjt ),编译,下载程
序到DSP
3.全速运行,观察步进电机的运转。

五、实验结果及分析
步进电机正反转动:
六、实验心得
本次步进电机控制实验使我对步进电机控制工作原理的有所了解,对实验进行分析和修改使它与我们的理论相符合,在给步进脉冲时电机就转,不给脉冲时电机就不转,步进脉冲的频率越
高,步进控制电机就转的越快。

并改变各相的通电方式可以改变电机的运行方式;在改变通电顺序可以控制步进电机的运行方式;改变通电顺序可以控制步进电机的正反转。

通过本次实验中加深对DSP系统的理解、步进电机的控制方式及工作运行方式。

进一步掌握用C语言编写DSP g序的方法,及编译、除错能力。

附页:实验原程序代码
#include "include/DSP281x_Device.h" // DSP281x Headerfile Include
File
#include "include/DSP281x_Examples.h" // DSP281x Examples Include
File
void delay_loop(void);
void Gpio_select(void);
short codetab[17]=
{0x0001,0x0002,0x0004,0x0008,0x0008,0x0004,0x0002,0x0001,
0x0001,0x0002,0x0004,0x0008,0x0001,0x0002,0x0004,0x0008,0x0000}; main() {
short i,j;
InitSysCtrl();
EALLOW;
EDIS;
Gpio_select();
DINT;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
InitXintf(); // For this example, init the Xintf
Reg06=0x00;
while(1)
{
for(j=0;j<400;j++)
{
for(i=0;i<4;i++)
{
Reg06=0x00;
delay_loop();
}
for(j=0;j<400;j++)
{ for(i=4;i<8;i++) {
Reg06=0x00;
delay_loop();
}}
}
}
}
void delay_loop()
{
short i,j;
for (i = 0; i < 1000; i++)
{for (j = 0; j < 10; j++);} } void Gpio_select(void) { Uint16 var1, var2, var3;
// sets GPIO Muxs as I/Os // sets GPIO DIR as outputs // sets the Input qualifier values var1= 0x0000;
var2= 0xFFFF;
var3= 0x0000;
EALLOW;
EDIS;。

相关文档
最新文档