家用窗帘自动开关控制器_第1页
家用窗帘自动开关控制器_第2页
家用窗帘自动开关控制器_第3页
家用窗帘自动开关控制器_第4页
家用窗帘自动开关控制器_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1 基于基于 MSP430G2211 实现的家用窗帘自动开关控制器实现的家用窗帘自动开关控制器 目目 录录 第一章第一章 作品概述作品概述 3 第一节 作品功能和单片机介绍 3 第二节 设计方案 4 第二章第二章 硬件系统设计硬件系统设计 4 第一节 MSP430G2 系列 Launchpad 开发板介绍 4 第二节 传感器介绍 6 第三节 各单元电路的介绍 7 第四节 系统原理图及元器件清单 9 第五节 PCB 板设计注意事项 10 第六节 硬件安装调试注意事项及方法 10 第三章第三章 软件系统设计软件系统设计 11 第一节 程序总体状态转移图 11 第二节 子程序 API 介绍 11 第三节 软件程序的调试方法 14 第四章第四章 总结与思考总结与思考 15 1 第一章第一章 作品概述作品概述 第一节第一节 作品功能和单片机介绍作品功能和单片机介绍 该作品的主要功能是 当外界光照度高于某一参考值时窗帘自动打开 低于该参考值是 窗帘自动关闭 用线程的方法来控制电机的停转 即在窗帘的顶部和底部分别安装一个微 动开关 S1 和 S2 当窗帘正转到顶部时 碰触微动开关 S1 在按键被按下时 在单片机 P1 6 口产生一个下降沿中断 在中断内单片机向 P1 2 和 P1 3 口输出低电平 则电机停止转动 当窗帘反转到底部时 碰触微动开关 S2 在按键被按下时 在单片机 P1 4 口产生一个下 降沿中断 在中断内单片机向 P1 2 和 P1 3 口输出低电平电机停止转动 所选用的芯片型 号是 TI 公司的 MSP430G2211 本作品选用 MSP430G2211 单片机 该单片机超低功耗 具有 5 种节电模式 1us 内便 可从待机模式唤醒 并具有一个强大的 16 位 RISC CPU 16 位寄存器和常数发生器 有助 于最大限度的发挥代码效率 此单片机还具有丰富的时钟源 包括 LF OSC 和 VLO 它可 通过串行口系统编程 无需外部编程电压 具有可编程的保密熔丝代码保护 它具有 Spy Bi Wire 仿真逻辑接口 另外它还有 10 位 IO 口 8 个比较器通道和 16 位的 Timer A 定时 器 带 2 路捕获和比较寄存器 此单片机的 IO 口和 Timer A 定时器都具有强大的中断能 力 第二节第二节 设计方案设计方案 光 敏 传 感 器 G2211 单 片 机 电 机 控 制 电 路 图 1 1 系统组成结构框图 2 用光敏传感器 具体为硅光电池 将外界的光照度转换成电压信号 并将该电压信号经 过一级跟随器电路输入到 G2211 模拟比较器的正输入端 在硬件上的具体连接就是将 27L2 的 7 脚连接至单片机的 P1 1 口 并通过与负输入端的内部参考电压作比较 使得比 较模块寄存器的 CAOUT 端置 1 或清零来控制单片机的 P1 2 和 P1 3 口输出高低电平 进而控制电机的正反转 实现窗帘的打开与关闭 在硬件上的具体连接就是将单片机的 P1 2 和 P1 3 口分别连接至电机驱动芯片 L298n 的 12 脚和 10 脚 利用按键 S1 和 S2 触发 I O 口 中断来控制电机转到窗帘的顶部或是窗帘的底部停止转动 直流电机连接至电机驱动芯片 L298n 的 13 脚和 14 脚 3 第二章第二章 硬件系统设计硬件系统设计 第一节第一节 MSP430G2 系列系列 Launchpad 开发板介绍开发板介绍 基于 LaunchPad 的 MSP EXP430G2 低成本实验板是一款适用于 TI 最新 MSP430G2xx 系列 产品的完整开发解决方案 其基于 USB 的集成型仿真器可提供为全系列 MSP430G2xx 器件开 发应用所必需的所有软 硬件 LaunchPad 具有集成的 DIP 目标插座 可支持多达 20 个引 脚 从而使 MSP430ValueLine 器件能够简便地插入 LaunchPad 电路板中 此外 还可提供 板上 Flash 仿真工具 以直接连接至 PC 轻松进行编程 调试和评估 LaunchPad 实验板还 能够对 eZ430 RF2500T 目标板 eZ430 Chronos 手表模块或 eZ430 F2012T F2013T 目标板 进行编程 此外 它还提供了从 MSP430G2xx 器件到主机 PC 或相连目标板的 9600 波特 UART 串行连接 其实物图如图 2 1 所示 图 2 1 MSP430G2 系列 Launchpad 开发板实物图 MSP EXP430G2 采用 IAR EmbeddedWorkbench 集成开发环境 IDE 或 CodeComposerStudio CCS 编写 下载和调试应用 调试器是非侵入式的 这使用户能够借 助可用的硬件断点和单步操作全速运行应用 而不耗用任何其他硬件资源 4 MSP EXP430G2LaunchPad 特性 USB 调试与编程接口无需驱动即可安装使用 且具备高达 9600 波特的 UART 串行通信速 度 支持所有采用 PDIP14 或 PDIP20 封装的 MSP430G2xx 和 MSP430F20 xx 器件 分别连接至绿光和红光 LED 的两个通用数字 I O 引脚可提供视觉反馈 两个按钮可实现用户反馈和芯片复位 器件引脚可通过插座引出 既可以方便的用于调试 也可用来添加定制的扩展板 高质量的 20 引脚 DIP 插座 可轻松简便地插入目标器件或将其移除 图 2 1 MSP430G2211 硬件资源框图 第二节第二节 传感器介绍传感器介绍 这里介绍一下型号 2DU5 的硅光电池 之所以选择它 原因有两个 1 在可见光范 围内 该器件能使光照度与其输出电流有一个良好的线性关系 这样我们就可通过一个运 放将其转换成电压信号 2 具有较好的灵敏度 当你用手去遮住光源或者光照度稍微有 点变化时 运放的输出电压也随之改变 5 图 2 2 硅光电池 2DU5 实物图 其实 只要是硅光电池就行 不同型号只是输出电流 一般为微安或毫安 的大小不同 当然必须保证所选型号能感应你要控制的窗帘所处环境的光 比如 可见光 由于该方案 采用的是硬件校准 即通过调节运放反馈的电阻值的大小来调节输入单片机模拟器正端的 电压值 所以当你所选的硅光电池输出电流比较小时 可将反馈电阻调大来提高输出电压 值 反之亦然 图 2 3 为硅光电池 2DU5 参数信息 图 2 3 为硅光电池 2DU5 参数信息图 第三节第三节 各单元电路的介绍各单元电路的介绍 第一部分 光电转换电路第一部分 光电转换电路 1O U T 1 1IN 2 1IN 3 G N D 4 2IN 5 2IN 6 2O U T 7 V D D 8 27L2 C 1 G N D V C C 1O U T 1O U T B T B A TTER Y G N D 光光光光 P1 1 31 2 R P1 31 2 R P2 R 5 R 6 图 2 4 光电转换电路 6 这里需要注意的是 在实际的电路实现中 RP2 R6 和 RP1 R5 只需任选一路即可 之 所以这样连是为了在画板子时多一路备用 6 和 7 脚连接构成一个电压跟随器 作用是将 光电转换电路与单片机隔离开来 最终的输出电压为硅光电池电流与所选一路电阻之积 第二部分 电源电路第二部分 电源电路 Vin 1 GND 2 5V 3 LM 2940 C 2 C 3 GND VC C 12V光5V 3 3V 3 GND 1 5V 2 1117 C 7 C 6 GND 5V3V3 5V 转 3 3V 图 2 5 电源电路 由于电机和运放 27L2 的供电电压均选择为 12V 所以将交流电通过适配器直接转换 成了 12V 而电机驱动芯片 L298n 的逻辑供电电压 Vss 9 脚 最大值为 7V 典型值为 5V 而且使能高电平 Ven 11 脚 的取值大于 2 3V 小于 Vss 故选择 5V 给 9 脚和 11 脚 供电 本方案用 LM2940 将 12V 转化为 5V 用 GM1117 将 5V 转换为 3 3V 给按键提供高 电平接到单片机 I O 口 其实也可以直接用单片的电源给按键供电 第三部分 电机驱动电路第三部分 电机驱动电路 IN 1 5 IN 2 7 IN 3 10 IN 4 12 EN A 6 EN B 11 SENSEA 1 SENSEB 15 VSS 9 GND 8 VS 4 O U T1 2 O U T2 3 O U T3 13 O U T4 14 L298N 12 D 2 12 D 4 12 D 3 12 D 1 G N D 1 2 JM V C C G N D C 4 G N D C 5 G N D G N D 5V 5V 图 2 6 电机驱动电路 7 采用的是 L298n 芯片对电机进行驱动 其集成了两个 H 桥电路 10 和 12 脚接单片机 的 I O 口 13 和 14 脚接电机的两端 4 脚接电源 该芯片的最大输入电压为 46V 该方案 采用的是 12V 8 脚接地 11 脚为第二个 H 桥工作的使能端 高电平 2 3V 到 Vss 本方案 选取 Vss 为 5V 有效 具体的功能实现见下表 表 2 1 电机状态表 输入功能 10 脚 1 12 脚 0 正转 10 脚 0 12 脚 1 反转Venb 即 11 脚 1 10 脚 12 脚电机停转 Venb 即 11 脚 010 脚 X 12 脚 X电机停转 说明 1 1 表示电压范围在 2 3V 到 Vss 的值之间 2 0 表示 0 3V 到 1 5V 之间 3 X 表示为 0 1 任何一状态 第四节第四节 系统原理图及元器件清单系统原理图及元器件清单 1OUT 1 1IN 2 1IN 3 GND 4 2IN 5 2IN 6 2OUT 7 VDD 8 27L2 C 1 GND VC C 1OUT 1OUT B T B ATTER Y GND 光光光光 Vin 1 GND 2 5V 3 LM 2940 C 2 C 3 GND VC C 12V光5V IN1 5 IN2 7 IN3 10 IN4 12 ENA 6 ENB 11 SENSEA 1 SENSEB 15 VSS 9 GND 8 VS 4 OUT1 2 OUT2 3 OUT3 13 OUT4 14 L298N 12 D2 12 D4 12 D3 12 D1 GND JM VC C GND C 4 GND C 5 GND GND 5V 5V 5V 光光光光 1 2 3 J1 DVC C 1 P1 0 TA0C LK AC LK 2 P1 1 TA0 0 3 P1 2 TA0 1 4 P1 3 S2 5 P1 4 SM C LK TC K 6 P1 5 TA0 0 TM S 7 P1 6 TA0 1 TDI TC K 8 P1 7 TDO TDI 9 R ST 10 TEST SB W TC K 11 XOUT 12 XIN TA0 1 13 DVSS 14 P P1 1 P1 2 GND 光光光光光 430G2211 GND VC C P1 1 P1 3 S1 S2 GND 3V3 R0 R2 31 2 R P1 31 2 R P2 R 5 R 6 3 3V 3 GND 1 5V 2 1117 C 7 C 6 GND 5V3V3 P1 4 P1 6 P1 6 P1 4 P1 2 P1 3 3V3 图 2 7 系统原理图 8 光电转换电路主要由 27L2 芯片组成 将光信号转换为电压信号经过跟随器接到单片机 的 P1 1 口 电机控制电路主要由 L298n 芯片组成 将其连接到 P1 2 和 P1 3 口 按键 S1 和 S2 接到单片机的 P1 6 和 P1 4 口 3 3V 和 5V 电源电路主要是给所用芯片供电使能以及 逻辑电平的选择 表 2 2 列出了该作品所用到的元器件和芯片的型号 表 2 2 元器件清单 型号数量 个封装 TLC27L21DIP 双列直插 L298n1Multiwatt15 LM29401TO 220 GM11171SOT 123 电位器 500k 1 R 680K 11206 R 100K 31206 R 1K 21206 二极管 4007 41206 C 100nF 21206 电解电容 10uF 2 电解电容 22uF 1 电解电容 47uF 1 微动开关3 2DU51 电机1 9 第五节第五节 PCB 板设计注意事项板设计注意事项 图 2 8 PCB 顶层设计 图 2 9 PCB 底层设计 10 1 由于有 12V 的电源 所以最好所有的电源线和地线都加粗 该作品电源线和地线均采用 30mil 线宽 2 建议先焊实验板调试 再画板子 因为你原理图上的器件很可能在电子市场找不到 比如我 GM1117 的型号画成了 SOT123 但电子市场几乎都是 SOT223 在焊实验板 时就可以顺便了解你要用的器件的常用封装 如果找不到该型号的器件可以找市面上有 哪些可以实现同样功能的其他型号的器件 及时对方案进行调整 3 特别注意适配器 DC 座封装 作为一个脚使用的两个焊盘间距变为 0mil 否则由于 DC 座脚太宽 插不进去 第六节第六节 硬件安装调试注意事项及方法硬件安装调试注意事项及方法 图 2 9 作品实物图 11 图 2 10 直流电机实物图 1 R6 RP2 和 R5 RP1 只需焊一组即可 本方案焊的是 R6 RP2 2 焊接时一定要注意硅光电池 2DU5 的正负 接反的话 27L2 的 6 脚是没有电压值的 3 在将单片机和硬件电路连接在一起之前 一定要进行硬件校准 即通过调电位器 的大小来改变 27L2 的 6 脚的值 将电路置于你作为参考光照度的环境下 调节 RP2 让 6 脚的值为 0 9V 这跟你的程序有关 因为我是将 27L2 的 6 脚的值作为单 片机模拟比较器的正输入端 负输入端为单片机内部参考 0 25Vcc 一定要注意 单片机模拟比较器的输入端最大输入电压为 2 6V 4 在将单片机和自己画的硬件电路连接之前 先给硬件加上电源 测一下和单片机 I O 口相连的端子的电压 看其是否正常 因为硬件的错误连接 比如短路 可能 导致跟单片机连接的端子的电压异常 超过单片机的最大电压范围 3 6V 可能 烧坏单片机 12 第三章第三章 软件系统设计软件系统设计 第一节第一节 程序总体状态转移图程序总体状态转移图 电机正转 处于关闭 状态 电机反转 处于打开 状态 KEY1 按下 电机停转 光照低 电机反转 KEY2 按下 电机停转 光照高 电机正转 图 3 1 状态转移图 基本思想基本思想 程序主要采用的是 状态机 的方法 分为四个状态 电机正转 电机反转 窗帘处于打开状态 窗帘处于关闭状态 程序的默认状态 只有当光照度高于参考值同时 窗帘处于关闭状态 电机才正转 正转打开窗帘 如果光照度高于参考值但窗帘已经处于 打开状态 则电机不转 只有当光照度低于参考值同时窗帘处于打开状态 电机反转 反 转关闭窗帘 如果光照度低于参考值但窗帘已经处于关闭状态 则电机不转 第二节第二节 子程序子程序 API 介绍介绍 初始化程序 初始化程序 WDTCTL WDTPW WDTHOLD 关闭开门狗 P1DIR BIT0 BIT2 BIT3 P1 0 P1 2 及 P1 3 设为输出 CACTL1 CARSEL CAREF0 CAON 内部参考 0 25 Vcc 为比较器负输入端 打开比较器 CACTL2 P2CA4 P1 1 为比较器正输入端 13 P1IES BIT6 BIT4 P1 4 P1 6 下降沿中断 P1IE BIT6 BIT4 中断使能并打开总中断 EINT P1OUT 0X00 P1 口输出清零 比较器模块 比较器模块 if CAOUT status Normal break case Open Stop break case Normal break case Innormal break else 如果 CAOUT 清零且窗帘处于打开状态 P1 3 输出高电平 P1 0 P1 2 输出低电平 switch status case Close Stop break case Open Stop P1OUT 0 x08 status Innormal break case Normal break case Innormal break 按键检测 按键检测 Void Key Detect 14 unsigned char PushKey PushKey P1IFG delay cycles 5000 if PushKey if PushKey 按键处理 按键处理 void Key1 OnClick switch status case Close Stop break case Open Stop break case Normal P1OUTstatus Open Stop break case Innormal break void Key2 OnClick switch status case Close Stop break case Open Stop break 15 case Normal break case Innormal P1OUTstatus Close Stop break 第三节第三节 软件程序的调试方法软件程序的调试方法 建议分功能模块调试 要特别注意

温馨提示

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

评论

0/150

提交评论