基于MSP430G2553单片机的直流电机PWM调速系统设计.docx

上传人:b****5 文档编号:28397597 上传时间:2023-07-13 格式:DOCX 页数:16 大小:467.61KB
下载 相关 举报
基于MSP430G2553单片机的直流电机PWM调速系统设计.docx_第1页
第1页 / 共16页
基于MSP430G2553单片机的直流电机PWM调速系统设计.docx_第2页
第2页 / 共16页
基于MSP430G2553单片机的直流电机PWM调速系统设计.docx_第3页
第3页 / 共16页
基于MSP430G2553单片机的直流电机PWM调速系统设计.docx_第4页
第4页 / 共16页
基于MSP430G2553单片机的直流电机PWM调速系统设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

基于MSP430G2553单片机的直流电机PWM调速系统设计.docx

《基于MSP430G2553单片机的直流电机PWM调速系统设计.docx》由会员分享,可在线阅读,更多相关《基于MSP430G2553单片机的直流电机PWM调速系统设计.docx(16页珍藏版)》请在冰豆网上搜索。

基于MSP430G2553单片机的直流电机PWM调速系统设计.docx

基于MSP430G2553单片机的直流电机PWM调速系统设计

摘要

电机控制系统是数控火焰切割机自动调高器中的关键部件。

提出了自动调高器中电机控制系统的方案,设计了基于单片机的PWM直流电机控制硬件电路,指出了本系统软件设计需解决的关键问题,并设计了相应的控制软件。

该系统设计了一种实用新型的切割机自动调高系统,较好地解决了电机转动惯性对调高精度的影响。

关键词:

自动调高器;直流电机;单片机;PWM

1引言

数控切割机是对金属板材下料的机电设备,作为型材加工的关键设备之一,它是集数控技术、计算机软、硬件等技术为一体的高科技产品,在工业生产中发挥着重要的作用。

数控切割机在切割钢板的过程中,由于钢板高低不平或者倾斜等其它原因会影响加工质量,为提高加工的精度和质量,切割过程中需要高性能的自动调高器来保证割嘴到钢板之间高度的恒定。

电机控制系统用于实时调整割炬高度,是自动调高器中的关键部件。

直流电机由于具有速度控制容易,启、制动性能良好,且在宽围平滑调速等特点而在冶金、机械制造、轻工等工业部门中得到广泛应用。

直流电动机转速的控制方法可分为两类,即励磁控制法与电枢电压控制法。

励磁控制法控制磁通,其控制功率虽然小,但低速时受到磁饱和的限制,高速时受到换向火花和换向器结构强度的限制;而且由于励磁线圈电感较大,动态响应较差。

所以常用的控制方法是改变电枢端电压调速的电枢电压控制法。

调节电阻R即可改变端电压,达到调速目的。

但这种传统的调压调速方法效率低。

随着电力电子技术的进步,发展了许多新的电枢电压控制方法,其中PWM是常用的一种调速方法。

其基本原理是用改变电机电枢(定子)电压的接通和断开的时间比(占空比)来控制马达的速度,在脉宽调速系统中,当电机通电时,其速度增加;电机断电时,其速度减低。

只要按照一定的规律改变通、断电的时间,即可使电机的速度达到并保持一稳定值。

最近几年来,随着微电子技术和计算机技术的发展及单片机的广泛应用,使调速装置向集成化、小型化和智能化方向发展。

在单片机控制的脉宽调速系统中,占空比D的产生可以由定时器或延时软件来产生。

MSP430单片机的定时器可以产生PWM方波输出,将它用于直流电机的脉宽调速系统是个很好的方案。

2MSP430简介

仪器公司的MSP430系列单片机是一种超低功耗微处理器,具有如下特点:

(1)功耗低,典型功耗是:

2.2V时钟频率1MHz时,活动模式为200

,关闭模式时仅为0.1

,且具有5种节能工作方式。

(2)高效16位RISC-CPU,27条指令,8MHz时钟频率时,指令周期时间125ns,绝大多数指令一个时钟周期完成;32kHz时钟频率时,16位MSP430单片机的执行速度高于典型的8位单片机20MHz时钟频率时的执行速度。

(3)低电压供电、宽工作电压围:

1.8V~3.6V。

(4)灵活的时钟系统(两个外部时钟和一个部时钟)。

(5)低时钟频率可实现高速通信。

(6)具有串行在线编程能力。

(7)强大的中断功能。

(8)唤醒时间短,从低功耗模式下唤醒仅需6

(9)ESD保护,抗干扰力强。

基于以上特点,该系列单片机在便携式仪表、智能传感器、实用检测仪器、电机控制、家庭自动化等领域的应用较为普遍。

MSP430的16位定时器中断可用于事件计数,时序发生,PWM等,是应用于工业控制的理想配置。

如纹波计数器、数字化电机、控制电表和手持式仪表等。

DCO为单片机系统提供一个部时钟源并具有锁相环,当XTALT2没有提供时,系统依靠DCO运行,整个时钟配置可以通过DCOCTL、BCSCTL1、BCSCTL2和SR等控制寄存器中相应的位来选择和控制以满足用户对系统的要求。

不同型号单片机的存储器容量和外围模块各不相同,使用者可以根据需要具体选择适应工业级应用环境,它的运行环境温度围为

,所设计的产品适合运行于工业环境下。

3脉宽调制(PWM)基本原理

若把正弦半波波形分成N等份,就可把正弦半波看成由N个彼此相连的脉冲所组成的波形。

这些脉冲宽度相等,都等于

,但幅值不等,且脉冲顶部不是水平直线,而是曲线,各脉冲的幅值按正弦规律变化。

如果把上述脉冲序列用同样数量的等幅而不等宽的矩形脉冲序列代替,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相应正弦部分面积(即冲量)相等,就得到一组脉冲序列,这就是PWM波形。

可以看出,各脉冲宽度是按正弦规律变化的。

根据冲量相等效果相同的原理,PWM波形和正弦半波是等效的。

对于正弦的负半周,也可以用同样的方法得到PWM波形。

在PWM波形中,各脉冲的幅值是相等的,要改变等效输出正弦波的幅值时,只要按同一比例系数改变各脉冲的宽度即可,因此在交-直-交变频器中,整流电路采用不可控的二极管电路即可,PWM逆变电路输出的脉冲电压就是直流侧电压的幅值。

根据上述原理,在给出了正弦波频率,幅值和半个周期的脉冲数后,PWM波形各脉冲的宽度和间隔就可以准确计算出来。

按照计算结果控制电路中各开关器件的通断,就可以得到所需要的PWM波形。

在PWM调整负载功率的过程中,负载断开时晶体管无电流通过,不发热。

负载接通时晶体管饱和,虽然通过有较大电流,但压降很小,发热功率也很低。

所以使用PWM控制负载时,开关器件的总发热量很小。

相比于串联耗散式的调整方法,效率会高很多,适合大功率,高效率的负载调整应用。

但PWM的缺点是负载功率高频波动很大,不适合要求输出平稳无纹波要求的场合。

4硬件设计

4.1电源模块设计

首先由于本项目实现需要电源模块供电,故设计了电源模块为硬件调速系统供电,该电路已经仿真测试合格,其仿真电路如下图1所示。

图1硬件调速系统供电电源设计仿真图

4.2电机控制系统方案设计

从传感器输出的直流电压信号V2是钢板和割炬之间距离(dx)的函数,用另一个直流电压信号V1(它是设定高度的函数)来表示设定的高度,然后把这两个直流电压信号的值相减,根据减得的结果来控制直流电机的运动。

据此思路设计系统的方案如图2所示。

V1和V2首先经过放大滤波电路输出合适幅值而且稳定电压信号给A/D电路,由A/D电路分别采集之后送给单片机控制电路处理,根据处理结果通过光电隔离控制H桥直流电机的运动。

图2控制系统电路方案图

4.2调速系统硬件电路设计

基于MSP430系列单片机的上述特点,本文设计一种如图3所示的直流电机PWM调速系统。

该系统充分利用了MSP430G2553单片机的工业级特点和16位定时器Timer_A比较模块功能实现PWM波形输出功能,通过按键改变占空比,P1.3按键控制增加它的正占空比,P1.4按键控制减小它的正占空比,P1.2输出方波信号,用示波器来观察波形的变化情况。

并且观察P1.6管脚连接的直流电机的转速变化情况,实现直流电机的PWM调速。

图3直流电机PWM调速系统

图3中电路所示,系统主要由MSP430G2553微控制器、直流电机、驱动及保护电路组成。

其中MSP430微控制器是整个调速系统的核心。

下面分别阐述它们的工作原理。

在MSP430G2553微控制器为核心的控制系统中,当P1.3、P1.4任何一个输入处于逻辑低状态时,电路轮流检测两个输入按键并且增加或减少Timer_A捕获/比较寄存器CCR1,软件检查寄存器的值以确保它不超过寄存器所保持的最大值和最小值,因此可防止翻转。

Timer_A作为SMCLK时钟源被设置为上升模式,输出模式7且输出单元1,可以在P1.2和P1.6管脚产生PWM方波输出。

CCR0值置为8000以定义Timer_A可计数到8000,改变CCR1的值可以改变Timer_A产生的PWM信号的占空比。

PWM信号用于GT8J101。

DCO置于5MHz可产生20KHz的PWM信号,因此允许电机运行而不会产生任何可听到的PWM噪声。

注意在图1中,电路没有连接到MSP430的晶振。

数控震荡器(DCO)的频率随着温度和电压变化,PWM信号频率是基于DCO的频率,因此它也随着变化。

而占空比是一设定好的比值和频率无关,所以PWM信号的导通与关断时间成比例的变化。

因此,甚至当DCO频率改变时,电机的平均电压也不变。

如果需要一固定的PWM频率,可在电路中加晶振。

IGBT元件GT8J101起驱动放大的作用于直流电机,随着占空比的变化,电机的平均电压也变化。

正是这平均电压的变化来控制电机的转速,电机转速能从低速到最大值分8级调速。

在直流电机两端接反向二极管起到保护作用。

光耦TLP521—1将控制电路与主电路隔离开,防止主电路对单片机造成冲击,确保单片机的正常工作。

5软件设计

5.1MSP430指令集和编译软件的特点

MSP430的核CPU结构是按照精简指令集和高透明指令的宗旨来设计的,使用的指令有硬件执行的核指令和基于现有硬件结构的高效率的仿真指令。

仿真指令使用核指令及芯片额外配置的常数发生器CG1、CG2。

MSP430指令的寻址方式包括立即寻址、索引寻址、符号寻址和绝对寻址。

这4种方式均可用于源操作数,而索引符号和绝对寻址方式只可用于目的操作数。

源操作数的指令集需占用代码存储器中的1~3个字。

CPU中包含的16个寄存器用于缩短指令执行时间,可以在一个时钟周期完成寄存器与寄存器间的操作。

其中4个寄存器用作特殊用途:

一个程序计数器,一个堆栈指针,一个状态寄存器和一个常数发生器。

其余寄存器都可以用作通用寄存器。

采用寄存器—寄存器结构的指令体系,提供一种非常强大的汇编语言。

MSP430系列单片机可以利用TI公司的CCS编译,直接下载至片FLASH存脱机运行,整个用户界面友好,调试过程中可以在上层软件中看到各寄存器的容,并在线修改,支持单步运行,在线观察定义的各个变量实时值,采用把所有相关文件放入一个项目中的组织方式,编译运行时软件会自动将文件按在联系自动组合在一起,支持汇编和C语言的编程。

追求效率的用户可自由选择只有27条精简指令的汇编语言直接实现对寄存器的控制,一般的用户可以选择C编程,TI的C具有如下特点:

(1)与ANSI的规格一致。

(2)有可应用于嵌入式系统的标准函数库,具有可选用的源代码。

(3)IEEE兼容的浮点算法。

(4)用户代码可与汇编子程序连接。

(5)快速编译性能,代码的优化,灵活的变量分配和可移植性能,易于理解的出错和警告信息。

这些都将大大缩短开发周期,降低开发难度,可以说MSP430的软件使用是相当简洁、方便、高效的。

5.2整个系统的软件设计思想

在单片机控制系统中,PWM输出信号的值(占空比)是决定电机转速的关键。

单片机靠识别按键P1.3与P1.4输入的低电平信号来控制PWM输出信号的值,电机转速从低速度到最大值分8级调速。

每按下一次P1.3键,PWM值递加一次,直至最大转速;每按下一次P1.4键,PWM值递减一次,直至转速为零。

整个程序由主程序、初始化子程序、延时子程序等组成。

5.3整个系统的程序设计流程图

初始化程序完成设置看门狗为停止,设置DCO为高频,设置p1.2和P1.6为PWM输出,设置P1.3、P1.4为输入,设置TimerA为上升模式、输出模式为7输出PWM波,通过按键改变占空比,改变PWM波形。

其程序流程图见图4所示。

图4整个系统的程序设计流程图

6硬件调试

在单片机控制系统中,PWM输出信号的值(占空比)是决定电机转速的关键。

单片机靠识别按键P1.3与P1.4输入的低电平信号来控制PWM输出信号的值,电机转速从低速(几乎0转速)到最大值共分8级调速。

每按下一次P1.3键,PWM的占空比值递加一次,直至最大转速;每按下一次P1.4键,PWM值递减一次,直至转速为零。

本文运用MSP430G2553定时器Timer_A的比较模式以及中断功能。

采用比较输出模式7,每次TA计数值计至TACCRx时,TAx管脚会自动置低,当TA计至TACCR0时,TA管脚会自动至高,输出的波形就是调制PWM方波。

改变TACCR0的值即可改变PWM的周期,改变TACCRx的值即可改变从TAx管脚输出信号的占空比,TACCRx越大,占空比越大。

本文设置P1.2与P1.6为PWM波形输出管脚,设置P1.3与P1.4为按键,通过按键改变PWM波的占空比,P1.3按键控制增加它的正占空比,P1.4按键控制减小它的正占空比,P1.2输出方波信号,用示波器来观察波形的变化情况。

并且观察P1.6灯的变化情况。

其实物展示图见图5-10所示。

图5PWM波占空比为12.43%时的电机运动状态

由图5可知,从示波器中可以读出当PWM方波占空比为12.43%时,电机运动的速度很低,可以看出此时电机处于刚好运转的临界状态,即第1级调速状态,并且此时P1.6引脚连接的LED灯亮度很低。

图6PWM波占空比为37.47%时的电机运动状态

连续按P1.3按键两次,增加P1.2与P1.6管脚输出PWM方波的占空比,由图6可知,从示波器中可以读出当PWM方波占空比为37.47%时,电机运动的速度变高,可以看出此时电机处于低速运转的状态即第3级调速状态,并且此时P1.6引脚连接的LED灯亮度增加。

图7PWM波占空比为50%时的电机运动状态

继续按P1.3按键增加P1.2与P1.6管脚输出PWM方波的占空比,由图7可知,从示波器中可以读出当PWM方波占空比为50%时,电机运动的速度变高,可以看出此时电机处于中速运转的状态,即第4级调速状态,并且此时P1.6引脚连接的LED灯亮度增加。

图8PWM波占空比为87.57%时的电机运动状态

连续按P1.3按键两次,增加P1.2与P1.6管脚输出PWM方波的占空比,由图8可知,从示波器中可以读出当PWM方波占空比为87.57%时,电机运动的速度变高,可以看出此时电机处于高速运转的状态,即第7级调速状态,并且此时P1.6引脚连接的LED灯亮度增加。

图9PWM波占空比为74.93%时的电机运动状态

此时按P1.4按键减小P1.2与P1.6管脚输出PWM方波的占空比,由图9可知,从示波器中可以读出当PWM方波占空比为74.93%时,电机运动的速度变低,可以看出此时电机处于中高速运转的状态,即第6级调速状态,并且此时P1.6引脚连接的LED灯亮度降低。

图10PWM波占空比为62.53%时的电机运动状态

此时继续按P1.4按键减小P1.2与P1.6管脚输出PWM方波的占空比,由图10可知,从示波器中可以读出当PWM方波占空比为62.53%时,电机运动的速度变低,可以看出此时电机处于第5级调速运转的状态,并且此时P1.6引脚连接的LED灯亮度降低。

7性能评估

系统在试验的过程中,采用软件实现了占空比可调,如图11所示为占空比为50%的PWM波形图,波形稳定可靠,试验中能灵活改变占空比,电机的转速可从低速到最大值分为8级调速,具有很宽的调速围。

图11单片机输出PWM波形图

MSP430单片机的指令周期仅为125ns,工作速度快,通过实时计算来产生PWM波,算法灵活。

采用软件实现小到

的死区时间,可以灵活的调整死区时间。

公式如下:

式中

为死区时间,

为定时器的时钟周期,

为捕获/比较寄存器的差值。

常采用的生成PWM波方法有3种:

一是完全由模拟电路生成;二是由数字电路生成;三是由专用集成芯片生成。

模拟方法电路复杂,硬件太多,抗干扰性能差,有温漂现象,系统可靠性低;数字方法按照不同的数字模型用计算机算出各切换点,将其存入存,然后通过查表及必要的计算产生PWM波,该方法调频围不宽。

输出的PWM波1/4轴不对称,会产生偶次谐波,低频区尤其严重;由专用集成芯片生成PWM波的技术近年来被广泛采用,常用的有HEF4752,SLE4520,MA818,MA828,MA838和MITEL公司研制的三相、单相PWM产生器SA828,SA838系列芯片。

它们多与微处理器连接,完成外围控制功能,但在系统构成上仍然较复杂,成本高。

与上述方法相比,本系统的优点是显而易见的。

MSP430单片机是一种新型的单片机,具有超低功耗和适应工业应用的特点,用美国TI公司生产的MSP430系列单片机设计的直流电机的PWM调速系统结构简单,易于维护,性能价格比高,因而具有实用价值。

8总结思考

本作品是以MSP430G2系列Launchpad开发平台为核心板,配上直流电机,以及自己设计的直流电机驱动模块,软件设计等等,利用单片机产生的PWM波的占空比的大小来调节直流电机的转速,本作品的特点是稳定性方面,采用了加速曲线的措施实现了较快的转速,同时保证系统的运行稳定。

当然同时也发现了一些硬件和软件方面的问题,比如如果用TA中断来代替延时,程序就用跑飞,而用空循环就可以正常运行;再比如同样的程序,用IAR集成开发工具下载调试,电机就可以正常转动,而用CCS却不行。

参考文献

[1]胡大可.MSP430系列FLASH型超低功耗16位单片机[M].:

航空航天大学,2001.

[2]左玉兰,马宗龙.直流电机调速系统的单片机控制[J].集成电路应用,1999.

[3]王福瑞.单片微机测控系统设计大全[M].:

航空航天大学,1999.

[4]国呈.PWM变频调速技术.:

机械工业,1998

[5]MSP430G2553DataSheet.

[6]童诗白,华成英.模拟电子技术基础(第四版),清华大学,2006.01

附录

//程序清单

#include"msp430g2553.h"

voidTimer_A0_init()

{

TA0CTL=TASSEL_2+TACLR+MC_1;

//Timer_A计数器的时钟源选择辅助时钟SMCLK,选择增计数模式

TA0CCTL1=OUTMOD_7;//选择比较模式7

TA0CCR0=8000;//设置TA0CCR0初始值为8000

TA0CCR1=1000;//设置TA0CCR1初始值为1000,(CCR1/CCR0)代表占空比

}

voidmain(void)

{

WDTCTL=WDTPW+WDTHOLD;//关闭看门狗

P1DIR|=BIT2+BIT6;//设置P1.2和P1.6为输出方向

P1SEL|=BIT2+BIT6;//P1.2和P1.6作为PWM输出

P1DIR&=~(BIT3+BIT4);//P1.3和p1.4作为输入,按键改变PWM占空比

P1OUT|=(BIT3+BIT4);//P1.3和p1.4上拉输入

P1REN|=(BIT3+BIT4);//P1.3和p1.4上拉电阻使能

Timer_A0_init();

while

(1)

{

if(!

(P1IN&BIT3))//判断P1.3按键是否按下

{

_delay_cycles(10000);//延时消抖

if(!

(P1IN&BIT3))//判断P1.3按键是否按下

{

if(CCR1>=8000)CCR1=1000;//如果CCR1>=8000,CCR1赋值为1000

elseCCR1+=1000;//否则CCR1=CCR1+1000

}

while(!

(P1IN&BIT3));//判断P1.3按键是否按下

_delay_cycles(10000);//延时

}

if(!

(P1IN&BIT4))//判断P1.4按键是否按下

{

_delay_cycles(10000);//延时消抖

if(!

(P1IN&BIT4))//判断P1.4按键是否按下

{

if(CCR1<=1000)//如果CCR1<=1000,CCR1赋值为1000

CCR1=8000;

elseCCR1-=1000;//否则,CCR1=CCR1-1000

}

while(!

(P1IN&BIT4));//判断P1.4按键是否按下

_delay_cycles(10000);//延时

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1