MSP430G2系列Launchpad作品开发实例教程_第1页
MSP430G2系列Launchpad作品开发实例教程_第2页
MSP430G2系列Launchpad作品开发实例教程_第3页
MSP430G2系列Launchpad作品开发实例教程_第4页
MSP430G2系列Launchpad作品开发实例教程_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MSP430G2系列Launchpad作品开发实例教程实例名称:基于MSP430G2211的自动窗帘控制器作者:朱晓香制作单位:西安电子科技大学测控工程与仪器系MSP430单片机联合实验室制作时间:2011年12月

11.1MSP430G2系列Launchpad开发板组成EmbeddedEmulationPartandSocketCrystalPadsPowerConnectorResetButtonLEDsandJumpersP1.0&P1.6P1.3ButtonChipPinoutsUSBEmulator

Connection21.2作品的主要功能及芯片作品的主要功能是:当外界光照度高于某一参考值是窗帘自动打开,低于该参考值是窗帘自动关闭。正转到顶部微动开关S1被按下,电机停止转动,反转到底部微动开关S2被按下,电机停止转动。所选用的芯片型号是TI公司的MSP430G221131.3MSP430G2211硬件资源情况

4

2.1系统组成框图

系统框图光敏传感器G2211单片机电机控制模块5

2.2传感器型号及使用方法

型号2DU5的硅光电池之所以选择它,原因有两个:(1)在可见光范围内,该器件能使光照度与其输出电流有一个良好的线性关系,这样我们就可通过一个运放将其转换成电压信号;(2)具有较好的灵敏度,当你用手去遮住光源或者光照度稍微有点变化时,运放的输出电压也随之改变。6

2.3传感器型号及使用方法

其实,只要是硅光电池就行,不同型号只是输出电流(一般为微安或毫安)的大小不同,当然必须保证所选型号能感应你要控制的窗帘所处环境的光(比如,可见光)。由于该方案采用的是硬件校准,即通过调节运放反馈的电阻值的大小来调节输入单片机模拟器正端的电压值,所以当你所选的硅光电池输出电流比较小时,可将反馈电阻调大来提高输出电压值,反之亦然。7硅光电池参数及实物图8

2.4硬件单元电路原理图

光电转换电路

在实际的电路实现中RP2,R6和RP1,R5只需任选一路即可,之所以这样连是为了在画板子时多一路备用,6和7脚连接构成一个电压跟随器,作用是将光电转换电路与单片机隔离开来。最终的输出电压为硅光电池电流与所选一路电阻之积。9

硬件单元电路原理图

电机驱动电路

10电机驱动电路说明

采用的是L298n芯片对电机进行驱动,其集成了两个H桥电路,10和12脚接单片机的I/O口,13和14脚接电机的两端,4脚接电源,该芯片的最大输入电压为46V,该方案采用的是12V,8脚接地,11脚为第二个H桥工作的使能端,高电平(2.3V到Vss,本方案选取Vss为5V)有效。11电机驱动芯片L298n电路结构12

硬件单元电路原理图

电源电路

交流电通过适配器直接转换成了12VLM2940将12V转化为5V,用GM1117将5V转换为3.3V,给按键提供高电平接到单片机I/O口。13

2.5PCB顶层设计14

PCB底层设计15

PCB板元器件布局图16作品实物图17

3.1程序总体流程图

电机正转处于关闭状态电机反转处于打开状态KEY1按下/电机停转光照低/电机反转KEY2按下/电机停转光照高/电机正转18基本思想:程序主要采用的是“状态机”的方法,分为四个状态:电机正转,电机反转,窗帘处于打开状态,窗帘处于关闭状态(程序的默认状态)。只有当光照度高于参考值同时窗帘处于关闭状态,电机才正转(正转打开窗帘),如果光照度高于参考值但窗帘已经处于打开状态,则电机不转;只有当光照度低于参考值同时窗帘处于打开状态,电机反转(反转关闭窗帘),如果光照度低于参考值但窗帘已经处于关闭状态,则电机不转。19

3.2比较器模块系统框图20比较器寄存器CATCTL121比较器寄存器CATCTL2223.3各功能子程序初始化程序:WDTCTL=WDTPW+WDTHOLD;//关闭开门狗P1DIR|=BIT0+BIT2+BIT3;//P1.0,P1.2及P1.3设为输出CACTL1=CARSEL+CAREF0+CAON;//内部参考0.25Vcc为比较器负输入端,打开比较器CACTL2=P2CA4;//P1.1为比较器正输入端P1IES|=BIT6+BIT4;//P1.4,P1.6下降沿中断P1IE|=BIT6+BIT4;//中断使能并打开总中断_EINT();P1OUT=0X00;//P1口输出清零23比较器模块:if((CAOUT&CACTL2))//如果CAOUT置“1”且窗帘处于关闭状态,P1.0,P1.2输出高电平,P1.3输出低电平{switch(status){caseClose_Stop:P1OUT=0x05;status=Normal;break;caseOpen_Stop:break;caseNormal:break;caseInnormal:break;}}else//如果CAOUT清零且窗帘处于打开状态,P1.3输出高电平P1.0,P1.2输出低电平{switch(status){caseClose_Stop:break;caseOpen_Stop:P1OUT=0x08;status=Innormal;break;caseNormal:break;caseInnormal:break;}}24按键检测:voidKey_Detect(){unsignedcharPushKey;PushKey=P1IFG&(BIT4+BIT6);__delay_cycles(5000);if(PushKey&BIT6){Key1_OnClick();}if(PushKey&BIT4){Key2_OnClick();}}25按键处理:voidKey1_OnClick(){switch(status){caseClose_Stop:break;caseOpen_Stop:break;caseNormal:P1OUT&=~(BIT2+BIT3);status=Open_Stop;break;caseInnormal:break;}}voidKey2_OnClick(){switch(status){caseClose_Stop:break;caseOpen_Stop:break;caseNormal:break;caseInnormal:P1OUT&=~(BIT2+BIT3);status=Close_Stop;break;}}26

3.4软件程序的调试方法

(1)调试比较器模块是否正常,如果觉得程序没问题但还是出不来效果,可能是单片机的比较器端口坏了,这事应该重新下载一个简单的程序检测一下,以下是TI公司提供的一个程序范例:#include<msp430g2211.h>voidmain(void){WDTCTL=WDTPW+WDTHOLD;//StopWDTP1DIR|=0x01;//P1.0outputCACTL1=CARSEL+CAREF0+CAON;//0.25Vcc=-comp,onCACTL2=P2CA4;//P1.1/CA1=+compwhile(1)//Testcomparator_Aoutput{if((CAOUT&CACTL2))P1OUT|=0x01;//ifCAOUTset,setP1.0elseP1OUT&=~0x01;//elsereset}}27(2)调试按键中断是否正常,建议两个按键分开调试,调试一个时另一个屏蔽,如果按键按下没出现效果,可能是按键中断没进去,也可能是按键处理函数的问题,应在中断和处理函数处设置断点查出问题。28

4.1总结与思考

(1)假如窗帘在处于打开状态时断电了,等加电后且光照度低于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论