高校联盟9月月赛--运水机器人

  • gavinM
  • LV3工程师
  • |      2015-10-09 02:11:17
  • 浏览量 724
  • 回复:1


首先感谢Ickey提供怎么好的机会!


那么,本帖子的主要内容如下:


            一、实现内容

            二、实物组图介绍

            三、运水小车机械平台设计

            四、运水小车电路和硬件平台的选型和设计

            五、运水小车循迹方案

            六、运水小车水位测量方案

            七、运水小车自动取水和自动贮水方案

            八、程序设计


  一、实现内容

            

       基本要求已经实现内容:

1、运水和自动贮水功能。

2、显示运水量和运水时间。

3、小车上的贮水器水溢出时有自动报警功能。

4、一分钟内运水量达到1500mh。

5、小车及安放的运水容器总垂直高度26.5cm,车上的储水装置容量为600mh,口径为100mm。实现了到C容器的自动贮水功能。

发挥部分已经实现内容:

1、A区实现了自动给水方式。

2、小车在1分钟内完成100ml定量自动取水、送水和贮水,误差<5%。

3、小车在35s时间内,完成1000ml自动取水,送水和贮水,误差<5%。


二、实物组图介绍


        运水小车的图样和介绍


高校联盟9月月赛--运水机器人


                                                      运水小车侧视图


高校联盟9月月赛--运水机器人高校联盟9月月赛--运水机器人高校联盟9月月赛--运水机器人高校联盟9月月赛--运水机器人高校联盟9月月赛--运水机器人




整体的,活动范围


高校联盟9月月赛--运水机器人


取水区和运水小车


高校联盟9月月赛--运水机器人高校联盟9月月赛--运水机器人


A区,取水区


高校联盟9月月赛--运水机器人高校联盟9月月赛--运水机器人高校联盟9月月赛--运水机器人


小车在C区,存水区


高校联盟9月月赛--运水机器人


小车的水槽位置和水位传感器(自主设计)


高校联盟9月月赛--运水机器人高校联盟9月月赛--运水机器人高校联盟9月月赛--运水机器人


运水小车的LCD显示,运水量和运水时间


高校联盟9月月赛--运水机器人高校联盟9月月赛--运水机器人



三、运水小车机械平台设计


根据题目要求设计实现运水功能的小车,不仅能够实现运水,还要在尽快的时间内运更多的水。所以在小车的机械结构上,我们选择了四驱动轮的方式,目的是为了能更好的转向,更加灵活,相比后轮驱动方式的车型更适合题目要求。

具体比较如下图所示:



       所以,我们选择了四轮驱动式的机械结构,这样方便小车在往返A区和C区之间,灵活,节约时间。

四、运水小车电路和硬件平台的选型和设计


运水小车的硬件电路设计,需要如下电路:①电机驱动电路、②传感器电路、③MCU电路、④电源管理电路。

①  电机驱动电路

由于选择了四个电机的驱动方式,需要专门的驱动电路来实现。为了简化硬件电路和控制方式,我们将左右两侧的电机分别并联,如下图所示:


        这样就变成了对两对电机的控制了,控制电路采用了8个MOS管实现了两个H桥电路,极大的提高了功率和负载能力,最大允许电流高达50多安培。保证了驱动能力,以及灵活性和稳定性。电路原理图和PCB如下图所示


其中HIP4082提供MOS关栅极电压驱动,实现MCU通过普通IO口输出2K赫兹的PWM对MOS管的驱动,从而实现了对电机的正反转控制,以及转速的控制。


传感器电路

在传感器方面,我们使用了摄像头采集图像信息,采用红外对管实现停车和自动取水,采用红外对管设计水位传感器。

摄像头采用OV7725,这是一颗30W像素的数字摄像头,需要3.3V供电,使用FPC-0.5MM封装的设计,电路原理图如下图所示:



红外对管电路,采用红外发射管发射和红外接收管接收,使用LM393来比较电压,实现数字电平输出,方便MCU识别,电路原理图如下图所示:


 

MCU电路

MCU我们采用飞思卡尔公司的MK22系列的芯片,具体型号为:MK22FN1M0VLL12。默认主频120M,内核是ARM Cortex-M4F core with DSP,内部SRAM为128KB,内部Flash为1MB。所以在驱动OV7725这颗30W像素的摄像头来说毫无压力。原理图和PCB如下图所示:

电源管理电路

MCU和传感器都需要供电,电压有电池电压,5V,3.3V等,所以在电源管理上,我们采用了LM2940线性稳压芯片,使输出稳定5V,使用LM117-3.3稳压芯片输出3.3V,使用LM2941实现电压输出可调。电路原理图如下图所示:



五、运水小车循迹方案


在循迹的方案中,我们舍弃最常用的红外对管循迹,采用了摄像头的循迹方案,原因是识别方便,不管是A区、B区、C区,还是障碍物,都可以轻松的识别,准确率高。再者,摄像头的前瞻和实时性都比红外对管来的快捷灵敏,能够提前做出判断。摄像头不会像红外对管一样受到速度上的制约。循迹思路如下图所示:



六、运水小车水位测量方案

在测量小车运水量的方案设计上,我们考虑了很多种,最终我们选择自己设计传感器。

一开始我们的方案是采用压力传感器,但是因为效果并不好,残留水分后还得重新校准,所以我们放弃了这个方案。

后来我们选择使用测量水电阻,但是经过测试发现,水电阻会根据不同水质二变化,还会因为水的横截面积不同而变化,所以我们放弃了这个方案。

再后来,我们决定测量水位的几个特定点,比如无水状态,100ml水位,500ml水位,600ml水位。然而这个方案不能实时显示当前水量,所以并不是理想选择。

最终,我们决定自己设计专门为这个运水小车而生的水位传感器。原理就是利用物理变化转换为电信号。于是我们脑洞大开,采用了一个圆筒设计了一个简易连通器,这样可以保证外部水位上下荡漾不至于影响圆筒内的水位。在圆筒内制作了一个浮标,这个浮标会跟着水位上下浮沉。浮标上带了一根杆,杆上贴了一张灰度渐变图纸。这张图纸如下图所示:



这是一张计算机生成的灰度渐变图,它的作用就是在于,浮标上下运动,在圆筒出口处放置了红外对管对接收了不同强度的红外光,从而产生导通电压的不一样,然后MCU采集AD值保存。信号转换图如下图所示:



七、运水小车自动取水和自动贮水方案

       小车的自动取水方案中,我们采用了电动水浆的方式。即小车到达A区后转向倒退进入A区,小车上红外信号触发后停止后退,于此同时A区的红外信号触发,通过继电器接通电动水浆,此时小车进行取水。当小车监测到到达目标水量后,小车立即离开A区,此时红外信号中断,电动水浆断开,A区停止供水。这整个过程仅发生在红外信号的触发和断开的那一临界位置上,所以控制非常及时。


  八、程序设计


1、初始化MCU和外设。



2、图像提取和扫描




3、扫描处理-判断A,B,C区


4、OLED和LCD实时显示



5、小车速度和方向控制



6、到达A区后自旋转180°和到达C区存水完自旋180°




7、到达A区和C区后的动作




  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子