|
【S148】果实采摘运输小车
作品说明 |
作者:张建福 陈浩男 钱恩鹤 吴昊 付笛
单位:齐齐哈尔大学 机电工程学院
指导老师:蔡有杰 王轲
1. 作品简介
本项目作品小车制作器材选用“探索者”创新套件,无辅助工具,可顺利完成循迹、采摘、收集等功能。
作品说明
果实采摘运输小车
2. 结构方案说明
2.1 设计思路
通过传感器与电机相互配合顺利完成全套项目,共设立两个灰度传感器识别黑线,使小车完成循迹功能,传感器通过对地面情况的识别可以将轮子的转向作调整,这样可以使得小车转向和方向相同,小车可以正常的运行。
2.2 装配图
2.3 场景调研
现在水果采摘和运输大多需要人工来完成,这样不仅工作效率慢而且还会造成一定的损失,而水果采摘运输车可以提高采摘的效率和质量,减轻采摘人员的劳动强度,同时也可以减少水果的损坏和浪费。
3. 控制方案说明
3.1 所用电子元件
① Basra控制板
Basra是一款基于Arduino开源方案设计的一款开发板,通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以在Arduino、eclipse、Visual Studio等IDE中通过c/c++语言来编写程序,编译成二进制文件,烧录进微控制器。Basra的处理器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。
Basra控制板
主CPU采用AVR ATMEGA328型控制芯片,支持C语言编程方式;该系统的硬件电路包括:电源电路、串口通信电路、MCU基本电路、烧写接口、显示模块、AD/DA转换模块、输入模块、IIC存储模块等其他电路模块电路。控制板尺寸不超过60*60mm,便于安装。CPU硬件软件全部开放,除能完成对小车控制外,还能使用本实验板完成单片机所有基础实验。供电范围宽泛,支持5v~9v的电压,干电池或锂电池都适用。编程器集成在控制板上,通过USB大小口的方式与电脑连接。下载程序。开放全部底层源代码。控制板含3A6V的稳压芯片,可为舵机提供6v额定电压。板载8*8led模块采用MAX7219驱动芯片。板载一片直流电机驱动芯片FAN8100MTC,可同时驱动两个直流电机。板载USB驱动芯片及自动复位电路,烧录程序时无需手动复位。2个2*5的杜邦座扩展坞,方便无线模块、OLED、蓝牙等扩展模块直插连接,无需额外接线。
② BigFish扩展板
arduino是开源的控制板,非常适合爱好电子制作的朋友用来制作互动作品,但对于一些不熟悉电子技术的爱好者,要在arduino控制板上添加电路是一个比较麻烦的事,所以我们设计了一个专用于控制简单机器人的扩展板,能轻松地将大部分传感器和arduino控制板连接。通过BigFish扩展板连接的电路可靠稳定,上面还扩展了伺服电机接口、8*8Led点阵、直流电机驱动以及一个通用扩展接口,可以说是arduino控制板的必备配件。
BigFish扩展板
③ 直流电机和传感器
直流电机
灰度传感器
3.2 控制设计思路
控制系统主要针对果实的位置和大小从而采摘收集等功能而设计。程序控制源代码如下:
① 寻迹
void zuo(); void qianjin(); void you(); void forwards();
void setup() { pinMode( 18, INPUT); pinMode( 14, INPUT); pinMode( 10, OUTPUT); pinMode( 6, OUTPUT); pinMode( 5, OUTPUT); pinMode( 9, OUTPUT); }
void loop() { if (( digitalRead(14) && !( digitalRead(18) ) )) { zuo(); } else { if (( !( digitalRead(14) ) && digitalRead(18) )) { you(); } else { if (( !( digitalRead(14) ) && !( digitalRead(18) ) )) { forwards(); } else { qianjin(); } } } }
void you() { analogWrite(5 , 255); analogWrite(6 , 0); analogWrite(9 , 0); analogWrite(10 , 251); }
void qianjin() { analogWrite(5 , 255); analogWrite(6 , 0); analogWrite(9 , 251); analogWrite(10 , 0); }
void forwards() { analogWrite(5 , 255); analogWrite(6 , 0); analogWrite(9 , 251); analogWrite(10 , 0); }
void zuo() { analogWrite(5 , 0); analogWrite(6 , 255); analogWrite(9 , 251); analogWrite(10 , 0); } |
#include <Servo.h>
Servo servo_pin_11; Servo servo_pin_4; Servo servo_pin_7;
void setup() { servo_pin_11.attach(11); servo_pin_4.attach(4); servo_pin_7.attach(7); }
void loop() { servo_pin_11.write( 120 ); delay( 1000 ); servo_pin_4.write( 150 ); delay( 1000 ); servo_pin_7.write( 60 ); delay( 1000 ); servo_pin_4.write( 100 ); delay( 1000 ); servo_pin_11.write( 60 ); delay( 1000 ); servo_pin_7.write( 90 ); delay( 1000 ); } |
② 机械臂
4. 创新设计说明
4.1 创新点
针对收集果实和采摘果实项目,采用机械臂配合的结构。
4.2 创新点在实际的应用
通过将机械臂的底座加入舵机可以使机械臂进行旋转,机械臂用来采摘果实,通过底部舵机的旋转可以增大采摘果实的范围。当因为果实在周围分布时,机械臂可以旋转不至于通过小车的移动来调整机械臂的方向。
5. 设计过程、制作过程的记录说明
为制作水果采摘运输车,起初本作品只是将机械臂安装在车上,但由于无法进行多方位采摘,后来在机械臂下部安装舵机,这样提高了采摘的效率和质量,从而使得在程序最简化的前提下顺利完成采摘并运输。
6. 作品难点和解决方法
作品难点:主要在于机械臂的拼接和程序的配合,在制作的过程中遇到了程序与所要达到的效果不一样且机械臂不能够稳定运作。
解决办法:通过将机械臂进行加固,把机械臂的稳定先完成,通过对程序的学习和完善,使得程序能够在合适的时间按照预定的想法去完成所要完成的动作。
7. 自我评价
通过本项目的水果采摘运输小车的制作,大家学会了如何编写程序;通过小车的制造能够熟练符合理论力学的机械结构,并进一步熟知了机械原理以及机械设计方面的知识,获益匪浅。
* 本项目未获得作者开源授权,无法提供资料下载。