基于MSP430G2211实现的家用窗帘自动开关控制器(朱晓香).ppt
文本预览下载声明
MSP430G2系列Launchpad作品开发实例教程 实例名称:基于MSP430G2211的自动窗帘控制器 作 者:朱晓香 制作单位:西安电子科技大学测控工程与仪器系 MSP430单片机联合实验室 制作时间:2011年12月 1.1 MSP430G2系列Launchpad开发板组成 1.2 作品的主要功能及芯片 作品的主要功能是:当外界光照度高于某一参考值是窗帘自动打开,低于该参考值是窗帘自动关闭。正转到顶部微动开关S1被按下,电机停止转动,反转到底部微动开关S2被按下,电机停止转动。 所选用的芯片型号是TI公司的MSP430G2211 1.3 MSP430G2211硬件资源情况 2.1 系统组成框图 系统框图 2.2 传感器型号及使用方法 型号2DU5的硅光电池 之所以选择它,原因有两个: (1)在可见光范围内,该器件能使光照度与其输出电流有一个良好的线性关系,这样我们就可通过一个运放将其转换成电压信号; (2)具有较好的灵敏度,当你用手去遮住光源或者光照度稍微有点变化时,运放的输出电压也随之改变。 2.3 传感器型号及使用方法 其实,只要是硅光电池就行,不同型号只是输出电流(一般为微安或毫安)的大小不同,当然必须保证所选型号能感应你要控制的窗帘所处环境的光(比如,可见光)。由于该方案采用的是硬件校准,即通过调节运放反馈的电阻值的大小来调节输入单片机模拟器正端的电压值,所以当你所选的硅光电池输出电流比较小时,可将反馈电阻调大来提高输出电压值,反之亦然。 硅光电池参数及实物图 2.4 硬件单元电路原理图 光电转换电路 在实际的电路实现中RP2,R6和RP1,R5只需任选一路即可,之所以这样连是为了在画板子时多一路备用,6和7脚连接构成一个电压跟随器,作用是将光电转换电路与单片机隔离开来。最终的输出电压为硅光电池电流与所选一路电阻之积。 硬件单元电路原理图 电机驱动电路 电机驱动电路说明 采用的是L298n芯片对电机进行驱动,其集成了两个H桥电路,10和12脚接单片机的I/O口,13和14脚接电机的两端,4脚接电源,该芯片的最大输入电压为46V,该方案采用的是12V,8脚接地,11脚为第二个H桥工作的使能端,高电平(2.3V到Vss,本方案选取Vss为5V)有效 。 电机驱动芯片L298n电路结构 硬件单元电路原理图 电源电路 交流电通过适配器直接转换成了12V LM2940将12V转化为5V,用GM1117将5V转换为3.3V,给按键提供高电平接到单片机I/O口 。 2.5 PCB顶层设计 PCB底层设计 PCB板元器件布局图 作品实物图 3.1 程序总体流程图 3.2 比较器模块系统框图 比较器寄存器CATCTL1 比较器寄存器CATCTL2 3.3 各功能子程序 初始化程序: WDTCTL = WDTPW + WDTHOLD; // 关闭开门狗 P1DIR |= BIT0+BIT2 + BIT3; //P1.0,P1.2及P1.3 设为输出 CACTL1 = CARSEL + CAREF0 + CAON; // 内部参考0.25 Vcc 为比较器负输入端,打开比较器 CACTL2 = P2CA4; // P1.1为比较器正输入端 P1IES |= BIT6+BIT4; //P1.4,P1.6下降沿中断 P1IE |= BIT6+BIT4; //中断使能并打开总中断 _EINT(); P1OUT=0X00; //P1口输出清零 3.4 软件程序的调试方法 (1)调试比较器模块是否正常,如果觉得程序没问题但还是出不来效果,可能是单片机的比较器端口坏了,这事应该重新下载一个简单的程序检测一下,以下是TI公司提供的一个程序范例: #include msp430g2211.h void main (voi
显示全部