设计与开发

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

小编 2024-10-20 设计与开发 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程序如下:

单片机控制步进电机PMW的驱动与放大

单片机实现的步进电机控制系统具有成本低、使用灵活的特点,广泛应用于数控机床、机器人,定量进给、工业自动控制以及各种可控的有定位要求的机械工具等应用领域。步进电机是数字控制电机,将脉冲信号转换成角位移,电机的转速、停止的位置取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,非超载状态下,根据上述线性关系,再加上步进电机只有周期性误差而无累积误差,因此步进电机适用于单片机控制。步进电机通过输入脉冲信号进行控制,即电机的总转动角度由输入脉冲总数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路是根据单片机产生的控制信号进行工作。因此,单片机通过向步进电机驱动电路发送控制信号就能实现对步进电机的控制。

1 系统设计原理

步进电机控制系统主要由单片机、键盘LED、驱动/放大和PC上位机等4个模块组成,其中PC机模块是软件控制部分,该控制系统可实现的功能:

1)通过键盘启动/暂停步进电机、设置步进电机的转速和改变步进电机的转向;

2)通过LED管显示步进的转速和转向等工作状态;

3)实现三相或四相步进电机的控制;

4)通过PC上位机实现对步进电机的控制(启停、转速和转向等)。为保护单片机控制系统硬件电路,在单片机和步进电机之间增加过流保护电路。图l为步进电机控制系统框图。

2 系统硬件电路设计

2.1 单片机模块

单片机模块主要由MSP430FG4618单片机及外围滤波、电源管理和晶振等电路组成。MSP430FG4618单片机内部的8 KB RAM和116 KB Flash满足控制系统的存储要求,P1和P2端口在步进电机工作过程中根据按键状态判断是否跳入中断服务程序来改变步进电机的工作状态,USART模块实现单片机和PC上位机之间的通信,实现PC机对步进电机控制。电源管理电路提供稳定的3.3 V和5 V电压,分别给单片机、晶振电路和驱动和功率放大电路供电。32 kHz晶振给单片机、键盘/显示接口器件8279和脉冲分配器PMM8713提供时钟;当采用USART模块时需开启8MHz晶振设置通信模块。图2为单片机模块结构框图。

2.2 键盘/LED模块

为实现人机对话,该系统设计扩展了3x4按钮矩阵键盘和4片8段LED数码管,可手动直接操作该控制系统。系统上电后,通过键盘输入步进电机的启停、步数转速和转向等,由LED管动态显示步进电机的转速和转向。键盘的输入和LED管的输出由8279进行控制,减少单片机工作负担。8279编程工作在键盘扫描输入方式,读入键盘时具有去抖动功能,避免误触发。图3为键盘LED模块设计结构框图。

2.3 驱动/放大模块

控制系统采用步进电机控制用的脉冲分配器(又称逻辑转换器)PMM8713,该器件是CMOS集成电路,相输出驱动能力(源电流或吸入电源)为20 mA,适用于控制三相或四相步进电机,可选择下列6种激励方式:三相步进电进:1相,2相,1-2相;四相步进电进:1相,2相,1-2相。输入方式可选择单时钟(加方向信号)和双时钟(正转或反转时钟)两种方式,具有正反转控制、初始化复位、原点监视、激励方式监视和输入脉冲监视等功能。器件PMM8713由时钟选通、激励方式控制、激励方式判断和可逆环形计数器等部分构成,所有输入端内都设有施密特电路,可提高抗干扰能力。PMM8713输出需接功率驱动电路,选用功率驱动器PMM2101,最大输出电流为1.4 A,满足驱动步进电机的要求。驱动/放大电路如图4所示。MSP430单片机通过调节PMM8713的端口1~4输入脉冲信号控制步进电机的启停、速度和转向等。

3 系统软件设计

3.1 单片机程序

利用单片机的定时器TIMER_A(TA)中断产生脉冲信号,通过在响应的中断程序中实现步进电机步数和圈数的准确计数,通过PWM实现转速控制;利用P1.0端口的中断关闭TA中断程序,并推入堆栈,停止电机;P1.1中断则开启TA中断,堆栈推入程序计数器(PC),开启电机;P3.1端口输出高电平由PMM8713的U/D端口控制电机的转向;P3.0~P3.7端口接8279的8个数据接口,当单片机扫描到矩阵键盘有键按下时,利用P2端口的中断设置TA,控制启停、调速和转向等,同时单片机反馈给8279控制LED管显示转速和转向。其程序流程如图5所示。

3.2 PC上位机模块

PC上位机模块实现PC机对步进电机的控制。利用MSP430单片机的USART模块实现与PC上位机的通信,PC机通过串口向单片机发送控制命令,实现电机控制。单片机所接收到控制命令暂存在RXBUFFER中,然后与存储在片内Flash的中断程序的入口地址相比较,相同就进入中断,实现步进电机的控制。操作该模块时需要开启8 MHz晶振为USART模块设置波特率(设置波特率为9 600)。控制软件由VB6.0编写,利用MSComm控件实现串行通讯功能。其控制软件界面如图6所示。

4 系统检测

为检验该控制系统的实际工作情况,在给定PMM2101输出工作电流的状态下采用能量转化法测得步进电机输出的最大静转矩。选取输出电流间隔0.2 A,测到步进电机最大静转矩与电流之间关系的静特性曲线,如图7所示,说明该控制系统设计较合理。

5 结论

该系统通过MSP430单片机控制步进电机运转情况,可靠性高,在电机运行时能够方便设定步进电机的启/停、转速和方向,提高步进电机的步进精度;能够控制三相或四相步进电机;由PC上位机完全控制步进电机的各种运行方式,使系统能够应用于恶劣环境中,保证人员安全,适用范围较广,且电路简单,成本较低,控制方便,移植性强,实用价值高。

相关问答

如何解决 单片机驱动电机 问题?

你的电机是多大功率的?额定电压、电流时多少?你的三极管的驱动能力是多少?Beta是多少?有两种可能,1.三极管驱动能力较差,电机需要的电流较高,这时候相当...

单片机 能直接 驱动 步进 电机 吗-牌子网

单片机能不能直接驱动步进电机,原因是单片机虽然是主要起控制作用,但其端口主要是起到信号控制作用,而不能起到功率驱动。一般单片机的I/O口的输出...

51 单片机驱动电机 原理?

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

请教电子设计高手: 单片机 +8050三极管 电机驱动 电路?

这个问题是这样的,你用单片机输出加1K电阻驱动8050,这时如果你单片机用的是5V电源,即使不考虑单片机的上拉电阻,则单片机输出的最大电流也仅为5/1000=5mA,即...

伺服 电机 怎样用 单片机 控制?

伺服电机通常需要使用反馈控制系统才能实现精确控制。下面是一个基本的伺服电机控制系统,使用单片机控制:1.选择适当的伺服电机和电子速度控制器(ESC)。ESC...

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

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

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

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

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

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

伺服 驱动 器控制伺服 电机和 plc或者 单片机 控制伺服电机有何区别?

不一定。其实,PLC从来不是伺服电机的直接控制者。伺服电机是通过伺服驱动器,或者叫做伺服放大器来驱动的。PLC通过PTO(脉冲串)或者通信(总线,串口等)的...

步进 电机 ; 单片机 ; 驱动 ;控制的英语单词是什么啊?

Step-by-stepselectricalmachinery;步进电机Monolithicintegratedcircuit;单片机Actuation;drive驱动Control控制Step-...

猜你喜欢