西北农林科技大学智能小车实习总结(完整版)_第1页
西北农林科技大学智能小车实习总结(完整版)_第2页
西北农林科技大学智能小车实习总结(完整版)_第3页
西北农林科技大学智能小车实习总结(完整版)_第4页
西北农林科技大学智能小车实习总结(完整版)_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、机电一体化综合训练总结姓 名 学 号 实 验 组 指导教师 西北农林科技大学机械与电子工程学院201 年 月目录1.舵机小车总结.- 1 -1.1 舵机小车任务.- 1 -1.2 舵机小车控制原理.- 1 -1.2.1舵机小车基本控制原理.- 1 -1.2.2舵机小车的触觉导航控制原理.- 2 -1.2.3舵机小车的光敏电阻导航控制原理.- 2 -1.2.4舵机小车的红外导航控制原理.- 3 -1.3舵机小车具体完成任务与改进.- 3 -1.3.1舵机小车的“U”字形行走任务实现.- 3 -1.3.2舵机小车的触觉导航任务实现.- 5 -1.3.3舵机小车的光敏电阻导航任务实现.- 8 -1.

2、3.4舵机小车的红外导航任务实现(避让悬崖).- 9 -1.3.5舵机小车的方案改进.- 11 -1.4舵机小车小结.- 11 -2.直流电机小车总结.- 12 -2.1直流电机小车任务.- 12 -2.2 直流电机小车控制原理.- 12 -2.2.1直流电机小车基本运动控制原理.- 12 -2.2.2直流电机小车测速控制原理.- 13 -2.2.3直流电机小车四路寻迹控制原理.- 14 -2.2.4直流电机小车避障控制原理.- 14 -2.2.5直流电机小车红外遥控控制原理.- 15 -2.3 直流电机小车具体完成任务与改进.- 16 -2.3.1直流电机小车的硬件组装任务实现.- 16 -

3、2.3.2直流电机小车基本运动任务实现.- 17 -2.3.3直流电机小车测速任务实现.- 18 -2.3.4直流电机小车四路寻迹任务实现.- 18 -2.3.5直流电机小车避障任务实现.- 19 - 2.3.6直流电机小车红外遥控任务实现.- 20 - 2.3.7直流电机小车功能集成任务实现(改进).- 23 -2.4直流小车小结.- 28 -2.4.1思考题.- 28 -2.4.2心得体会.- 29 -3.步进电机小车总结.- 30 -3.1 步进电机小车任务.- 30 -3.2步进电机小车控制原理.- 30 -3.2.1步进电机小车基本控制原理.- 30 -3.2.2步进电机小车的“T”

4、字形行走控制原理.- 32 -3.2.3步进电机小车的遥控控制原理.- 33 -3.2.4步进电机小车的寻迹控制原理.- 34 -3.2.5步进电机小车的避障控制原理.- 36 -3.3 步进电机小车具体完成任务与改进.- 37 -3.3.1步进电机小车的硬件组装实现.- 37 -3.3.2步进电机小车的“T”字形行走任务实现.- 38 -3.3.3步进电机小车的遥控控制任务实现.- 40 - 3.3.4步进电机小车的寻迹控制任务实现.- 42 -3.3.5步进电机小车的避障控制任务实现.- 44 -3.3.6步进电机小车的任务集成控制实现(改进).- 47 -3.4步进小车小结.- 51 -

5、3.4.1思考题.- 51 -3.4.2心得体会.- 52 -4.机电系统创新设计.- 53 -4.1创新题目简介.- 53 -4.2解决的问题.- 53 -4.3采用的方法.- 53 -4.4设计原理.- 54 -4.5机械图与电路图.- 55 -4.6创新设计小结.- 56 -5.个人体会与总结.- 56 -5.1有关基础知识认知.- 56 -5.2有关知识实践结合.- 57 -5.3有关拓展创新能力.- 57 -5.4有关团队沟通合作.- 57 -5.5有关解决发现问题.- 58 -机电一体化综合训练实习总结1.舵机小车总结 1.1 舵机小车任务1.1.1完成舵机小车的硬件组装;1.1.

6、2通过软件和硬件的结合,程序的编写,实现舵机小车的前进、后退,并可以实现左转弯、右转弯,并在允许范围内可调节速度;1.1.3实现舵机小车的“U”字形行走;1.1.4基于单片机的步进小车系统,就是在单片机最小系统的基础上,增加触觉导航模块,光敏电阻导航模块,红外导航模块使单片机正常驱动步进电机,根据传感器模块的反馈不断修正,实现带动小车执行蔽障、寻迹、触觉导航、趋光行走的任务。1.2 舵机小车控制原理1.2.1舵机小车基本控制原理 舵机小车的主控制板或接收机发出的控制信息给舵机,电路板上的IC判断转动方向,再驱动直流电机开始转动,通过减速齿轮将动力传至输出轴。同时,位置检测器送回电机转动位置的反

7、馈信号,判断电机的转动角度是否已经达到既定的位置。位置检测器其实就是可变的电位器,当舵机转动时电阻值也随之改变,检测电阻值的大小,便可获得电机转动的角度。此处以180和360旋转角度舵机的控制原理为例。 舵机是一个微型的伺服控制系统,180度旋转角的舵机控制原理可以用图1-1所示,控制电路接收信号源的控制脉冲,并驱动电机转动;齿轮组将电机的速度呈大倍数缩小,并将电机的输出扭矩放大响应倍数,然后输出;电位器和齿轮组的末级一起转动,测量舵机转动角度;电路板检测并根据电位器判断舵机转动角度,然后控制舵机转动到目标角度或保持在目标角度。图1-1 舵机控制原理本次实习的舵机小车,其控制方法为:舵机顺时针

8、全速:控制器连续给舵机发送1.3ms的脉冲,间隔20ms,舵机将全速顺时针旋转,全速的范围是从50到60RPM。舵机逆时针旋转:控制器连续给舵机发送1.7ms的脉冲,间隔20ms,舵机将全速逆时针旋转。全速范围是50到60RPM。舵机不动:控制器连续给舵机发送1500us的脉冲,间隔20ms,舵机将静止不动。1.2.2舵机小车的触觉导航控制原理每条胡须都是一个常开开关。连接到每个胡须电路的I/O引脚监视着10k上拉电阻上的电压变化。当胡须没有被触动时,连接胡须的I/O管脚的电压是5V,当胡须被触动,I/O短接到地,所以I/O管脚的电压是0V。微控制器启动或者复位时,所有的I/O插脚缺省为输入。

9、如果I/O脚上的电压为5V(胡须没有被触动),则其相应的寄存器中的相应位存储1;如果电压为0V(胡须被触动),则存储0。单片机可以读入相应的数据,进行分析、处理、控制机器人运动。在进行胡须测试之前需将串口电缆连接好,需用到调试终端以显示左右胡须状态,调用相关程序进行测试。触须导航的电路原理如图1-2所示。图1-2 触须导航电路原理1.2.3舵机小车的光敏电阻导航控制原理 舵机小车的光敏电阻,用来探测可见光,并且可以检测不同的光亮度水平。使小车识别周围环境的明暗,报告探测到的明暗水平,并且可以寻找手电筒光束或从门口射进黑暗的屋子的光这样的光源。图1-3是光敏探测电路。 任何大于1.5V的电压,都

10、会使单片机的I/O口的输入寄存器的值为1,任何小于1.5V的电压都会使其寄存器的值为0. 如果光特别亮,光敏电阻的阻值非常小,在完全黑暗的环境中,电阻值接近50千欧。在带荧光天花板,光线好的屋子里,光敏电阻的阻值可能小到1千欧(光线没有任何遮挡)或大到25千欧(阴影遮住光敏电阻)。图1-4是其等效电路,由于光敏电阻的阻值随光照强弱而改变,Vo点的输出电压也随之改变:当R增大时Vo会减小;当R减小时Vo会增大。Vo正是单片机I/O的输入电压。如果输入电路接到P1.5,当Vo的值大于1.5V时,P1寄存器的第6位为1,当Vo的值小于1.5V时,P1寄存器的第6位为0. 图1-3 光敏探测电路 图1

11、-4 等效电路1.2.4舵机小车的红外导航控制原理 舵机小车使用红外传感器探测物体是通过红外线二极管LED发射红外光,在有障碍的情况下,红外线从物体反射折回,红外检测器检测到从物体反射回的红外线后传送给主控制器,主控制器据此判断,舵机作出相应的动作来实现的。1.3舵机小车具体完成任务与改进1.3.1舵机小车的“U”字形行走任务实现舵机小车的“U”字形行走程序:- 59 -#include #include int i;int P1_5state(void)return (P1&0x20)?1:0;int P2_3state(void)return (P2&0x08)?1:0;void Forw

12、ard(void)P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);void Left_Turn(void)for(i=1;i=26;i+)P1_1=1;delay_nus(1300);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);void Right_Turn(void)for(i=1;i=26;i+)P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1700);P1_0=0;delay_nms(

13、20);void Backward(void)for(i=1;i=65;i+)P1_1=1;delay_nus(1300);P1_1=0;P1_0=1;delay_nus(1700);P1_0=0;delay_nms(20);int main(void)int counter;int old2=1;int old3=0;for(counter=1;counter4)counter=1;Backward();Left_Turn();Left_Turn();elsecounter=1;if(P1_5state=0)&(P2_3state=0)Backward();Left_Turn();Left_

14、Turn();else if(P1_5state()=0)Backward();Right_Turn();else if(P2_3state()=0)Backward();Left_Turn();elseForward();程序解释:三个变量用于探测墙角。Int型变量counter用来存储交替探测次数。以上程序设定交替探测次数的最大值为4.用Int型变量old2old3存储胡须旧的状态值。Counter设为1,当舵机小车在此墙角累积到4时,counter复位为1.假如触须被触动,接着检查当前状态是否与上次状态不同。及判断old2不等于P1_5state(),old3不等于P2_3state()

15、,如果是,就在触须触动计数器上加1,同时记下当前的状态,设置old2等于当前的P1_5state(),old5等于当前的P2_3state(),若触须连续4次被触动,则计数器置1,并且进行“U”型转弯。1.3.2舵机小车的触觉导航任务实现舵机小车的触觉导航程序:#include#includeint P1_5state(void) return(P1&0x20)?1:0;int P2_2state(void) return(P2&0x08)?1:0;void Forward(void) P1_1=1; delay_nus(1700); P1_1=0; P1_0=1; delay_nus(130

16、0); P1_0=0; delay_nms(20);void Left_Turn(void) int i; for(i=1;i=26;i+) P1_1=1; delay_nus(1300); P1_1=0; P1_0=1; delay_nus(1300); P1_0=0; delay_nms(20); void Right_Turn(void) int i; for(i=1;i=26;i+) P1_1=1; delay_nus(1700); P1_1=0; P1_0=1; delay_nus(1700); P1_0=0; delay_nms(20); void Bcckward(void) i

17、nt i; for(i=1;i=65;i+) P1_1=1; delay_nus(1300); P1_1=0; P1_0=1; delay_nus(1700); P1_0=0; delay_nms(20); int main(void) uart_Init(); printf(Program Running!n); int counter; for(counter=1;counter=1000;counter+) P1_4=1;delay_nus(1000);P1_4=0; delay_nms(1000); while(1) if(P1_5state()=0)&(P2_3state()=0)

18、Backward(); Left_Turn(); Right_Turn(); else if(P1_5state()=0) Backward(); Right_Turn(); else if(P2_3state()=0) Backward(); Left_Turn(); else Forward(); 程序解释:舵机小车触须导航程序流程图如图1-5所示:图1-5 舵机小车触须导航程序流程图1.3.3舵机小车的光敏电阻导航任务实现舵机小车的光敏电阻导航程序#include#includeint counter;int P1_5state(void) /*获取P1_5口的状态*/ return(P

19、1&0x20)?1:0;int P2_3state(void) /*获取P2_3口的状态*/ return(P2&0x08)?1:0;int main(void) uart_Init(); /*串口初始化*/ printf(Program Running!n); for(counter=1;counter=1000;counter+) /*开始复位信号*/ P1_4=1;delay_nus(1000);P1_4=0; delay_nus(1000); while(1) if(P1_5state()=0)&(P2_3state()=0) /*都探到阴影,向前运动*/ P1_1=1; delay_

20、nus(1700); P1_1=0; P1_0=1; delay_nus(1300); P1_0=0; else if(P1_5state()=0) /*只有左边的探测到阴影,向左转*/ P1_1=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;else /*没有探测到阴影,静止不动*/ P1_1=1; delay

21、_nus(1500); P1_1=0; P1_0=1; delay_nus(1500); P1_0=0; delay_nms(20); 程序解释:将光敏电阻与P1.5和P2.3相连,分别获取P1_5口和P2_3口的状态,然后将信号复位。若光敏电阻两侧都探到阴影,向前运动;只有左边的探测到阴影,向左转 ;没有探测到阴影,静止不动。1.3.4舵机小车的红外导航任务实现(避让悬崖)舵机小车的红外导航程序#include#include#include#define LeftIR P1_5 #define RightIR P3_6 #define LeftLaunch P1_4 #define Rig

22、htLaunch P3_5 void IRLaunch(unsigned char IR) unsigned int counter; if(IR=L) for(counter=0;counter1000;counter+) LeftLaunch=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); LeftLaunch=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); else f

23、or(counter=0;counter1000;counter+) RightLaunch=1;_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); RightLaunch=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); void Forward(void) P1_1 = 1;delay_nus(1700);P1_1 = 0;P1_0 = 1;delay_nus(1370);P1_0

24、= 0;delay_nms(20);void Left_Turn(void) int i; for( i=1;i=23;i+) P1_1=1; delay_nus(1300); P1_1=0; P1_0=1; delay_nus(1370);P1_0=0; delay_nms(20); void Right_Turn(void) int i; for( i=1;i=23;i+) P1_1=1; delay_nus(1700); P1_1=0; P1_0=1; delay_nus(1700); P1_0=0; delay_nms(20); void Backward(void) int i; f

25、or( i=1;i=65;i+) P1_1=1; delay_nus(1300); P1_1=0; P1_0=1; delay_nus(1700); P1_0=0; delay_nms(20); int main(void) int irDetectLeft,irDetectRight; int counter; uart_Init(); for(counter=1;counter=1000;counter+) P1_3=1;delay_nus(1000);P1_3=0;delay_nus(1000); do IRLaunch(R); irDetectRight = RightIR; IRLa

26、unch(L); irDetectLeft = LeftIR; if(irDetectLeft=0)&(irDetectRight=0) Backward(); Left_Turn(); Left_Turn(); else if(irDetectLeft=0)&(irDetectRight=1) Backward();Right_Turn(); else if(irDetectRight=0)&(irDetectLeft=1) Backward();Left_Turn(); else Forward(); while(1);1.3.5舵机小车的方案改进将触须避障与红外蔽障程序融合,流程图如图1

27、-6所示:图1-6 触须避障与红外蔽障程序融合流程图1.4舵机小车小结这次的小车是舵机小车,对于舵机以前没有接触过,所以要先看舵机的原理。通过此次的舵机小车实习,我认识到基本实习的流程,掌握了舵机小车的组装,以及舵机小车的基本工作原理,掌握了舵机小车的基本编程,并加强了团队合作意识。舵机小车要先进行舵机的调零,调零之后我们又进行了小车的组装,在组装的时候接触了面包板,了解了面包板的接线方法。由于前面进行过步进小车的实习,所以这个小车的组装连线很快就弄好了。下面就是舵机基本运动的调试(前进、后退、左右转弯),因为每个舵机的转速不同,当前进的时候不走直线,因此我们要不断地改写延迟的时间,在不断的实

28、验下最后终于完成了小车的基本运动。然后进行触须导航的程序调试,我们遇到了触须导航不灵敏的问题,后来发现是两个触须接触短路造成的。接下来是驱光导航的任务实现,我们遇到了光敏电路单方向不灵敏的问题,但是不清楚是单片机接线错误还是传感器失灵。在老师的指导下,我们将两个光敏电阻对调接入,发现另一边出现问题而原来的一边可以实现驱光导航,所以我们确定了是传感器的损坏影响了驱光导航,随后就完成了此次项任务。随后就是避障,我们仔细看了电路图,明白了原理,开始程序的调试,在实验过程中,我们的红外蔽障起初没有成功,原因在于接线太多,导致短路。由于小车是靠碰到快要接触到墙壁的时候有红外反射信号,使小车转动,所以要有

29、后退的过程,所以我们在红外接收器检测到信号的时候后退并且右转。旋转角度是90。避让悬崖的程序调试类似。最后是舵机小车的寻迹,按照上次步进小车的寻迹经验,很快编号程序。可是转弯的时候由于转弯延迟太大,小车不稳,只有改变小车转弯的延迟,经过几次实验完成了寻迹。由于舵机小车的面包板容量有限,我们没有实现舵机小车的任务集成。2.直流电机小车总结2.1直流电机小车任务2.1.1熟练掌握单一传感器、单电机在控制器作用下实现具体机械构件的控制;2.1.2熟练掌握控制器采集多类型、多数量传感器信息并通过复杂电路控制多电机实现对多机械构件的控制;2.1.3熟练掌握直流电机在控制器作用下,驱动机械构件实现复杂运动

30、。2.2 直流电机小车控制原理2.2.1直流电机小车基本运动控制原理 每个直流电机需要三个控制信号EN1、IN1、IN2。EN1是使能信号。选用一路PWM连接EN1引脚,通过调整PWM的占空比可以调整电机的转速,IN1、IN2为电机转动方向控制信号。IN1、IN2分别为1,0时,电机正转;反之电机反转。为节省单片机引脚,可只用一路I/O口,经反向器74HC14分别接IN1和IN2引脚,控制电机的正反转。电机正反转的逻辑如表2-1所示。表2-1直流电机正反转逻辑表 IN1IN2EN1电机000不转010不转100不转110不转001不转011正转101反转111不转 小车的四路直流电机,分别用3

31、个控制信号EN1、IN1、IN2控制,然后可实现小车的前进、后退、左转、右转,程序流程图如图2-1所示。图2-1 直流小车的基本控制 2.2.2直流电机小车测速控制原理 测速程序伴随着小车整个运动过程,把小车的速度不断反馈给主控器。 电路采用槽型对射光电,光电信号通过码盘,即可触发5VTTL电平。采用施密特触发器去抖动脉冲,非常稳定,也可用于小车测转速,测距离等。四针定义为+5、GND、0UT1、OUT2,其中0UT1、OUT2为电平输出,直接接入单片机IO口,每一路带一个LED,指示其输出状态。 测速模块工作电流25ma,工作电压4.0-6.5V,可检测大于2MM的非透明物体。测速模块的槽型

32、不要有障碍物,模块接上电源后,OUT输出端电压接近电源电压,D1指示灯不亮,当用大于2MM的不透明物体通过槽型光电(码盘的隔断),OUT输出端电压为高电平,D1指示不亮(表示已经检测到物体)。当槽型没有遮挡有透明物体通过(码盘的删格),OUT输出端电压为低电平,D1指示亮(表示无物体)。 砝码盘上有均匀分布的20删格,把360度平均分为18度/格的20小格。单片机控制测速模块发出一定频率的光,当删格的空档有光线通过时,接收装置检测到固定频率的光线,单片机检测到的输出信号为0,当删格的边框遮挡光线时,接收装置检测不到光线,单片机检测到的输出信号为1,单片机通过对测速信号高电平计数,从而计算出码盘

33、速度与行走距离。 单片机的定时器中断,不断产生脉冲,根据一个脉冲的高电平信号,可知在一定的脉冲频率f下,获取1s内轮子转过的栅格数n,由于轮子直径d 已知,则1s内轮子走过的距离是S=ndf/20,则轮子的速度可用数码管显示出来。 2.2.3直流电机小车四路寻迹控制原理 发射管发射出红外线,如果探头不在黑线上,则反射回来的光被接收端接收,接收端导通,则10k电阻R2的输出端OUT接地,电压为0;发射管发射出红外线,如果探头在黑线上,则反射光被黑带吸收,接收端没有收到信号,不导通,则10K电阻R2的输出端OUT电压为Vcc。寻迹流程图如图2-2所示。左侧检测到黑线右侧检测到黑线左转右转直走 未检

34、测到黑线图2-2 直流小车四路寻迹流程图 2.2.4直流电机小车避障控制原理 避障功能是小车在进行的过程中自动躲避障碍并前进的功能,实现避障功能的传感器主要是红外传感器。 红外反射式传感器是集发射与接收于一体的光电传感器,具有探测距离远(最远可达到80cm)、受可见光干扰小、体积小、功耗低、应用方便等特点。而且它检测障碍物的距离,可以根据实际要求,通过尾部的电位器旋钮,进行调节,非常适用于小车避障。 三个红外传感器,分别放置在车身的正前方、左前方和右前方,水平互成60角。当三个中的一个或多个(障碍物较大)接收部分的传感器,就能根据反射回来的红外线进行自动调整,从而使小车的运行轨迹达到自动避障的目的。 以一个红外开关传感器为例,光电开关信号输出接口连接单片机的P0.0口,当检测到障碍物时,光电开关输出低电平,信号为0,没有障碍物时,光电开关输出高电平,信号为1,小车的运行逻辑参考表2-2,得到小车基本运行逻辑如图2-3。表2-2 单个红外传感器避障的基本运行逻辑P0.0信号检测状态左电机控制右

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论