找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3582|回复: 0
打印 上一主题 下一主题
收起左侧

“YYQ霹雳一号”升级啦!

[复制链接]
跳转到指定楼层
楼主
ID:262 发表于 2014-10-21 16:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本次升级后机器小车命名为“YYQ霹雳二号”
本次升级的内容见最后升级完成时的说明,嘿嘿,这里先不提。
本次升级项目是开源的。程序代码将在升级完成时随着日志发布。如果大家对程序代码有什么修改、优化建议的话,也欢迎提出,小弟洗耳恭听。
—————————————————————————————————— YYQ霹雳一号升级开始。
我计划设计双层。下层放电机驱动和红外检测模块等。上层放主控芯片及其外围电路等。
原来的主板基本废弃,因为那时是第一次搞这项目开发,缺乏很多经验,焊接也很马虎。电路板背面惨不忍睹。。。。现在使用新的电路板焊接。
自从焊接那个“自行车安全行驶监控器”后,学会了一个新的焊接技术,就是用锡来当导线连起来,那样会比较干净利落。
本次升级还有功能上的增加!嘿嘿。废话不多说,开始从结构升级。
2012年7月27日12:17:08
用了两块万用版,钻孔后开始校准我安装的四个螺丝,使两层电路板保持两个方向水平。
为简略起见,校平过程的照片此处略去。若要看请移步到相册“YYQ的智能车”。以后总装测试时还会再做一次的。
2012年7月28日1:59:04 此时我既想看伦敦奥运会开幕式,又想把它继续焊接完成。目前我已经焊接完了基本电路。 MCU使用ATmage16L芯片,由于是我自己的第一个作品的升级,比以前用它所做的作品不同的是: ①系统时钟源不再是使用片内自带的,我外部接上了11.0592MHz的无源石英晶振,对于串口的波特率,更为精准点,官方PDF资料说该晶振频率对于9600Bps和38.4KBps这两种我以后要用到的波特率来说,理论误差为0%。 ②复位电路也焊上了。对于这款芯片来说,外围复位电路简单的其实就是一个开关,一头连着RESET引脚,一头接地。只要按下开关,RESET引脚被拉低,然后放开就完成外部复位操作了。 ③主电路板上,设了4个开关,分管各个部分的电路。 ④电路板上多用黑色签字笔注释一些必要的部分,方便以后检查和升级电路,也是因为我焊接这个电路板没计划好在电脑上画过电路图嘛。。也懒得画了,参考技术文档的接口定义,直接拿电子元件焊上去。如果是要印刷电路板的话,这是必要的。 ⑤熔丝位设置了使用了外部晶振,我烧写程序不再像以前那样插到开发板上一通电就可以烧了,因为开发板上对于晶振的接口不支持AVR单片机。所以我必须要在这里焊接上至少一个SPI接口,即使不是因为烧写程序的麻烦,以后也必有用处!但是,现在我进入了“最省资源模式”,呵呵,因为我发现焊接完复位电路后,我仅剩4cm左右的焊锡丝。 拼着这一点点焊锡丝,嘿嘿,最起码的我还能把十个SPI接口的针脚固定好了。 2012年7月28日17:39:03 AVR单片机的系统电路已经焊接完成。
201272911:16:47
蓝牙模块调试始终未成功,该模块是HC-05 。卖家发的是默认从机模式。官方PDF文档说上电的同时KEY拉高,可进入AT命令模式。并且该模式下串口通讯的波特率是38400 。我先在开发板上测试:用AVR单片机代替该模块,波特率一样,数据位8位,停止位1位,无校验无流控,这些属性都和PDF文档说的一样。然后接上电脑串口后,电脑和这单片机的通讯完全没有问题。
然后把单片机取出,把蓝牙模块RXDTXDGNDVCC接到开发板。一上电,蓝牙模块的LED灯闪的频率大概2秒一次。然后我用电脑发“AT\r\n”
里面的\r\n是转义字符,实际上分别是0x0D0x0A,换句话说发出去的数据用十六进制表示就是“41 54 0D 0A”而且我之前也用AVR单片机检查过,电脑发的数据能正确、完完整整地接收。
官方PDF文档说,如果发了AT\r\n,该模块AT模式下,会自动响应,返回一个“OK\r\n”。可是我的电脑端发出去后,过了好几秒,还是没有收到任何数据。模块的灯的闪动频率也没有变化。然后我试了下RXDTXD交叉相连,仍是不行。
我又试了下用AVR单片机和模块通信。照样我也这么发了,不说返回的是不是OK\r\n了,连一个数据都没返回,串口接收完成中断函数一直没有被执行。交叉了一下RXDTXD,仍是没有返回数据。
从机模式的话,KEY脚拉低,即进入工作模式,此时蓝牙上的LED灯也在快闪。一秒钟两次吧大概。官方PDF说此时可以被主机搜索到。我用我的手机【HUAWEI C8650+】的蓝牙去搜索,一个信号也搜不到。
2012729日中午
固定好原来的电机驱动模块和四个红外检测模块。
20128523:39:39
重写整个项目的程序代码,不继承第一代。
优化避障算法
更改总开关的控制线路:一号控制MCU和红外避障模块;二号控制电机驱动模块;三四号预留空位。
美化跳线
⑤更换电机电源接口,改为USB接口,但输入的仍是9V直流电。主要是因为我找不到这个电源的以前那条线了,大的圆孔没法插。电源的9V输出孔是小小的圆孔,不是大圆孔接口。
2012年8月6日16:50:05
激动啊~~~~蓝牙模块调试成功了,原来还真是以前那个蓝牙模块的问题。现在换了一个,好了。
现在霹雳二号能和手机通讯了。我用我手机的蓝牙串口调试软件,成功收发数据。目前可以用手机控制小车的前进、倒车、左拐、右拐、停车以及避障开关。
我准备打算在手机上开发一个软件,专门控制这辆小车的,总是用别人的串口调试软件不太好。
耶~~~不过写到这的时候鼻子酸酸的,不知为啥 这是来自YYQ霹雳二号发来的信息。每当MCU启动的时候,就会发送出来。蓝牙是从机模式。
幕后亮相 呵呵
2012年8月7日16:25:09
耶~~基于Android系统的YYQ霹雳二号控制软件开发完成。
界面虽然有点丑陋,但功能却是样样俱全~~~现在我手机也可以当遥控器啦~~不用像第一代那样随身带个红外遥控器,而且要对准才行,蓝牙无线的话,全方位的喔~~
另外我还发现一个问题,仅仅靠这四个红外传感器来避障的话,有很多盲区。这个将在以后跑上Linux操作系统后,使用摄像头来取代红外传感器吧。到时候功能会更强大~~~期待
2012年12月13日0:04:28 不会吧?!学校的科技作品展,居然说参加的作品不够?还只是七八个而已?那我再带一个作品去哈!带上我的霹雳二号。不过霹雳二号目前没有实用价值,可以说仅是一个高级玩具,所以这个不参加比赛,仅为增添现场的科技气氛,而且科技含量我估计相对于其他作品来说可是很高的哟!参赛的是旋转LED。各位捧场吧!星期五,就是明天下午! 2012年12月14日18:06:44 展览已成功结束。在今天中午,我把机器手成功安装上去了。。。。昨晚我主要解决的就是手机的安卓应用程序编写,程序通过蓝牙与车上的AVR单片机通讯,昨晚我弄到凌晨3点,因为这种通讯涉及的条件参数很多,我不得不一个个控制调试程序,终于在凌晨3点左右成功通过手机一个舵机。随后在中午一口气做完5个舵机的控制。 这体现出我的一个调试经验,我与大家分享下: 先从简单的代码写起,每写到一个看得见现象的地方,就停下来运行看看有没有问题,然后继续写。 如果先前一口气写完了,然后总体一运行,某个功能不正常。这时你需要把写过的代码不停地简化,把那个功能分散开来,对每一部分进行运行测试,把其他部分的代码注释掉,就这样一步步一点点的运行测试,很快会发现问题。 这是我常用的调试程序的技巧。 另外,尤其是安卓的程序界面布局这块,我觉得完全没有必要花时间在这方面的,原先我是用RelativeLayout但是它布局有时候运行程序会错乱,不知道是手机系统问题还是别的问题,容易出现重叠的控件。于是我为了临时快速解决,直接采用AbsoluteLayout。 --------------------------------------------- 随着展览的结束,此次升级也完成了。 本次升级增加了ARM开发板。增加了蓝牙通讯模块,手机程序部分实现通过蓝牙控制机器手和车子行进。 ARM开发板目前只能显示图片,没法参与小车的控制。 5个自由度的机器手,AVR单片机共同工作。 其实从使用单片机进行程序开发 ,并实现人机交互,用身边常用的手机来控制它。围观展览的人说这一点,相比其他选手作品来说科技含量确实不少的。我也这么觉得,但是我觉得这并不能作为领先的标准,最注重的是实用性。以现在这两小车的状况,我自己都不忍心说是一个高级的玩具。
所以,为了更高级,为更加实用,我会继续在现有基础上进行第二次升级! AVR单片机里的程序源代码: 115网盘提取码:eilus9sf http://115.com/file/eilus9sf
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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