搬运机器人技术报告
2015中国工程机器人大赛暨国际公开赛(RoboWork)
机器人搬运工程(此处填写所参加赛事项目名称)
技术报告
参赛学校: 队伍名称: 参赛队员:带队教师: (附联系方式)
二〇一五年七月
第一章
前 言
机器人竞赛是一项体育与高科技结合的对抗项目,涉及机械电子、智能控制、计算机技术、人工智能等多种学科和研究领域,是培养信息、自动化科技人才,展示高科技成果,促进实用化和产业化的新途径。各类机器人大赛的举办,对于普及机器人科学技术,促进人工智能与机器人技术的研究和应用都将产生重要推动作用。
江苏省大学生机器人大赛每两年举行一次。继 2004 年举办以来,经过近四年的努力和各方面的大力支持,江苏省的大学生机器人水平已走在全国前列,在中国机器人大赛、CCTV 杯电视机器人大赛、亚太机器人挑战赛、ROBOTCUP 足球世界杯的国内外机器人大赛中屡创佳绩。
第一章 方案论证
根据设计要求,本系统主要由控制器模块、稳压电源模块、寻迹传感器模块、直流电机及其驱动模块、电压比较模块等模块构成。为较好的实现各模块的功能,我们分别设计了几种方案并分别进行了论
1.1 车体
方案 1:购买玩具电动车。购买的玩具电动车具有组装完整的车架车轮、电机及其驱动电路。但是一般的说来,玩具电动车具有如下缺点:首先,这种玩具电动车由于装配紧凑,使得各种所需传感器的安装十分不方便。其次,这种电动车一般都是前轮转向后轮驱动,不能方便迅速的实现原地保持坐标转 90 度甚至180 度的弯角。再次,玩具电动车的电机多为玩具直流电机,力矩小,空载转速快,负载性能差,不易调速。因此我们放弃了此方案。
方案 2:自己制作电动车。首先确定车的模型。我们有过两种想法:一、车子做成四轮的:中间装同轴电机的两个轮子作为驱动;二、车子做成三轮的,后面两轮驱动,前面装万向轮。经过讨论,我们最终确定第一种想法。 考虑到小车必须能够前进、倒退、停止,并能灵活转向,中间装同轴电机的两个轮子作为驱动。一个电机控制一边的轮子,一个正转,一个反转,这样实现转弯。为了能控制车轮的转速,可以采取 PWM 调速法,即由单片机输出一系列频率固定的方波,再通过功率放大来驱动电机,在单片机中编程改变输出方波的占空比就可以改变加到电机上的平均电压,从而可以改变电机的转速。左右轮两个电机转速的配合就可以实现小车的前进、倒退、转弯等功能。在安装时我们保证两个驱动电机同轴。这种结构使得小车在前进时比较平稳,可以避免出现后轮过低而使左右两驱动轮驱动力不够的情况。
对于车架材料的选择,我们经过比较选择了铝板。用有铝板的车架比塑料车架更加牢固,比铁制小车更轻便,美观。
综上考虑,我们选择了方案 2。
1.1传感器的安装
1.1.1 循迹原理
第一种是采用光敏三极管。即利用经高亮的LED灯发射出来的光在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射白光,当白光遇到白色纸时发生漫反射,反射光被装在小车上的光敏三极管接收;如果遇到绿线则红外光被吸收,小车上的光敏三极管接收不到反射光。单片机就是否收到反射回来的反射光为依据来确定白线的位置和小车的行走路线。
第二种是采用摄像头。通过摄像头采集数据,再将数据送入单片机处理。容易看出,处理摄像头采集回来的数据比较复杂,速度慢而且占用较大的CPU 资源,对于我们这种类型的比赛来说不是好的选择。利用光敏三极管检测简单方便, 数据易于处理。所以我们最终确定采用光敏三极管检测法来进行循迹。
2.1.2 循迹传感器的选择
方案 1:用光亮的LED灯和光敏三极管自己制作光电对管寻迹传感器。高亮的LED灯发射出光线,当发出的光线照射到白色的平面后反射,若光敏三极管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出绿地毯继而输出高电平。这样自己制作组装的寻迹传感器基本能够满足要求,但是工作不够稳定,且容易受外界光线的影响。
方案 2:用 RPR220 型光电对管。RPR220 是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。
RPR220 采用 DIP4 封装,其具有如下特点:
塑料透镜可以提高灵敏度。
内置可见光过滤器能减小离散光的影响。
体积小,结构紧凑。
当发光二极管发出的光反射回来时,三极管导通输出低电平。此光电对管调 理电路简单,工作性能稳定。
由于考虑成本问题我们选择了方案 1。
工作原理及电路图如下:
图 2 光电对管检测电路
图 4 所示电路中,R1 起限流电阻的作用,当有光反射回来时,光电对管中
的三极管导通,比较器输入为低,输出为高电平。当没有光反射回来时,光电对管中的三极管不导通,比较器输入为高电平,输出为低电平。
在图 4 中,可调电阻 R3 可以调节比较器的门限电压,经示波器观察,输出
波形相当规则,可以直接够单片机查询使用。
1.2.3 循迹传感器的安装
根据比赛的规则,为了能达到比较好的循迹效果,我们用 8 个 高亮的LED灯和8个光敏三极管组合传感器进行循迹。经过反复论证和实验,我们最终确定把4个对管一排分别装在车头和车尾部分,具体如图所示:
传感器安装示意 图 3
1.3 控制器模块
采用Atmel公司的Atmaga16L单片机作为主控制器。Atmage16有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择
的省电模式。且mega系列的单片机可以在线编程、调试,方便地实现程序的下载与整机的调试。
产品特性
– 高性能、低功耗的 8 位AVR 微处理器
– 先进的RISC 结构
– 131 条指令 – 大多数指令执行时间为单个时钟周期
– 32个8 位通用工作寄存器
– 全静态工作
– 工作于16 MHz 时性能高达16 MIPS
– 只需两个时钟周期的硬件乘法器
– 非易失性程序和数据存储器
– 16K 字节的系统内可编程Flash
– 擦写寿命: 10,000 次
– 具有独立锁定位的可选Boot 代码区
– 通过片上Boot 程序实现系统内编程
– 真正的同时读写操作
– 512 字节的EEPROM
– 擦写寿命: 100,000 次
– 1K字节的片内SRAM
– 可以对锁定位进行编程以实现用户程序的加密
– JTAG 接口( 与IEEE 1149.1 标准兼容)
– 符合JTAG 标准的边界扫描功能
– 支持扩展的片内调试功能
– 通过JTAG 接口实现对Flash、EEPROM、熔丝位和锁定位的编程
• 外设特点
– 两个具有独立预分频器和比较器功能的8 位定时器/ 计数器
– 一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器
– 具有独立振荡器的实时计数器RTC
– 四通道PWM
– 8路10 位ADC
8 个单端通道
TQFP 封装的7 个差分通道
2 个具有可编程增益(1x, 10x, 或200x)的差分通道
– 面向字节的两线接口
– 两个可编程的串行USART
– 可工作于主机/ 从机模式的SPI 串行接口
– 具有独立片内振荡器的可编程看门狗定时器
– 片内模拟比较器
• 特殊的处理器特点
– 上电复位以及可编程的掉电检测
– 片内经过标定的RC 振荡器
– 片内/ 片外中断源
– 6种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式、Standby 及
扩展的Standby 模式 模式以
• I/O 和封装
– 32 个可编程的I/O 口
– 40引脚PDIP 封装, 44 引脚TQFP 封装, 与44 引脚MLF 封装
• 工作电压:
– ATmega16L:2.7 5.5V
– ATmega16:4.5 5.5V
• 速度等级
– 0 8 MHz ATmega16L
– 0 16 MHz ATmega16
• ATmega16L 在1 MHz, 3V, 25°C 时的功耗
– 正常模式: 1.1 mA
– 空闲模式: 0.35 mA
– 掉电模式:
使用51单片机
1.4 电源模块
采用 2 节 4V 干电池供电,电压达到 8V,经 7805 稳压后给支流电机供电,然后将 5V 电压再次降压、稳压后给单片机系统和其他芯片供电。
1.5 稳压模块
为获得足够大的电流,采用两片 7805 将电压稳压至 5V 后给直流电机供电,
然后采用一片 7805 将电压稳至 5V,给单片机系统和其他芯片供电。具体电路如
2.7 电机驱动模块
方案 1:采用专用芯片 L298N 作为电机驱动芯片。L298N 是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片 L298N 可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。
方案 2:对于直流电机用分立元件构成驱动电路。由分立元件构成电机驱动电路,结构简单,价格低廉,在实际应用中应用广泛。但是这种电路工作性能不够稳定,不能满足比赛要求,所以放弃此方案。
因此我们选用了方案 1。驱动电路如下:(注意电路中电机两端的齐纳二极管省略了)
图 7 L298N 电机驱动电路图
L298N 的 5、6、7、10、11、12 六个引脚接到单片机上,通过对单片机的编程就可以实现两个直流电机的 PWM 调速以及正反转等功能。
。
2.8.1 总体方案的软件仿真
对于整个系统,我们采用了 proteus 进行了全方位的仿真,包括电路可靠性,程序的完整性等,仿真如下:
图 9 系统仿真图
第二章 总体方案设计
智能车系统设计的任务就是要控制车模,使其能沿着跑道上的循线稳定高速度地行驶。因此该控制系统中车模前进的速度和方向便是被控量。根据反馈控制理论中控制系统的基本结构,系统应有检测模块,控制模块,和执行模块为实现智能车系统能沿着绿色背景上的一定宽度(24mm)的白色循线稳定高速运行的功能,结合此可知该系统应该由传感将循线信息检测进来,并且设计相应的硬件电路对信息进行处理以获得良好的系统输入信号,将信号传送入MCU(Micro Control Unit)的 I/O 口,然后在软件设计中构造控制算法,使 MCU产生与输入相应的控制输出,驱动控制智能车模运行的电机和舵机产生相应的动作,使车模沿着循线稳定行驶。要设计的智能车系统利用 8 位单片机 ATMEGA16L 作为核心控制模块,由电机驱动车模前进,由车尾的两个红外壁障传感器控制方向。对于智能车模的驱动直流电机,用 298 芯片驱动,芯片 L298 和舵机都是利用单片机的 PWM 口的 PWM输出驱动的,因此智能车整个系统的设计便可分为硬件系统设计和软件系统设计。硬件系统的设计是做好系统的各个功能模块,完成相应的信号处理功能,而软件系统设计总体上便是构造良好的控制算法,产生和车模当前运行状态对应的不同占空比的 PWM 输出来控制电机和舵机。系统的基本框图如下:
根据上节概述的系统设计总体思路,在检测模块我们采用光电管寻迹方案。这样智能车系统在硬件上由电源模块,光电管循线检测模块,光电管采集信号处理模块,单片机控制模块,电机驱动控制,等组成。
2.1系统主模块电路
单片机系统是系统的核心模块,其电路板是系统主电路板。系统中其他模块都要它输出信号去控制或驱动,系统程序也是在该模块硬件中执行的,因此它的设计关系到整个系统的运行。设计时要确保它的高可靠性,即保证它良好的电磁兼容性。时钟电路在模块中的定位要考虑它对系统电磁兼容性的影响。主电路模块主要地有复位电路,PWM 控制电路,电机转向控制电路,L298N 驱动电路。电路原理图如下图所示:
图 12 整个系统的电路总图
3.2 循迹对管模块
检测系统采用八个光电对管传感器进行路径识别,前排光电对管采用不等间距的分布,具体排列如图所示,这样非线性的排列是有其科学性和优越性的。体现在:
1 、中间两个传感器之间的间距是20mm,这样结合传感器放置的高度以防止智能车在行驶过程中因为矫正速度较大导致车身晃得特别厉害。
2 、检测精度越高,所需要的光电对管越多。综合考虑系统检测的精度和光电管数量,综合考虑 采用前4个传感器和后四个传感器。
3.2.1光电管实现的路径识别电路
采用高亮的LED灯和光敏三极管组合实现路径识别,三极管接受到的电压信息经比较器输出逻辑电平,输入到单片机上,从而在单片机上实现循迹功能。其电路图如下:
前面已经介绍了路径识别模块所使用的单片机的 I/O 口,这里仅就单各光电对管的电路连接情况进行说明。其中 LM358为反向输入比较器。发射端接 330 欧电阻,接收端电阻为 10K,当接收端接收到白色地面发射回来的信号时, IN 端为高压,当发射的信号被绿色地面吸收的时候, IN 端为低电压,通过反向输入比较器得到高低变化的方波信号,反映相应光电管的状态。
2.1电机驱动模块电路
电机控制采用驱动芯片 L298N,其电路连接如下图所示:
L298内部结构图如下:
L298 的详细参数表如下:
L298 的引脚图如下:
电机驱动部分原理图:
注意上图中,电机两端已经加上了八个高速齐纳二极管,用于释放电机急停或反转时产生的反电势,从而保护单片机不受电流冲击或者是防止单片机的电流全部被拉走而导致死机,在实际中我们在没有加之前,就出现过死机的情况。
第三章 实验工作及数据分析
1.电机PWM测试
L298 的 IN1,IN2 口一般用于 PWM 的输入,D1,D2 使能信号接 I/O 口。但是根据 L298 的真值表和大量试验发现,当 IN2 不接,OUT2 输出高电平,若此刻IN1 输入 PWM 方波处于高电平的时候,OUT1 也处于高电平,如果电机采用OUT1,OUT2 驱动,则相当于电机两端此刻短接,电机刹车,带来两个后果,一个是电机、芯片发热严重,另外一个,电机转速低,从微观上看,相当于一会加速,一会刹车;但是,如果让 D1,D2 作为 PWM 输入口,使能禁止的时候,OUT1(或相应的 OUT2)成高阻态,电机滑行,而不是刹车,很好的解决了以上两个问题。这两种接法实验效果比较见下表所示:
为了能够随意选用任意一种驱动方法,我们在驱动信号与 L298 之间设置了两排跳线,从左到右依次为:
PD2 IN1 PD4 PWM2
PD3 IN2 PD5 PWM1
容易看出,当跳线帽都靠左插入,则 IN1,IN2 采用 PWM 输入,D1,D2 采用 I/O 口输入,而靠右插入的时候,IN1,IN2 接 I/O 口,作为使能端,D1,D2 用作 PWM 波输入。
2.电源模块
电源模块布置在底层,电源芯片型号:7805,固定输出 5V 电压,单片机主电路板,显示,光电管,测速传感器分别单独采用5V 电压供电,电机采用 12V 稳过的电压供电。
3. 软件开发工具以及所使用的应用软件
开发工具: 程序编译软件:AVRSTDIO
程序调试和仿真软件:proteus 7.12
应用软件: 电路原理图及 PCB 制作:PROTEL DXP 2004
机械结构图绘制:AUTO CAD 2007
4.
5.程序
底层程序:
1、头文件:
}
第7章 主要参考文献
[1]邵贝贝 著.单片机嵌入式应用的在线开发方法.北京:清华大学出版社,2004.10
[2]张崇巍 李汉强.运动控制系统.武汉:武汉理工大学出版社,2002
[3]肖玲妮、袁增贵编著.Protel 99SE 印刷电路板设计教程.北京:清华大学出版社,2004
[4]吴守箴、藏英杰著.电气传动的脉宽调制控制技术.北京:机械工业出版社,1997
[5]杨国田著.摩托罗拉68HC12 系列微控制器原理、应用与开发技术.北京:中国电力出版
社,2003.9
[6]王仲生著.智能检测与控制技术.北京:西北工业大学出版社,2002
[7]秦曾煌.电工学,上下册.北京:高等教育出版社,1998
[8]MC9S12DT128 Device User Guide V01.09.Motorola,Inc.2003
[9]欧阳慧平,戴文进.一种新型转速检测方法.微特电机,2004,6:47
[10]李贺桥,杨怀栋,黄战华,彭志强.光电开关位置编码测控技术及其应用.光电工程,
2002,1 (29):28-41
[11]Low power dual voltage comparator. Philips Semiconductors.1995 Nov 27
[12]DATASHEET:MC9S12DT128PWM_MODELUSER
GUIDE.V01.09.MOTOROLA,Inc.2003
[13]DATASHEET:MC9S12DT128 ECT_MODEL USER
GUIDE.V01.09.MOTOROLA,Inc.2003
[14]DATASHEET: IS1U60/IS1U60L Sensors with 1Package Design of Remote Control
Detecting Functions owing to OPIC.SHARP.2003
[15]MC34063A, MC33063A,NCV33063A 1.5 A, Step−Up/Down/Inverting Switching
Regulators.
ON Semiconductor Components Industries, LLC, 2005
[16]Document order number: MC33886 Rev 7.0 .Freescale Semiconductor. 07/2005
[17]UGN 3503 RATIOMETRIC, LINEAR HALLEFFECT SENSORS.ALLEGRO.2005
[18]胡广. 基于 DSP 的足球机器人设计与开发[D]. 中南大学
[19]余志平. 基于 DSP 的永磁无刷直流电动机无传感器控制系统的研究[D]. 西安理工大
学,2001
[20]王福瑞等. 单片微机测控系统设计大全. 北京:北京航空航天大学出版社,1999
关于技术报告使用授权的说明
本人完全了解2015中国工程机器人大赛暨国际公开赛(RoboWork)关于保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人和比赛组委会共同所有,比赛组委会可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛机器人的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。
参赛队员签名:
带队教师签名:
日 期:
[21]孙增圻. 系统分析与控制[M]. 清华大学出版社,1994
[22]孙涵芳主编. Intel 16 位单片机. 北京航空航天大学出版社,1995
[23]第一届"飞思卡尔杯"全国大学生智能汽车大赛技术报告要求.清华大学.2006
[24]开关电源设计,苏厚和.电子工业出版社.2001
[25]PROTEL 99 SE 高级应用.余兵.电子工业出版社.2005
[26]C语言程序设计教程.谭浩强.清华大学出版社.2001
[27] EffectiveC++2nd(cn).Copyright 1999 by Scott Meyers,Lostmouse 译