|
【S153】树苗避障移栽小车
作品说明 |
作者:王鑫 马瑛琦 罗思源 刘云瀚 于泽
单位:齐齐哈尔大学 机电工程学院
指导老师:蔡有杰 赵剑峰
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 setup() { pinMode( 18, INPUT); pinMode( 14, INPUT); pinMode( 9 , OUTPUT); pinMode( 10 , OUTPUT); pinMode( 5 , OUTPUT); pinMode( 6 , OUTPUT); }
void loop() { if (( !( digitalRead(14) ) || !( digitalRead(18) ) )) { digitalWrite( 9 , LOW ); digitalWrite( 10 , HIGH ); digitalWrite( 5 , LOW ); digitalWrite( 6 , HIGH ); delay( 300 ); digitalWrite( 9 , HIGH ); digitalWrite( 10 , LOW ); digitalWrite( 5 , HIGH ); digitalWrite( 6 , LOW ); delay( 20 ); digitalWrite( 9 , HIGH ); digitalWrite( 10 , LOW ); digitalWrite( 5 , LOW ); digitalWrite( 6 , HIGH ); delay( 1500 ); } else { digitalWrite( 9 , HIGH ); digitalWrite( 10 , LOW ); digitalWrite( 5 , HIGH ); digitalWrite( 6 , LOW ); delay( 10 ); } } |
#include <Servo.h>
Servo servo_pin_4; Servo servo_pin_3;
void setup() { servo_pin_4.attach(4); servo_pin_3.attach(3); }
void loop() { servo_pin_4.write( 160 ); delay( 2000 ); servo_pin_3.write( 140 ); delay( 2000 ); servo_pin_4.write( 140 ); delay( 2000 ); servo_pin_3.write( 60 ); delay( 2000 ); servo_pin_4.write( 140 ); delay( 4000 ); servo_pin_3.write( 140 ); delay( 2000 ); servo_pin_4.write( 160 ); delay( 2000 ); servo_pin_3.write( 60 ); delay( 4000 ); } |
② 机械臂
4. 创新设计说明
4.1 创新点
为了能够进行果苗移栽而设计了机械臂的结构,以及为了小车在果苗移栽的过程中能够躲避障碍物而添加了两个近红外传感器。
4.2 创新点在实际中的应用
通过在小车上添加机械臂对果苗进行抓取和栽种,这样就省去了传统的人工出力,使得生产效率得到提升。对于前方的两个近红外传感器,当小车前方出现障碍物时,红外传感器可以通过对前方的判断从而使小车做出转向动作。
5. 制作过程说明
为制作果苗种植避障小车,起初本作品仅仅安装了机械臂但由于果苗的种植和放置的位置不同,且在种植树苗的过程中会遇到障碍,后来安装了红外传感器用来对障碍的判断,且本作品在机械臂底部安装了舵机,可以方便种植。
6. 作品的难点和解决方法
① 主要在于对于障碍的感知和所要做出的判断。本作品为此安装了红外传感器,通过编写程序将这一问题解决。
② 还有就是机械臂的拼接和程序的配合。在制作过程中机械臂无法同时完成种植和转移,本作品通过将程序完善,使得可以同时完成这两项任务。
* 本项目未获得作者开源授权,无法提供资料下载。