小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 27357|回复: 23

小白WIFI小车(基于Arduino)总结之硬件解析

[复制链接]
发表于 2012-12-2 00:03:15 | 显示全部楼层 |阅读模式
A) 单片机主控(Arduino nano 3.0)
  先来简单说说Arduino nano板。

Arduino Nano是Arduino USB接口的微型版本,最大的不同是没有电源插座以及USB接口是Mini-B型插座。Arduino Nano是尺寸非常
小的而且可以直接插在面包板上使用。其处理器核心是ATmega168(Nano2.x)和ATmega328(Nano3.0),,同时具有14路数字
输入/输出口(其中6路可作为PWM输出),8路模拟输入,一个16MHz晶体振荡器,一个mini-B USB口,一个ICSP header和一个复位按钮。
14路数字输入输出口:工作电压为5V,每一路能输出和接入最大电流为40mA。
1)             外部中断(2号和3号):触发中断引脚,可设成上升沿、下降沿或同时触发。
2)             脉冲宽度调制PWM(3、5、6、9、10 、11):提供6路8位PWM输出。
3)             SPI(10(SS),11(MOSI),12(MISO),13(SCK)):SPI通信接口。
4)             LED(13号):Arduino专门用于测试LED的保留接口,输出为高时点亮LED,反之输出为低时LED熄灭。
5)             6路模拟输入A0到A5:每一路具有10位的分辨率(即输入有1024个不同值),默认输入信号范围为0到5V,可以通过AREF调整
输入上限。TWI接口(SDA A4和SCL A5):支持通信接口(兼容I2C总线)。
6)             AREF:模拟输入信号的参考电压。
7)             Reset:信号为低时复位单片机芯片。(使用方法:开关一头接RST引脚,另一头接GND引脚,按下开关后断开,实现单片机复位。
8)             串口:ATmega328内置的UART可以通过数字口0(RX接收)和1(TX发送)与外部实现串口通信;ATmega16U2可以访问数字口
实现USB上的虚拟串口。(使用方法:路由TX连接单片机RX,路由GND接单片机GND,目前703N暂时实现发送命令给单片机,对于单片机
发送的信号,路由模块无法正确接收,原因在于两个硬件系统TTL电平电压不同)
9)             供电引脚VIN,输入电压(推荐) 7-12V(使用方法:电源正极接VIN,负极接+7.2V)
WIFI小车用到的引脚有:D3、D4、D5、D6数字输出高低电平(HIGH或LOW)给电机驱动,VIN、GND 连接7.2V电源,RX、GND 对应
连接路由的TX、GND,用于接收路由控制命令。
B) 无线路由模块  
无线路由模块由TP-LINK 703N无线路由安装OPENWRT系统并引出TTL串口线改装而成。
703n00.png



对于刚买回来的新703N路由器,第一步要做的事是给路由刷上OPENWRT系统,OPENWRT系统是运行于路由上的Linux系统,基于Linux系统
的开源,装上特定的软件可以实现我们想要实现的功能。我们WIFI小车要用到的软件,一个是摄像头驱动及图像处理软件mjpg-streamer
,一个是串口命令转发软件Ser2net。目前论坛的高手已经把要用到的这两样东西集成在了703N路由固件中,对于我们新手来说,是很容易
搞定的事,如果想深入了解OPENWRT系统及工作原理,请各自搜索学习相关知识。
路由刷机教程:论坛703N路由刷机教程穿越入口:http://www.wifi-robots.com/thread-1042-1-1.html
补充必要说明:在新路由原系统下刷机时,先刷上factory系统(刷factory系统方法:LAN端口连接路由器,进入192.168.1.1,进入固件升级
页面,直接上传固件,进行升级,耐心等待几分钟路由重启,输入192.168.1.1,看到OPENWRT界面说明成功,登陆用户名:root,
密码:admin。),再刷论坛上的专用系统。factory系统附件在此: http://www.wifi-robots.com/thread-1037-1-1.html
45644.png
  路由改造引出线说明:首先简单介绍下引线原理:要用到路由TTL串口连接线,而路由板预留有TTL焊点,我们需要把它们引出,另外引出给
路由版供电的Mini-USB的电源焊点,方便我们给路由供电。引线方法:引出图中标出的TP_IN(数据接收点,相当于RX)   和TP_OUT()焊点,
焊接时一定要小心,用一根细铜丝(找根电源线,剥开后拿出一根就行,TTL线电压只有2.5V左右,细铜丝可以承载),焊上之后最好用热熔胶枪
固定一下。TTL串口线GND与电源GND共用。电源线由USB接口处引出,+5V对应USB线中红色的线所连接的焊脚,GND对应USB线中黑色的线所
连接的焊脚。经测试,路由供电电压:+5V,工作电流:300mA左右。
703n引出线.png

个人建议:用五根杜邦线,剪去一端后连接TTL及电源线,在网口上端断开一个长孔,五根线平展引出,出口的地方垫一点纸片,盖上路由盖后五
根数据线固定相当牢固,用起来不用担心会伤着电路板上的焊点什么的,相当给力。
C)    摄像头
301摄像头.png   
选择中星微301为主控的摄像头,为什么这样选择呢?答:1.中星微301主控的摄像头驱动比较好找,论坛里好多针对703N路由刷机固件里就含有,
方便使用。2.便宜,虽然论坛里已经出现支持高清摄像头UVC模块的驱动,但是高清摄像头贵啊,对于初学者来说,在少投资的前提下能够搞清一些
初级原理就好,以后有需求了再投入也不迟。
我的301摄像头是在淘宝上30块淘的,用起来还可以,特别声明,我不是做广告,仅
供有需要的朋友参考一下。http://item.taobao.com/item.htm?id=10167504005我对摄像头进行了简单改造,使用起来更方便。数据线太长而且硬,
使用起来不方便,就把数据线外皮剥掉并简短了,还把摄像头上的辅助LED灯都去掉了,费电。在使用中,301摄像头会出现花屏现象,
解决办法参考高手帖子:http://www.wifi-robots.com/forum.php?mod=viewthread&tid=2978&highlight=%BB%A8%C6%C1我只改了图像的分辨率
为640X480,其他没动,效果还好,花屏的情况也出现,但是情况少多了。根据个人不同情况进行调整就可以了。
D)电机驱动模块  
电机驱动模块.png
我的WIFI小车四轮四电机,左边前后电机串联,右边前后电机串联,实现前进,后退,左转和右转。实际上用一个两电机驱动模块就可以了,我买的
是四电机驱动模块,有点浪费了。
驱动器集成2块L298N芯片,同时可以驱动4个直流电机,实现正反转及电机速度的控制.模块内部带有L7805降压芯片,如果驱动7V电压以上的电机时,可以
向外输出5V电,供给控制端使用。
接线定义:
IN1-IN8:电机逻辑控制端,其中IN1/IN2控制电机1;IN3/IN4控制电机2;IN5/IN6控制电机3;IN7/IN8控制电机4.对于我的小车,使用到了IN1-IN4引脚,单片机
传来不同高低电平实现两路电机正反转。
EN1-EN4:为电机的使能端
ON/OFF:内部供电选择,当控制电机电压在7-35V的时候,跳线帽跳到ON一端,此时可提供5V电源给外部控制器使用
VIN/GND:电机电源接口,其中VIN接电源+7.2V,GND接电源负极,同时GND还要连接Arduino板子的GND,提供参考电平,否则电机驱动模块不能正常工作,
我在调试中就遇到了没有将GND连接单片机,怎么检查都找不到毛病,郁闷了很久,后来查了不少资料才解决,希望有此困惑的童鞋注意这点,很重要。
VCC/GND:跳线为ON时,此VCC可做输出,当跳线为OFF时,此VCC需要从外部接入稳定的5V电源.我在使用中,跳线为ON,电源供电电压在7.2V情况下,此VCC
输出电压供无线路由703N使用,本来还担心输出电流会达不到路由的使用要求的,后来调试中连接摄像头的情况下可以正常使用没有问题。
MOT1-MOT4:4个电机接口.我的小车使用到MOT1和MOT2接线柱,就是两路电机并连后分别接到MOT1,MOT2的接线柱上使用,线先连上,调试时再进行正
反转的调整。
E)其他硬件  
电源选择7V-12V的吧,我用的是7.2V的,最好买可充电的,虽然贵点不至于使用时纠结干电池没电的时候影响调试。
小车底盘,我用的是四轮的,使用过程中发现动力不足,初步判断是电源电压偏低的原因,所以建议要入手的朋友使用两轮电机驱动带一个万向轮的小车地盘,
好处是,一来节约资金,二来发挥低电压的有效动力转换,而且带万向轮的小车转向灵活。我们处在调试阶段没必要追求过高配置,能满足要求就好,以后有
更高要求时再选购多动力配置的小车底盘。  
若干杜邦线,连接线,一个开关(单相开关用于断开电源的正极线,调试时启动关闭系统靠它实现,很有必要),一个按键开关(引出单片机复位按键,在调
试中要经常按复位键初始化单片机模块,所以也有必要)
F)工具  
电烙铁,必备工具,搞电子,以后少不了焊接电线。
万能表,需备工具,个人建议最好身边有个,调试系统中,硬件出现的问题需要它来量量一些参数,给我们提供判断的依据。
热熔胶枪,需备工具,本来我是没有的,焊好路由模块的TP-IN引脚时用透明胶粘的,悲剧的时没注意把路由板子上的焊点给带掉了,费了好大劲才整好,后来就
花20块钱去买了热熔胶枪,使用后心情大好,很多担心的地方都省去了。面包板,淘宝上有很多,主要是做一些实验时使用的所以也是有必要的。
PS: WIFI小车的硬件准备部分就暂且总结这些,希望对一些朋友有所帮助吧,同时自己也温故而知新,对以后的学习也有好处。总是泡论坛学习别人总结的经验,
自己的小车做好了,也把自己的经验分享给朋友吧,大家共同学习,共同进步。后续贴出小车线路连接原理和Arduino程序代码。




Arduino nano.png

评分

参与人数 2金钱 +6 贡献 +2 收起 理由
licab + 3 很给力!
liuviking + 3 + 2 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2012-12-3 08:44:19 | 显示全部楼层
哈哈终于有arduino的爱好者了,论坛里好难找到arduino的爱好者
回复 支持 反对

使用道具 举报

发表于 2012-12-3 10:40:04 | 显示全部楼层
pc端,如何给路由发送数据那?
回复 支持 反对

使用道具 举报

发表于 2012-12-3 18:44:06 | 显示全部楼层
zhinengshijie 发表于 2012-12-3 10:40
pc端,如何给路由发送数据那?

7': No space left on device.
* extract_archive: Cannot create symlink from ./usr/lib/libncurses.so to 'libncurses.so.5': No space left on device.
* extract_archive: Cannot create symlink from ./usr/lib/libcurses.so to 'libncurses.so.5.7': No space left on device.
* pkg_write_filelist: Failed to open //usr/lib/opkg/info/libncurses.list: No space left on device.
* opkg_install_pkg: Failed to extract data files for libncurses. Package debris may remain!
* opkg_install_cmd: Cannot install package minicom.
* opkg_conf_write_status_files: Can't open status file //usr/lib/opkg/status: No space left on device.
root@OpenWrt:~#
回复 支持 反对

使用道具 举报

发表于 2012-12-3 18:45:08 | 显示全部楼层

RE: 小白WIFI小车(基于Arduino)总结之硬件解析

zhikuanlifan 发表于 2012-12-3 18:44
7': No space left on device.
* extract_archive: Cannot create symlink from ./usr/lib/libncurses. ...

刷web控制的固件就行
回复 支持 反对

使用道具 举报

发表于 2012-12-4 13:35:19 | 显示全部楼层
非常实用,顶起
回复 支持 反对

使用道具 举报

发表于 2012-12-12 12:06:28 | 显示全部楼层
实用,什么时候放出代码啊?
回复 支持 反对

使用道具 举报

发表于 2013-1-8 22:13:23 | 显示全部楼层
什么时候有代码?很期待啊!
回复 支持 反对

使用道具 举报

发表于 2013-1-8 22:14:28 | 显示全部楼层
坐等。。。代码!代码!
回复 支持 反对

使用道具 举报

发表于 2013-1-12 17:23:33 | 显示全部楼层
代码 期待中……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-11-22 23:54 , Processed in 1.116071 second(s), 24 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

快速回复 返回顶部 返回列表