基于单片机的智能循迹小车毕业论文(4)

2020-05-08 10:13

3.3.1 L298N引脚结构

图3.5 L298N 驱动芯片 表3.3 L298N引脚编号与功能

引脚编号

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

名称 电流传感器A 输出引脚1 输出引脚2 电机电源端 输入引脚1 使能端A 输入引脚2 逻辑地 逻辑电源端 输入引脚3 使能端B 输入引脚4 输出引脚3 输出引脚4 电流传感器B

功能

在该引脚和地之间接小阻值电阻可用来检测电流 内置驱动器A的输出端1,接至电机A 内置驱动器A的输出端2,接至电机A 电机供电输入端,电压可达46V 内置驱动器A的逻辑控制输入端1 内置驱动器A的使能端

内置驱动器A的逻辑控制输入端2 逻辑地

逻辑控制电路的电源输入端为5V 内置驱动器B的逻辑控制输入端1 内置驱动器B的使能端

内置驱动器B的逻辑控制输入端2 内置驱动器B的输出端1,接至电机B

内置驱动器B的输出端2,接至电机B

在该引脚和地之间接小阻值电阻可用来检测电流

3.3.2 电机驱动原理

电路的形状很像字母H。四个三极管就是H桥的四条垂直线,而电机就是H中的横线。

图3.6 L298N内部H桥驱动电路

图3.6为一个典型的直流电机的控制电路。被命名为“H桥驱动电路”主要是因为电路的形状很像字母H。四个三极管就是H桥的四条垂直线,而电机就是H中的横线。

如图所示,H桥电机驱动电路包含四个三极管和一个电机。电机运转,必须遵循导通对角线上的一对三极管。基于不同三极管对的导通情况可以控制电机的转向,电流可可以从左至右流过电机,也可以从右至左流过电机。

如图3.6所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右流过电机,然后再经Q4回到电源负极,该流向的电流将驱动电机顺时针转动。

下面分析另一对三极管Q2和Q3,当两个三极管同时导通的情况下,电流将从右至左流过电机。从而驱动电机沿逆时针方向转动。

驱动电机时,保证H桥上两个同侧的三极管不会同时导通非常重要。如果三极管Q1和Q2同时导通,那么电流就会从正极穿过两个三极管直接回到负极。此时,电路中除了三极管外没有其他任何负载,因此电路上的电流就可能达到最大值,该电流仅受电源性能限制,可能烧坏三极管。基于上述原因,在实际驱动电路中通常要用硬件电路方便地控制三极管的开关。

图3.7 所示就是基于这种考虑的改进电路,它在基本H桥电路的基础上增加了四个二极管来保护电路。四个与门同一个“使能”导通信号相接,这样,用这一个信号就能控制整个电路的开关。

采用以上方法,电机的运转就只需要用三个信号控制:两个方向信号和一个使能信号。如果DIR-L信号为“0”,DIR-R信号为“1”,并且使能信号是“1”,那么三极管Q1和Q4导通,电流从左至右流经电机;如果DIR-L信号变为:“1”,而DIR-R信号变为“0”,那么Q2和Q3将导通,电流则反向流过电机。

图3.7 L298N驱动芯片和直流电机接线图

3.3.3 小车运动逻辑

表3.4 小车运动逻辑

使能端A 1 1 1 1 1 1

使能端B 1 1 1 1 1 1

左电机 IN1 1 1 1 0 0 1

IN2 0 0 0 1 1 1

右电机 IN3 1 0 1 1 0 1

IN4 0 1 1 0 1 0

正转 正转 正转 反转 反转 停止 左电机 运行状态 右电机 运行状态 正转 反转 停止 正转 反转 正转

小车 运行状态 前行 右转 以右电机为中心原地右转

左转 后退 以左电机为中心原地左转

电机控制逻辑如下:以电机A为例,当使能端EN A为高电平时,如果输入引脚IN1为低电平而输入引脚IN2为高电平,电机A反转;如果输入引脚IN1为高电平而输入引脚IN2为低电平,电机A正转。

4 系统的软件设计

4.1 软件设计的流程

目前,52系列单片机使用的编程语言主要有汇编语言和C语言这两种。 最接近机器的语言是汇编语言,其常用来编制与系统硬件相关的程序,如访问I/O口、中断处理程序等,它是一种最快而又最有效的语言,在对于程序的空间和时间要求很高的场合中 使用汇编语言是最佳的选择,然而汇编语言也有其自身的缺点,比如程序开发周期较长、浮点运算处理复杂、程序移植性差等不利因素。

在程序设计过程中C语言编程设计思想被称为模块化程序设计思想。有的时候为了有效地完成任务,把所要完成的任务分割成若干个相互独立但相互又仍然有所联系的模块,这些模块使得任务变得相对简单,对外的数据交换相对简单、容易编写、容易检测,容易阅读和维护。

本设计采用C语言来编译程序。模块化结构程序的设计,可以使系统软件便于调试与优化,也使其他人更好地理解和阅读系统的程序设计。因此,软件的设计上,运用

了模块化程序的结构对软件进行设计,使得程序变得更加直观易懂。程序的主要模块有:主程序、定时溢出中断服务程序、外部中断服务程序。

随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。掌握这一软件的使用对于使用51系列单片机的学者来说是十分必要的,如果使用C语言编程,那么Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会事半功倍。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势[8]。

4.2 本系统的编译器

Keil编译器软件

Keil C51单片机软件开发系统可用于编辑C或汇编源文件。然后分别由C51编译器编译生成目标文件(.OBJ)。目标文件与库文件一起经LIB51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM 中。

打开Keil软件后,出现如图4.1所示界面。

图4.1 Keil 软件主界面

点击Project--New Project。可以新建一个工程,如图4.2所示。

图4.2 Keil软件新建工程界面

点击会出现的对话框中选择工程存在路径(如图4.3所示),单击“保存”后,出现界面。在此界面上选择电路板上所用的单片机型号(如图4.4所示),单击“确定”。

图4.3 保存路径界面


基于单片机的智能循迹小车毕业论文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:古寺庙、道观遗址修建项目建设可行性研究报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: