Mouser 贸泽电子

文章数:1884 被阅读:2737881

账号入驻

设计一个基于MSP430微控制器带太阳能采集功能的智能邮箱(下)

最新更新时间:2015-03-02
    阅读数:

作者 Michael Parks, P.E. Mouser Electronics

上篇和中篇我们介绍了这个方案的基本构成和BOM清单,现在介绍方案的具体实现。

太阳能EH开发板提供了控制电路,当太阳光亮度足够时,太阳能面板将为MSP430微控器供电。TI太阳能套件中的Cymbet EnerChip电池具有极低的自放电率,这种特性让它们成为EH应用的理想选择。一旦光线低于适当水平,太阳能面板套件就会自动开始替代EnerChip电池为MSP430提供电力。这是一个非常方便的集成功能,在电池耗尽之前将为约400 个RF触发通信提供足够的能量。通过调整通信脉冲之间的时间间隔,你将在没有足够的太阳光前提下从这款开发板中获取大量的使用机会。在许多遥感应用中该特性都显得至观重要。


如果工程师曾经使用过其它微控器平台,那么为MSP430编程将相当容易上手。位于室内的MCU,即LaunchPad开发套件(MSP-EXP430FR5969),带有一个包含源代码和应用程序的CD。但是,你需要确保你安装了TI的集成开发环境(IDE)Code Composer Studio(本文写作时的最新版本是6.0.1)的最新版本。如果有人曾经使用过相对简单的IDE来,比如Arduino的官方IDE,请不要被这个更为复杂的IDE所吓倒。eZ430-RF2500的随附教程组织得很好,它包含了调整预装固件所需的一切知识。如果要上传新固件,需要使用附带的USB调试加密狗。需要提醒的是,哪个MSP430是远程节点(在太阳能电池板外侧),哪一个包含枢纽固件(位于室内,在LaunchPad套件中控制设置物理标示的伺服电机)。


图4:没有硬件,就没有软件。这个原理电路显示了MSP430 LaunchPad与伺服电机的连接,以及邮件已经从室外获取后重置物理标志的开关电路。


我们将对远程节点MSP430中的预装默认固件作出最小的调整。具体来讲,我们正在调整读取电池电压的代码段,让它能够读取外部模拟输入管脚上的电压,在我们的示例中,是指模拟管脚A0。回顾前面的BOM列表,太阳能套件自带太阳能电池板,一个MSP430 MCU(即“远程节点”),以及两个无线EZ430-RF2500T目标板。小点的eZ430-RF2500T板发送和接收信号,将邮箱内部已经暴露于光源下的信息通知给室内的MSP430。


图5:eZ430-RF USB调试接口和内含CC2500低功耗2.4GHz射频收发器的EZ430-RF2500T无线目标板。


该EZ430-RF2500T目标板的引出线表明远程节点MSP430的A0直接连到eZ430-RF2500T目标板的引脚3上。这是一个外部引脚,我们焊接到公头管脚上,以方便访问。如果你查看过安装在远程节点MSP430模块的固件,下图显示了我们正在修改这行代码:


图6:复用RF2500-SEH MSP430板已安装的演示代码,使用Code Composer Studio对上述代码行进行了调整。修改后的固件通过USB加密狗再上传到EZ430-RF2500T。


保存更改后,我们就可以通过硬件编程工具USB加密狗上传新的节点固件给远程MSP430,用于管理太阳能采集面板(物理位置位于邮箱外部的面板处)。然后,简单来说,它连接了环境光传感器(见图3)并将MSP430目标板连接到在EH板(见图4)。移除跳线JP8,太阳能电池板开始给主板充电。当你把它连接到太阳能电池板(Cymbet)时,请验证MSP430远程节点上的板载LED开始闪烁。有一点要注意的是,如果你关闭项目电源并存储EH Cymbet主板时,注意在存储EH主板之前更换跳线J8。


在此时,如果你打算长久使用该装置,请注意使用一个防水外壳,并使用热缩管和密封胶(也许有点像sugru)以密封外壳,从而保持外部接线整齐。当给邮箱安装这个设备时,如果你住在北半球,请记住,理想地方式是将太阳能电池板面向南,以在全年中最大化太阳照射。


室内装配部分


我们邮件传递通知系统的室内部分将需要使用一台Windows电脑。如果你无法为该远程项目准备一台电脑,可以在整个EH项目中只使用微控器,但是使用电脑可以让你在这个项目中加入新功能,比如运行Python脚本,在状态变化时发送电子邮件。


室内部分包括提到的Windows电脑,它上面将运行Processing sketch,负责两个外部设备与电脑的接口通信:

1.室内MSP430运行枢纽固件,并通过USB调试硬件“加密狗”连接到计算机。

2,TI LaunchPad试验开发板,控制伺服电机,以抬高室内的物理标示。


我们将使用开源工具Processing 在称为 “sketch”的程序中开发我们的桌面应用。选择Processing ,是因为当你在原型设计阶段,很少有开发环境能像Processing这样,可以简单地处理串行通信和创建基本用户界面(UI)。


更详细地总结一下室内硬件装置,运行枢纽固件的MSP430模块通过USB调试硬件加密狗连接到计算机。调试器在计算机上将显示为一个COM端口。记住具体的COM端口号,我们将在随后的 Processing sketch中使用该信息。


其它连接到计算机的硬件是,TI LaunchPad试验开发版。通过它,我们可以与伺服电机交互,抬升物理标示以让用户知道该邮件已经被传递。我们也添加了一个按钮,在他们离开并获得邮件之后,用户可以使用这个按钮重置系统(并通过伺服电机降低标示)。如同所有的数字I/ O,不要忘记加入上拉或下拉电阻,以防止悬浮输入端口,否则,最好情况下可能导致应用不可靠,最坏情况下你的系统将彻底不可用。


我们Processing sketch的伪代码如下:


1.读取EZ430-RF2500T板COM端口的串行数据包,而该主板则连接到USB调试器。

2.解析数据包,忽略枢纽数据包,只监听远程节点数据包。

3.解析远程节点数据包,以寻找ADC中的电压读数。

4.如果电压读数小于4.5V,假定邮件正在被传递。

5.发送串行数据包到LaunchPad,让它知道邮件已经被传递并抬高标示。


控制伺服电机的LaunchPad 将使用Energia IDE而不是先前的Code Composer Studio来进行编程。该IDE看起来和 Processing IDE颇为相似,并且两者之间很容易转换,并且排除通信错误也更容易一些。固件将等待接收至电脑的一个特定关键字;在该示例中,该标志将是值为“MAIL”的字符串。一旦接收到该关键字,将会驱动伺服电机旋转90度,抬升标示。我们可以使用Energia 网站所提供的伺服电机库,通过做脉宽调制占空比计算抽象所需代码来简化驱动伺服电机;它将伺服电机交互化简为一个简单的函数调用。此外,我们需要一个函数来处理连接到LaunchPad数字I/ O引脚之一的复位按钮。在该示例中,该函数将驱动伺服电机以降低标示,并允许系统再次监听串行端口而来的“MAIL”标志。


结论


目前存在大量的微控器平台(和软件工具),而使用德州仪器(TI)的LaunchPad开发板是入手的一个最佳方式。MSP430具有极低的功耗需求,在电源效率至关重要的能量采集应用中是一个理想的选择。无论你是一位经验丰富的工程师或业余爱好者,学习不同的平台是非常有价值的一个技能。接触各种平台给工程师带来更大的灵活性,更利于解决特定问题时考虑出所有可能的方案。在该示例中,我们采用TI MSP430微控器来作为远程邮件传递通知系统中的潜在方案。你将如何修改来满足你的需求?或者你是否会重新调整设计来应对一个完全不同的应用?


作者简介


Michael Parks, P.E.是Green Shoe Garage的所有者,这是一个提供定制电子设计的工作室和技术咨询机构,它位于马里兰州南部,他还是一个播客,提升公众对科技的认知,Michael 拥有专业工程师资质并拥有约翰霍普金斯系统工程大学硕士学位。


贸泽电子微信号传播技术干货,发布文章均为独家原创文章,转载请注明如下信息:

出处:贸泽电子公共号

微信号:mouserelectronics

对于未经许可的复制和不符合要求的转载我们将保留依法追究法律责任的权利


 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved