步进电机控制实验
实验八步进电机控制
实验八步进电机控制一、实验目的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)实验过程中,需要对步进电机驱动模块进行合理设计,以确保步进电机的稳定运行。
步进电机控制实训报告(3篇)
第1篇一、实训目的本次实训旨在通过实际操作,使学生掌握步进电机的原理、驱动方式及其在控制系统中的应用。
通过实训,培养学生动手能力、分析问题和解决问题的能力,提高学生对步进电机控制系统的理解。
二、实训时间2023年X月X日至2023年X月X日三、实训地点XX大学电气工程与自动化学院实验室四、实训内容1. 步进电机基本原理及驱动方式2. 步进电机驱动电路设计与搭建3. 步进电机控制系统编程与调试4. 步进电机应用案例分析五、实训过程(一)步进电机基本原理及驱动方式1. 步进电机原理:步进电机是一种将电脉冲信号转换为角位移或直线位移的电动机。
其特点是转速、转向可控,定位精度高,广泛应用于各种自动化控制系统中。
2. 步进电机驱动方式:步进电机驱动方式主要有以下几种:- 相绕组驱动:将步进电机绕组分为A、B、C三相,通过控制三相绕组的通断来实现步进电机的旋转。
- 单相驱动:只控制一个绕组,通过改变绕组中的电流方向来实现步进电机的旋转。
- 双相驱动:控制两个绕组,通过改变两个绕组中的电流方向来实现步进电机的旋转。
(二)步进电机驱动电路设计与搭建1. 驱动电路设计:根据步进电机型号和驱动方式,选择合适的驱动芯片,如A4988、DRV8825等。
设计驱动电路时,需要考虑以下因素:- 驱动芯片的选型:根据步进电机的工作电压、电流、转速等参数选择合适的驱动芯片。
- 电流限制电阻的选型:根据驱动芯片的电流限制能力,选择合适的电流限制电阻。
- 控制电路的设计:设计控制电路,实现步进电机的转速、转向控制。
2. 驱动电路搭建:根据电路设计图纸,搭建步进电机驱动电路。
主要包括以下步骤:- 搭建电源电路:为驱动芯片和步进电机提供稳定的电源。
- 搭建驱动芯片电路:连接驱动芯片与步进电机绕组。
- 搭建控制电路:连接控制电路与驱动芯片,实现步进电机的转速、转向控制。
(三)步进电机控制系统编程与调试1. 控制系统编程:根据实际需求,选择合适的编程语言和开发环境,编写步进电机控制系统程序。
步电机的实验报告(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篇)
第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. 掌握步进电机的驱动方式和控制方法;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是集成达林顿管反相驱动电路,内部还集成了一个消线圈反电动势的二极管,可用来驱动电机、继电器等功率器件。
实验六 步进电机单轴定位控制实验
步进电机单轴定位控制实验一、实验目的:1.学习和掌握步进电机及其驱动器的操作和使用方法;2.学习和掌握步进电机单轴定位控制方法;3.了解步进电机的频率特性;二、实验内容及步骤:本实验的内容是对步进电机进行单轴定位控制。
其研究对象为X轴。
控制系统原理图如图6-1所示。
其中,20GM位置控制单元,它既可实现单轴位置控制,又可实现双轴联动位置控制(本实验是对X轴进行单轴位置控制)。
图6-1 控制系统原理图实验步骤:1.学生根据图6-2接线(为安全起见,步进电机M和驱动器SH-20806C的主控电路以及PLC外围的继电器KA1、接触器KM2输出线路已接好);2.征得老师同意后,合上断路器QF1和QF2 ;3.将编程电缆连于 PLC 上,利用PC机上的编程软件“FXGP/WIN-C”向PLC输入PLC 控制程序(此时,PLC的状态开关拔向编程位置“STOP”);4.将编程电缆连于20GM上,利用PC机上的定位软件“FXVPS-E”向20GM输入定位程序(此时,20GM的状态开关拔向手动位置“MANU”);5.将PLC的状态开关拔向运行位置“RUN”,运行PLC,接触器KM2的主触头闭合,驱动器SH-20806C得电;6.将20GM的状态开关拔向自动位置“AUTO”;7.按“复位”按钮,X轴复位。
读取此时指针指向的标尺位置A ;8.按“启动”按钮,运行20GM,使X轴以1000脉冲/S的速度正向移动50MM,读取此时指针指向的标尺位置B ;9.按“停止”按钮,20GM停止运行;10.修改定位程序,重复上述4-9步,使X轴以10000脉冲/S的速度运行,观察并记录X轴运行状况;11.修改定位程序,重复上述4-9步,使X轴以200脉冲/S的速度运行,观察并记录X轴运行状况;12.将PLC左下角的拔动开关拔向编程位置“STOP”或PLC断电,接触器KM2的主触头断开,驱动器SH-20806C断电。
图6-2 控制系统接线图三.实验说明及注意事项1.在控制步进电机启动时,如果频率升得太快,步进电机就会出现失步或不动现象;另一方面,在步进电机停止之前,如果控制频率降得太快,也会出现失步或不动现象。
步进电机控制实验
步进电机控制实验
一.实验目的
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,按这种顺序切换,电机轴按顺时针方向旋转.
实验可通过不同长度的延时来的到不同频率的步进电机输入脉冲,从而的到多种步进速度. 实验流程:
五、实验电路图:。
步进机电机实验报告
一、实验目的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、熟悉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口输出的代码字节个数即控制了步进电机的旋转角度。
正方向:
反方向:
四、接线图案:
根据步进电机工作原理,使用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口的输出波形,排除软件错误,直至达到本实验的设计要求。
六、程序框图:
若将步进电机A、B、C、D相分别接到P1.4 -- P1.7,软件功能与本实验要求一致,需要修改那几处程序?
八、实验程序:
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 ; “验证式”实验七* * 步进电控制机
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。