技术文档

单片机直接驱动电机 单片机控制步进电机的应用实例

小编 2025-08-04 技术文档 23 0

单片机控制步进电机的应用实例

【例9-3】 采用1-2 相励磁法实现电机的正转控制。

单片机的I/O口驱动电流较小,一般无法直接驱动步进电机,图9-10采用ULN2003作为步进电机的驱动芯片,ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关状态时承受50V的电压,输出还可以在高负载电流并行运行。只需按表9-2(c)的8个步序向P1口发送数据,通过ULN2003的驱动,即可实现步进电机按1-2相励磁法正转运行。

图9-10 步进电机驱动控制电路图

C51程序如下:

提示

上面的delay( )程序可参考之前例子中的延时程序编写,这里不再重复。

利用相同的程序编写方式可以实现1相励磁和2相励磁的电机控制。

【例9-4】 步进电机的正反转控制

利用接在单片机P3.7口的开关对步进电机的正反转进行控制,当开关闭合时,步进电机正转运行,当开关断开时,步进电机反转运行。此处采用1相励磁法。步进电机正反转控制电路如图9-11所示。

图9-11 步进电机正反转控制电路图

C51程序如下:

【例9-5】 利用查表方式通过两组开关实现三种励磁状态的切换。

两组开关实现三种励磁状态切换的电路如图9-12所示。利用接在P3.0、P3.1口的两个开关的四种状态实现步进电机的1相励磁、2相励磁、1-2相励磁及停止状态的切换。开关实现步进电机运行状态切换如表9-3所示。

图9-12 两组开关实现三种励磁状态切换的电路图

表9-3 开关实现步进电机运行状态切换表

由于三种励磁状态每拍的状态均为已知,在软件设计中,可以将这些状态预先存储到3个数组当中,根据2组开关的状态去查询对应的数组即可实现步进电机励磁方式的切换。

C51程序如下:

华维实战小项目:教你如何用51单片机驱动步进电机

前言

步进电机是一种无刷电机,可将电脉冲转换为机械旋转。顾名思义,它根据输入脉冲逐步旋转,是现代数字程序控制系统中的主要执行元件。

步进电机相比其他电机来说,一般具有5个比较明显的特征:

第一,可实现精细,正确的定位

第二,可通过脉冲信号简单控制

第三,体积小型,高转矩

第四,可自行保持停止位置

第五,可进行大惯性负载

广泛应用于工业、医疗、消费电子应用。简而言之,用于任何需要精确旋转或定位对象的地方。

在单片机领域应用比较广泛,在此和大家分享一个小项目。

-操作

步进电机内部线圈原理图:

步进电机通常具有多个励磁线圈(相)和一个带齿转子。电机的步长由相数和转子上的齿数决定。步长是转子一步的角位移。比如一个步进电机有 4 相 50 个齿,则转一圈需要 50×4=200 步。因此步距角为 360/200=1.8°。

本次使用的步进电机有 4 极和一个 1/64 减速齿轮机构,用于增加扭矩。电机的步距角为 5.64°。但在考虑减速齿轮,输出轴的步距角为5.64/64°。

电路原理图:

将步进电机按照电路图连接到 8051 的P1.0、P1.1、P1.2 和 P1.3 引脚分别用于控制步进电机的 A1、A2、A3 和 A4 相。ULN2003 用于驱动步进电机的各个相位。

ULN2003 是一种达林顿晶体管阵列,用于驱动继电器和电机等大电流负载。ULN2003 有 8 个单独的通道,每个通道的容量为 1A,通道可以并联以增加电流容量。每个通道都配有单独的续流二极管,通道通过提供逻辑低电平来激活。例如,我们将 ULN2003 的引脚 1 设为低电平,则步进电机的 A1 接通。

程序设计

按照上图的引线顺序,按时序循环给A1、A2、A3、A4相应的控制。

程序首先将 P1.0 清零以启动步进电机(A1),此状态保持 65ms,然后设置 P1.0 为1以停用电机的第 1 相。然后对 P1.1 到 P1.3 重复相同的过程,并一遍又一遍地重复整个循环,使电机沿顺时针方向旋转。

将定时器 0 配置为模式 1,用于产生 65 毫秒的延迟。65ms 是每个控制脉冲的宽度。

结束

这个小项目非常简单,主要是电机控制在单片机项目中太常见了,很有必要掌握。希望通过这个分享能帮助到有需要的同学。

想要进阶单片机的同学,找我领取入门和进阶教程,加入我们,就可以与导师一对一互动,快速成长。

华维团队

专注单片机十年

物联网 丨 嵌入式 丨 单片机

相关问答

我想用 单片机驱动 一个220V 25W的 电机 。只需要正转的。 中间...

[最佳回答]可以将单片机的一个输出脚控制继电器,先设置其为高电平,继电器吸合,马达转动,延时一段时间后,设置该引脚为低电平,继电器释放,马达停止。只要调整中...

单片机 不能 直接驱动电机 怎么?

可以加中间继电器,单片机控制中间继电器,然后中间继电器控制接触器,间接达到控制的目的。可以加中间继电器,单片机控制中间继电器,然后中间继电器控制接触器,...

51 单片机驱动电机 原理?

工作原理:1.开环步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。2.工作状态非超载时,电机转速、转过的角度取决于脉冲信号的频率和脉冲数...

52 单片机 驱动 伺服 电机 吗?

可以。52单片机(指的是STC89C52单片机)本身并不具备直接驱动伺服电机的能力。伺服电机通常需要使用PWM(脉宽调制)信号来控制其位置和速度。而STC89C52单片机...

32 单片机 不使用 驱动 器能不能 驱动 步进 电机 ?

不必用驱动器但肯定要加放大电路,单片机的IO输出电流实在太小了,开发板上常用TDG2003或集电极开路的六反相器7406来驱动,也有用三个或四个三极管来驱动的大型...

步进 电机 可以直接用 单片机驱动 吗,还是必须通过驱动器?

不必用驱动器,但肯定要加放大电路,单片机的IO输出电流实在太小了,开发板上常用TDG2003或集电极开路的六反相器7406来驱动,也有用三个或四个三极管来驱动的大...

如何制作 单片机 控制步进 电机 芯片 驱动 步进 电机 电路?

步进电机驱动器一般接受的控制信号为:1、cw+ccw,即正转脉冲加反转脉冲2、pulse+dir,即脉冲加方向一般驱动器都可以兼容两种方式,即通过dip开关选择采用哪种...

单片机 驱动 器的接法?

公共正端------->单片机5V脉冲信号------->串个小电阻再接到单片机输出脉冲引脚方向信号------->串个小电阻下接到单片机输出方向引脚有上面3根线就可以控制步...

单片机 输出3.3V电压,如何 驱动 5V才能运行的步进 电机 ?

TB6560是一种很好用的驱动IC,对它的驱动要用TTL电平。STM32的工作电压是3.3V,直接驱动肯定不行,提议在TB6560的3个驱动信号中用74LS14过渡,74LS14用5V供电,...

电机驱动 模块如何与 单片机 连接?

电机驱动模块通常通过接口引脚与单片机连接,主要包括控制引脚(如PWM信号输入)、电源引脚(如VCC和GND)以及反馈引脚(如速度、电流反馈)。在连接时,需要确...

猜你喜欢