MSP430和CC3000的智能手机控制系统
扫描二维码
随时随地手机看文章
引言
随着科技的发展和互联网技术的普及,以及智能手机的普及,移动互联网技术正在以迅雷不及掩耳之势走进人们的生活。移动互联网时代,智能手机是主要的应用平台。在家居环境中,智能手机可以作为控制终端,控制家里的每一个智能家电。本文从一个具体的应用例子入手,详细描述了Android智能手机通过Wi-Fi控制直流电机的整个过程,具有较高的参考价值。
1 系统结构及总体设计
本系统的结构框图如图1所示。系统总共分为5部分,分别是:无线路由器、智能手机、CC3000 Wi—Fi模块、MSP430单片机电路和直流电机驱动电路。首先,智能手机将Wi-Fi连接到无线路由器;接着打开智能手机中的SmartConfig的APP,配置CC3000 Wi—Fi模块,这样CC3000即可连接到无线路由器;然后打开电机控制APP,建立智能手机和CC3000 Wi—Fi模块的连接。其中,CC3000 Wi—Fi模块与MSP430单片机是通过SPI总线进行通信的。最后,可以通过智能手机中的电机控制APP对电机进行无线控制。
2 硬件设计
2.1 CC3000 Wi-Fi模块
系统无线通信部分采用TI公司的Simple LinkCC3000 Wi—Fi,它是一款自成一体的无线解决方案,可大幅简化因特网连接的实施过程。而且它可为基于微控制器(MCU)的系统提供简化的Wi—Fi连接,能够与MSP430及Tiva C系列MCU LaunchPad评估套件配合,为各种基于MCU的家庭自动化、健康健身以及机器对机器(M2M)应用快速启动开发。Simple Link CC3000Wi—Fi解决方案以模块方式提供,如图2所示。
它可以缩短产品开发时间、降低制造成本、节约板级空间、简化认证工作,并降低对RF专业技术的要求。通过在CC3000上完整集成软件来实现与低存储容量微控制器的连接。
Simple Link CC3000 Wi-Fi主要特点有:
①无线网络处理器使用IEEE802.11b/g(2.4 GHz)标准,嵌入IPv4 TCP/IP协议栈。
②具有良好的射频性能,发送功率为+20 dBm,11Mbps(CCK);接收灵敏度为-89 dBm,11 Mbps(CCK)。
③可轻松与低存储容量、低成本以及低功耗的微控制器系统进行配套。
④经过FCC、IC、CE和TELEC认证的内置天线参考设计。
⑤集成了晶振和电源管理模块。
⑥小封装,尺寸为16.3 mm×13.5 mm×2 mm。
⑦工作温度为-20~70℃。
⑧智能配置技术:可以用智能手机、平板电脑或者PC机配置Simple Link CC3000 Wi—Fi。
⑨已经验证的Wi-Fi互操作性:基于TI第七代经验证的Wi—Fi解决方案。
⑩提供该方案的完整平台,包括用户手册、移植指南、API指南、范例应用并支持社区。
CC3000规范如表1所列。
2.2 MSP430单片机
MSP430单片机是TI公司生产的一款超低功耗类型的16位单片机,它采用了RISC内核结构,支持C语言编程。同时,该系列单片机将大量的外围模块(如液晶驱动器、看门狗、A/D转换器、硬件乘法器、模拟比较器等)集成到片内,特别适合于设计片上系统。它与CC3000 Wi—Fi模块通过SPI总线进行连接,具体连接如图3所示。MSP430单片机通过SPI总线,可以配置CC3000 Wi—Fi模块的连接参数,也可以与其他Wi—Fi设备进行通信。
2.3 直流电机驱动电路
采用L298N来驱动直流电机,它是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片的主要特点是:工作电压高,最高工作电压可达46 V;输出电流大,瞬间峰值电流可达3 A,持续工作电流为2 A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。
直流电机驱动电路如图4所示。通过单片机的P3.0输出占空比不同的PWM波形来调节直流电机的速度,通过P3.1和P3.2引脚的高低电平不同来控制直流电机的旋转方向。
3 软件设计
3.1 MSP430单片机程序设计
MSP430单片机主要完成两方面的功能:一是与CC3000进行通信;二是控制直流电机,前者是本程序设计的难点。
单片机主程序流程图如图5所示。将CC3000作为Server,等待智能手机连接。单片机首先进行I/O口的初始化以及一些寄存器的配置;接着判断CC3000是否需要进行Smart Config,如果不需要,再判断是否已经连接到一个无线路由器,CC3000连接上路由器后,就会获得一个IP地址;然后CC3000发送广播以及初始化CC3000为Server模式,等待Clie nt连接。当智能手机收到广播,与CC3000连接上之后,就可以通过智能手机控制直流电机了。
3.2 Android应用程序设计
APP分为两个部分:SmartConfig和电机控制。本系统SmartConfig程序直接采用TI官网提供的APP程序,在此不需要进行程序设计。CC3000初次使用或者换一个网络环境时,需要对仪器进行SmartConfig,将目前的网络信息写入CC3000中,下次再使用时,该仪器会自动连接到该网络中。
电机控制程序界面如图6所示。该程序主要实现智能手机连接CC3000 Wi—Fi模块,以及控制电机的正转、反转、停止和速度。界面中的3个Button组件是用来控制电机的正转、反转和停止。通过滑动SeekBar组件,可以调节电机的速度,并在该组件的上方显示出速度大小。最下面的Spinner组件用于显示连接的设备,当连接上CC3000后,会在此处显示出来。
结语
本文采用MSP430单片机作为控制端的核心,通过SPI总线与CC3000 Wi—Fi模块进行通信,使智能手机与MSP430单片机能够间接进行数据交互,从而达到智能手机远程控制单片机及其外围设备的目的。经过测试,智能手机和CC3000能够稳定的连接,并可以通过电机控制APP控制直流电机的正转、反转、停止以及调节电机的速度。本系统达到了预期的设计目的,具有较高的实用价值。