李江基于MSP430G2553单片机的直流电机PWM调速系统设计 联系客服

发布时间 : 星期一 文章李江基于MSP430G2553单片机的直流电机PWM调速系统设计更新完毕开始阅读87a6a2182b160b4e777fcf4b

从传感器输出的直流电压信号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调速系统

4

图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. 1 MSP430 指令集和编译软件的特点

MSP430的内核CPU结构是按照精简指令集和高透明指令的宗旨来设计的,使用的指令有硬件执行的内核指令和基于现有硬件结构的高效率的仿真指令。仿真指令使用内核指令及芯片额外配置的常数发生器CG1、CG2。MSP430指令的寻址方式包括立即寻址、索引寻址、符号寻址和绝对寻址。这4种方式均可用于源操作数,而索引符号和绝对寻址方式只可用于目的操作数。源操作数的指令集需占用代码存储器中的1~3个字。CPU中包含的16个寄存器用于缩短指令执行

5

时间,可以在一个时钟周期内完成寄存器与寄存器间的操作。其中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为输入,设置Timer A 为上升模式、输出模式为7 输出PWM波,通过按键改变占空比,改变PWM波形。其程序流程图见图4所

6

示。

开始I/O初始化CCR1+=1000定时器A初始化CCR1>CCR0?NY启动定时器ACCR1清零N按键按下?Y消抖

图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管脚

7