步进电机控制实验实验报告及程序

合集下载

步进电机实验报告册(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转/分钟。

步进电机控制实训报告

步进电机控制实训报告

一、实训背景随着科技的飞速发展,步进电机在工业自动化、精密定位、医疗设备等领域得到了广泛的应用。

为了深入了解步进电机的原理和应用,提高自身的动手实践能力,我们进行了步进电机控制实训。

二、实训目标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. 掌握步进电机的控制方法;3. 学会步进电机的调速方法;4. 熟悉步进电机的应用领域。

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

步进电机的工作原理基于电磁感应原理,当给步进电机绕组施加一定频率和幅值的脉冲信号时,步进电机绕组会产生相应的磁通,从而驱动转子旋转。

三、实验设备及器材1. 步进电机一台;2. 步进电机驱动器一台;3. 微控制器(如Arduino)一台;4. 电源供应器一台;5. 连接线若干;6. 电阻、电容等电子元件。

四、实验步骤1. 步进电机连接:将步进电机与步进电机驱动器连接,确保电源、控制线连接正确;2. 微控制器连接:将微控制器与步进电机驱动器连接,确保通信接口连接正确;3. 编写程序:编写控制步进电机的程序,实现以下功能:(1)设置步进电机的转速;(2)设置步进电机的旋转方向;(3)设置步进电机的旋转角度;(4)实现步进电机的正转、反转、停止等功能;4. 程序下载:将编写好的程序下载到微控制器中;5. 步进电机测试:启动程序,观察步进电机的运行情况,调整参数,使步进电机满足实验要求。

五、实验结果与分析1. 步进电机转速测试:通过调整程序中的参数,可以控制步进电机的转速。

实验结果表明,步进电机的转速与输入脉冲频率成正比,与输入脉冲幅值无关;2. 步进电机旋转方向测试:通过改变程序中的参数,可以控制步进电机的旋转方向。

实验结果表明,步进电机的旋转方向与输入脉冲的极性有关;3. 步进电机旋转角度测试:通过改变程序中的参数,可以控制步进电机的旋转角度。

实验结果表明,步进电机的旋转角度与输入脉冲的数量成正比;4. 步进电机正转、反转、停止测试:实验结果表明,步进电机可以按照程序的要求实现正转、反转和停止功能。

六、实验总结1. 步进电机是一种精度高、控制简单的电机,在工业、医疗、自动化等领域有广泛的应用;2. 通过微控制器可以实现对步进电机的精确控制,包括转速、旋转方向和旋转角度等;3. 步进电机的调速方法主要有脉冲频率调节和脉冲幅值调节两种;4. 在实验过程中,要注意安全操作,防止发生意外事故。

步进电机控制实验报告

步进电机控制实验报告

步进电机控制实验报告一、实验要求利用P0输出脉冲序列,74LS244输入开关量,开关K2-K8控制步进电机转换(分6挡),K0、K1控制步进电机转向。

必须要K2-K8中一开关和K0、K1中一开关同时为‘1’时步进电机才启动,其他情况步进电机不工作。

步进电机驱动原理是通过对它每线圈中的电流的顺序切换来使电机作步进式旋转。

驱动电路又脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。

微电脑控制步进电机最合适。

二、试验目的1、了解步进电机控制的基本原理。

2、掌握控制步进电机转动编程方法。

三、步进电机工作原理步进电机是将给定的电脉冲信号转变为角位移或线位移的开环控制元件。

给定一个电脉冲信号,步进电机转子就转过相应的角度,这个角度就称作该步进电机的步距角。

目前常用步进电机的步距角大多为1.8度(俗称一步)或0.9度(俗称半步)。

以步距角为0.9度的进步电机来说,当我们给步进电机一个电脉冲信号,步进电机就转过0.9度;给两个脉冲信号,步进电机就转过1.8度。

以此类推,连续给定脉冲信号,步进电机就可以连续运转。

由于电脉冲信号与步进电机转角存在的这种线性关系,使得步进电机在速度控制、位置控制等方面得到了广泛的应用。

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

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

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

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

步进电机的控制实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

控制步进电机实验报告(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)根据需要调整程序,实现不同的控制效果。

plc步进电机控制实验报告

PLC步进电机控制实验报告引言在工业控制领域中,步进电机是一种常用的驱动设备。

为了实现对步进电机的精确控制,我们采用了PLC(可编程逻辑控制器)作为控制器。

本文将详细介绍PLC步进电机控制实验的步骤和结果。

实验目的本实验旨在通过PLC控制步进电机,实现对电机运动的精确控制。

具体实验目标如下: 1. 学习PLC的基本原理和编程方法; 2. 掌握步进电机的工作原理及其控制方法; 3. 设计并实施一个简单的步进电机控制系统。

实验设备本实验使用的设备包括: - PLC控制器 - 步进电机 - 电源 - 开关 - 传感器实验步骤步骤一:PLC编程1.打开PLC编程软件,并创建一个新的项目。

2.配置PLC的输入输出模块,并设置相应的IO口。

3.编写PLC的控制程序,实现对步进电机的控制逻辑。

4.调试程序,确保程序的正确性。

步骤二:步进电机的接线1.将步进电机的驱动器与PLC的输出模块连接。

2.将步进电机的电源与PLC的电源模块连接。

3.连接步进电机的传感器,以便监测电机的运动状态。

步骤三:实验验证1.通过PLC的编程软件,将编写好的程序下载到PLC控制器中。

2.打开PLC电源,确保PLC控制器正常工作。

3.通过PLC的输入模块输入控制信号,观察步进电机的运动情况。

4.通过传感器监测步进电机的运动状态,并与编写的控制程序进行比较。

实验结果通过本次实验,我们成功实现了对步进电机的精确控制。

控制程序的设计使步进电机按照预定的速度和方向运动,并且可以根据需要随时改变运动状态。

同时,通过传感器的监测,我们可以及时获取步进电机的运动信息,确保系统的稳定性和安全性。

实验总结本实验通过PLC控制步进电机,深入了解了PLC编程的基本原理和步进电机的工作原理。

通过实践,我们掌握了PLC编程的方法和步进电机控制的技巧。

在实际应用中,PLC控制步进电机具有广泛的应用前景,可以在自动化生产线、机械加工等领域中发挥重要作用。

参考文献[1] PLC步进电机控制实验教学单元.(2018)。

步电机控制实验报告

一、实验目的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)。

实验九步进电机控制实验姓名专业通信工程学号成绩一、实验目的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是集成达林顿管反相驱动电路,内部还集成了一个消线圈反电动势的二极管,可用来驱动电机、继电器等功率器件。

它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,其引脚排列如下:五、实验步骤1.用Proteus设计四相六线步进电机控制电路;2.在Keil C51中编写步进电机正反转控制程序,编译通过后,与Proteus联合调试;3.启动仿真,观察步进电机转动是否正常;4.用Proteus设计可调速步进电机控制电路,仿真调试、运行程序并查看效果。

mZr360︒=θ六、电路设计、调试及程序1)实验电路2)实验程序程序1:#include<reg51.h>sbit A1=P1^0; //定义步进电机连接端口sbit B1=P1^1;sbit C1=P1^2;sbit D1=P1^3;#define Coil_A1 {A1=1;B1=0;C1=0;D1=0;}//A相通电,其他相断电#define Coil_B1 {A1=0;B1=1;C1=0;D1=0;}//B相通电,其他相断电#define Coil_C1 {A1=0;B1=0;C1=1;D1=0;}//C相通电,其他相断电#define Coil_D1 {A1=0;B1=0;C1=0;D1=1;}//D相通电,其他相断电#define Coil_OFF {A1=0;B1=0;C1=0;D1=0;}//全部断电bit flag;unsigned char Speed,count;/*------------------------------------------------uS延时函数------------------------------------------------*/void DelayUs2x(unsigned char t){while(--t);}/*------------------------------------------------mS延时函数------------------------------------------------*/void DelayMs(unsigned char t){while(t--){//大致延时1mSDelayUs2x(245);DelayUs2x(245);}}/*------------------------------------------------主函数------------------------------------------------*/void main(){TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;Speed=50; //调整速度while(1){Coil_OFFwhile(flag){Coil_D1DelayMs(Speed);Coil_C1DelayMs(Speed);Coil_B1DelayMs(Speed);Coil_A1DelayMs(Speed);}Coil_OFFwhile(!flag){Coil_A1 //遇到Coil_A1 用{A1=1;B1=0;C1=0;D1=0;}代替DelayMs(Speed); //改变这个参数可以调整电机转速 ,//数字越小,转速越大,力矩越小 Coil_B1DelayMs(Speed);Coil_C1DelayMs(Speed); Coil_D1DelayMs(Speed); }}}void time0(void) interrupt 1 {TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;if(count>=200){count=0;flag=!flag;}}程序2:#include <reg51.h>sbit A1=P1^0; //定义步进电机连接端口sbit B1=P1^1;sbit C1=P1^2;sbit D1=P1^3;#define Coil_A1 {A1=1;B1=0;C1=0;D1=0;}//A相通电,其他相断电#define Coil_B1 {A1=0;B1=1;C1=0;D1=0;}//B相通电,其他相断电#define Coil_C1 {A1=0;B1=0;C1=1;D1=0;}//C相通电,其他相断电#define Coil_D1 {A1=0;B1=0;C1=0;D1=1;}//D相通电,其他相断电#define Coil_OFF {A1=0;B1=0;C1=0;D1=0;}//全部断电unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x9 9,0x92,0x82,0xf8,0xff};unsigned char Speed;unsigned char i=4;bit flag,flag1;/*------------------------------------------------uS延时函数------------------------------------------------*/void DelayUs2x(unsigned char t) {while(--t);}/*------------------------------------------------mS延时函数------------------------------------------------*/ void DelayMs(unsigned char t) {while(t--){//大致延时1mSDelayUs2x(245);DelayUs2x(245);}}/*------------------------------------------------主函数------------------------------------------------*/void main(){P2=0xff;EA=1;EX0=1;IT0=1;EX1=1;IT1=1;ET0=1;TR0=1;ET1=1;TR1=1;IP=0x08;TMOD=0X66;TH0=0xff;TL0=0xff;TH1=0xff;TL1=0xff;Speed=80;while(1){while(flag1==1){while(!flag1){P2=table[8];P1=0x0 0;if(flag1==1){P2=table[4];}} if(i==4){P2=table[4];}Coil_OFFwhile(flag) //正向{while(!flag1){P2=table[8];P1=0x0 0;if(flag1==1){P2=table[4];}} Coil_A1DelayMs(Speed);Coil_B1DelayMs(Speed);Coil_C1DelayMs(Speed);Coil_D1DelayMs(Speed);}while(!flag1){P2=table[8];P1=0x0 0;if(flag1==1){P2=table[4];}} Coil_OFFwhile(!flag)//反向{while(!flag1){P2=table[8];P1=0x0 0;if(flag1==1){P2=table[4];}} Coil_A1DelayMs(Speed);Coil_D1DelayMs(Speed);Coil_C1DelayMs(Speed);Coil_B1DelayMs(Speed);}}while(!flag1){P2=table[8];P1=0x0 0;if(flag1==1){P2=table[4];}} }}void INT_0(void) interrupt 0 {if(flag1==1){DelayMs(10); if(!INT0){flag=!flag;}}}void INT_1() interrupt 2{if(flag1==1){EX1=0;DelayMs(20);EX1=1;if(Speed==50);else{Speed=Speed-10;P2=table[++i];}}}void INT_time0() interrupt 1 {if(flag1==1){if(Speed==110);else{Speed=Speed+10;P2=table[--i];}}}void INT_time1(void) interrupt 3 {flag1=!flag1;if(flag1==0)Speed=80;i=4;}七、实验问题、解决及总结本次实验主要学习了对步进电机的具体控制,包括电机正反转、电机转速的调整等。

相关文档
最新文档