智能寻迹避障小车电机控制系统设计

智能寻迹避障小车电机控制系统设计

ID:12717519

大小:34.88 KB

页数:28页

时间:2018-07-18

智能寻迹避障小车电机控制系统设计_第1页
智能寻迹避障小车电机控制系统设计_第2页
智能寻迹避障小车电机控制系统设计_第3页
智能寻迹避障小车电机控制系统设计_第4页
智能寻迹避障小车电机控制系统设计_第5页
资源描述:

《智能寻迹避障小车电机控制系统设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、智能寻迹避障小车电机控制系统设计1.任务任务一:产生智能寻迹避障小车电机的基本控制信号;任务二:编制智能寻迹避障小车基本巡航动作的控制函数;2.要求(1)能控制智能寻迹避障小车电机的旋转方向和速度;(2)能控制智能寻迹避障小车实现基本巡航动作;1.1项目描述本项目的主要内容是:对C51单片机编程,使之产生控制电机旋转方向和转速的各种基本控制信号,然后在此基础上编制出能够控制智能寻迹避障小车实现前进、后退、左转弯、右转弯等基本巡航动作的控制函数。控制电机旋转是智能寻迹避障小车实现各种导航控制的重要基础,在本书后续项目模块中都要用到对电机的控制,因此本章所设计出的电机控制函数

2、将作为功能模块被后续设计案例直接调用;通过该项目的学习与实践,可以让读者获得如下知识和技能:?掌握单片机I/O端口的基本应用方法;?学会单片机C语言的基本编程方法;?掌握直流伺服电机的基本工作原理和控制方法;?掌握直流减速电机的基本工作原理和控制方法;?掌握H电桥驱动直流电机的工作原理与控制方法,即直流电机驱动芯片L293工作原理;?能够编制控制轮式教育机器人实现基本巡航动作的控制函数;1.2必备知识1.2.1伺服电机伺服:一词源于希腊语“奴隶”的意思。人们想把“伺服机构”当个得心应手的驯服工具,服从控制信号的要求而动作。在信号来到之前,转子静止不动;信号来到之后,转子立

3、即转动;当信号消失,转子能即时自行停转。由于它的“伺服”性能,因此而得名。标准的伺服电机有三条控制线,分别为:电源、地线及控制线。电源线与地线用于提供内部的电机及控制线路所需的能源,控制信号要求是一个周期性的正向脉冲信号,这个周期性脉冲信号的高电平时间通常在1ms—2ms之间,而低电平时间应在5ms到20ms之间。本书向读者介绍的伺服电机是PARALLAX公司生产的连续旋转伺服电机,它的控制信号时序是:低电平时间固定为20ms,高电平为1.3ms—1.7ms之间。图1.1为PARALLAX公司生产的直流伺服电机外形图。图1.1直流伺服电机外形图1.2.2直流电机方案二中采

4、用的是直流减速电机,在此只介绍该电机的控制方法,对于其内部结构不作介绍。该电机外形示意图如图1.2所示,它有红、黑两根控制线,电机状态控制电平如表1-1所示。内部H电桥电路驱动电机运转。图1.2直流电机外形图1.2.3直流电机H桥驱动电路工作原理本设计中直流电机H桥驱动电路由驱动芯片L293D完成,在L293D内部形成一个H桥型的驱动驱动电路,类似如图1.3所示。图中用开关模拟电机信号通断,在实际的控制中是采用晶体三极管来完成此功能,可参见图1.4所示的电机控制示意图。此处只是为简述控制原理,所以用开关模拟电机工作过程。图1.3H桥驱动直流电机电路从图中可以看出,其形状类

5、似于字母“H”,而作为负载的直流电机是像“桥”一样架在上面的,所以称之为“H桥驱动”。4个开关所在位置就称为“桥臂”。从电路中不难看出,假设开关A、D接通,电机为正向转动,则开关B、C接通时,直流电机将反向转动。从而实现了电机的正反向驱动。借助这4个开关还可以产生电机的另外2个工作状态:(1)刹车——将B、D开关(或A、C)接通,则电机惯性转动产生的电势将被短路,形成阻碍运动的反电势,形成“刹车”作用。(2)惰行——4个开关全部断开,则电机惯性所产生的电势将无法形成电路,从而也就不会产生阻碍运动的反电势,电机将惯性转动较长时间。图1.4电机控制示意图电路1.2.4延时函数

6、在实际的单片机应用系统开发过程中,由于程序功能的需要,经常编写各种延时程序,延时时间从数微秒到数秒不等。实现延时通常有两种方法:一种是硬件延时,要用到单片机的定时器/计数器,这种方法可以提高CPU的工作效率,同时也能做到精确延时;另一种是软件延时,这种方法主要采用循环体进行,本项目开发过程中采用的是软件延时的方法,在后续各项目模块中经常作为延时功能调用的几个延时函数原形如下:voiddelay_nμs(uinti)//延时微秒级函数{i=i/10;while(--i);}voiddelay_nms(uintn)//延时毫秒级函数{n=n+1;while(--n)delay

7、_nμs(900);}voiddelayms(uintx){uchari;//延时函数12兆晶振1000为一秒;11.0592兆晶振922为一秒(会有一定误差)while(x--)for(i=0;i<123;i++);}上述函数设计的基本原理是通过执行循环体来消耗时间从而达到延时的目的,其中delay_nms()是毫秒级的延时,而delay_nμs()是微秒级的延时。例如:如果你想延时1毫秒,可以使用语句delay_nms(1);延时100微秒则可使用语句delay_nμs(100);来完成。注意:上述延时函数是在外部晶

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。