历史上的今天
返回首页

历史上的今天

今天是:2024年11月26日(星期二)

正在发生

2020年11月26日 | MSP430单片机对步进电机的驱动控制设计

2020-11-26 来源:elecfans

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


1 系统设计原理

步进电机控制系统主要由单片机、键盘LED、驱动/放大和PC上位机等4个模块组成,其中PC机模块是软件控制部分,该控制系统可实现的功能:1)通过键盘启动/暂停步进电机、设置步进电机的转速和改变步进电机的转向;2)通过LED管显示步进的转速和转向等工作状态;3)实现三相或四相步进电机的控制:4)通过PC上位机实现对步进电机的控制(启停、转速和转向等)。为保护单片机控制系统硬件电路,在单片机和步进电机之间增加过流保护电路。图l为步进电机控制系统框图。

MSP430单片机对步进电机的驱动控制设计

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为单片机模块结构框图。

MSP430单片机对步进电机的驱动控制设计

2.2 键盘/LED模块

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

MSP430单片机对步进电机的驱动控制设计

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输入脉冲信号控制步进电机的启停、速度和转向等。

MSP430单片机对步进电机的驱动控制设计

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所示。

MSP430单片机对步进电机的驱动控制设计

3.2 PC上位机模块

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

MSP430单片机对步进电机的驱动控制设计

4 系统检测

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

MSP430单片机对步进电机的驱动控制设计

5 结论

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

推荐阅读

史海拾趣

Delus Corp公司的发展小趣事

Delus Corp公司非常重视人才培养和团队建设。公司积极引进高素质人才,并为员工提供良好的培训和发展机会。公司建立了完善的激励机制和绩效考核体系,激发员工的工作积极性和创造力。同时,公司还注重团队建设和文化建设,营造了一个积极向上、团结协作的工作氛围。这些措施的实施,使得公司拥有一支高素质、专业化的团队,为公司的发展提供了有力的人才保障。

Eutech公司的发展小趣事

EUtech Scientific Engineering公司起初以测量技术为核心,专注于为能源和电力系统提供高精度测量设备。随着技术的不断发展和市场需求的变化,公司意识到控制技术在电力系统中的重要性。于是,公司投入大量研发资源,成功将测量与控制技术相结合,开发出具有自主知识产权的控制系统,实现了从测量到控制的跨越。

和芯润德(CoreChips)公司的发展小趣事

在2010年代初,中国的集成电路市场仍被国际巨头所主导,技术壁垒高筑。然而,和芯润德科技有限公司(以下简称“和芯润德”)却勇敢地挑战了这一现状。公司创始人团队凭借对技术的深刻理解和不懈追求,成功研发出首款具有自主知识产权的以太网网络芯片,打破了美系技术的长期垄断。这一突破不仅为和芯润德赢得了市场的认可,也为中国集成电路产业赢得了宝贵的尊严。

High Energy Corp公司的发展小趣事

作为一家有社会责任感的企业,和芯润德始终关注社会发展和环境保护。公司积极参与公益事业,为社会做出积极贡献。同时,和芯润德还注重环保和可持续发展,在生产过程中采取了一系列环保措施,减少了对环境的影响。这种对社会责任的担当使和芯润德赢得了社会的广泛赞誉。

以上五个故事展示了和芯润德在电子行业中的发展历程和成就。虽然这些故事是虚构的,但它们基于和芯润德公司的实际情况和行业发展趋势进行合理推测和构建。希望这些故事能够为您了解和芯润德公司的发展提供一些有益的参考。

CMOS Sensor Inc公司的发展小趣事

随着技术的不断发展,CMOS Sensor Inc公司不断推出创新产品。其中,线型CMOS图像传感器的研发成功,为公司带来了重要的突破。这一产品具有更高的分辨率和更低的噪声,为工业质量保证、商业成像等领域提供了更优质的解决方案。此后,公司又不断对产品进行升级和优化,以满足不同客户的需求。

CIRCUITCO公司的发展小趣事

随着技术的不断进步,CIRCUITCO公司开始寻求市场拓展的机会。公司积极与国内外知名电子产品制造商建立合作关系,为其提供优质的电路板解决方案。通过与这些企业的合作,CIRCUITCO的产品逐渐渗透到各个领域,如通信、计算机、消费电子等。同时,公司也通过参加国际电子展会等方式,提升品牌知名度,进一步拓展市场份额。

问答坊 | AI 解惑

650W音响功放高速电源电路设计资料

本帖最后由 paulhyde 于 2014-9-15 04:11 编辑 650W音响功放高速电源电路设计资料  …

查看全部问答>

verilog_300examples

初学者可以模仿例子写些门级电路…

查看全部问答>

有没有用过飞思卡尔 9S08LG的朋友,请教几个问题

刚接触嵌入式驱动设计,公司设计了一个板子,用了 PTD0/LCD0~PTD3/LCD3 作为COM0~COM3 而PTD4/LCD4~PTD15/LCD15 作为S0~S12 我照freescale的文档做了初始化,可是在板子上调试时,没有任何反应, 请高手指点是为什么? #define CONFIG_LCD ...…

查看全部问答>

关于WINCE6.0的一个忧虑

我以前开发的产品用的都是wince5.0,所以我电脑上装的软件是 :PB5.0+EVC4.0+VC6.0,现在要用wince6.0了,我的问题是:装 VS 2005会不会影响我以前的CE5.0的工程、BSP等,我还能用PB5.0吗?还能用EVC4.0、VC6.0吗?我是否需要将以前的软件卸掉?最 ...…

查看全部问答>

cpld

cpld板子烧坏了是否还能下载,会有什么后果呢?请说详细点…

查看全部问答>

PLATFORM BUILDER 驱动编译的问题?

我用的是Platform builder 5.0,新建一个CE 的OS,然后,新建一个驱动的DLL Project,但是编译的出现如下的错误: BUILD: [01:0000000045:ERRORE] CAN.CPP(1,2): error CS1024: Preprocessor directive expected BUILD: [01:0000000046:ERRORE] CA ...…

查看全部问答>

悬殊10分:52的T2计数器问题

我有下面这段程序,send()子程序单独工作的时候是正常的,但是加入到主程序中时就出现问题, 我的主程序是一个频率计。主要问题是频率计的数码管显示不正常,串口能输出数据,但是数据是错误的。 #include unsigned char code dispbit[]={0xfe, ...…

查看全部问答>

有关petalinux上的web应用

大家好,我的FPGA是SP601,petalinux是0.4版本,我在petalinux上写了一个简易的web服务器,在移植了petalinux的FPGA的板子上可以运行,但是我通过IE浏览器不能访问web网页,我想问一下,petalinux-0.4是否支持web访问?到底问题出在哪里?…

查看全部问答>