当前位置:文档之家› 机电一体化综合训练概况

机电一体化综合训练概况

《机电一体化综合训练》总结姓名学号小组成员指导教师史颖刚王转卫刘利西北农林科技大学机械与电子工程学院2013年7月目录一.舵机车总结 (1)1.实习目的、任务与要求 (1)1.1实习目的 (1)1.2实习任务 (1)1.3实验要求 (1)2.实习器材准备 (1)3.实习过程 (2)3.1舵机小车的组装及相关软件的安装 (2)3.2伺服电机的控制 (2)3.3舵机车组装及测试 (3)3.4.舵机车的触觉导航 (3)3.5.舵机小车的光敏电阻导航 (4)3.6.舵机小车的红外线导航 (5)二.直流电机小车总结 (7)1.实习目的、任务与要求 (7)1.1实习目的 (7)1.2实习任务 (7)1.3实习要求 (7)2.实习器材准备 (8)3.实习过程 (8)3.1直流小车的组装和软件安装 (8)3.2直流小车基本运动 (8)3.3 直流小车红外寻迹 (8)3.4 直流小车超声波避障 (9)3.5直流小车的红外遥控控制 (9)3.6直流小车的蓝牙控制 (10)3.7直流小车各子功能的融合 (11)三.步进电机小车总结 (11)1.实习目的、任务与要求 (11)1.1实习目的 (11)1.2实习任务 (11)1.3实习要求 (12)2.实习器材准备 (12)3.实习过程 (12)3.1步进小车的组装和软件安装 (12)3.2步进小车基本运动 (12)3.3步进小车的步数可控行进 (12)3.4步进小车寻迹 (16)3.5步进小车红外避障 (14)3.6步进小车的遥控控制 (14)四.机电系统创新设计 (15)五.个人体会与总结 (18)一.舵机车总结1.实习目的、任务与要求1.1实习目的(1)通过组装舵机小车熟悉舵机小车的组成系统、所用到的主要芯片、模块及各个模块的原理及功能;(2)理解舵机的工作原理、供电方式,熟练掌握编程实现舵机的控制;(3)了解舵机车上所用到的传感器的种类、掌握各传感器的工作原理及工作方式;(4)了解以单片机为核心的舵机控制系统,掌握各传感器、舵机等与单片机的信息交换,掌握利用单片机编程实现根据传感器、小车运行状态来控制舵机小车的动作。

(5)通过训练,学会如何从整体出发分析一个完整的基于单片机的机电系统,并在此基础上尝试自行设计机电系统并实现预期功能;(6)培养团队协作和独立工作的能力。

1.2实习任务(1)熟悉舵机车各组成部分,并完成舵机车的组装;(2)理解舵机的工作原理及控制方式,理解各传感器的工作原理,掌握单片机、舵机、传感器之间信息的交换;(3)在理解舵机控制方式及控制系统工作原理的基础上编程实现舵机车的前进、后退、左转、右转、停止,并在允许范围内可调节速度;(4)编程实现舵机车触须导航、光敏电阻导航、红外导航、距离检测和循迹等任务,并掌握其原理;1.3实验要求(1)小组成员协同配合实现舵机小车组装及各功能的实现;(2)在实现各功能的基础上理解其工作过程及工作原理;(3)在此基础上进行创新,尽量有自己的创新点,实现自己预期功能。

2.实习器材准备硬件:PC机一台、舵机车相关组件、ISP下载线、串口线、4节5号电池;软件:Keil uVision4 IDE集成开发环境、SL-ISP软件下载工具、串口调试软件。

3.实习过程3.1舵机小车的组装及相关软件的安装根据实习指导书上的步骤完成舵机车的硬件组装;根据配套光盘资料的指导完成Keil、ISP下载软件。

3.2伺服电机的控制3.2.1舵机的工作原理舵机工作的原理:舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。

其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。

它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。

最后,电压差的正负输出到电机驱动芯片决定电机的正反转。

当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。

3.2.2伺服电机控制信号通过对微控制器编程发给伺服电机的高、低电平信号必须保持非常精确时间。

这是因为伺服电机根据信号的高电平持续时间的长短作为向什么方向转动的指示。

对于精确的伺服电机控制而言,信号的高电平持续的时间要求比delay_nms函数的时间值要精确的多。

每次以1ms为单位改变delay_nms函数的参数n的取值。

3.2.3伺服电机调零由于伺服电机在工厂没有预先调整,他们在接收到信号时会转动。

通过利用螺丝刀调节伺服电机使其静止,这个过程就是伺服电机调零。

首先编写相应程序,向舵机发送零点标定信号(脉冲信号如下图所示),此信号由时间间隔为20ms的脉宽为1.5ms的一系列脉冲组成,相应程序为delay_nus产生,通过计算得到delay_nus函数参数n为1500。

图1 1.5ms脉冲宽度的时间矢量图3.2.4测试电机在本环节中,通过编写运行程序,使电机以不同速度和不同的方向旋转。

通过这些测试,将确保在装配之前电机工作是正常的。

图2 1.3 ms的连续脉冲使电机顺时针全速旋转图2所示是当你给连续旋转电机1.3 ms的脉冲时,它如何以全速顺时针旋转。

全速的范围是50 到 60 转每分钟(RPM)图3 1.7ms的连续脉冲使电机逆时针全速旋转将delay_nus的参数n设为大于1500的数会使电机逆时针旋转。

n的值为1700可以发出1.7 ms的脉冲,如图3所示,这将使电机全速逆时针旋转。

3.3舵机车组装及测试按指导书上的步骤安装,在安装过程中注意整理好线路,并作相应标记,以便在调试环节对线路的调整。

并将测试电机的程序载入组装好的舵机车,观察舵机的运动是否和组装前一致,以确保安装正确。

3.4.舵机车的触觉导航实现功能:在编程实现舵机车一些基本动作:向前、向后、左转、右转和原地旋转的基础上,为舵机小车安装胡须,编程实现触觉自动导航。

图4 胡须电路示意图电路原理:由原理图可知,每条胡须都是一个常开开关。

连接到每个胡须电路的I/O引脚监视着10k上拉电阻上的电压变化。

当胡须没有被触动时,连接胡须的I/O管脚的电压是5V,当胡须被触动,I/O短接到地,所以I/O管脚的电压是0V。

单片机可以读入相应的数据,进行分析、处理、控制机器人运动。

在进行胡须测试之前需将串口电缆连接好,需用到调试终端以显示左右胡须状态,调用相关程序进行测试。

编程逃离墙角:在完成上述功能的基础上,对程序进行修改,修改技巧为记下胡须交替触动的总次数,程序必须记住每个胡须在上次触动时处于什么状态,它必须和当前触动时的状态对比,如果状态相反,就在总数上加1。

如果这个总数超过了程序中预先给定的阈值,那么就该做一个“U”型转弯,并且把胡须交替计数器复位。

3.5.舵机小车的光敏电阻导航实现功能:舵机小车通过光传感器探测可见光,并且可以检测不同的光亮度水平,编程可实现舵机小车识别周围环境的明暗,报告探测到的明暗水平,并且可寻找手电筒光束或从门口射进黑暗的屋子里的光这样的光源。

图5 分压电路图6 光探测电路电路原理:单片机输入的I/O口电压大于1.5V的电压使其寄存器值为1,低于1.5V的电压使其寄存器值为0.上图光敏电阻的阻值用字母R表示,如果光特别亮,电阻值非常小,如果在完全黑暗的环境中,阻值接近50kΩ,在带荧光天花板的光线好的屋子里,电阻值可能小到1KΩ或达到25kΩ.光敏电阻的阻值随着光照的强弱而改变,V0点的输出电压也随之改变;当R增大时,V0会减小;当R减小时,V0会增大。

当V的值大于1.5V时,P1寄存器的第6位为1,当V的值小于1.5V时,P1寄存器的第6位为0.部分程序:由于篇幅有限,下面仅附实现趋光功能的部分主程序。

while(1){if((P1_5state()==0)&&(P2_3state()= =0)) //都探测到阴影,向前运动{P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;}else if(P1_5state()==0)//只有左边的探测到阴影,向左转{P1_1=1;else //没有探测到阴影,静止不动{P1_1=1;delay_nus(1500);P1_1=0;P1_0=1;delay_nus(1500);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;}else if(P2_3state()==0)//只有右边的探测到阴影,向右转{P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1500);P1_0=0;}delay_nus(1500);P1_0=0;}delay_nms(20);}}3.6.舵机小车的红外线导航实现功能:使用红外线前灯探测道路,通过红外线照射机器人路线,然后确定何时有光线从目标返射回来,根据前方障碍物检测结果指导小车前行。

图7 IR前灯原理图电路原理:在连接三极管时注意三极管的管脚分别属于什么极,由电路可以看出,三极管相当于一个开关:当P1_3(P3_6)置高时,从集电区到基区到发射区电路导通,加载在IR LED上的电压为VCC,IR LED向外发射红外线,当P1_3(P3_6)置低时,电路又断开,IR LED停止发射。

探测器只能接收频率为38.5kHz的红外信号,当没有红外信号返回时,探测器的输出状态为高,当它检测到被物体反射的38.5kHz的红外信号时,它的输出为低。

探测器的输出作为单片机引脚的输入,根据单片机两个引脚不同的输入,通过伺服电机控制线分别向伺服电机发送不同的脉冲序列,从而控制伺服电机的不同运动。

发送完信号后立即将IR探测器的输出存储到变量中,这些存储的值会显示在调试终端或被机器人用来导航。

部分程序:下面仅给出舵机小车探测和避开障碍物的部分主程序。

int main(void){int counter;int pulseLeft;int pulseRight;bit irDetectLeft, irDetectRight;char IR;uart_Init();printf("Program Running!\n");for(counter=1;counter<=1000;c ounter++)//开始/复位信号{ P1_3=1;delay_nus(1000);P1_3=0;delay_nus(1000);}do{IRLaunch('R');elseif((irDetectLeft==0)&&(irDetectRi ght==1)) //左转{pulseLeft=1700;pulseRight=1500;printf("turn_Left\n");}elseif((irDetectLeft==1)&&(irDetectRi ght==0)) //右转{pulseLeft=1500;pulseRight=1300;printf("turn_Right\n");}else{pulseLeft=1700; //后退pulseRight=1300;irDetectRight = RightIR; //右边接收IRLaunch('L');irDetectLeft = LeftIR; //左边接收if((irDetectLeft==0)&&(irDete ctRight==0)) //向前走{pulseLeft=1300;pulseRight=1700;printf("Forword\n");} printf("back\n");}P1_1=1;delay_nus(pulseLeft); P1_1=0;P1_0=1;delay_nus(pulseRight); P1_0=0;delay_nms(15);}while(1);}二.直流电机小车总结1.实习目的、任务与要求1.1实习目的(1)通过训练,了解直流小车由哪几部分组成。

相关主题