自动车窗升降控制器的设计与制作内容摘要:

L9110电机驱动电路 L9110芯片 L9110 是 电机驱动芯片。 它是 两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片 集成电路 之中,使外围器件成本降低,整机可靠性提高。 该芯片有两个 TTL/CMOS 兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过 750~800mA 的持续电流,峰值电流能力可达 ~ ; 同时它具有较低的输出饱和压降; 内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。 L9110 被广泛应用于玩具 汽车电机驱动、步进电机驱动和开关功率管等电路上 [15]。 它具有以下 特点: 低静态工作电流;宽电源电压范围; ;电流输出能力 为 每通道 800mA;较低的饱和压降; TTL/CMOS 输出电平兼容,可直接连 CPU; 输出内置钳位二极管,适用于感性负载; 控制和驱动集成于单片 IC 之中;具备管脚高压保护功能;工作温度: 0℃ 80℃。 图 35 电机驱动电路 L9110的电机芯片根据数据手册中规定的操作时序,由 IB和 IA引脚共同决定江苏理工学院毕业设计说明书 (论文 ) 第 12 页 共 42 页 转动状态,从而使 L9110电机驱动芯片的 OA和 OB引脚分别输出不同的电平组 合而驱动电机进行正转 或 反转。 L9110电机的 3和 4引脚都是接入 VCC即 5V的电源。 电机上并联的 104电容是吸收电机运转过程中发出的干扰,以免影响整体电路的稳定性。 1602液晶显示器电路 1602液晶显示器 ( 1) 液晶显示的原理 液晶显示原理是液晶 的物理性质的使用,电压控制显示 区域 , 区域电压的不同就 可以显示图形 及字符。 市场上销售的 液晶显示器 在 个人电脑、智能手机、电视机 、数字摄 影机 等众多领域 都有应用。 ( 2) 液晶显示器的分类 目前 液晶显示 器在市场上有各种各样的型号及种类 , 如果按照 其显示 器 的工作方式 分 ,可分 为段式、字符式、点阵式等。 LCD 不仅拥有 显示 黑白 、 彩色 等各种颜色的能力 ,还有 可以根据外界光强调整 灰度 的功能。 如果根据驱动方式来分,可分为静态驱动, 单纯 矩阵 驱动 和有源矩阵驱动 三种。 图 36 1602 液晶显示器引脚图 引脚接口说明如表 31所示 : 江苏理工学院毕业设计说明书 (论文 ) 第 13 页 共 42 页 表 31 引脚接口说明表 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据 /命令选择 12 D5 数据 5 R/W 读 /写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 第 1脚: VSS 为地电源。 第 2脚: VDD 接 5V 正电源。 第 3脚: VL 是用来 调整 液晶显示器对比度 的端口 , 如果该引脚是高电平那么对比度最小 , 如果是低电平对比度那么最高,不过对比度太高 会产生 重影不利于显示。 第 3脚能外接一个十千欧 的电位器 用来 调整 LCD 的 对比度。 第 4脚: RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5脚: R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。 当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W为高电平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据 [16]。 第 6脚: E 端为使能端, 端口工作在下降沿 , 即下降沿时 液晶 电路运 行 指令。 第 7~ 14脚: D0~ D7 为 8 位双向数据线。 江苏理工学院毕业设计说明书 (论文 ) 第 14 页 共 42 页 第 15脚:背光源正极。 第 16脚:背光源负极。 1602LCD电路设计 图 37 1602LCD电路图 LCD电路原理图的设计主要是控制 寄存器选择端、读写信号选择 端及使能端的状态 , 双向数据线与单片机的双向 I/O口之间的连接 ,另外就是液晶 显示器的背光电源与驱动电源之间的连接 以及对比度调节 了。 江苏理工学院毕业设计说明书 (论文 ) 第 15 页 共 42 页 DS18B20数字温度传感器电路 DS18B20 的主要特征 最近美国的 DALLAS 半导体公司 发布了一款改进型的智能温度传感器那就是 DS18B20 温度传感器。 它是 环境控制,设备或过程控制,温度类消费电子产品。 传统的热敏电阻等元件 测温后的值并不是温度值而是电阻值要想知道具体的温度还需要将电阻值换算成温度值这样一来就特备麻烦。 但是本次设计使用的传感器就 没有这样复杂 , 它可以 直接 测 出被测 物体的 温度,并且 用户可以根据实际需求自行编程改变其数值读数方式。 由 DS18B20 测量物体的温度是以数字信号在单总线中传送的, 大大提高了 测量的准确度减少了外部的扰动,对于一些控制环境比较差的场所该传感器也能够精确无误的测量。 该传感器的工作电压在 3V 到 5V之间 ,使系统设计更 加 灵活、方便 [17]。 其特征可概括如下: 独特的单线接口仅需要一个端口引脚进行通信; 采用了 3 线制与单片机相连,减少了外部硬件电路; 零待机功耗; 可通过数据线供电,电压范围在 ; 用户可定义的非易失性温度报警设置; 对超温和搜索命令识别有报警功能; 当正负极接反时,传感器不会因反向电流作用而损坏,只是停止工作而已。 全数字温度转换及输出。 拥有十二位分辨率 , 测量 精度可达 正负零点五 摄氏度 ,精度非常高。 1 检测温度范围 是零下五十五度到一百二十五度。 1 64 位光刻 ROM,内置产品序列号,方便多机挂接。 1 多样封装形式,适应不同硬件系统。 工作 原理及应用 DS18B20 的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。 它有 温度检测和数据处理 两个部分,而且这两个部分是在一个工作周期中完成的。 DS18B20 作为一个温度传感器其 的内部 数据和程序 存储器 资源也很充足。 DS18B20 共有三种形态的存储器资源,它们分别是: 江苏理工学院毕业设计说明书 (论文 ) 第 16 页 共 42 页 ( 1) ROM 只读存储器, 它拥 有 64 位 的存储空间 用 来储存 DS18B20的程序代码 , 开始的八 位是单线系列编码( DS18B20 的编码是 19H) ,后面 四十八 位是芯片 独一无二 的序列号,最后 八 位是以上 五十六 的位的 CRC 码(冗余 校验)。 芯片在出厂时的 设置 用户不能自行随意改动。 ( 2) RAM 数据暂存器, DS18B20 内部 RAM 共 9KB。 暂存器顾名思义就是内部运算输入 /输出数据暂时存放的地方,这些数据不能永久保存在芯片中,芯片掉电时会自动丢失。 前两个 字节 单元存放的 是 被测物体温度翻译后的数据代码信息 ,第 三、四 个字节是用户 非易失性存储器( 常用于温度报警值储存)的镜像。 在上电复位后非易失性存储器中的信息被清空。 第 五 个字节则是用户 的 第 三 个 非易失性存储器 的镜像。 第六、七、八 字节为计数寄存器, 这三个字节是内部运算结果和温度值转化的临时存储单 元。 另外这三个字节还可以提高温度检测的分辨率。 最后一个 字节为前 八 个字节的 冗余校验 码 [18]。 ( 3) EEPROM 非易失性存储器。 它和 RAM 有本质区别,保存在 EPROM 中的数据不易丢失,适合将一些需要长时间不需改动的数据存放其中。 如 上下限温度报警值和校验数 据。 DS18B20 中 共 三位非易失性存储器 ,并在 数据暂存器中 都存在镜像, 这些镜像可以方便使用者调取使用,大大简化了设计。 图 38 DS18B20 测温原理 LSB 位置 /清除 增加 计数器 1 斜率累加器 计数 比较 器 温度寄存器 减到 0 预置 计数器 2 减到 0 停止 预置 低温度系数晶振 高温度系数晶振 江苏理工学院毕业设计说明书 (论文 ) 第 17 页 共 42 页 DS18B20 数字温度传感 器电路设计 DS18B20 数字温度传感器使用单总线协议传输,第二个引脚 DQ 接的是单片机的 引脚。 为了增强稳定性排除外部干扰,在 DQ引脚处做上拉电阻处理,电阻阻值为。 第一脚是 VCC 引脚,第三脚 是 GND 引脚。 图 39 DS18B20数字温度传感器电路设计 按键模块设计 本 次设计 用到了 四 个按键,其中一个 用来模拟汽车车窗的行程开关 ,另外 三个采用独立按键 , 如图 310所示 S1为上升按钮, S2为下降按钮, S3为一键升降按钮。 这三 个独立按键分别 连接在 STC89S52RC的 ~3接口上。 采用 该 此 种接法 电路简单易于检查错误 , 软件 程序 编写方便快捷也 可节省 单片机资源。 图 310 按键模块电路 如上图所示 S1为上升按键,用来控制电机正转; S2为下降按钮键,用来控制电机反转; S3为自动上升按键,用来模拟汽车停车落锁信号以控制电机连续正转。 当车窗上升到一定高度(车窗触碰到行程开关,即模拟行程开关的按键按下时)直流电机停止转动。 江苏理工学院毕业设计说明书 (论文 ) 第 18 页 共 42 页 第 4章 软件 程序 设计 本次设计的自动车窗升降控制器是由单片机做核心控制器的所以必须要有程序来控制硬件的动作。 因此软件设计业应当是和硬件电路模块设计对应的。 把整个系 统分为几个模块分别进行编写、调试、运行。 最后在用一个主程序把各个模块连接起来,实现最终的功能。 模块化设计使主程序变得简单、清晰明了,使阅读和维护程序变得容易。 模块化设计就像组装一台计算机一样,事先生产好各个部件,最后组装计算机时直接把做好的部件装上就好了这样使程序设计难度降低,思路更清晰,调试更方便同时增强了程序的可移植性。 单片机已经出现了几十年最初的汇编语言也正在被高级语言取代 , 由于汇编语言复杂难以理解, 目前已有 大多数 的人 已经习惯 使用高级语言开发,其中主要是以 C语言为主, 现在许多单片机制造厂家都开发了 C语言开发环境 [19]。 C语言在单片机中的应用 文件包含处理 文件包含其实是一个载体文件,此文件定义了一些常用函数和数据接口声明。 简单来说就是将一个模块装载到另一个模块中,这样就可以在总模块中调用子模块的端口等。 如下面一句程序: include “”这里程序中包含 文件。 为了要 确定 使用 的是 STC89C52RC微处理器 的端口而不是其它变量 ,此句程序 即通知 C编译器 实现这样的目的。 若开启 能够 看到 以下 的内容: /* BYTE Register */ sfr P0 = 0x80。 sfr P1 = 0x90。 sfr P2 = 0xA0。 sfr P3 = 0xB0。 sfr PSW = 0xD0。 sfr ACC = 0xE0。 等 上述的 P1~P3等就是单片机中的 I/O口 , 这里的赋值语句 规定 了 符号名与地址的对应关系。 如 sfr P2 = 0xA0。 0xA0是对 P2口 地址的定义, P2端口地址为 0xA0( 0xA0是十六进制数的方法, C语言相当于汇编语言写的 A0h) [20]。 sfr是单片机中的特殊功能寄存器,而在 标准 C语言中并没有 sfr关键字, 为何 sfr可以直 接出现在 C语言程序中呢。 特殊功能寄存器 能 直接接入单片机 是因为 Keil提供了一种新的关键字,它的使用方法 是: 江苏理工学院毕业设计说明书 (论文 ) 第 19 页 共 42 页 sfrt变量名 =地址值。 单片机引脚定义 在 C语言里, 引脚的定义不能直接引用单片机中的符号。 比如 直接写 就是错误的。 因为 C语言的变量名 , C编译器并不能识别 , 所以 不能使用原来的标号需要重新定义, 这里 修改的变量 名为 P1_0, 用 关键字 sbit来定义, 对 SBIT使用如下: 第一种方法: sbit位变量名=地址值 第二种方法: sbit位变量名= SFR名称 ^变量位地址值 第三种方法: sbit位变量名= SFR地址值 ^变量位地址值 主程序流程图设计 开 始初 始 化 定 时 器和 液 晶 显 示 器采 集 温 度开 机 超 过 1 秒 显 示 温 度上 升 按 钮 按 下下 降 按。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。