机电一体化综合训练.docx
《机电一体化综合训练.docx》由会员分享,可在线阅读,更多相关《机电一体化综合训练.docx(49页珍藏版)》请在冰豆网上搜索。
机电一体化综合训练
《机电一体化综合训练Ⅱ》总结
姓名
学号
实验组机电113班第3组
指导教师史颖刚、王转卫、刘利、苏宝峰
西北农林科技大学机械与电子工程学院
2014年7月
目录
1舵机小车总结1
1.1舵机小车的任务1
1.2舵机小车的控制原理1
1.2.1舵机的控制原理1
1.2.2舵机的脉冲控制1
1.3舵机小车具体完成任务与改进3
1.3.1舵机小车的组装3
1.3.2小车的基本功能测试3
1.3.3触须避障功能的实现4
1.3.4光敏电阻导航5
1.3.5红外线避障5
1.3.6光敏电阻—红外线结合电路6
1.4舵机小车小结6
2直流小车总结7
2.1直流小车的任务7
2.2直流小车的控制原理7
2.2.1直流电机的驱动原理7
2.2.2直流小车的调速8
2.3直流小车具体完成任务与改进8
2.3.1直流小车的安装8
2.3.1超声波和近距离跟踪8
2.3.2循迹模块的实现9
2.3.3测速模块的实现10
2.3.4避障功能的实现11
2.3.5遥控功能的实现11
2.3.6复杂功能的实现11
2.4直流小车小结13
3步进小车结13
3.1步进小车的任务13
3.2步进小车的控制原理13
3.2.1步进电机的控制原理13
3.2.2步进小车的基本动作13
3.3步进小车具体完成任务与改进14
3.3.1红外循迹模块14
3.3.2光电传感器避障模块16
3.3.3四键无线遥控16
3.3.4蓝牙模块16
3.3.5复杂功能的实现17
3.4步进小车小结19
4机电系统创新设计——三轮声控循迹小车的设计19
4.1主要设计思路19
4.2芯片选用20
4.3声控模块电路设计21
4.4整体流程图23
4.5调速和方向控制模块23
4.6优缺点分析及总结24
5机电一体化综合训练总结25
附录25
1舵机小车总结
1.1舵机小车的任务
1.学会应用各种软件,编程与调试下载软件等。
2.了解组装舵机小车的基本器件,学会组装舵机小车。
3.测试舵机,并对舵机进行调整。
4.学会舵机的基本调速,实现基本功能,包括前进、后退、左转和右转。
5.触须避障功能电路的搭接和功能的实现。
6.光敏电阻导航电路的搭接和功能的实现。
7.红外避障功能电路搭接和功能的实现。
8.实现多功能融合,小车实现复杂的运动。
1.2舵机小车的控制原理
1.2.1舵机的控制原理
舵机的控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。
它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。
最后,电压差的正负输出到电机驱动芯片决定电机的正反转。
当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。
1.2.2舵机的脉冲控制
舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平一般为0.5ms~2.5ms范围内的角度控制脉冲部分。
控制信号脉宽为1.5ms时电机停转,当为1.3ms或1.5ms时为全速运行,不同的是电机正转或反转。
要使测量更精确,必须两次使用delay_nus函数。
其中一个的参数n小于1500,另一个的参数n稍微大于1500,两个n的和总是3000。
这就确保两个delay_nus函数所用的时间之和是相同的。
图1-1所示是连续旋转电机的传递曲线。
横坐标代表脉宽,单位是毫秒;纵坐标代表电机的旋转速度,单位是RPM。
本图中,顺时针旋转是负值,逆时针旋转是正值。
在舵机的控制中通过控制舵机控制信号的宽度来改变舵机的速度,同理舵机的调试也是根据这个原理进行的。
舵机的调试主要是舵机正转、反转和调零。
图1-1舵机的传输曲线
舵机调试的基本程序如表1-1所示,通过改变变量i的值来改变控制信号的宽度,从而改变舵机的转速和转向。
舵机的调试步骤如下:
1:
调零:
设置i=1500,当i=1500是舵机应该是处于静止状态的,如多舵机不是静止的应该用螺丝刀调整舵机,使舵机反转直至为0.
2:
调速:
改变i的值可以改变舵机的转向,当i<1500时舵机顺时针转动,i>1500是舵机逆时针转动,宝贝车前行的条件是左轮顺时针,右轮逆时针旋转。
其中i=1300和i=1700分别为顺时针和逆时针旋转的最大速度。
表1-1舵机调试程序
#include<>
voidtest(uinti)
{
while
(1)
{
P1_1=1;
P1_0=1;
delay_nus(i);
P1_1=0;
P1_0=0;
delay_nms(20);
}
}
Voidmain()
{
test(1500);
}
1.3舵机小车具体完成任务与改进
1.3.1舵机小车的组装
把所给元器件清单中的机器人的运动底盘(带前轮)、连续旋转伺服马达(舵机)、电池盒、驱动轮、防滑皮套等机械件按照一定的机械位置进行组装,组装完成后就构成了小车的基本机械结构。
在宝贝车的底盘上安装C51实验板,以供下载程序驱动小车。
最后组装的宝贝车如图1-1所示。
图1-2舵机小车安装图
1.3.2小车的基本功能测试
通过编程使舵机小车完成一些基本动作:
前进、后退、左转和右转。
当测试小车行走时会发现小车左轮会逆时针旋转,而右轮则顺时针旋转。
其中左转和右转分为原地转弯和绕轴转弯。
小车的基本动作的程序如表1-2所示。
其中前进和后退分两个档位,只是改变脉冲宽度就可以了。
需要注意的是,由于左右两个电机性能不同,相同脉宽下会有不同转速,需要根据实际情况调整稍快的舵机减速,保证小车可以走直线。
前进程序
左转程序
voidstraight_1(uinti)
{
while(b
{
P1_1=1;
delay_us(1450);
P1_1=0;
P1_0=1;
delay_us(1550);
P1_0=0;
delay_ms(20);
b++;
}
b=0;
}
voidleft_s(uinti)
{
while(b
{
P1_1=1;
delay_us(1300);
P1_1=0;
P1_0=1;
delay_us(1490);
P1_0=0;
delay_ms(20);
b++;
}
b=0;
}
1.3.3触须避障功能的实现
小车上安装的触须相当于两个触觉型开关,当触须接触障碍物相当于开关闭合改变状态。
触须避障的接线图如图1-4所示.当触须接触到障碍物时,即触须接触排针,触须开关闭合,I/O输出状态为0,再改变小车的运动状态。
图1-3触须电路示意图
当胡须没有被触动,连接胡须的I/O管脚的电压是5V;当胡须被触动时,I/O短接到地,所以I/O管脚的电压是0V,I/O口输出的状态改变,从而改变小车的运动状态。
1.3.4光敏电阻导航
舵机小车集成套件中的光传感器用来探测可见光,并且可以检测不同的光亮度水平,这样,可以编程使宝贝车识别周边环境的明暗,报告探测到的明暗水平,并且可以寻找手电筒光束或从门口射进黑暗的屋子的光这样的光源。
通过改变光的路径可以使小车进行导航,追光行驶。
如图1-5即为小车光敏电阻导航的电路示意图。
图1-4舵机小车光敏电阻导航探测电路
不同的光照强度可以改变光敏电阻的阻值,当黑暗状态下光敏电阻的阻值很大,达到80K,使光敏电阻线路断路,I/O口输出为0,当在较强光照下,阻值仅为几百欧姆,从而使I/O口输出高电平1,进而根据I/O口的变化来改变小车的运动状态。
1.3.5红外线避障
小车使用红外线两极管LED作为前灯,他们发射红外光,在一些情况下,红外线从物体反射从机器人前进的方向折回。
宝贝车机器人的眼睛是红外检测器。
红外检测器发出信号来表明它们是否检测到从物体反射回的红外线。
宝贝车机器人的大脑,MCS-51微控制器据此做出判断并基于这个传感器的输入控制伺服电机。
如图1-6所示为小车的左侧和右侧IR组。
图1-5左侧和右侧IR组
当红外接收器接收到由障碍物反射回来的红外发射器的红外线的时候,与红外接收器相连接的I/O口的章台发生改变,从而改变小车的运行状态。
1.3.6光敏电阻—红外线结合电路
在面包板上同时接有光敏电阻导航电路和红外线避障的电路。
接线的电路如图1-4和图1-5所示。
结合电路的设置是:
当光敏电阻检测到光照的时候小车开始运行,在运行的过程中遇到障碍物的时候开始躲避障碍物。
当光照消失的时候小车停止运行,如果没有光照的时候小车正在躲避障碍物,那么小车会先躲避障碍物后然后停止运行。
1.4舵机小车小结
作为第一个实习的小车,从小车安装到电机调试,单片机驱动和程序下载,都遇到了很多困难,在一一解决的过程中也积累的很多经验。
舵机的调速相对简单易懂,但每种元件都需要自己在面包板上搭建电路,在跳线缺少的情况下,带来了很多麻烦,在多传感器融合的过程中也遇到了面包板空间不足的情况。
轮子的安装方向和舵机的调0都是很重要的细节,如果不注意会使程序的执行难以达到预期的目的。
本节实习也让我明白了如何通过单片机来实现想要的功能,将课本上的知识运用到了实际中。
不足之处是在于算法的编写,没有预想到算法的可读性和执行效率,写的比较冗长复杂。
而传感器的灵敏度也对程序的编写造成了一定困难。
比方说红外避障功能,面对墙壁漫反射强烈,很远的地方就能检测到信号,而面对一般障碍物,就需要较近的距离,给测试程序造成了一定的困难。
红外的角度如果太小,会造成左边的信号反射到中间,造成判断失误。
2直流小车总结
2.1直流小车的任务
1.了解直流小车的硬件,各个芯片、程序的下载以及直流小车的组装。
2.学会直流电机的调速控制。
3.实现直流小车的循迹功能。
4.直流小车的测速功能的实现。
5.直流小车的超声波测距和跟随功能的实现。
6.直流小车的光电避障功能的实现。
7.直流小车的遥控功能的实现。
8.多功能融合到一起,实现直流小车的复杂运动。
2.2直流小车的控制原理
2.2.1直流电机的驱动原理
本次实习直流小车的共有4个直流电机驱动。
直流电机的驱动芯片为L293D。
该芯片可以控制两个电机,每个电机的控制端都有一个使能端E,两个电机控制端IN1、IN2。
通过给这三个端口不同的电平可以控制电机的正转、反转和停止。
表2-1即为L293D的芯片控制说明。
表2-1L293D运行表
ENA(B)
IN1(IN3)
IN2(IN4)
电机运行情况
H
H
L
正转
H
L
H
反转
H
同IN2(IN4)
同IN1(IN3)
刹车
L
X
X
停止
2.2.2直流小车的调速
软件定时调速的基本方法是改变输出PWM波的占空比,使输出的高低电平的时间不同,从而改变电机正转或反转和停止的时间来达到改变直流小车的速度问题。
软件定时最大的缺陷是占用了定时器中断。
在本次实习中各个类型的任务需要用到中断,为了节省中断资源,故采用延时的编写方法来改变I/O口输出高低电平的时间,从而达到对直流小车调速的目的。
对直流小车的调速程序参见附录。
2.3直流小车具体完成任务与改进
2.3.1直流小车的安装
对给应的元器件清单按照资料里面的直流小车安装步骤进行安装小车,同事根据自己做的模块合理安装小车的模块以及布线。
图2-1是最终安装后的直流小车。
图2-1直流小车安装图
2.3.1超声波和近距离跟踪
本次课程设计直流小车所采用的超声波模块为US-100。
超声波传感器发出超声波信号,当遇到障碍物时,超声波会被反射回来,模块检测到回波信号的时候进行校正,然后输出结果。
对超声波从发射到接受到回波的时间,可以计算出距离,编程设置不同距离时小车应该有的运动状态。
在超声波两边安装循迹用的两个红外,因为红外探测距离只有7cm不到,所以只能实现近距离跟踪,配合超声波测距,可在程序中设置不同的距离区间实现不同的功能。
2.3.2循迹模块的实现
本次实习直流小车所用的循迹模块为4路红外探测系统。
模块如图2-2所示。
可以实现物料检测、色相检测和灰度检测。
在循迹模块中执拗小车主要是根据灰度检测实现。
图2-1红外探测系统
移开探头前面的所有物体,且探头不要指向阳光的方向。
将探头板接上电源后用万用表测最输出端电压。
此时的电压应当在1伏特左右。
用白纸挡在探头前。
用万用表测输出端电压应当接近电源电压。
即当探头检测到白色的时候输出高电平1,但检测到黑色的时候输出低电平0.通过接收到的信号改变主板的I/O状态从而修正直流小车的运行,进而达到循迹的目标。
图2-2即为循迹模块的程序流程图。
通过调节芯片外接的滑动变阻器,可以调整探头的灵敏度。
图2-2循迹程序流程图
2.3.3测速模块的实现
测速模块采用的芯片ZK-measure测速模块,在规定的时间内记录与直流电机相连的编码盘经过红外发射接收器的次数,从而计算出小车的速度,然后把速度输出到数码管上,显示出小车的速度。
图2-3测速模块
2.3.4避障功能的实现
在直流小车的避障部分采用的是光电开关进行简单的避障。
当在避障开关检测到的范围内有障碍物的时候输出低电平,当没有障碍物的时候为高电平。
通过电平的变化可以判断前方是否有障碍物,从而改变小车的运行状态。
光电传感器检测到的距离为3cm~80cm。
2.3.5遥控功能的实现
遥控器在日常生活中很常见,在本次实习中直流小车所用的也是普通的遥控器实现小车的遥控功能。
每个遥控器都有自己的编码,并且每个键也同样有自己的编码,按下遥控器就会发出遥控器的编码和键值的编码,主芯片通过取码解码判断所按下的键,然后执行其按键的程序。
遥控器的取码是通过按下键然后遥控器发出红外线,主板上的红外接收器接收信号后由主芯片进行解码。
2.3.6复杂功能的实现
在直流小车上实现的复杂功能主要有在遥控功能的基础上添加小车加速前进、后退,左转,右转,避障功能,循迹功能和测速功能。
其中在小车运行的工程中随时进行测速并显示在数码管上,在运行的过程遇到障碍物会改变运行状态,按下键可以开始循迹工功能。
如图2-4是小车复杂功能的程序流程图。
图2-4直流小车复杂功能的程序流程图
2.4直流小车小结
经过舵机小车的实习后,积累了更多地经验,直流小车上手较快,把主要精力放在了循迹算法上,也渐渐明白了如何将多个传感器模块融合到一起。
直流小车因为是四轮系统,简单的调速无法实现精确的循迹,复杂调速又会增加循迹算法的复杂程度,所以折中采用了减速出弯的算法,即每拐一个小弯,直线速度就降低一点,直到恢复直线。
由于循迹算法略微庞大,再加上遥控器的解码子函数,使得程序整体几乎超出了Keil生成hex的limit,所以不得不另写超声波模块的代码。
这也提醒自己,在单片机控制上,一定既要让算法简洁明了,又能实现更多功能,提高运行效率。
3步进小车结
3.1步进小车的任务
1.掌握步进电机的基本原理,学会步进电机的控制
2.掌握步进小车的主板使用
3.组装步进小车
4.掌握步进小车的前进,后退,左转和右转基本功能,实现步进小车的循迹、避障、蓝牙控制、红外遥控等基本功能。
5.能够把各个功能有机的结合在一起,使步进小车实现复杂的运动
3.2步进小车的控制原理
3.2.1步进电机的控制原理
步进电机是一步一步运转的,给步进电机一个脉冲信号步进电机就会转动一定的角度。
因此步进电机是一种把脉冲信号变为角位移的执行元件。
步进电机的转速只取决于脉冲信号的频率。
通过改变PWM波的占空比改变输出信号的频率从而改变电机速度。
通过单片机定时器产生PWM波,驱动模块驱动小车轮子转动,使小车前行,采用驱动模块的原因是由于步进电机的工作电流比较大,不能直接使用单片机来驱动,一般使用集成芯片L297或L298。
3.2.2步进小车的基本动作
步进小车的控制需要采用定时器来控制输出脉冲的频率。
步进电机的控制芯片上有电机使能控制位、方向控制位和脉冲控制位。
通过改变电机使能和方向控制位可以改变电机正转、反转和停止。
当电机前进的时候左轮正转、右轮反转。
表3-1就是步进小车的基本控制过程。
小车的基本动作的控制程序见附录。
表3-1步进小车的运行表
EN_left
EN_right
CW_left
CW_right
运行状况
1
1
1
0
前进
1
1
0
1
后退
1
0
1
0
右转
0
1
1
0
左转
0
0
x
x
停止
根据运行表可得如下运动子函数:
voidmove_left(uintspeed,uintstep,ucharcw,ucharen);
voidmove_right(uintspeed,uintstep,ucharcw,ucharen);
通过改变speed可以改变速度,改变step改变行驶距离。
3.3步进小车具体完成任务与改进
3.3.1红外循迹模块
小车上的红外寻迹探头安装在小车底部,左右两侧各一个,通过测试改变两个红外探头之间的距离失效车能够达到精确的循迹任务。
如图3-1既是小车循迹过程的图片。
图3-1步进小车的循迹模块
小车的的红外探头当探测到黑线的时候给I/O口一个低电平,进而编写程序改变小车的运行状态,当探头没有检测到黑线时I/O口输出高电平,小车前进。
图3-2是步进小车循迹的程序流程图。
图3-2步进小车循迹模块的流程图
3.3.2光电传感器避障模块
光电避障模块主要是根据光电传感器进行检测障碍物,把检测结果反馈给单片机主板,从而改变小车的运动状态。
在步进小车的避障模块共有三个光电传感器,分别安装在步进小车的正前方,前方的偏左侧和偏右侧,主要在小车的运行过程中检测小车的正前方、左前方和右前方的障碍物的。
图3-3是光电传感器避障过程中的截图。
避障总共有分八种情况,算法根据不同情况给出小车应有的动作。
图3-3步进小车的光电传感器避障
3.3.3四键无线遥控
该模块首先应该连接接收模块,要注意各个引脚接线连接正确,接收模块的七根引脚分别为D3、D2、D1、D0、GND、VT、VCC,VT引脚悬空,D0、D1、D2、D3分别与发射模块上的B键、D键、A键、C键相对应,分别连接单片机上P3口的四个引脚。
GND和VCC分别接地和电源。
通过测试可以用四键遥控控制小车的简单运动。
该模块与直流小车的遥控模块相比较它在自带的芯片上有取码和解码过程,编程更加方便。
但缺点是该模块是非自锁型,只有按下键的时候才能驱动小车的运动,松开按键小车停止运行。
3.3.4蓝牙模块
蓝牙模块的调试比较简单,将蓝牙模块插在单片机板子上对应的位置,要注意各个引脚相对应,sata和AT两个引脚悬空,该部分要注意的一个问题是下载程序的时候要拔掉蓝牙模块,否则下载不进去程序。
给手机上下载蓝牙手机软件,连接成功后就可以控制小车的基本几个运动。
图3-4所示为蓝牙手机软件的界面。
图3-4蓝牙模块的手机操作界面
3.3.5复杂功能的实现
步进小车的复杂功能主要有在四件无线遥控模块或者蓝牙模块里添加步进小车的循迹模块、避障模块。
无论是四建无线遥控器还是蓝牙控制都可以实现对小车的控制。
其中,更是把两种控制方式融合到一个程序里,更加方便的运行和操作。
如3-5既是步进小车复杂功能的程序流程图。
由于避障模块在测试中会带来很多麻烦,特设置避障开关,不需要使用时停用避障。
图3-5步进小车复杂功能的程序流程图
3.4步进小车小结
步进小车将更多精力转向了多功能融合,无线控制不用红外遥控那样需要写解码子函数,蓝牙的子函数也很小,留出了更多的程序空间给其他功能。
在直流小车的基础上简化了循迹算法,因为两轮步进小车转弯精度和速度都很快,在减速出弯的基础上可以适当加快速度,也不用分二段减速。
避障算法这次没有给出流程图,因为还是比较简单的算法,只是有三个红外传感器,小车可以反映八种情况,传感器精度也比较高,算法相对于舵机小车好写的多。
在融合蓝牙和无线遥控时用了很多脑筋,为了留出中断给LCD显示(虽然最后没有做出来),在程序的逻辑顺序上实现共同控制小车。
4机电系统创新设计——三轮声控循迹小车的设计
4.1主要设计思路
单前轮通过舵机调整角度,实现小车的方向控制。
后两轮使用直流电机驱动,通过PWM技术实现小车调速。
声控模块使用驻极体传声器,搭配相应的放大电路和整流滤波电路,将信号输入到单片机内。
循迹模块使用红外线发射和接收管等分立元器件组成探头,并使用LM339电压比较器(加入迟滞电路),防止临界输出抖动做为核心器件构成中控电路。
循迹红外
图4-1整体设计图
调整方向的前轮
图4-2侧视图
4.2芯片选用
使用实习是直流小车使用的开发板,舵机控制直接引杜邦线到+5、GND口,脉冲使用I/O口给出即可;直流电机使用L298N驱动。
图4-3开发板示意图
循迹模块使用LM339电压比较器。
4.3声控模块电路设计
图4-4信号处理流程图
1、LM324很简单的两级反相比例放大电路的级联,其中话筒正端接一上拉电阻。
图4-5两级放大电路
2、用运放制作的精密全波整流电路。
图4-6整流电路
3、低通滤波:
很简单的RC无源滤波器,输出接到单片机的AD0口用于AD转换。
图4-7
4.4整体流程图
图4-8整体流程图
4.5调速和方向控制模块
直流电机的调速使用PWM原理,基本函数如下:
Voidmove(uintspeed)
{
Move1;move3;
Delay_nus(speed);
Stop1;stop2;
Delya_nus(1010-speed);
}
Speed越小,速度越大。
舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。
以180度角度伺服为例,那么对应的控制关系是这样的:
0.5ms--------------0度;
1.0ms------------45度;
1.5ms------------90度;
2.0ms-----------135度;
2.5ms-----------180度;
因为每次方向需要初始化,所以每次转向后要给计数器加以,方便记忆回转。
4.6优缺点分析及总结
优点:
方向控制理论上更加精确和方便,舵机改为步进电机也可,两种电机的精度需要试验测量。
循迹模块优化的空间很大,因为红外与舵机直接放到了一起,可以很大程度上减小小车冲出跑道的情况,进而给调速留下了更多空间。
缺点:
声控模块还比较简单,不经过实际调整无法确定是否能有效果。
声控开关可以使用中断。
总结:
声控方面的设计遇到困难,没有达到预期的想法。
5机电一体化综合训练总结
本次实习收获很多,首先更加了解了我们专业的内涵,深刻体会了机电一体化的魅力和作用。
其次,让我学会了如何处理实习中的各种困难,不要一味的依靠他人,自己独立思考才会有更深的体会。
同时也强化了