汽车变速箱箱体三面钻孔组合机床总体及右主轴箱设计说明书.doc

上传人:wux****ua 文档编号:9564090 上传时间:2020-04-06 格式:DOC 页数:24 大小:797.50KB
返回 下载 相关 举报
汽车变速箱箱体三面钻孔组合机床总体及右主轴箱设计说明书.doc_第1页
第1页 / 共24页
汽车变速箱箱体三面钻孔组合机床总体及右主轴箱设计说明书.doc_第2页
第2页 / 共24页
汽车变速箱箱体三面钻孔组合机床总体及右主轴箱设计说明书.doc_第3页
第3页 / 共24页
点击查看更多>>
资源描述
目 录 1 绪论 1 2 组合机床总体设计 2 2 1 总体方案论证 2 2 1 1 被加工零件的特点 2 2 1 2 工艺路线的确立 2 2 1 3 机床配置型式的选择 2 2 1 4 定位基准的选择 3 2 1 5 选用滑台传动型式 3 2 2 确定切削用量及选择刀具 3 2 2 1 选择切削用量 3 2 2 2 计算切削力 切削扭矩及切削功率 4 3 组合机床主轴箱设计 5 3 1 绘制主轴箱原始依据图 5 3 4 主轴箱坐标计算 绘制干涉检查图 20 3 4 1 计算传动轴的坐标 21 3 5 2 齿轮的校核 23 5 结论 26 参考文献 27 致 谢 28 附 录 29 摘要 随着科技的不断发展 温度作为被常用的被控参数 在工业生产中起到至关重要的作 用 如何精确的测量控制这些被控参数是我们急需解决的问题 本文系统的介绍了数字温度测 试系统的设计和实验分析 详细的介绍了以 AT89C52 单片机为核心的温度测试系统的工作原 理和设计过程 该系统的主要组成部分 AT89C52 单片机 DS18B20 温度传感器 显示电路 温度测试电路 蜂鸣器 自锁开关 外接电源电路 该系统可以实时监测温度 显示温度和设 定温度 并且该系统设有超限 底限温报警程序 实验测试表明 本系统设计对温度的测试有 简单 方便的特点 并且提高了被控温度的精度 温度信号的采集采用温度芯片 DS18B20 以 数字信号的形式传送给单片机 关键词 温度测试 AT89C52 DS18B20 蜂鸣器 前言 在物理学中 表征物体冷热程度的物理量就是温度 在工业生产过程中 尤其在化工 建材 冶金 机械等工业中 温度的监测直接影响生产安全 生产效率 产品质量 能源节约 等 所以在当今社会中 温度的测量和控制越来越重要 应该引起高度的重视 单片机的的应用应该说是当今工业测量与控制领域的一场技术变革 单片机就是把复杂 的东西简单化 所以自动化 智能化均与单片机息息相关 温度测试系统采用单片机控制方式 可以解决温度测试系统中严重滞后的问题 并且可以提高采样频率 控制效果和测试精度也可 以得到很大程度的提高 现代自动控制发展的必然趋势是智能化 如今在大多数自动控制系统 中都应用到了工控机 小型机 有的甚至采用巨型机处理机 在这些处理机中 有一个共同的 特点 运行速度高 内存大 数据存储器多 所以这就带来了一个问题 成本大大提高 而 对于小型的系统来说 配置这样一些高速的处理机违背了这些小系统经济效益的原则 所以采 用成本低廉的单片机控制是不二的选择 在当今社会 电子技术及应用需求的飞速发展 促使单片机技术发展迅速 因此单片机在 各个方面均取得了很大的发展 如今 完全可以应用单片机和温度传感器对某一物体进行实时 监测 不仅可以监测一个地方 而且在监测某一处的同时可以监测多点温度 第 1 章 系统总体设计 1 1 系统设计任务与要求 1 1 1 系统设计任务与要求 该温度测试系统的组成主要以 AT89C52 为核心的主控电路 测温电路 DS18B20 LED 显示电路 蜂鸣器发光二极管报警系统 电源模块 复位模块 实现对温度的实时监测 主要技术指标 温度测量范围是 55 125 根据任务设计说明书 系统的分析温度测试系统的设计需求 并分别对硬件和软件 进行总体的设计 完成硬件和软件的设计后 运用 Protues 仿真软件对设计的结果 进行验证和修改 1 2 系统模块结构论证 1 2 1 方案一 非线性校正方法应用铂电阻测试温度 利用桥式电路的热敏电阻的感温效应 采集测量温度变化的电流或电压信号 通过放大器将信号放大 然后经过 A D 转换 器 最后通过显示电路 就可以将被测量的温度以数字的形式在 LCD1602 液晶显 示器上显示出来 图 1 1 铂电阻桥式测温电路 1 2 2 方案二 如今电子技术飞速发展 温度测试的方法也越来越多 因此考虑采用数字温度 传感器测试温度 结合单片机电路的设计 根据设计要求 设计任务 选取适当的 温度传感器 由设计要求可知 测量范围是 55 125 因此很容易得到 DS18B20 温度传感器完全符合测量要求 所以直接采用 DS18B20 温度传感器 可 以直接读取被测量的温度数值 简单 方便 快捷 然后进行转换 一步步完成设 计要求 图 1 2 DS18B20 测温系统框图 1 2 3 方案比较 方案一采用了模拟温度传感器的方式 数据处理比较繁琐 而且容易发生信号 失真现象 方案二 DS18B20 温度传感器可以直接把被测量的温度转换为串行数字 信号 交给单片机处理 这种测试方式的优点是功耗低 性能高 抗干扰能力强等 所以对比方案一和方案二 很容易看出方案二优于方案一 因此采用电路简单 软 件设计容易的方案二 方案二的电路设计方框图如图 1 3 所示 图 1 3 温度计电路总体设计方案 DS18B20 是达拉斯公司生产的数字传感器 该数字温度传感器具有以下特征 按 键 输 入电 路 复 位 电 路 报 警 电 路 单 片 机 驱动 电路 显 示 电 路 测 温 电 路 扩 展 接 口 对 时 间 和 和 温 度 信 息 定点 存 储 并 与 计 算 机 进 行 数 据 交 换 1 独特的单线接口 而且进行通讯只需要一个端口引脚 2 每个元器件都有独一 无二的 64 位的序列号存储在内部存储器中 3 多点分布式测温 4 不需要外部 器件 5 供电范围是 3 0V 5 5V 可以通过简单地数据线供电 6 测温范围是 55 125 7 使用者可以将温度计分辨率选择为 9 12 位等等 1 3 电源模块的确定 我们所设计的系统所需要的电压不是很大 所以我们拟采用电池供电 因此给 出以下几种供电方案以便比较 筛选出最合理 最恰当的方案 方案 1 考虑采用 12V 蓄电池为温度测试系统供电 从蓄电池的特点考虑 蓄电池具有 以下几个特点 使用寿命长 放电倍率高 电池内阻非常小 可以大电流放电 自放电低 蓄电池具备很强的电流驱动能力 电压输出性能也非常稳定 唯一不足 的是 蓄电池的体积太大 携带不方便 而且价格较贵 所以如果本次设计采用蓄 电池便会大大的增加了成本 因此方案 1 我们应该舍弃 方案 2 考虑到单片机传感器的受压范围 3 0V 5 5V 所以拟选择三节五号干电池串联 组成电源 4 5V 的电压在温度传感器工作电压之内 不会烧坏电路 满足温度测试 系统的要求 并且温度测试系统运行稳定 电源的更换也十分方便 所以方案 2 是 电源模块的不二选择 综合以上两个方案的比较 方案 2 更加便捷 便宜 合理 1 4 显示模块 方案 1 采用液晶显示频 LCD1602 显示 液晶显示频 LCD1602 最大的特点就是显示速 度快 使用便捷 简单 液晶屏显示的结果简单明了 让人一目了然 而且我们要 求显示两行结果 LCD1602 液晶显示屏也符合系统设计的要求 因此可以考虑选用 LCD1602 液晶显示屏 方案 2 采用 LED 数码管显示 LED 数码管的基本满足我们温度测试系统的设计要 求 唯一不能满足的是 LED 数码管不能显示两行结果 因此应该舍弃该方案 以上两种方案相比较 选择方案 1 更符合温度测试系统的设计要求 2 硬件实现及单元电路设计 2 1 主控制模块 主 控 制 最 小 系 统 电 路 如 图 5 所 示 P1 02345678RST9 XD INWALGE OVCUYMuFKJ 图 5 2 2 电源模块 采用 3节 1 5 V 五号干电池串联共 4 5V给系统供电 实物图如图 6 图 6 2 4 显示模块 显示模块采用 1602液晶显示接口电路如图 7 GND1VC2O3RS4W5E6B0789 LPK 图 7 2 5 单片机最小运行系统 1 晶振 晶振为单片机提供时钟信号 单片机 XIAL1和 XIAL2分别接 30PF的电 容 中间再并个 12MHZ的晶振 形成单片机的晶振电路 图 8 晶振电路 2 复位电路 单片机在启动时都需要复位 以使 CPU及系统各部件处于确定的初始状 态 并从初态开始工作 89 系列单片机的复位信号是从 RST引脚输入 到芯片内的施密特触发器中的 当系统处于正常工作状态时 且振荡器 稳定后 如果 RST引脚上有一个高电平并维持 2个机器周期 24 个振荡 周期 以上 则 CPU就可以响应并将系统复位 单片机系统的复位方式 有 手动按钮复位和上电复位 图 9 复位电路 ALE引脚悬空 复位引脚接到复位电路 VCC 接电源 VSS 接地 EA 接 电源 2 6 温度传感器 DS18B20 电路 1 DS18B20 基本介绍 DS18B20是美国 DALLAS半导体公司推出的第一片支持 一线总线 接口的温度传感器 它具有微型化 低功耗 高性能 抗干扰能力强 易配微处理器等优点 可直接将温度转化成串行数字信号处理器处理 DS18B20进行精确的温度转换 I O 线必须保证在温度转换期间提 供足够的能量 由于每个 DS18B20在温度转换期间工作电流达到 1mA 当几个温度传感器挂在同一根 I O线上进行多点测温时 只靠 4 7K上 拉电阻就无法提供足够的能量 会造成无法转换温度或温度误差极大 因此 下图电路只适应于单一温度传感器测温情况下使用 不适宜采用 电池供电系统中 并且工作电源 VCC必须保证在 5V 当电源电压下降 时 寄生电源能够汲取的能量也降低 会使温度误差变大 GND1AT2VC3US8B0R4 7KP 图 10 温度传感器电路引脚图 2 DS18B20 控制方法 DS18B20有六条控制命令 温度转换 44H 启动 DS18B20进行温度转换 读暂存器 BEH 读暂存器 9个字节内容 写暂存器 4EH 将数据写入暂存器的 TH TL 字节 复制暂存器 48H 把暂存器的 TH TL 字节写到 E2RAM中 重新调 E2RAM B8H 把 E2RAM中的 TH TL 字节写到暂存器 TH TL 字节 读电源供电方式 B4H 启动 DS18B20发送电源供电方式的信号给主 CPU 3 DS18B20 供电方式 DS18B20可以采用两种方式供电 一种是采用电源供电方式 此时 DS18B20的 1脚接地 2 脚作为信号线 3 脚接电源 另一种是寄生电 源供电方式 如图 3 1所示单片机端口接单线总线 为保证在有效的 DS18B20时钟周期内提供足够的电流 可用一个三极管来完成对总线的 上拉 本设计采用电源供电方式 P2 3 口接单线总线为保证在有效的 DS18B20时钟周期内提供足够的电流 可用一个上拉电阻和 STC89C52 的 P2 3来完成对总线的上拉 当 DS18B20处于写存储器操作和温度 A D变换操作时 总线上必须有强的上拉 上拉开启时间最大为 10 s 采用寄生电源供电方式是 VDD和 GND端均接地 由于单线制只有 一根线 因此发送接收口必须是三状态的 主机控制 DS18B20完成温度 转换必须经过 3个步骤 初始化 ROM操作指令 存储器操作指令 2 7 蜂鸣器 发光二极管报警电路 电路主要是用来设定温度报警温度的 有高温和低温报警 B1蜂 鸣 器Q850VC2DGN RKP4 图 11 蜂鸣器 发光二极管驱动引脚图 3 系统软件设计 3 1 程序结构分析 主程序调用了 3个子程序 分别是 LCD1602液晶显示程序 温度信 号处理程序 按键设定报警温度程序 温度信号处理程序 对温度芯片 送过来的数据进行处理 进行判断和显示 LCD1602 液晶显示程序 向 LCD1602液晶的显示送数 控制系统的显示部分 按键设定程序 可以 设定低温和高温报警可精确到 0 1度 3 2 系统程序流图 主程序的主要功能是负责温度的实时显示 读出并处理 DS18B20的 测量的当前温度值 温度测量每 1s进行一次 这样可以在一秒之内测 量一次被测温度 主程序的主要功能是负责温度的实时显示 读出并处 理 DS18B20的当前温度值 与设定的报警温度比较 其程序流程见图 11所示 通过调用读温度子程序把存入内存储中的整数部分与小数部分开 分存放在不的的两个单元中 然后通过调用显示子程序显示出来 图 11 DS18B20温 度 流 程 图 3 3 DS18B20初始化程序流程图 在 DS18B20工作之前需要进行初始化 流程图如下 调用显示子程序 初始化 1s 到 初次上电 发温度转换开始命令 读出温度值 温度计算处理 显示数据刷新 发复位命令 发跳过 ROM 命令 初始化成功 结束 图 11 初始化程序流程图 3 4 读温度子程序流程图 读温度子程序的主要功能是从 DS18B20中读出温度数据 移入温度 暂存器保存 其程序流程图如下 发复位命令 发跳过 ROM 命令 发读取温度命令 移入温度暂存器 结束 include 调用单片机头文件 define uchar unsigned char 无符号字符型 宏定义 变量范围 0 255 define uint unsigned int 无符号整型 宏定义 变量范围 0 65535 include include eeprom52 h sbit dq P1 5 18b20 IO 口的定义 sbit beep P1 4 蜂鸣器 IO 口定义 uint temperature bit flag 300ms bit flag lj en 按键连加使能 bit flag lj 3 en 按键连 3 次连加后使能 加的数就越大了 uchar key time key value 用做连加的中间变量 bit key 500ms uchar code table num 0123456789abcdefg sbit rs P1 0 寄存器选择信号 H 数据寄存器 L 指令寄存器 sbit rw P1 1 寄存器选择信号 H 数据寄存器 L 指令寄存器 sbit e P1 2 片选信号 下降沿触发 uchar menu 1 菜单设计的变量 uint t high 300 t low 100 1ms 延时函数 void delay 1ms uint q uint i j for i 0 i q i for j 0 j 110 j 把数据保存到单片机内部 eepom 中 void write eeprom 保存数据 SectorErase 0 x2000 byte write 0 x2000 t high 256 byte write 0 x2001 t high 256 byte write 0 x2002 t low 256 byte write 0 x2003 t low 256 byte write 0 x2055 a a 把数据从单片机内部 eepom 中读出来 void read eeprom 读出保存数据 t high byte read 0 x2001 t high 8 t high byte read 0 x2000 t low byte read 0 x2003 t low 8 t low byte read 0 x2002 a a byte read 0 x2055 开机自检 eeprom 初始化 void init eeprom 开始初始化保存的数据 read eeprom 读出保存数据 if a a 1 新的单片机初始单片机内 问 EEPROM t high 300 t low 100 a a 1 write eeprom 保存数据 名称 delay uint 功能 小延时 输入 无 输出 无 void delay uint uint q while q 名称 write com uchar com 功能 1602 命令函数 输入 输入的命令值 输出 无 void write com uchar com e 0 rs 0 rw 0 P0 com delay uint 25 e 1 delay uint 100 e 0 名称 write data uchar dat 功能 1602 写数据函数 输入 需要写入 1602 的数据 输出 无 void write data uchar dat e 0 rs 1 rw 0 P0 dat delay uint 25 e 1 delay uint 100 e 0 名称 write string uchar hang uchar add uchar p 功能 改变液晶中某位的值 如果要让第一行 第五个字符开始显示 ab cd ef 调用该函数如下 write string 1 5 ab cd ef 输入 行 列 需要输入 1602 的数据 输出 无 void write string uchar hang uchar add uchar p if hang 1 write com 0 x80 add else write com 0 x80 0 x40 add while 1 if p 0 break write data p p lcd1602 上显示特定的字符 void write zifu uchar hang uchar add uchar date if hang 1 write com 0 x80 add else write com 0 x80 0 x40 add write data date lcd1602 上显示两位十进制数 void write sfm3 18B20 uchar hang uchar add uint date if hang 1 write com 0 x80 add else write com 0 x80 0 x40 add write data 0 x30 date 100 10 write data 0 x30 date 10 10 write data write data 0 x30 date 10 lcd1602 初始化设置 void init 1602 write com 0 x38 write com 0 x0c write com 0 x06 delay uint 1000 write string 1 0 temp write string 2 0 H L write zifu 1 12 0 xdf 显示度 write zifu 2 6 0 xdf 显示度 write zifu 2 14 0 xdf 显示度 18b20 初始化函数 void init 18b20 bit q dq 1 把总线拿高 delay uint 1 15us dq 0 给复位脉冲 delay uint 80 750us dq 1 把总线拿高 等待 delay uint 10 110us q dq 读取 18b20 初始化信号 delay uint 20 200us dq 1 把总线拿高 释放总线 写 18b20 内的数据 void write 18b20 uchar dat uchar i for i 0 i 1 读取 18b20 内的数据 uchar read 18b20 uchar i value for i 0 i 1 读数据是低位开始 dq 1 释放总线 if dq 1 开始读写数据 value 0 x80 delay uint 5 60us 读一个时间隙最少要保持 60us 的时间 return value 返回数据 读取温度的值 读出来的是小数 uint read temp uint value uchar low 在读取温度的时候如果中断的太频 繁了 就应该把中断给关了 否则会影响到 18b20 的时序 init 18b20 初始化 18b20 write 18b20 0 xcc 跳过 64 位 ROM write 18b20 0 x44 启动一次温度转换命令 delay uint 50 500us init 18b20 初始化 18b20 EA 0 write 18b20 0 xcc 跳过 64 位 ROM write 18b20 0 xbe 发出读取暂存器命令 EA 1 low read 18b20 读温度低字节 value read 18b20 读温度高字节 value 3 menu 1 0 if menu 1 0 write com 0 x0c 关闭光标 if menu 1 1 设置高温报警 if key can 2 if flag lj 3 en 0 t high 按键按下未松开自动加三次 else t high 10 按键按下未松开自动加三次之 后每次自动加 10 if t high 990 t high 990 if key can 3 if flag lj 3 en 0 t high 按键按下未松开自动减三次 else t high 10 按键按下未松开自动减三次之后 每次自动减 10 if t high t high t low t high 1 if key can 3 if flag lj 3 en 0 t low 按键按下未松开自动减三 次 else t low 10 按键按下未松开自动加三次之 后每次自动加 10 if t low 10 t low 10 write sfm3 18B20 2 10 t low write com 0 x80 0 x40 10 将光标移动到 秒个位 write com 0 x0f 显示光标并且 闪烁 write eeprom 保存数据 菜单对应的处理函数 void menu dispaly if menu 1 1 对光标不处理 要不然光标 不会显示在正确的位置 write com 0 x80 0 x42 将光标移动到 write com 0 x0f 显示光标并且闪烁 else if menu 1 2 write com 0 x80 0 x4a 将光标移动到 write com 0 x0f 显示光标并且闪烁 报警函数 void clock h l static uchar value if temperature t high value 消除实际距离在设定距离左右变化时的干 扰 if value 2 beep beep 蜂鸣器报警 else beep 1 主函数 void main beep 0 开机叫一声 delay 1ms 150 P0 P1 P2 P3 0 xff init 1602 1602 初始化 temperature read temp 先读出温度的值 time init 初始化定时器 init eeprom 开机自检 eeprom 初始化 write sfm3 18B20 2 2 t high write sfm3 18B20 2 10 t low delay 1ms 650 temperature read temp 先读出温度的值 write sfm3 18B20 1 8 temperature while 1 if flag 300ms 1 300ms 处理一次温度程 序 flag 300ms 0 temperature read temp 先读出温度的值 clock h l 报警函数 write sfm3 18B20 1 8 temperature menu dispaly 不同级的菜单对应显示 1602 对 应显示不同 key 按键程序 if key can 10 500ms key time 0 key 500ms 1 500ms key value if key value 3 key value 10 flag lj 3 en 1 3 次后 1 5 秒连加大些
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!