基于蓝牙的温室物料运输小车控制系统设计

2018-09-22 08:29祝铠甲
绿色科技 2018年16期
关键词:串口小车蓝牙

梁 鑫,祝铠甲,刘 利

(西北农林科技大学 机械与电子工程学院,陕西 杨凌 712100)

1 引言

目前,温室物料转移环节,主要依靠人力,劳动强度大,自动化程度低[1,2]。针对此问题,国内外普遍采用轨道式运输车,然而大多数设施温室空间狭小,布线困难[3],且具有农业盲区,无法实现轨道的铺设。本文提出一种基于蓝牙的温室物料运输小车控制系统,利用蓝牙这种可靠性强、功耗低、抗干扰能力强的无线传输技术,控制物料运输小车的运动,达到方便灵活、省力高效的目的[4,5,6]。

2 系统整体设计

根据温室物料运输小车的目标功能,设计控制系统包括主机部分和从机部分[6,7]。主机部分包括手机APP以及蓝牙模块,从机部分包括单片机最小系统、从机蓝牙模块以及电机驱动模块。物料运输小车控制系统的设计示意如图1所示。系统可通过APP界面控制,手机发送透传信号,从机蓝牙模块接收信号并将数据发送至单片机,单片机系统进行数据处理后,发出信号控制电机驱动模块,使小车实现前进、后退、左转、右转以及停止的功能。

3 电路设计

主控芯片选用STC89C52RC单片机,单片机最小系统包括上电复位开关和外部晶振。其中,P0连接上拉电阻,P1连接电机驱动模块,P2和P3连接蓝牙模块。VCC和VSS引脚分别连接+5V和地。

以L298芯片为何核心,设计电机驱动模块。其中,VS接驱动电压,选用AMS11设计稳压电路,其中,发光二极管D1显示电源状态,C1~C4进行稳压滤波。二极管D2~D9作用为稳定控制PWM波的输出电压,精确控制电机转速。电机驱动模块电路如图2所示。由于一个L298芯片可控制两个电机驱动,故本文选用两个L298模块控制四轮小车,其N1~N4口均与单片机的P1口连接。

图1 控制系统设计示意

选用CC2540设计蓝牙模块,其电路设计包括天线设计、外部电路设计以及单片机连接设计。参考TI的官方天线标准,结合目标功能,设计模块的天线电路如图3所示,天线接收端接地进行滤波,保证信号的稳定性。外部电路设计中相应引脚接地和电源,AVDD1~AVDD6口连接模拟电压信号,选用LC电路进行稳压滤波。

蓝牙模块的单片机连接设计,有两种方案。方案一是用CC2540的GPIO口中P0.7、P0.6和P0.5分别与单片机的P2.7、P2.6和P2.5连接,用于传输数字信号,其中P0.7为使能控制位,控制小车的停动。方案二是利用UART串口的数据透传功能,实现操作指令传输。CC2540的P0.2和P0.3,分别与单片机的P3.0和P3.1连接,作为UART串口的RX和TX,进行数据透传。本设计中,上述两种方法均可实现。

小车结构包括4个车轮,4个直流电机,小车车身底板以及单片机主控板、电机驱动模块。主控板发送控制信号给电机驱动模块,控制电机转动,实现每个车轮

图2 电机驱动模块电路

图3 天线设计电路

转动,最终实现小车运动。小车基本运动功能实现的真值表,如表1所示。

表1 小车基本动作实现真值表

4 软件设计

蓝牙协议栈设计,包括串口程序设计、数据回调设计、数据透传设计。蓝牙模块和单片机连接的两种方案中,方案一的初始化函数,包括定义3个供小车运动信号传输的GPIO口,设置具体端口数据传输的方向,以及设置端口功能选择为外设或GPIO口。当从机接收数据时,先将由链路层转换的十六进制数转化为char型,再调用包含数据处理程序的回调函数。方案二的主要环节,是实现蓝牙的数据透传功能。数据透传包括主机透传从机和从机透传主机,因本文选用的主机为安装APP的安卓手机,其自带主机透传从机协议,故这里将不再考虑,只需开发从机透传主机协议。定义透传初始化的数据串口头文件,包括设置端口P0.2和P0.3为UART串口的RX和TX,以及设置波特率为单片机最佳串口波特率9600。定义进行数据透传的串口写入函数,包括具体设置串口位置、数据和长度。其中UART串口将数据转换为十六进制进行传输。当从机接收串口数据时,调用回调函数,其作用与方案一相同。此外,利用数据透传功能同样可以实现方案一的设计。

APP程序设计选用Android系统为运行平台,采用Windows7 64bit旗舰版为开发环境, eclipse为开发软件,以及java为开发语言。APP主程序中包括蓝牙调用函数,串口传输函数,回调函数,界面函数等子函数。实现功能为调用手机蓝牙作为主机模块,扫描从机模块,建立连接,并通过模拟串口传递数据。程序设计流程如图4所示。

单片机程序设计流程,如图5所示,方案一和方案二的设计,均可通过该程序实现。串口初始化函数设置串口的比特率为9600,保证单片机与蓝牙模块串口保持良好通讯。蓝牙传输程序初始化函数设置P1口全部为低电平,即电机初始状态为静止。当单片机接收到蓝牙模块传输的数据时,将数据存放于SBUF缓存中,RI自动置1,将缓存区的数据存于char型变量kumo中,用于主程序调用处理。若无数据传输,单片机继续等待。

图4 APP程序设计流程

图5 单片机程序设计流程

本文设计的基于蓝牙的温室物料运输小车控制系统,调试过程,如图6所示,用户界面包括动作按钮,扫描从机按钮,蓝牙设备连接按钮等命令开发按钮。

图6 基于蓝牙的农业温室物料转移运动控制系统

5 结语

本文设计的基于蓝牙的温室物料运输小车控制系统,可以通过手机APP和蓝牙模块,无线控制单片机,驱动电机运转,最终达到无线控制小车运动方向的目的。系统操作简单,灵活方便,使温室物料运输环节更加智能化,解放人力。但在实际调试中,单片机的反馈数据传到主机手机上与预定数据有一定误差,且系统的功能多样性不足,这些缺点将在后续的研究中加以改进。

猜你喜欢
串口小车蓝牙
蓝牙音箱的直线之美
火星作业小车
大车拉小车
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
帮你轻松找到AirPods的神奇工具
刘老师想开小车
MCS—51单片机中的多串口通讯技术的应用
去修理厂
蓝牙4.0落地加速