步进电机控制实验
实验八步进电机控制
实验八步进电机控制一、实验目的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篇)
第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)实验过程中,需要对步进电机驱动模块进行合理设计,以确保步进电机的稳定运行。
步进电机控制接口实验
实验一 步进电机控制接口实验一、实验目的通过步进电机控制实验, 学习并行接口电路及其控制程序的设计原理与方法。
二、实验内容基本实验 控制四相步进电机以双八拍方式运行, 自己设置按键来控制电机的启停。
三、实验要求利用MFID 实验平台和步进电机驱动模块板进行硬件连接, 利用MF2KI 集成开发环境进行步进电机软件控制程序的设计、调试, 直到使步进电机正常运行。
四、实验原理1. 步进电机驱动模块板电路原理如图2.1.2所示。
模块板上包括接口的对象永磁式四相步进电机和驱动电路达林顿管TIP, 保护电路74LS373, 相序指示灯以及开关SW1和SW2等。
2.步进电机接口设计原理与方法的详细阐述, 参考计算机接口技术相关参考书。
图2.1.2 步进电机驱动模块电路原理框图五、实验步骤 步骤一: 硬件连接跳线设置: 模块电源L 区 JP8跳接。
单线连法如右图:A 相B 相C 相D 相OE#74LS373开关PA0 PA2 PA4 PA6 PC4 PC0 PC1按键开关T 区SW1 SW2排线接法如右图:步骤二: 将平台的电源开关拔到“内”的位置上。
在配套集成环境下进行硬件检测,来达到初始化芯片的目的。
步骤三: (演示实验步骤)打开集成环境在“演示实验”菜单下点开“基本接口实验”。
在“基本接口实验”中的“并行接口实验”中选择“步进电机”实验进行演示。
步骤四: (学生实验步骤)打开集成环境在“文件”菜单下学生可以选择新建自己的C++/ASM文件或者集成环境自带的C++/ASM参考程序进行调试、运行。
步骤五: 观看实验现象得出结论。
△步进电机接口控制流程图①△步进电机接口控制主程序:NAMA BUJINDIANJIDATA SEGMENTPSTA DB 05H,15H,14H,54H,50H,51H,41H,45H ;DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:CODEORG 100HBEGIN: MOV DX,303H ;初始化8255AMOV AL, 10000001B ;命令控制字OUT DX,AL ;送命令MOV AL,00001001B ;置PC4=1关闭74LS373OUT DX,ALL: MOV DX,302HIN AL,DXAND AL,00000010 ;查SW2按下?未按下, 等待 JNZ L ;按下后继续执行MOV DX,303H ;置PC4=0, 打开74LS37MOV AL,08HOUT DX,ALRELOAD: MOV SI,OFFSET PSTA ;设置相序表指针MOV CX,8 ;设8拍循环次数LOP: MOV DX,302HIN AL,DXAND AL,00000001 ;查SW1按下?未按下, 等待 JZ QUIT ;已按下, 退出MOV AL,[SI] ;未按下, 送相序代码到PA口 MOV DX,300HOUT DX,ALMOV DI,0AFHMOV BX,0FFFFH ;延时DELAY: DEC BXJNZ DELAYDEC DIJNZ DELAYINC SI ;相序表指针+1DEC CX ;循环次数-1JNZ LOP ;未到8次, 继续JMP RELOAD ;已到8次, 重新赋值QUIT: MOV DX,303H ;置PC4=1, 关闭74LS373MOV AL,09OUT DX,ALMOV AH,4CH ;程序退出, 带返回码结束INT 21HCODE ENDSEND START七、心得体会上机实验操作是一个把理论用于实践的很好机会。
步进电机控制实验报告
步进电机控制实验报告一、实验要求利用P0输出脉冲序列,74LS244输入开关量,开关K2-K8控制步进电机转换(分6挡),K0、K1控制步进电机转向。
必须要K2-K8中一开关和K0、K1中一开关同时为‘1’时步进电机才启动,其他情况步进电机不工作。
步进电机驱动原理是通过对它每线圈中的电流的顺序切换来使电机作步进式旋转。
驱动电路又脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。
微电脑控制步进电机最合适。
二、试验目的1、了解步进电机控制的基本原理。
2、掌握控制步进电机转动编程方法。
三、步进电机工作原理步进电机是将给定的电脉冲信号转变为角位移或线位移的开环控制元件。
给定一个电脉冲信号,步进电机转子就转过相应的角度,这个角度就称作该步进电机的步距角。
目前常用步进电机的步距角大多为1.8度(俗称一步)或0.9度(俗称半步)。
以步距角为0.9度的进步电机来说,当我们给步进电机一个电脉冲信号,步进电机就转过0.9度;给两个脉冲信号,步进电机就转过1.8度。
以此类推,连续给定脉冲信号,步进电机就可以连续运转。
由于电脉冲信号与步进电机转角存在的这种线性关系,使得步进电机在速度控制、位置控制等方面得到了广泛的应用。
步进电机的使用至少需要三个方面的配合,一是电脉冲信号发生器,它按照给定的设置重复为步进电机输送电脉冲信号,目前这种信号大多数由可编程控制器或单片机来完成;二是驱动器(信号放大器),它除了对电脉冲信号进行放大、驱动步进电机转动以外,还可以通过它改善步进电机的使用性能,事实上它在步进电机系统中起着重要的作用,一般一种步进电机可以根据不同的工况具有多种驱动器;三是步进电机,它有多种控制原理和型号,现在常用的有反应式、感应子式、混合式等。
步进电机的速度控制是通过输入的脉冲频率快慢实现的。
当发生脉冲的频率减小时,步进电机的速度就下降;当频率增加时,速度就加快。
还可以通过频率的改变而提高步进电机的速度或位置精度。
步进电机控制试验
实验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篇)
第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、了解步进电机控制的基本原理2、掌握步进电机转动编程方法二、实验说明1.步进电机的基本原理:步进电机是一种静电脉冲信号转换成相应角位移或是线位移的电磁机械装置。
在没有超出负载的情况下,它能在一瞬间实现启动和停止。
步进电机的转动速度只取决于外加脉冲信号的频率和脉冲数,而不受负载变化的影响。
例如,给步进电机施加一个脉冲信号,步进电动机就会转过一个歩距角。
步进电机既能控制转动方向也能控制转动速度。
2.步进电机的驱动脉冲:步进电动机通过控制输入电流形成一个旋转磁场而工作,旋转磁场可以由1相励磁,2相励磁,3相励磁和5相励磁等方式产生。
本次实验使用时小型2相励磁步进电动机有两组励磁线圈是AB。
应用时只需要在两组线圈的4个端口分别输入规定的环形脉冲信号(通过控制单片A和B机的P0.0、P0.1、P0.2和P0.3这四个引脚的高低电平),就可以制定步进电动机的转动方向。
3.本次实验使用独立式键盘控制小型2相励磁步进电机,要求按下S1键,步进电机正传;按下S2键,步进电机反转;按下S3键,步进电机停转。
4.绘制仿真原理图时,步进电机选用“MOTOR-STEPPER”,功率放大集成电路选用“ULN2003A”,逻辑部件选用“74LS04”。
三、实验步骤1.先建立文件夹“ex7”,然后建立“ex7”工程项目,最后建立源程序文件“ex7.c”,输入如下源程序;//独立式键盘控制步进电机实验#include<reg51.h> //包含51单片机寄存器定义的头文件sbit S1=P1^4; //将S1位定义为P1.4引脚sbit S2=P1^5; //将S2位定义为P1.5引脚sbit S3=P1^6; //将S3位定义为P1.6引脚unsigned char keyval; //储存按键值unsigned char ID; //储存功能标号/*软件消抖延时(约50ms)*/void delay(void){unsigned char i,j;for(i=0;i<150;i++)for(j=0;j<100;j++);}/*步进电机转动延时,延时越长,转速越慢*/void motor_delay(void){unsigned int i;for(i=0;i<2000;i++);}/*步进电机正转*/void forward( ){P0=0xfc; //P0口低四位脉冲1100motor_delay();P0=0xf6; //P0口低四位脉冲0110motor_delay();P0=0xf3; //P0口低四位脉冲0011motor_delay();P0=0xf9; //P0口低四位脉冲1001motor_delay();}/*步进电机反转*/void backward(){P0=0xfc; //P0口低四位脉冲1100motor_delay();P0=0xf9; //P0口低四位脉冲1001motor_delay();P0=0xf3; //P0口低四位脉冲0011motor_delay();P0=0xf6; //P0口低四位脉冲0110motor_delay();}/*步进电机停转*/void stop(void){P0=0xff ; //停止输出脉冲}/*主函数*/void main(void){TMOD=0x01; //使用定时器T0的模式1EA=1; //开总中断ET0=1; //定时器T0中断允许TR0=1; //启动定时器T0TH0=(65536-500)/256; //定时器T0赋初值,每计数200次(217微秒)发送一次中断请求TL0=(65536-500)%256; //定时器T0赋初值keyval=0; //按键值初始化为0,什么也不做ID=0;while(1){switch(keyval) //根据按键值keyval选择待执行的功能{case 1:forward(); //按键S1按下,正转break;case 2:backward(); //按键S2按下,反转break;case 3:stop(); //按键S3按下,停转break;}}}/*定时器T0的中断服务子程序:键盘扫描程序*/void Time0_serve(void) interrupt 1 using 1{TR0=0; //关闭定时器T0if((P1&0xf0)!=0xf0) //第一次检测到有键按下{delay(); //延时一段时间再去检测if((P1&0xf0)!=0xf0) //确实有键按下{if(S1==0) //按键S1被按下keyval=1;if(S2==0) //按键S2被按下keyval=2;if(S3==0) //按键S3被按下keyval=3;}}TH0=(65536-200)/256; //定时器T0的高8位赋初值TL0=(65536-200)%256; //定时器T0的低8位赋初值TR0=1; //启动定时器T0}2.用Proteus软件仿真经过Keil软件编译通过后,可利用Proteus软件仿真。
实验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。
实验六 步进电机控制实验
实验六步进电机控制实验一、实验目的:1.了解步进电机的原理以及控制方法。
2.掌握对步进电机的编程。
二、实验内容:1.编写程序实现步进电机的正反转。
2.编写程序实现对步进电机的单步运行。
三、实验设备:1.ARM教学实验平台。
2. ADS 1.2集成开发环境和ARM仿真器。
3.串口连接线。
四、实验原理:1.步进电机介绍步进电机是将电脉冲信号转变为角位移或线位移的开环控制组件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。
使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。
多相步进电动机有多相方波脉冲驱动,用途很广。
使用多相步进电动机时,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各项绕组。
每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。
正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
2.常用步进电机类型反应式步进电动机(VR):结构简单,生产成本低,步距角可以做的相当小,但动态性能相对较差。
永磁式步进电动机(PM):出力大,动态性能好;但步距角一般比较大。
混合步进电动机(HB):综合了反映式和永磁式两者的优点,步距角小,出力大,动态性能好,是性能较好的一类步进电动机。
3.步进电机参数和指标步进电机的静态指标术语相数:产生不同对极 N、S 磁场的激磁线圈对数。
步进电机控制实验报告
步进电机控制实验报告步进电机控制实验报告引言步进电机是一种常见的电机类型,具有精准的位置控制和可靠的运动控制能力。
在本次实验中,我们将学习如何使用Arduino控制步进电机,并通过实际操作来验证控制的可行性和有效性。
一、实验目的本次实验的主要目的是掌握步进电机的控制原理和方法,了解步进电机的特点以及其在实际应用中的作用。
通过实验,我们将学习如何使用Arduino来控制步进电机的旋转方向和步进角度,并能够实现精确的位置控制。
二、实验器材1. Arduino开发板2. 步进电机3. 驱动模块4. 连接线三、实验步骤1. 连接步进电机和驱动模块:将步进电机的相线连接到驱动模块的对应接口上,并将驱动模块与Arduino开发板连接。
2. 编写控制程序:在Arduino开发环境中,编写控制步进电机的程序。
首先,定义步进电机的旋转方向和步进角度,然后利用Arduino的输出引脚控制驱动模块,从而控制步进电机的旋转。
3. 上传程序并测试:将编写好的程序上传到Arduino开发板上,并将步进电机连接到电源。
通过控制程序中的参数,观察步进电机的旋转方向和步进角度,验证控制的准确性和可行性。
四、实验结果与分析经过实验,我们成功地控制了步进电机的旋转方向和步进角度。
通过改变控制程序中的参数,我们可以实现步进电机的正转、反转和停止等操作。
实验结果表明,步进电机的控制精度较高,可以实现精确的位置控制。
五、实验总结通过本次实验,我们深入了解了步进电机的控制原理和方法,并通过实际操作验证了控制的可行性和有效性。
步进电机作为一种常见的电机类型,在工业自动化和机器人领域有着广泛的应用。
掌握步进电机的控制技术,对于我们今后的学习和工作具有重要的意义。
六、实验心得本次实验让我对步进电机的控制有了更深入的了解。
通过编写控制程序,我学会了如何利用Arduino来控制步进电机的旋转方向和步进角度。
实验过程中,我遇到了一些问题,例如如何正确连接步进电机和驱动模块,以及如何调试控制程序等。
实验三 步进电机控制实验
实验三扩展I/O口的利用一、实验任务一:步进电机控制实验1、实验要求:利用G2002-8086实验板上的74LS273作为输出控制步进电机脉冲序列,输出的脉冲经75452反向驱动才能推动电机。
2、实验目的:了解步进电机控制的基本原理,步进电机转动的编程方法。
3、实验电路:BBBB4.实验器材:(1)G2010+实验平台 1 台(2)G6W仿真器 1 台(3)连线若干根(4)计算机 1 台(5)Lab8088CPU板 1 块(6)G2002-8086实验板 1 块5、实验说明:步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机作步进式旋转。
驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。
本实验使用的步进电机用直流+5V电压,每相电流为0.1A,电机线圈由四相组成:即:Ф1(BA);Ф2(BB);Ф3(BC);Ф4(BD),驱动方式为二相激磁方式,各线圈通电顺序如下表:反时针方向回转正时针方向回转状态 0 状态3表中首先向Ф1线圈-Ф2线圈输入驱动电流,接着Ф2—Ф3,Ф3—Ф4,Ф4—Ф1,又返回到Ф1—Ф2,按这种顺序切换,电机轴按顺时针方向旋转。
可通过不同长度延时来得到不同频率的步进电机输入脉冲,从而得到多种步进速度。
6、实验步骤:(1)按“实验电路”连接硬件。
G2002-8086板上的74LS273输出Q0、Q1、Q2、Q3分别连步进电机的BA、BB、BC、BD插孔。
(2)硬件诊断:G2010+G6W连PC机,在WINDOWS调试环境下点击 [窗口/数据窗口/MEMORY],以打开MEMORY数据窗口,在打开的MEMORY窗口中的0A000H开始的地址(即74LS273的片选空间)上写入依次写入03H,06H,0cH,09H,则应使步进电机转动四步。
(3)编写程序、编译程序。
用单步、全速断点、连续方式调试程序,检查程序运行结果,观察步进电机的转动状态,连续运行时用示波器测试BA、BB、BC、BD孔的波形,排除软件错误,直至达到本实验的设计要求。
步进电机控制实验实验报告及程序
实验九步进电机控制实验姓名专业通信工程学号成绩一、实验目的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 掌握控制步进电机转动的编程方法
二.实验内容
1 连接电路,利用8255输出脉冲序列,开关K0~K6控制步进电机转速,K7控制步进电机转向.实验盒上步进电机插头接实验台上J4.8255CS接288H~28FH.PA0~PA3接BA~BD;PC0~PC7接K0~K7.
2 编程
当K0~K6中某一开关为"1"(向上拨)时步进电机启动.K7向上打电机正向,向下电机反转.
三.实验说明
步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机作步进式旋转.驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速.
如下图所示:本实验用的步进电机用直流+5V电压,每相电流为0.16A,电机线圈由四相组成: 即:Φ1(BA); Φ2(BB)
Φ3(BC);Φ4(BD)
驱动方式为二相激磁方式,各线圈通电顺序如下表
表中首先向Φ1线圈--Φ2线圈输入驱动电流,接着Φ2--Φ3,Φ3--Φ4,Φ4--Φ1,又回到Φ1--Φ2,按这种顺序切换,电机轴按顺时针方向旋转.
实验可通过不同长度的延时来的到不同频率的步进电机输入脉冲,从而的到多种步进速度. 实验流程:
五、实验电路图:。
实验六步进电机控制实验
五、实验电路图 实验电路图
+5V L7 L6 L5 L4 L3.2
C
B
A
BA 74LS04
BB 74LS04
BC 74LS04
BD 74LS04
+5V
8 P1.1 0 3 P1.0 1
R R R R R 1 2 3 4 21 Vss A B C D
微机控制技术
步进电机控制实验(六 步进电机控制实验 六)
一、实验目的
了解步进电机工作原理 掌握步进电机控制系统的硬件设计方法 熟悉步进电机驱动程序的设计与调试 提高单片机应用系统设计和调试水平
二、实验内容 实验内容
1、验证实验系统自带的步进电机程序。然后 、验证实验系统自带的步进电机程序。 将步进电机BA、 、 、 相分别接到 将步进电机 、BB、BC、BD相分别接到 P1.4~P1.7,程序功能与源程序一致,线路连 ,程序功能与源程序一致, 接与程序要如何修改? 接与程序要如何修改?图1 2、自行设计实验,K1开关做为启动 停止键, 开关做为启动/停止键 、自行设计实验, 开关做为启动 停止键, 高电平启动,低电平停止; 开关做为方向 高电平启动,低电平停止;K2开关做为方向 控制键,高电平正向转动,低电平反向转动; 控制键,高电平正向转动,低电平反向转动; K3开关做为单四拍 四相八拍选择键,高电平 开关做为单四拍/四相八拍选择键 开关做为单四拍 四相八拍选择键, 工作在单四拍方式, 工作在单四拍方式,低电平工作于四相八拍方 各运行状态分别用LED灯进行指示。图2 灯进行指示。 式;各运行状态分别用 灯进行指示 3、自行设计实验,通过 、自行设计实验,通过K4~K7开关来给定步 开关来给定步 程序运行时, 数。程序运行时,在数码管上显示出当前步进 电机走过的步数(或余下的步数)。 电机走过的步数(或余下的步数)。
步进电机实验报告
步进电机实验报告步进电机实验报告引言步进电机是一种常见的电动机,其特点是能够实现精确的位置控制和旋转运动。
本实验旨在通过对步进电机的实际操作,深入了解其工作原理和应用。
一、实验目的本实验的目的是通过实际操作步进电机,了解步进电机的基本结构和工作原理,掌握步进电机的控制方法,并能够利用步进电机实现简单的运动控制。
二、实验仪器和材料1. 步进电机:本实验使用4相5线式步进电机。
2. 电机驱动器:采用常用的双H桥驱动器。
3. 控制器:使用Arduino开发板作为控制器。
4. 电源:提供步进电机和驱动器所需的电源。
5. 连接线:用于连接各个部件。
三、实验原理步进电机是一种通过控制电流方向和大小来实现旋转运动的电机。
它由定子和转子组成,定子上布有若干个电磁线圈,转子上有若干个磁极。
当电流依次通过定子上的线圈时,会产生磁场,与转子上的磁极相互作用,从而使转子旋转一定的角度。
四、实验步骤1. 连接电路:将步进电机、驱动器和控制器按照电路图连接起来。
2. 编写控制程序:使用Arduino开发板编写控制程序,通过控制引脚输出高低电平来控制电机的旋转方向和步进角度。
3. 上传程序:将编写好的控制程序上传到Arduino开发板中。
4. 运行实验:通过调用控制程序中的函数,控制步进电机的旋转运动。
五、实验结果与分析在实验中,我们通过编写控制程序,成功控制步进电机的旋转运动。
通过改变控制程序中的参数,我们可以控制电机的旋转方向、速度和步进角度。
实验结果表明,步进电机可以实现较为精确的位置控制,适用于一些对运动精度要求较高的应用场景。
六、实验总结通过本次实验,我们深入了解了步进电机的工作原理和控制方法。
步进电机作为一种常见的电动机,具有精确的位置控制和旋转运动的特点,在工业自动化和机器人领域有着广泛的应用。
掌握步进电机的原理和控制方法,对于我们今后的学习和工作具有重要的意义。
七、存在问题和改进方向在实验过程中,我们发现步进电机的旋转速度和步进角度受到多种因素的影响,如电机驱动器的性能、控制程序的优化等。
实验二 步进电机控制实验
实验二步进电机控制实验一、实验目的1、熟悉PLC编程软件的使用。
2、了解运动控制系统的组成结构。
3、掌握步进电机驱动器的使用。
4、掌握步进电机控制的PLC程序的编写。
二、实验设备1、安装有WINDOWS操作系统的PC机一台(具有STEP 7 MicroWIN软件)2、立体车库实验系统一台3、PLC编程电缆一根三、实验要求1、通过手动按钮控制X轴的左右移动。
2、通过手动按钮控制Y轴的上下移动。
3、通过手动按钮控制Z轴的伸出与缩回。
四、端口分配及接线图17I2.0 X轴限位218I2.1 Y轴限位119I2.2 Y轴限位220Q0.0 X步进电机脉冲信号输入正端21Q0.1 Y步进电机脉冲信号输入正端22Q0.2 X步进电机方向信号输入正端23Q0.3 Y步进电机方向信号输入正端24Q0.4 X步进电机工作指示灯25Q0.5 Y步进电机工作指示灯26Q0.6 Z轴电机前进27Q0.7 Z轴电机后退2.接线图(西门子)五、实验步骤1、使用STEP 7 MicroWIN编写PLC控制X步进电机、Y步进电机和Z轴电机正反转运行的控制程序。
2、定义控制按钮:“X/取”(I0.3)按钮控制X轴的移动;“Y/放”(I0.4)按钮控制Y轴的移动;“方向”按钮用来切换X轴和Y轴的移动方向;“操作”按钮控制气缸的伸出或缩回,Z轴电机作伸出还是缩回运动根据铲架限位开关的位置来判断和设计程序。
3、PC与PLC按正确方式连接。
4、PLC的工作状态开关放在“STOP”。
5、据实验要求的情况下,按下述要求编写程序,并将程序运行通过。
六、参考程序按照X步进电动机控制要求内容,参考程序如下:。
实验5步进电机控制
实验五PWM配置及步进电机控制一、实验目的1. 了解步进电机驱动原理;2. 了解步进电机的控制原理;3. 熟悉使用PWM控制步进电机的运行。
二、实验主要内容1. DSP的初始化;2. ePWM模块初始化与配置;3. 步进电机的驱动程序。
三、实验基本原理1. 步进电机的驱动:图1 是单极性步进电机驱动的典型电路,图中的方块为驱动开关。
针对SEED-DEC 中直流电机系统的动作要求,步进电机驱动电路设计思路如下:1)电机采用15V直流电源供电;2)4路控制信号由DSP提供,信号为CMOS标准电平,通过排线接入并下拉;3)使用达林顿管TIP31C代替IRL549作为电机驱动开关,基级串接100欧电阻减小MOS管的寄生震荡;4)使用快速二极管IN4007完成保护功能,以免电机换向时烧毁电机;图 1 步进电机驱动电路2. 步进电机的控制一般分为四相四拍与四相八拍两种方式,其中前者称为全步,后者称为半步。
步进电机在这个实验中选择的时M35SP-7N,其步进角为7.5°,是一种单极性步进电机。
它的结构如图2:图 2 步进电机结构四、实验过程和关键程序解读1. 启动CCS,进入CCS的操作环境,并导入stepmotor工程。
2. 加载stepmotor工程,添加xml文件3. 阅读源代码1)初始化系统控制寄存器与要使用的GPIO:2)关中断、初始化PIE、初始化PIE向量表3)关ePWM时钟,配置后打开时钟,并更新中断向量表4)ePWM初始化函数(以EPwm1为例):EPWM2的其他配置与1相同,不用的在于一些事件产生的动作不同:其产生的pwm波为CMPAABCD线圈按照ACBD的次序导通步进电机接线示意图(2b-A、1b-B、1a-C、2a-D):则步进电机顺时针旋转4. 按照老师要求修改源代码1)改变步进电机的转速在使用直流电机时,通常是用占空比来调节转速的,但是在步进电机中,是通过改变PWM的频率来调整的,因为在一个PWM周期中,步进电机改变的相位是一样的,所以PWM频率越高,改变相同相位就越快,所以转速也越快,程序中我们只需改变TBPRD的值即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
步进电机控制实验
一、实验目的:
了解步进电机工作原理,掌握用单片机的步进电机控制系统的硬件设计方法,熟悉步进电机驱动程序的设计与调试,提高单片机应用系统设计和调试水平。
二、实验内容:
编写并调试出一个实验程序按下图所示控制步进电机旋转:
三、工作原理:
步进电机是工业过程控制及仪表中常用的控制元件之一,例如在机械装置中可以用丝杠把角度变为直线位移,也可以用步进电机带螺旋电位器,调节电压或电流,从而实现对执行机构的控制。
步进电机可以直接接收数字信号,不必进行数模转换,用起来非常方便。
步进电机还具有快速启停、精确步进和定位等特点,因而在数控机床、绘图仪、打印机以及光学仪器中得到广泛的应用。
步进电机实际上是一个数字/角度转换器,三相步进电机的结构原理如图所示。
从图中可以看出,电机的定子上有六个等分磁极,A、A′、B、B′、C、C ′,相邻的两个磁极之间夹角为60o,相对的两个磁极组成一相(A-A′,B-B′,C-C′),当某一绕组有电流通过时,该绕组相应的两个磁极形成N极和S极,每个磁极上各有五个均匀分布矩形小齿,电机的转子上有40个矩形小齿均匀地分布的圆周上,相邻两个齿之间夹角为9°。
当某一相绕组通电时,对应的磁极就产生磁场,并与转子形成磁路,如果这时定子的小齿和转子的小齿没有对齐,则在磁场的作用下,转子将转动一定的角度,使转子和定子的齿相互对齐。
由此可见,错齿是促使步进电机旋转的原因。
三相步进电机结构示意图
例如在三相三拍控制方式中,若A相通电,B、C相都不通电,在磁场作用下使转子齿和A相的定子齿对齐,我们以此作为初始状态。
设与A相磁极中心线对齐的转子的齿为0号齿,由于B相磁极与A相磁极相差120°,不是9°的整数倍(120÷9=40/3),所以此时转子齿没有与B相定子的齿对应,只是第13号小齿靠近B相磁极的中心线,与中心线相差3°,如果此时突然变为B相通电,A、C相不通电,则B相磁极迫使13号转子齿与之对齐,转子就转动3°,这样使电机转了一步。
如果按照A→B→C的顺序轮流通电一周,则转子将动9°。
步进电机的运转是由脉冲信号控制的,传统方法是采用数字逻辑电路——环形脉冲分配器控制步进电机的步进。
下图为环形脉搏冲分配器的简化框图。
三相六拍环形脉搏冲分配器
1、运转方向控制。
如图所示,步进电机以三相六拍方式工作,若按A→AB→B→BC→C→CA→A次序通电为正转,则当按A→AC→C→CB→B→BA→A次序通电为反转。
2、运转速度的控制。
图中可以看出,当改变CP脉冲的周期时,ABC三相绕组高低电平的宽度将发生变化,这就导致通电和断电时速率发生了变化,使电机转速改变,所以调节CP脉冲的周期就可以控制步进电机的运转速度。
3、旋转的角度控制。
因为每输入一个CP脉冲使步进电机三相绕组状态变化一次,并相
应地旋转一个角度,所以步进电机旋转的角度由输入的CP脉冲数确定。
单片机实验仪选用的是20BY-0型4相步进电机,其工作电压为4.5V,在双四拍运行方式时,其步距角为18O ,相直流电阻为55Ω,最大静电流为80Ma。
采用8031单片机控制步进电机的运转,按四相四拍方式在P1口输出控制代码,令其正转或反转。
因此P1口输出代码的变化周期T控制了电机的运转速度:n=60/T.N
式中:n ——步进电机的转速(转/分);
N ——步进电机旋转一周需输出的字节数;
T ——代码字节的输出变化周期。
设N=360°/ 18°=20,T=1.43ms,则步进电机的转速为2100转/分。
控制P1口输出的代码字节个数即控制了步进电机的旋转角度。
正方向: A B C D
反方向: A D C B
四、接线图案:
根据步进电机工作原理,使用8031的 P1.0-P1.3分别驱动步进电机A、B、C、D相,用软件控制P1口输出一脉冲序列,控制步进电机转速、方向、步距。
同时为能观察步进电机旋转状态,在A、B、C、D相输出到状态指示灯。
五、实验步骤:
1、“总线插孔”区的P1.0-P1.3孔接步进电机的BA-BD孔,“发光二极管组”的L0-L3孔接步进电机A、B、C、D孔。
P1.7孔连L7。
2、编写程序、编译程序。
用单步、全速断点、连续方式调试程序,观察数码管上数字变化,检查程序运行结果,观察步进电机的转动状态,连续运行时用示波器测试P1口的输出波形,排除软件错误,直至达到本实验的设计要求。
六、程序框图:
MOV 42H,#0C8H ;42H为延时计数器
MLP0: MOV R6,42H ;调用延时200MS子程序
MLP9: LCALL DEL
DJNZ R6,MLP9
DEC 42H
LCALL STEPS ;调用步进子程序
DJNZ R7,MLP0 ;以上为加速程序
MOV R7,#64H ;以下为恒速程序
MLP1: MOV R6,42H
MLPX: LCALL DEL
DJNZ R6,MLPX
LCALL STEPS
DJNZ R7,MLP1
MOV R7,#64H ;以下为减速程序
MLP2: MOV R6,42H
MLPY: LCALL DEL
DJNZ R6,MLPY
LCALL STEPS
INC 42H
DJNZ R7,MLP2
CPL 7
LJMP MLP
STEPS:INC 20H ;正反转步进子程序
ANL 20H,#83H
MOV A,20H
ANL A,#3
JB 7,STPSC
MOV DPTR,#FTAB
SJMP STPW
STPSC:MOV DPTR,#CTAB
STPW: MOVC A,@A+DPTR
MOV P1,A
RET
FTAB: DB 0F3H,0F6H,0FCH,0F9H
CTAB: DB 79H,7cH,76H,73H
DEL: MOV R5,#0 ;延时子程序
DEL0: DJNZ R5,DEL0
RET
END ; “验证式”实验七* * 步进电控制机 ORG 0000H
STRT: MOV SP,#6FH ;初始化
MOV 20H,#0 ;状态寄存器清零
MOV P1,#0F1H ;正转A相通电
MLP: MOV R7,#64H ;R7为步计数器,正转100步
MOV 42H,#0C8H ;42H为延时计数器
MLP0: MOV R6,42H ;调用延时200MS子程序
MLP9: LCALL DEL
DJNZ R6,MLP9
DEC 42H
LCALL STEPS ;调用步进子程序
DJNZ R7,MLP0 ;以上为加速程序
MOV R7,#64H ;以下为恒速程序
MLP1: MOV R6,42H
MLPX: LCALL DEL
DJNZ R6,MLPX
LCALL STEPS
DJNZ R7,MLP1
MOV R7,#64H ;以下为减速程序MLP2: MOV R6,42H
MLPY: LCALL DEL
DJNZ R6,MLPY
LCALL STEPS
INC 42H
DJNZ R7,MLP2
CPL 7
LJMP MLP
STEPS:INC 20H ;正反转步进子程序 ANL 20H,#83H
MOV A,20H
ANL A,#3
JB 7,STPSC
MOV DPTR,#FTAB
SJMP STPW
STPSC:MOV DPTR,#CTAB
STPW: MOVC A,@A+DPTR
MOV P1,A
RET
FTAB: DB 0F3H,0F6H,0FCH,0F9H
CTAB: DB 79H,7cH,76H,73H
DEL: MOV R5,#0 ;延时子程序
DEL0: DJNZ R5,DEL0
RET
END。