摘要:本文简要介绍了一款基于Arduino Mega2560的智能无线控制小车的设计方案。智能小车主要分为传感器模块,最小系统模块,电机驱动模块,电源模块,无线控制模块,以及摄像头模块等。本方案以Arduino平台为核心部件,利用光电检测技术,红外避障,配合Arduino的软件算法实现了对小车的无线控制、wifi实时监控等功能。通过试验证明了该方案可行,智能小车最终完成了设计之初要求的各项任务。该方案对于Arduino新型集成开发环境的应用具有一定的参考价值。
关键词:智能小车 Arduino
中***分类号:TP242 文献标识码:A 文章编号:1007-9416(2013)10-0144-03
Arduino是源自意大利的一个开放源代码的硬件项目平台,该平台包括一块具备简单I/O功能的电路板以及一套类似于Java和C语言的IDE集成开发环境。Arduino用户通过USB接口直接进行编程和通信,可以用来开发交互产品,比如它可以读取大量的开关盒传感器信号,并且可以控制电灯、电机和其他各式各样的物理设备;Arduino也可以开发出和PC相连的周边装置,能在运行时与PC上的软件进行通讯。Arduino的硬件电路板可以自行焊接组装,也可以购买已经组装好的模块,而程序开发环境的软件则可以从网上免费***和使用。
本文提出了一种基于Arduino开发环境的智能无线控制小车设计方案,包括数据采集、人机互动、智能动作在内的智能小车,加载上一台功能完备的wifi监控摄像头,以达到能够在一定距离范围内的无线操作及监控功能。
Arduino无线监控小车-参数:
主控板:Arduino Mega 2560
直流电机驱动芯片:L9110
红外模块信号放大芯片:LM339
红外模块检测距离:(白)3~30cm
监控摄像头:凯聪SIP1201
可视角度:上下120°,左右270°
***像视频传输距离:局域网无线受无线路由制约,公网无制约
无线控制模块:APC220
可控距离:空旷1000米
1 智能小车方案设计
本设计通过无线控制模块和wifi监控摄像头来实现对整个小车的定位,方案如***1所示。小车主控板通过接收无线控制模块发来的指令来进行小车的前后左右动作,同时主控板也会将收到指令后的确认信息返回至PC终端;利用wifi无线监控摄像头来通过手机实时查看到小车所运行的环境画面,随时随地的查看环境视频信息,同时该摄像头也可以使用SD卡做视频采集,将来可将其用于特殊环境下的拍摄任务。
2 硬件设计
本方案的硬件设计如***2所示。
2.1 Arduino 控制板
本设计中采用Arduino Mega控制板,核心是一片Arduino Mega 2560控制器。
Arduino Mega2560是采用USB接口的核心电路板,具有54路数字输入输出,适合需要大量IO接口的设计。处理器核心是ATmega2560,同时具有54路数字输入/输出口(其中16路可作为PWM输出),16路模拟输入,4路UART接口,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。工作电压为5V,每个数字I/O口的直流电流为40mA。存储空间方面,板载256KB FLASH Memory(其中8KB被用作bootloader),8KB SRAM,4KB EEPROM。控制板通过标准USB线缆与电脑连接,便于***进行程序调试。
2.2 电机驱动模块与测速模块
本设计采用L9110电机驱动芯片,但通常的电机驱动芯片中较多的采用LM298N驱动,因此在针对电机驱动模块本设计对将两者进行了对比。
L9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC 之中,使器件成本降低,整机可靠性提高。该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过750~800mA 的持续电流,峰值电流能力可达1.5~2.0A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。
L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。
经对比可以看出,L298N电机驱动芯片其功率更大,工作范围更为广泛,但同时其发热量也相当,在设计中势必要加入散热片,增加了机械空间,对小车的整体结构和美观产生影响。考虑到本次设计中所采用的电机为小功率的一般电机,因此不必要使用L298N这样的大功率,L9110正是以此小型化低功率低成本化,获得了我们的青睐。
实物测试***(如***4,5):
2.3 APC220远程控制模块
APC220-43模块是高度集成半双工微功率无线数据传输模块,其嵌入高速单片机和高性能射频芯片ADF7020-1。采用高效的循环交织纠检错编码,抗干扰和灵敏度都大大提高,最大可以纠24bits连续突发错误。
APC220-43模块提供了多个频道的选择,可以***修改串口速率,发射功率,射频速率等各种参数。APC220-43模块能够透明传输任何大小的数据,而用户无须编写复杂的设置与传输程序,同时小体积宽电压运行,较远传输距离,丰富便捷的软件编程设置功能,使之能够应用与非常广泛的领域。
2.4 红外避障电路设计
方案1:用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。
但是这种方案受光照影响很大,不能够稳定的工作。因此我们考虑其他更加稳定的方案。
方案2:用RPR220型光电对管。RPR220是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。
方案3:用红外发射管和接收管自己制作光电对管寻迹传感器。红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。我们选择了此方案。
传感器是整个系统的眼睛,这部分主要运用红外线传感器采集信号送给单片机处理。由于黑色车道对红外线传感器发出的光有吸收能力,白色地方对发出的光反射,从而当传感器在不同的地方产生不同的信号,传送个单片机。单片机根据采集的信号做出实时的处理。
2.5 wifi摄像头
wifi摄像头是本次设计中重要的一个模块,同时它也是***区别于无线控制模块、红外感应模块之外。在本次设计中只是为了拓展小车的功能而在外面搭载的负载。
本设计中所引用的小车车载wifi监控摄像头是凯聪公司出品的H系列的wifi无线监控摄像头。之所以采用这么一款体型"庞大"的监控摄像头主要是出于对其摄像头性能的优先考虑,同时也是作为检测本次设计中对小车负载能力的一种检验。
3 软件设计
3.1 远程控制模块测试程序
基于arduino开发环境的远程控制模块代码如下:
int val = 0;
int ledPin = 13;
void setup()
{
Serial.begin(9600);
}
void loop()
{
val = Serial.read();
if (-1 != val) {
if ('A' == val || 'a' == val) {
Serial.println("Hello from Arduino!");
}else if ('B' == val || 'b' == val) {
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
}
}
}
3.2 红外避障模块高低电平输出的测试程序
基于arduino开发环境的红外避障模块代码如下:
int comtemp;
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println(digitalRead(42));
delay(1000);
}
4 试验结果
按照本方案设计的智能小车能够实现无线控制并返回传感器数据、wifi实时监控等功能。但是,在本设计中也存在一定缺陷:(1)红外避障模块有一定弊端:红外信号可能会受到外界光线的强弱干扰,因其接收的是某段红外信号;(2)电机的全速行驶有点慢:小车的马达扭力较小,爬坡能力不够等缺陷。
5 结语
本文主要是介绍了一款基于arduino 开发环境的智能小车设计,对于Arduino 开发环境的广泛应用具有一般的参考价值。
参考文献
[1]Massimo Banzi(美),于欣龙(译者),郭浩贇(译者).爱上Arduino.第2版.北京:人民邮电出版社,2011.4.
[2]SimonMonk[M].Arduino+Android互动智做.科学出版社,2002.
[3]程晨.Arduino开发实战指南:AVR篇.机械出版社,2012.7.
[4]吴麒铭,巢文元,曹国平.电子电路基础.科学出版社,2009.4.
[5]马光.单片机原理及应用.北京:机械工业出版社,2006.1.
[6]王东锋,王会良,董冠强.单片机C语言应用100例[M].电子工业出版社,2009.3:145-300.
[7]李如东.机器人控制技术:基于STC89C52的智能小车的设计.咸宁学院电气工程及其自动化,2010.
[8]赵家贵,付小美,董平.新编传感器电路设计手册.中国计量出版社,2002.
转载请注明出处学文网 » 基于ArduinoMega2560的无线监控小车设计