基于MSP430G2211实现的多路电源开关控制器秦臻.docx
- 文档编号:18316332
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:24
- 大小:1MB
基于MSP430G2211实现的多路电源开关控制器秦臻.docx
《基于MSP430G2211实现的多路电源开关控制器秦臻.docx》由会员分享,可在线阅读,更多相关《基于MSP430G2211实现的多路电源开关控制器秦臻.docx(24页珍藏版)》请在冰点文库上搜索。
基于MSP430G2211实现的多路电源开关控制器秦臻
MSP430G2系列Launchpad开发板应用实例作品
基于MSP430G2211实现的多路电源开关
控制器
美国德州仪器半导体技术上海(有限)公司
西安电子科技大学MSP430单片机联合实验室
2011年12月
第一章作品概述2
第一节基本情况2
第二节软硬件总体设计方案2
第二章作品硬件系统设计3
第一节MSP430G2系列Launchpad开发板组成及硬件资源情况介绍3
第二节关键器件选型以及性能指标参数4
第三节单元电路介绍4
第五节PCB板设计要求和注意事项9
第六节安装调试注意事项10
第三章作品软件系统设计11
第一节程序流程图介绍11
第二节CCS设计与调试方法介绍12
第四章总结与思考17
第一章
作品概述
第一节基本情况
本作品使用MSP430G2211单片机实现了通过按键对四路功率继电器进行选择控制,达到对四路交流电源加电/断电的控制要求,由于是对220V市电进行控制,所以作品中尽可能的考虑了使用安全问题,使用了隔离电路以及在每一路上都有功率限制。
第二节软硬件总体设计方案
系统总体设计框图如下
图1.1系统总体设计框图
为了实现安全的控制220V的交流电,本作品使用隔离控制大功率继电器的方式实现。
220V交流电引入系统后,经过继电器和保险管后再经过四路插座输出。
在控制继电器的方式上,为了安全起见,控制信号通过光耦隔离之后控制继电器。
本作品可以实现4路220W的功率输出控制。
各个模块之间的具体工作关系如下,用户通过键盘像MSP430处理器发送命令,MSP430G2211处理器在检测到案件后,会对相应的继电器控制I/O置位,注意此时的控制信号是隔离之前的信号;此信号经过隔离模块之后交给控制模块,用来控制相应的继电器动作,从而使得不同的通道导通。
第二章
作品硬件系统设计
第一节MSP430G2系列Launchpad开发板组成及硬件资源情况介绍
MSP430G2系列Launchpad是TI推出的一款低成本的开发平台。
它适用于适用于TI最新MSP430G2xx系列产品其基于USB的集成型仿真器可提供为全系列MSP430G2xx器件开发应用所必需的所有软、硬件。
LaunchPad具有集成的DIP目标插座,可支持多达20个引脚,从而使MSP430ValueLine器件能够简便地插入LaunchPad电路板中。
此外,其还可提供板上Flash仿真工具,以直接连接至PC轻松进行编程、调试和评估。
LaunchPad试验板还能够对eZ430-RF2500T目标板、eZ430-Chronos手表模块eZ430-F2012T/F2013T目标板进行编程。
此外,它还提供了从MSP430G2xx器件到主机PC或相连目标板的9600波特UART串行连接。
MSP430G2系列Launchpad开发板硬件资源:
•USB调试与编程接口无需驱动即可安装使用,且具备高达9600波特的UART串行通信速度
•支持所有采用PDIP14或PDIP20封装的MSP430G2xx和MSP430F20xx器件
•分别连接至绿光和红光LED的两个通用数字I/O引脚可提供视觉反馈
•两个按钮可实现用户反馈和芯片复位
•器件引脚可通过插座引出,既可以方便的用于调试,也可用来添加定制的扩展板
•高质量的20引脚DIP插座,可轻松简便地插入目标器件或将其移除
第二节关键器件选型以及性能指标参数
作为大功率电源开关的核心器件,大功率继电器的选型对整个系统的可靠性和性能都起着至关重要的作用。
本作品中选用了厦门宏发电声生产的HF115-1ZS1型大功率继电器。
其关键指标如下:
1.触点负载达到12A,250VAC,完全可以满足1A,220VAC的通过能力要求
2.最大切换电压和电流达到440VAC和12A。
3.触点间耐压达到1000VAC。
实物图如图2.1所示
图2.1继电器实物图
在对驱动的要求上,该继电器的线圈驱动规格为:
驱动电压大于3.5V,驱动电流大于80mA。
综上可见,HF115-1ZS1型大功率继电器可以完全满足本作品的要求。
第三节单元电路介绍
1.MSP430G2211控制系统模块
模块电路如下
图2.2单片机系统控制模块电路
如图2.1所示,P1.6,P1.7,P2.6,P2.7用于产生四个继电器的控制信号,由于本系统是用于大功率电源控制,从安全上考虑,在系统上电单片机复位阶段,由于I/O电平不确定,有可能会给后级带来安全隐患,所以这里将四路I/O口全部下拉,用改变I/O口方向的方法实现控制电平的切换。
这样,在系统复位到对I/O初始化的过程内电平都可控。
确保了系统可靠性。
同时由于G2211系列I/O资源较少,这里同时将指示灯功能也通过硬件的方法实现,高电平的时候继电器导通,并电量相应LED。
在按键控制方法上,由于G2系列单片机已经内置了上拉电阻,所以这里只需要将相应的P1.1,P1.2,P1.4,P1.5口与按键相连接地即可。
2.继电器控制模块
图2.3继电器控制模块电路
这里使用一种最常用的继电器控制电路,同时为了保证系统安全,在每一路都增加的电流峰值吸收电路和保险管。
图2.4继电器驱动电路
ULN2003是一款大功率的达林顿管阵列芯片,用在控制继电器上可以省略掉续流二极管。
这里将经过光耦隔离出来的单片机控制信号进行电平转换和功率放大,以达到驱动继电器的目的。
在继电器驱动中,R13和C1用于吸收在继电器切换瞬间的电流尖峰,以免造成单片机干扰。
3.控制信号隔离模块
图2.5控制信号隔离模块
为了确保控制安全,控制信号全部经过一片TLP521-4芯片进行电器隔离,将强电弱电完全分离。
4.
隔离电源模块
图2.6隔离电源模块
由于控制信号的隔离,因此系统电源也隔离为两套。
V电源引进系统后,一路经过直接供给用于驱动继电器和ULN2003;另一路经过DC-DC隔离模块之后供给单片机系统。
第四节系统元器件清单
系统元件清单如下
Comment
Footprint
Quantity
notes
1uF630v
AXIAL0.15
4
10uF
R1206
1
104
R1206
1
红色LED-1
4
颜色自定,尺寸可适当修改
1A保险管
4
封装根据实际尺寸自定
220V接线端子
JK2-508
5
注意接线端子耐压
单排插针
2
5V接线端子
JK2-508
1
9013
SOT-23BJT
4
30
R1206
4
1k
R1206
8
30
AXIAL0.25_V
4
100
R1206
4
10K
R1206
4
HF115继电器
4
封装根据实际尺寸自定
触点开关
KEYSB3
4
UNL2003A
SOIC16
1
TLP521-4
DIP-16-KEY
1
DCDC模块
ISOSPWR_2W/S
1
要求功率大于400mA
LM1117
SOT-223
1
第五节PCB板设计要求和注意事项
由于本系统引入了220交流电,为了满足强电安全规范,在PCB设计时,应该将220V电源的走线宽度大于50mil,走线间距大于20mil,以满足爬电距离要求。
在加工PCB时也应要求PCB板厚度大于1.2mm。
同时由于强电和弱点采用了电器隔离,所以在对弱点走线和覆铜是应该尽量远离强电走线。
需要在光耦芯片TLP521-4下面机械层开槽以增加爬电距离。
图2.7机械隔离
完整系统原理图如图2.8
图2.8完整系统原理图
系统PCB图如图2.9,2.10
图2.9系统PCB正面
图2.10系统PCB图背面
第六节安装调试注意事项
由于本系统涉及到了强电,所以在上电之前请务必将保险管安装到位,同时对涉及到220V的接线端子,请务必使用耐压参数合格的产品。
系统板实物图如图2.11
图2.11系统版实物图
在系统加电之前,请检查好保险管的规格参数,这里使用的1A的保险管。
根据本作品的设计,输入和输出的一根线是接通的,另一根线由继电器控制,所以为了确保安全,在改变负载之前请确保电源已经彻底断开。
系统连接实物图如图2.12所示
图2.12系统连接实物图
第三章
作品软件系统设计
第一节程序流程图介绍
1.程序流程图
图3.1系统总流程图
图3.2中断服务程序流程图
程序流程说明:
由于控制继电器的I/O口采用的下拉方式,所以控制程序使用改变I/O方向的方式来改变输出电平。
例如,需要将P1.6口输出高电平时,需要将P1.6输出设为高,同时将方向设置为输出模式;如果希望P1.6输出低电平,则将P1.6口方向置为输入即可。
这样可以保证在系统复位时也有确定的低电平输出。
2.程序代码及注释
#include"msp430g2231.h"
voidSys_Clk_Init();
voidDelay(unsignedinttime);
voidPort_Init();
//对I/O操作口进行宏定义,方便后面的操作
#defineCONTROL_1_HIGHP1DIR|=BIT6//将P1.6口设置为输出模式,输出高
#defineCONTROL_1_LOWP1DIR&=~BIT6//将P1.6口设置为输入模式,通过下来电阻使其输出低
#defineCONTROL_2_HIGHP1DIR|=BIT7
#defineCONTROL_2_LOWP1DIR&=~BIT7
#defineCONTROL_3_HIGHP2DIR|=BIT7
#defineCONTROL_3_LOWP2DIR&=~BIT7
#defineCONTROL_4_HIGHP2DIR|=BIT6
#defineCONTROL_4_LOWP2DIR&=~BIT6
unsignedcharPushCnt=0;//记录按下的次数,该变量决定了I/O口的反转
voidmain()
{
WDTCTL=WDTPW+WDTHOLD;//关闭看门狗
Sys_Clk_Init();//系统时钟初始化
Delay(60000);//略微延时等待系统时钟稳定
Port_Init();//I/O口初始化设置
_EINT();//打开系统总中断
while
(1)
{};
}
#pragmavector=PORT1_VECTOR
__interruptvoidPort_Control()
{
//按键消抖
unsignedcharPushkey;
Pushkey=P1IFG&(BIT1+BIT2+BIT4+BIT5);
Delay(20000);
if((P1IN&Pushkey)==Pushkey)
{
P1IFG=0;
return;//如果是毛刺直接返回
}
//不是毛刺,进入按键处理程序
if(Pushkey&BIT1)//如果按下BIT1
{
if(PushCnt&BIT1)//检测上一次I/O状态
{
CONTROL_4_HIGH;//如果上一次为低则这一次将其设置为高,反之亦然
}
else
{
CONTROL_4_LOW;
}
PushCnt^=BIT1;//记录响应按键的动作
}
if(Pushkey&BIT2)
{
if(PushCnt&BIT2)
{
CONTROL_3_HIGH;
}
else
{
CONTROL_3_LOW;
}
PushCnt^=BIT2;
}
if(Pushkey&BIT4)
{
if(PushCnt&BIT3)
{
CONTROL_2_HIGH;
}
else
{
CONTROL_2_LOW;
}
PushCnt^=BIT3;
}
if(Pushkey&BIT5)
{
if(PushCnt&BIT4)
{
CONTROL_1_HIGH;
}
else
{
CONTROL_1_LOW;
}
PushCnt^=BIT4;
}
P1IFG=0;
return;
}
/*******************************************************
函数名称:
Sys_Clk_Init
函数功能:
对系统时钟进行初始化
入口参数:
无
出口参数:
无
*******************************************************/
voidSys_Clk_Init()
{
DCOCTL=0xA0;//使用内部DCO,频率约为32768*51=1632kHz
BCSCTL1=0x07;//ACLK不分频RSEL=7
BCSCTL2=0;//MCLK时钟源选为DCOCLK,不分频,SMCLK选为DCOCLK,不分频
}
//延时程序
voidDelay(unsignedinttime)
{
for(unsignedinti=0;i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MSP430G2211 实现 电源开关 控制器