最小系统数学模型的智能小车应用与实验

2018-05-21 07:41霍国义张爱滑
实验室研究与探索 2018年4期
关键词:遥控蓝牙小车

霍国义, 张爱滑

(1. 河南水利与环境职业学院 基础部, 郑州 450011; 2. 中北大学 物理系,太原 0300511)

0 引 言

智能领域是当今社会研究的热点,人工智能、神经网络学长期以来面临的巨大挑战,现在世界科技领域的巨头都在重视人工智能的研究和发展,也必将在人工智能的领域投入巨大的研发成本,人工智能也会随之而快速增长[1-3]。在人类感知方面,汽车自动驾驶,人机交流,机器学习等都已经取得了不错的成就,人工智能也将迎来它飞速发展的时代[4-7],学习和了解人工智能是我们必要掌握的一门技能。本文从智能小车入手,设计实现智能小车的控制系统以及智能小车的无线遥控,与控制端的无线通信等。从而入手更高级的自动控制,智能学习等高级算法[8-11]。 人工智能引领了现在科技发展的潮流,各国各大科技公司都投入到了人工智能领域的研究中[12-13],自动驾驶汽车已经出现在马路中测试。本文研究了单片机与安卓手机的蓝牙通信通过安卓手机APP对小车的遥控,以及单片机对智能小车的运动状态的控制[15-20]。

1 系统设计

利用安卓手机的重力感应和蓝牙实现遥控器功能,通过控制STM32单片机定时器的PWM调制控制直流电动机速度,从而控制小车的运动,单片机通过读取温湿度传感器模块数据采集得到小车温信息。通过速度传感器采集小车电动机转动速度,单片机再利用蓝牙串口模块,实现与遥控器的双向数据传输。整个实现过程原理框图如图1所示。

图1 实现过程原理框图

安卓智能手机都自带有蓝牙功能,可以实现与另一蓝牙设备连接并且相互收发数据,满足了本设计需要用蓝牙遥控器的要求。而且在大多数Android设备中都内置了传感器,这些传感器都是基于硬件与软件共同实现的,不仅可以实现监控手机设备的三维运动、位置等,还可以通过软件实现获取使用者对手机操作的动作,如平移、抖动、旋转等操作,其重力感应分析图解如图2所示。

图2 手机重力感应分析图解

1.1 硬件设计

根据系统的具体设计要求和方案的对比选择,最后决定系统的硬件组成部分包含以下几个功能模块:核心控制单片机最小系统模块,小车(2个底盘、4个直流电动机、2颗电池、4个车轮、1个电池壳),用于测量车轮速度的光电测速传感器模块,用蓝牙转串口模块作为无线传输数据、采集温湿度的温湿度传感器模块,驱动直流电动机的电动机驱动模块。

电动机驱动模块不易受外界环境影响性能,具有电源效率高,驱动电动机效果好等优势,广泛运用于不同电动机的驱动。当该驱动模块的输入电压范围在7~12 V时,可以给外部的单片机最小系统提供电源,也解决了单片机供电问题,此模块电路如图3所示。由于此电动机驱动模块只能最多独立驱动2台直流电动机,而小车有4个车轮需要4个直流电动机,此时需要将小车同一侧的2个电动机并联起来,使它们能被同一个L298N电动机驱动模块输出端同步控制转速和转向。因此只要相当于控制2个电动机就能完成对小车运动状态的控制了。

图3 L298N电动机驱动模块电路

L298N电动机驱动模块是2路的H桥驱动,它的电动机驱动控制原理方法如表1所示。由该表可知,当需要控制小车4个直流电动机的转动时,需要先使2个使能端设置为高电平,使能模块受控制。此时只要给同一个电动机的2个输入端中的一个输入为固定低电平,另一个输入端输入用于调制电动机速度的脉宽调制方波,即可达到电动机控制。使小车能受控运动。

表1 L298N电动机驱动控制原理

1.2 软件总体设计

本设计的软件框图如图4所示。本设计软件部分主要研究实现安卓手机重力感应遥控小车,蓝牙无线传输数据,小车温湿度、速度采集显示。本设计的软件部分主要由安卓手机蓝牙遥控端软件和单片机控制部分软件组成。其中安卓手机蓝牙遥控端软件主要包含遥控界面布局程序、蓝牙通信程序、事件处理程序三部分。而单片机控制的程序主要包含串口通信模块程序、温湿度采集模块程序、外部中断处理程序、定时器PWM方波输出程序。

图4 软件框图

本设计的遥控界面布局是用了Android中的相对布局来实现完成的。这种布局方法可以设置很多属性,非常灵活方便。它的布局坐标取值范围都是相对的,可以使整体布局自动适应不同尺寸的屏幕,因此得到很多Android开发者的喜爱。多个布局属性中包含:① 设置控件的id值android:id="@+id/seekBar2";② 设置控件在界面中的旋转角度android:rotation="90";③ 设置控件在id为speed_left"的右边android:layout_toRightOf="@+id/speed_left" />等等。通过各个属性之间的关系限制每个控件的大小和位置形成最终的布局。本设计的蓝牙遥控界面最终如图5所示。

图5 蓝牙遥控界面图

2 设计测试与结果分析

2.1 重力感应测试

重力感应部分可以根据用户对手机倾斜角度的改变打印出相应的x与y的角度值,表示不同的手机重力感应数据,即手机在不同方向的倾斜程度。根据测试得到输出x与y的值与手机倾斜的角度之间的关系制作成表格。

当手机左右方向保持平衡,改变手机前后方向的倾斜角度时,此时x与y的值与手机倾斜的角度之间的关系如表2所示。

表2 x与y方向的值与手机前后倾斜角度之间的关系

当手机前后方向保持平衡,改变手机左右方向的倾斜角度时,此时x与y的值与手机倾斜的角度之间的关系如表3所示。

由表2、3可知。当手机左右方向保持平衡,改变手机前后方向的倾斜角度时,此时x随着前后倾斜的角度线性变化,y值保持为0不变。当手机前后方向保持平衡,改变手机左右方向的倾斜角度时,此时y随着前后倾斜的角度线性变化,x值保持为0不变。由此可得重力感应的控制数据符合本设计的要求。

表3 x与y方向的值与手机左右倾斜角度之间的关系

2.2 重力感应蓝牙遥控小车性能测试

给小车安装上2个18650电池后,打开电源开关给单片机系统上电后,打开手机遥控APP,扫描搜索蓝牙设备,然后连接到小车的HC-05蓝牙串口模块,开启重力感应开关,随着手机向前倾的角度越来越大小车向前的速度也随着变快。当手机左右方向保持平衡,改变手机前后方向的倾斜角度时,此时手机APP显示小车左右两边速度的值与手机倾斜角度之间的关系如表4所示(速度值的正负表示电动机转动的方向,数值的大小表示电动机每秒转动的圈数)。

表4 APP显示小车速度与手机前后倾斜的角度之间的关系

由表4可知,当手机左右方向保持平衡(输出值为0),改变手机前后方向的倾斜角度时,此时随着前后倾斜的角度值大于-20°且小于20°。当小车前后倾斜的角度的绝对值越大时,此时小车前进或后退的速度绝对值也越大,且此时两个电动机转动方向一致,小车前进或者后退,而当左右倾斜的角度值大于-20°~20°时,小车静止不动。

当手机前后方向保持平衡,改变手机左右方向的倾斜角度时,此时手机APP显示小车左右两边速度的值与手机倾斜的角度之间的关系如表5所示(速度值的正负表示电动机转动的方向,数值的大小表示电动机每秒转动的圈数)。

表5 APP显示小车速度与手机左右倾斜的角度之间的关系

由表5可知,当手机前后方向保持平衡(输出值为0),改变手机左右方向的倾斜角度时,此时随着左右倾斜的角度值大于-20°且小于20°时,小车静止不动。当小车前后倾斜的角度的绝对值越大时,此时小车前进或后退的速度绝对值也越大,且此时两个电动机转动方向相反,小车在原地顺时针或逆时针转圈,而当左右倾斜的角度值大于-20°~20°时,小车静止不动。

由此可见,小车在手机倾斜角度在-20°~20°之间时,此时单片机输出的PWM占空比较低,导致不能驱动直流电动机的转动,小车静止不动。而当手机遥控器倾斜角度绝对值大20°时,小车受遥控器重力感应控制。当小车只在前后方向或者左右方向有倾斜的角度时,此时小车车轮电动机速度与倾斜角度的绝对值成正比关系,倾斜角度值越大小车电动机速度值也越大。而当手机慢慢向前倾斜的同时也让手机向右端倾斜此时小车向前的速度慢慢增大的同时,小车也有向右的速度,此时小车运动轨迹是一某点为圆心顺时针转圈,此时APP端显示的速度值左边比右边大。

2.3 温湿度采集测试

当改变小车环境时,小车随着环境变化采集得到不同的温、湿度数据,发送至手机遥控器端实时显示。其与标准温度计湿度计测量值对比关系如表6所示。

表6 标准温度计、湿度计与测量值对比关系

由表6可知,在不同环境下测得的温湿度基本准确,与标准值相差不大,并且能在遥控器APP端正常显示,符合本设计的要求。

2.4 结果分析

通过对小车的几轮测试结果,可以看出本设计的结果达到了设计的要求,温湿度的测量值基本正确,个别误差值存在的误差也在误差允许范围之内。可以通过手机重力感应遥控智能小车,让小车跟随手机遥控器运动,而且手机对小车的控制不仅仅只有5种运动状态,而是小车平滑调速。加入了PWM调速控制,使得重力感应的用户体验效果更加完美。倾斜角度绝对值在10°~20°时,由于单片机输出的方波占空比较低,导致此倾斜角度下的直流电动机不能转动,所以没有控制效果,其他的倾斜角度完全达到了速度控制的要求。

3 结 语

本设计实现蓝牙遥控器界面在不同的安卓手机中都能正常显示。温、湿度的采集方面在不同环境下测得的温湿度基本准确,与标准值相差不大,湿度误差在3%以内,温度的误差也在1 ℃以内,并且能发送到蓝牙遥控器APP端正常显示。在重力感应遥控功能中,小车的稳定受遥控距离在空旷的空间中能达40 m,超过40 m后传输稳定性变差。在通过手机重力感应遥控智能小车速度中,小车在手机倾斜角度在-20°~20°之间时,此时单片机输出的PWM占空比较低,导致不能驱动直流电动机的转动,小车静止不动。而当手机遥控器倾斜角度绝对值大20°时,小车受遥控器重力感应控制。当小车只在前后方向或者左右方向有倾斜的角度时,此时小车车轮电动机速度与倾斜角度的绝对值成正比关系 ,倾斜角度值越小,小车电动机速度值也越大。而当手机慢慢向前倾斜的同时也让手机向右端此时倾斜小车向前的速度慢慢增大,小车也有向右的速度,此时小车运动轨迹是以某点为圆心顺时针转圈,而APP端显示的速度值左边比右边大。经过测试达到了系统设计的要求。

参考文献(References):

[1] 江中玉,何振鹏,胡 锦. 基于STM32F103的智能导航避障小车的设计与实现[J]. 实验科学与技术,2017,19(9):1-6.

[2] 党婵娟. 基于STM32的智能环境监测小车的设计[J]. 电子技术与软件工程,2017(15):246.

[3] 王 海,何仕骞. 基于安卓手机蓝牙控制的智能小车设计[J]. 电子制作,2017,42(6):6-7.

[4] 徐 鹏,梁 曼,魏 萍,等. 基于Arduino/Android的小车蓝牙控制系统的设计与实现[J]. 微型机与应用,2017,36(4):96-98.

[5] 曾维鹏,张逢春. 基于蓝牙手机的遥控小车的设计与制作[J]. 电子制作,2016,41(19):8,34.

[6] 刘少军,王瑜瑜. 基于Android手机蓝牙控制的智能小车设计与实现[J]. 电子测量技术,2016,39(9):114-117.

[7] 张伟辰,刘国猛,陈德为. 基于安卓手机蓝牙控制的智能小车设计[J]. 机电技术,2016,15(4):28-30.

[8] 马惠兰. 基于单片机的蓝牙搜救小车设计[J]. 工业仪表与自动化装置,2016,15(3):111-114.

[9] 汤莉莉,黄 伟. 基于Android手机蓝牙控制的智能小车设计[J]. 现代电子技术,2016,39(12):132-134.

[10] 郑海城,杨冬涛,刘 燕,等. 基于蓝牙控制的智能小车设计[J]. 电脑与电信,2016,20(5):62-64,70.

[11] 李晓娟,王雅慧,秦国庆. 基于蓝牙的智能小车循迹避障设计与实现[J]. 河南科技学院学报(自然科学版),2016,44(2):63-67.

[12] 聂 茹. 基于蓝牙遥控的多功能智能小车设计[J]. 自动化与仪器仪表,2016,16(4):81-82,85.

[13] 聂 茹. 基于Android手机蓝牙控制的智能小车设计与实现[J]. 微型电脑应用,2015,31(9):68-69.

[14] 蒋 俊,刘天宇,简雨沛. 蓝牙智能小车系统设计[J]. 信息技术与信息化,2015,50(6):166-167.

[15] 王桂坤,吴承达,蔡谨民,等. 基于蓝牙控制技术的智能小车系统设计[J]. 中山大学研究生学刊(自然科学.医学版),2015,36(2):50-61.

[16] 卢胜昌. 基于STC12C5A60S2单片机无线蓝牙智能追踪小车[J]. 电子技术与软件工程,2015,15(1):261.

[17] 孔繁云川,王 娜. 基于太阳能智能蓝牙小车的设计[J]. 科技资讯,2014,12(27):8-10.

[18] 赵晓凤,张 顺,周璟瑜,等. 基于蓝牙小车的控制系统[J]. 电子科技,2014,27(7):155-158.

[19] 周 瑛,杨盛国,黄凌云. 基于蓝牙技术遥控小车的设计与实现[J]. 福建师大福清分校学报,2012,50(5):18-22.

[20] 符 强,任风华. 基于手机蓝牙的遥控小车的设计[J]. 现代计算机(专业版),2011,31(12):77-80.

猜你喜欢
遥控蓝牙小车
蓝牙音箱的直线之美
“遥控”老师
大车拉小车
自制小车来比赛
他是如何遥控引爆的
刘老师想开小车
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
两轮自平衡小车的设计与实现
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
紧急:蓝牙指尖陀螺自燃!安全隐患频出