智能小车实习报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能小车实习报告
<i>西农可用</i>
1.实习任务与要求
1.1实习目的
1、机械构件如何通过电机驱动实现不同的动作;
2、控制电路的设计及其分析;
3、控制器如何通过传感电路感知世界;
4、设备如何构成控制反馈等。
1.2实习要求
1、熟练掌握单一传感器、单电机在控制器作用下实现具体机械构件的控制。
2、熟练掌握控制器采集多类型、多数量传感器信息并通过复杂电路控制多电机实现对多机械构件的控制;
3、熟练掌握各种电机在控制器作用下,驱动机械构件实现复杂运动。
2.1四轮直流电机智能小车
2.1.1小车的装配
组装按照电路图要求组装,组装完成如附件直流小车图。
2.1.2电机系统
1.电机的工作原理:
复杂的直流电机结构可简化为电机具有一对主磁极,电枢绕组只是一个线圈,线圈两端分别联在两个换向片上,换向片上压着电刷A 和B,如图2-2。
1― 主磁极:励磁绕组上加上直流电压,励磁绕组上有励磁电流通过,使定子铁心产生固定磁场,即定子的主要作用是产生主磁场。
2―电机绕组:在固定的磁场中旋转,主要作用是产生感应电动势或产生机械转矩,实现能量的转换。
3、4―换向器:电刷固定不动,换向片与电枢绕组一起旋转,主要作用对电动机而言,则是将外加的直流电流转换为电枢绕组的交变电流,并保证每一磁极下,电枢导体的电流的方向不变,以产生恒定的电磁转矩。
<i>西农可用</i>
2.直流电机的控制
1.使用脉冲宽度调制(PWM)方式来驱动直流电机,也就是给直流电机输入占空比可调的方波,当电平为1时电机转动,电平为0时电机停止。
电动机的驱动方波周期一定,通过改变高电平的持续时间来控制电动机使能,从而改变电动机一个周期内动作时间,达到控制电动机转速的目的。
控制加减速时可以控制占空比的变化,是占空比不断减小可以控制电机的减速,相反可以控制电机的加速。
直流电机控制基本原理:两个电极与电源正接或反接,可以使其正转或反转。
由于直流电机的工作电流比较大,不能直接使用单片机来驱动,一般使用集成芯片L293D或L298D。
3.控制信号:每1个电机需要3个控制信号EN1、IN1、IN2(如图2―3);EN1是使能信号。
选用一路PWM连接EN1引脚,通过调整PWM的占空比可以调整电机的转速;
IN1、IN2为电机转动方向控制信号。
IN1、IN2分别为1,0时,电机正转;反之,电机反转。
(为节省单片机引脚,可以只用一路I/O 口,经反向器74HC14分别接IN1和IN2引脚,控制电机的正反转。
)2-1-2
<i>西农可用</i>
前进:左侧轮子逆时针转,右侧轮子顺时针转。
后退:右侧轮子逆时针转,左侧轮子顺时针转。
左转:左侧向后转,右侧向前转。
右转:左侧向前转,右侧向后转。
2.1.3程序流程图
1.循迹
2.遥控
<i>西农可用</i>
2.1.4程序清单(见附件)
2.1.程序运行原理
小车主要有三个模块组成:驱动模块,传感模块,51单片机模块。
驱动模块通过给电机“0”,“1”信号来驱动电机,传感模块主要是通过红外检测来产生电信号,当传感器接收到信号时,输出“1”,接收不到信号时为“0”;再通过反相器最后输出给单片机相反地信号。
51单片机模块主要是用来通过各个借口连接不同的模块,然后再通过单片机内部已经存储的程序来处理各个接口的电信号,从而进行各个要求运行状态的执行。
2.1.6总结
直流小车是我们组第一个小车,首先要进行小车的组装,由于小车主要组成部分不是很多,很快完成小车的单片机、直流电机以及小车的其他部分的初步组装。
初步组装完成后,通过分析资料上给的电路图进行小车的接线,并进行分析电路,了解每一个模块的功能及运行原理。
经过一天的时间小车基本完成了全部
<i>西农可用</i>
的组装。
组装完成后,进入了前进程序的调试过程,直流电机前进后退是根据两级的电势差,这个比较简单,随后就是小车的后退和左转右转。
也很快的的完成。
在调试中遇到了小车的报警,通过寻找原因是P3.6口是个特殊的口,不能接东西。
在这些基础的程序完成后又开始了小车的加减速的程序调试,根据老师给的资料,我们知道了速度是通过调节电机的使能的占空比的大小,调节加速减速只需要是每个小时刻的占空比不同就可以了。
根据单片机原理,占空比的调节需要用到中断,在程序中我们假设波形周期是1s,从而控制中断来次数来使单片机输出的电压取反。
中断的次数不同,高电平持续的时间不同,占空
比就不同,最后的速度不同。
只要控制次数的变化,就完成的加减速。
由于小车电机原因,当占空比过小时,电机就不能使小车行走,因此我们的占空比最小只有50%。
随后就进入了,小车寻迹的调试。
这个程序对我来说比较陌生,感觉很神奇,随后看了资料的介绍,我们知道了它的基本原理,通过传感模块的输入单片机的信号,来判断小车需要运行的轨迹。
我们用了if语句来实现,程序编好后,有一个问题出现了,我们的单片机下载进不去程序,刚开始以为是单片机芯片坏掉了,可是换了一个芯片还是不行,最后怀疑是传输口的原因,换了单片机后还是不行,最后我们发现是由于连接了传感器驱动模块后才不行的,是由于电压的分配不够导致不能下载程序。
只要拔掉传感器的电源线就可以完成。
下载最开始的程序后。
在手上演示能按照程序运行,放下去不会走动,进过推测是传感器灵装的离地面太高,于是把传感器向下放,最后能够前进。
随后又遇到了新的问题,速度太快,传感器反应不出来,这次我们就用到了占空比来调节,通过反复的实验最终完成了寻迹的目标。
红外遥控时需要对红外信号进行解码,解码程序没有学习过,根据资料的程序,进行了解码比较困难,因此用了一个比较折中的办法,就是不用解码,先把红外信号对应的码数给单片机内部的一个值,然后在进行比较,用来控制小车的运行。
经过调试程序最终完成的预期的要求,老师最后又给了一个程序,里面有对英的码数,我们根据这个直接进行了码数的比较,也完成了预期的结果。
在红外控制时也遇到了问题,就是放在地上不动,在手里遥控动,原因是传感模块影响红外遥控,是小车不能接受是遥控器信号。
拔出传感器模块的电源最后成功遥控。
这个小车做的比较久,做完后感觉很有成就感,把我们以前学的电机和单片机的内容得到的巩固,更加理解单片机程序的编写和直流电机的运行,对我们的知识有了一定的提高,也激发了我们的兴趣,更好的学习。
2.2两轮舵机智能小车
2.2.1舵机的结构和控制
1、舵机由舵盘、位置反馈电位器、减速齿轮组、直流电机和控制电路组成。
2、控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。
舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度,从而达到目标停止。
3、舵机的脉冲控制
舵机三根线:红-电源VCC;黑-地;白-信号线
<i>西农可用</i>
舵机控制信号是周期为20ms的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,对应舵盘的位置为0-1800(±900),呈线性变化。
也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。
4、舵机的单片机控制
舵机内部有一个基准电路,产生周期20ms,宽度1.5ms的基准信号,有一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。
由此可见,舵机是一种位置伺服的驱动器。
如果用12M的晶振,单片机的一个时钟周期为12个晶振周期,正好是1/1000 ms,计数器每隔1/1000 ms计一次数。
先设定脉宽的初始值,并置输出p12为高位。
当计数结束时,触发计数器溢出中断函数。
在for循环中可以随时通过改变a值来改变转动角度。
舵机的3根线,电压和地接好,脉宽控制信号线,与单片机定时器输出脚相连,用单片机的定时器产生20ms的脉冲频率控制舵机,
通过改变脉冲的占空比来控制输出角度。
舵机转动时需要消耗比较大的电流,所以舵机的电源最好单独提供,不要和单片机使用同一路电源。
5、舵机的单片机控制
舵机的3根线,电压和地接好,脉宽控制信号线,与单片机定时器输出脚相连,用单片机的定时器产生20ms的脉冲频率控制舵机,通过改变脉冲的占空比来控制输出角度。
舵机转动时需要消耗比较大的电流,所以舵机的电源最好单独提供,不要和单片机使用同一路电源。
6、舵机控制方法
顺时针全速:连续给1.3ms的脉冲,间隔20ms,全速顺时针旋转。
全速的范围是50到60RPM.。
逆时针旋转:连续给1.7ms的脉冲,间隔20ms,全速顺时针旋转。
全速的范围是50到60RPM。
不动:连续给1500us。
2.2.2舵机加减速控制
由舵机的工作原理可知,当脉冲延迟1500时静止,延时1300时顺时针转速最大,延时1700时逆时针转速最大,所以当脉冲延时从1500向1300递减时舵机加速顺转,当脉冲延时从1500向1700递增时加速逆转,同理当延时从1300向1500递增时减速顺转,延时从1700向1500递减时减速逆转。
又因为小车两个舵机相对安装,左侧逆时针转,右侧顺时针转才能前进,后退、左转、右转。
2.2.3程序流程图
1.寻迹。