将步进电机与ARM7-LPC2148连接起来的方法

发布时间:2023-02-09  

在当今的自动化世界中,步进电机和伺服电机是嵌入式系统中最常用的两种电机。两者都用于各种自动化机器,如机械臂、CNC 机器、相机等。在本教程中,我们将了解如何将步进电机与 ARM7-LPC2148 连接以及如何控制它的速度。


步进电机

步进电机是无刷直流电机,可以小角度旋转,这些角度称为步进。我们可以通过向其引脚提供数字脉冲来逐步旋转步进电机。步进电机价格便宜且设计坚固。电机的速度可以通过改变数字脉冲的频率来控制。

pYYBAGMtc3KAOIR1AAA5saEfR0g545.jpg

根据定子绕组的类型,有两种类型的步进电机可用: 单极 和 双极。这里我们使用的是最常用的步进电机UNIPOLAR步进电机。要旋转步进电机,我们需要按顺序为步进电机的线圈通电。根据旋转操作,它们分为两种模式:

全步模式:(4步序列)

单相步进(WAVE STEPPING)

两相步进

半步模式(8 步序列)

要了解有关步进电机及其操作的更多信息,请点击链接。

使用 ARM7-LPC2148 旋转步进电机

pYYBAGMtc3aAHHeEAACKtPpkgRI919.jpg

在这里,我们将使用FULL STEP: ONE PHASE ON 或 WAVE STEPPING模式使用 ARM7-LPC2148 旋转步进电机

在这种方法中,我们一次只能为一个线圈(LPC2148 的一个引脚)通电。也就是说,如果第一个线圈A通电一小段时间,轴将改变其位置,然后线圈B同样通电,轴将再次改变其位置。与此相同,线圈 C 和线圈 D 通电以进一步移动轴。这使得步进电机的轴通过一次激励一个线圈来逐步旋转。


通过这种方法,我们通过依次为线圈通电来逐步旋转轴。这被称为四步序列,因为它需要四个步骤。


您可以根据下面给出的值使用半步法(8 序列法)旋转步进电机。

pYYBAGMtc0CAJLN9AAASNtlO03Y685.png

所需组件

硬件:

ARM7-LPC2148

ULN2003电机驱动IC

LED – 4

步进电机 (28BYJ-48)

面包板

连接线

软件:

凯尔uVision5

Flasic 魔法工具

步进电机 (28BYJ-48)

28BYJ-48步进电机已如上图所示。它是一个 单极步进 电机,需要 5V 电源。该电机采用 4 线圈单极排列,每个线圈的额定电压为 +5V,因此使用任何微控制器(如 Arduino、Raspberry Pi、STM32、ARM 等)都相对容易控制。


但是我们需要一个像 ULN2003 这样的电机驱动 IC 来驱动它,因为步进电机消耗大电流并且可能会损坏微控制器。


28BYJ-48 的规格在以下数据表中提供:

poYBAGMtczqAUrpMAAEmaKWpAaY107.png

ULN2003步进电机驱动器

大多数 步进电机 只能在驱动模块的帮助下运行。这是因为控制器模块(在我们的例子中为 LPC2148)将无法从其 I/O 引脚提供足够的电流以供电机运行。所以我们将使用像 ULN2003 模块这样的外部模块作为 步进电机驱动器。


在这个项目中,我们将使用 ULN2003 电机驱动器 IC。IC的管脚图如下:

poYBAGMtcy6AEUZTAACrAvkk0VA402.png

引脚(IN1 至 IN7)是用于连接微控制器输出的输入引脚,OUT1 至 OUT7 是用于连接步进电机输入的相应输出引脚。COM 提供输出设备和外部电源输入源所需的正电源电压。

电路原理图

下面给出了将步进电机与 ARM-7 LPC2148 连接的电路图

poYBAGMtcyqAfIORAAF6MkRiagg668.pngpYYBAGMtc3mAUlAIAACnXpVq_Mo905.jpg

带有 ULN2003 电机驱动器 IC 的 ARM7-LPC2148

LPC2148 的 GPIO 引脚(P0.7 至 P0.10)被视为与 ULN2003 IC 的输入引脚(IN1-IN4)相连的输出引脚。

poYBAGMtcySAH1SKAAAP0AgK3UU204.png

ULN2003 IC与步进电机的连接(28BYJ-48)

ULN2003 IC 的输出引脚 (OUT1-OUT4) 连接到步进电机引脚(蓝色、粉色、黄色和橙色)。

poYBAGMtcx2ABUqSAAAQY17bj-8315.png

ULN2003 的 IN1 到 IN4 的 LED

四个 LED(LED1、LED2、LED4、LED 4)阳极引脚分别与 ULN2003 的引脚 IN1、IN2、IN3 和 IN4 连接,LED 的阴极连接到 GND,用于指示来自 LPC2148 的脉冲。我们可以注意到所提供的脉冲模式。模式显示在最后附上的演示视频中。

为步进电机编程 ARM7-LPC2148

要对 ARM7-LPC2148 进行编程,我们需要 keil uVision 和 Flash Magic 工具。我们正在使用 USB 电缆通过微型 USB 端口对 ARM7 Stick 进行编程。我们使用 Keil 编写代码并创建一个 hex 文件,然后使用 Flash Magic 将 HEX 文件闪存到 ARM7 棒。

使用 ARM 7 控制步进电机的完整代码 在本教程的末尾给出,这里我们解释它的几个部分。

1.为了使用完整的 STEP-ONE PHASE ON方法,我们需要包含以下命令。所以我们在程序中使用下面这行

无符号字符顺时针[4] = {0x1,0x2,0x4,0x8};//顺时针旋转命令
unsigned char antilateral[4] = {0x8,0x4,0x2,0x1}; //逆时针旋转命令
2.以下行用于将 PORT0 引脚初始化为输出并将它们设置为 LOW

PINSEL0 = 0x00000000;//设置PORT0引脚
IO0DIR |= 0x00000780; //设置引脚P0.7、P0.8、P0.9、P0.10为OUTPUT
IO0CLR = 0x00000780; //设置P0.7、P0.8、P0.9、P0.10引脚输出为低
3.通过使用此for循环延迟,根据顺时针命令将 PORT 引脚(P0.7 至 P0.10)设置为高电平

for (int j=0; j {
for(int i=0; i<4;i++)
{
IOPIN0 = 顺时针[i]<<7; // 左移后将引脚值逐一设置为 HIGH
delay(0x10000); //改变这个值来改变旋转速度
}
}
Anti-clock Wise 也一样

for (int z=0;z {
for(int i=0; i<4;i++)
{
IOPIN0 =逆时针[i]<<7;
延迟(0x10000);//改变这个值来改变旋转速度
}
}
4.改变延迟时间改变步进电机的转速

延迟(0x10000);//更改此值以更改旋转速度
(0x10000)-全速
(0x50000)-变慢
(0x90000)-比以前变慢。因此,通过增加延迟,我们降低了旋转速度。
5.一整圈的步数可以用下面的代码改变

int no_of_steps = 550; //将此值更改为所需的旋转步数(550 为一个完整的旋转)
对于我的步进电机,完全旋转有 550 步,半旋转有 225 步。所以根据你的要求改变它。

6.此功能用于创建延迟时间。

void delay(unsigned int value) //产生延迟的函数
{
unsigned int z;
for(z=0;z}


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    步进电机怎么接线_步进电机正反转接线图;  步进电机四根线怎么接   随着步进电机的应用越来越广泛,生产的厂家也随之多了起来,一些小品牌出的步进电机,也没有一些说明书,图纸这些,从而导致了,一部分小白不会接线......
    +,B-,然后就是485进行对插就可以了,但是还是有很多的师傅不知道该怎么接驱动器,怎么接线到PLC,今天我们讲解下整个接线过程。 步进电机与驱动器接线连接。 步进电机出来的线有4根,5根、6根......
    这些公司往往要问客户,希望电机接成串联的还是并联的。以往当8线步进电机标成四相时,客户自然会认为四相电机和两相驱动器不匹配,因此很多公司干脆将四相步进电机和两相步进电机均标成两相。   两相电机电容器怎么接   有正......
    超载或者失步现象。另外,步进电机使用过程中也要注意保持清洁、避免油污、灰尘等物质进入电机内部,影响电机运转。   步进电机的使用方法一般包括以下几个方面:   1、接线:根据步进电机......
    步进电机的使能信号的作用和接线方法;  步进电机的使能信号是控制步进电机启停的信号。通常情况下,步进电机的驱动器会提供一个使能信号输入端口,当该输入端口处于使能状态时,步进电机......
    驱动器的电源,假如在我们的步进电机使用直流24V供电可以与表控共用一个开关电源来供电。 第二步、来看一下连接步进电机驱动器与表控的控制接线: 1、将步进电机......
    方式因不同的驱动器类型而有所不同,一般需要查看驱动器的接线图或者说明书。   使能控制接线:驱动器一般都有一个使能控制线,通过控制该线可以使步进电机的驱动器进入或退出工作状态,需要注意正确连接。   信号输入接线......
    单片机: ①输出脉冲到TB6600驱动器PUL端口,从而控制步进电机转动 ②控制TB6600驱动器ENA端口,从而控制步进电机使能 ③控制TB6600驱动器DIR端口,从而控制步进电机转动方向 2.2......
    转动控制,并实现电机S型曲线的加减速控制。 步进电机基本知识 步进电机根据接线关系分为双极性和单极性,单极性两组线圈中间有抽头,接电源;而双极性的线圈中间无抽头。本次实验采用双极性42步进电机,24V......
    怎么选择到合适的步进电机驱动器?;怎么选择到合适的步进电机驱动器?正常情况下,在电机已经确认的情况下,我们主要根据电机的额定电流、额定电压等参数来选择驱动器。具体原则如下: 1、电压......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>