温控直流电机设计本科毕业设计(编辑修改稿)内容摘要:

表产品的序列 ,接着 48 位 产品序号代表同一系列产品的不同产品 ,最后 8 位是前 56 位的 CRC 校验码, 所以不同的器件的地址序列号各不一样 这也是多个 DS18B20 可以采用一线进行通信的原因 ( 8 位 CRC 编码的计算公式为CRC=X+X+X+1)。 在 64 b ROM 的最高有效字节中存储有循环冗余校验码( CRC)。 主机根据 ROM 的前 56位来计 算 CRC 值,并和存入 DS18B20 中的 CRC 值做比较,以判断主机收到的 ROM 数据是否正确。 内部电源探测位和单线端口位产生器暂存器下限触发上限触发温度传感器存储器和控制逻辑 图 DS18B20内部结 构 图 64位 ROM 地址序列号结构 非挥发的温度报警触发器 (包括上限温度触发器 TH 和下限温度触发器 TL)。 可通过软件程序写入设定用户所要求的报警上下限温度值。 高速暂存器。 可以设置 DS18B20 温度转换的精度。 DS18B20 出厂时该位被设置为0,用户要去改动, R1 和 R0决定温度转换的精度位数,来设置分辨率。 DS18B20温度传感器的内部存储器还包括一个高速暂存 RAM和一个非易失性的可电擦除的 E2PRAM。 高速暂存 RAM 的结构为 8字节的存 储器。 此外, DS18B20 内部还包括寄生电源、电源检测、存储控制逻辑、 8位循环冗余码生成器( CRC)等部分。 DS18B20 有两种供电方式。 如图所示:图 是由外电源供电,图 是 I/O 口总线和寄生电容配合供电。 DS18B20 寄生电源由两个二极管和寄生电容构成。 电源检测电路用于判定供电方式。 寄生电源供电时,电源端与接地端并联接地,器件从总线上获取电源。 在 I/O 线呈低电平时,改由寄生电容上的电压继续向器件供电。 采用寄生电源有两个优点:一是检测远程温度是无需本地电源;二是缺少正常电源时也能读 ROM。 若采 用外部电源,则通过二极管向器件供电。 UDD I/O I/O GND UDD GND 图 使用外部电源供电 图 使用寄生电源供电 DS18B20 的测温原理 每一片 DSl8B20 在其 ROM 中都存有其唯一的 64地址位序列号,在出厂前已写入片内 ROM 中。 主机在进入操作程序前必须用读 ROM(33H)命令 将该 DSl8B20 的序列号读出。 程序可以先跳过 ROM,启动所有 DSl8B20 进行温度变换,之后通过匹配 ROM,再逐一地读回每个 DSl8B20 的温度数据。 DS18B20 的测温原理如图 所示。 低温度系数晶振的振荡频率受温度的影响很小 ,用于产生固定频率的脉冲信号送给减法计数器 1,高温度系数晶振随温度变化其震荡 频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入,图中还隐含着计数门,当计数 门打开时, DS18B20 就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。 计数门的开启时间由高温度系数 振荡器来决定,每次测量前,首先将 55℃ 所对应的基数 分别置入减法计数器 1 和温度寄存器中,减法计数器1 和温度寄存器被预置在 55℃ 所对 应的一个基数值。 减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预置值减到 0 时温度寄存器的值将加 1,减法计数器 1的预置将重新被装入,减法计数器 1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器 2 计数到 0 时, 停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。 图 中的斜率累加器用 于补偿和修正测温过程中的非线性,提高测量准确 制度。 其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值。 MCU (单片 机 ) DS18B20 MCU (单片 机 ) DS18B20 图 DS18B20的测温原理图 DS18B20 的测温流程 : 图 DS18B20测温流程 DS18B20 控制命令字 表 DS18B20的 ROM命令 减法计数器 1 斜坡累加器 减到 0 减法计数器 2 预 置 低温度系数 振 荡 器 高温度系数 振 荡 器 计数比较器 预 置 温度寄存器 减到 0 加 1 置位 /清零 停止 表 DS18B20存储控制命令 DS18B20 使用中的注意规范 DS18B20 虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: (1)较小的硬件开销需要相对复杂的软件进行补偿,由于 DS18B20 与微处理器间采用串行数据传送,因此,在对 DS18B20 进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。 在使用 PL/M、 C 等高级语言进行系统程序设计时,对 DS18B20 操作部分最好采用汇编语言实现。 (2)在 DS18B20 的有关资料中均未提及单总线上所挂 DS18B20 数 量问题,容易使人误认为可以挂任意多个 DS18B20,在实际应用中并非如此。 当单总线上所挂DS18B20 超过 8 个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 (3)连接 DS18B20 的总线电缆是有长度限制的。 试验中,当采用普通信号电缆传输长度超过 50m 时,读取的测温数据将发生错误。 当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达 150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。 这种情况主要是由总线分布电容使信号波形产生畸变造成的。 因此,在用 DS18B20 进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 (4)在 DS18B20 测温程序设计中,向 DS18B20 发出温度转换命令后,程序总要等待 DS18B20的返回信号,一旦某个 DS18B20 接触不好或断线,当程序读该 DS18B20时,将没有返回信号,程序进入死循环。 这一点在进行 DS18B20 硬件连接和软件设计时也要给予一定的重视。 至于它的接线, DS18B20 通过一个单线接口发送或接收信息,因此在中央微处理器和 DS18B20 之间仅需一条连接线(加上地线)。 用于读写和温度转换的电 源可 以从数据线本身获得,无需外部电源 【 5】。 AT89C51 芯片 AT89C51 是一个低电压,高性能 CMOS 8位单片机,片内含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器( RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS51指令系统,片内置通用 8位中央 处理器和 Flash 存储单元,功能强大的 AT89C51 单片机可为您提供许多较复杂系统控制应用场合。 AT89C51 有 40 个引脚, 32 个外部双向输入 /输出( I/O)端 口,同时内含 2 个外中断口, 3 个 16 位可编程定时计数器 ,2 个全双工串行通信口, 2个读写口线,如图示 31 所示, AT89C51 可以按照常规方法进行编程 ,但不可以在线编程 (S 系列的才支持在线 编程 )。 其将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本 图 AT89C51 引脚图如图 所示。 图 AT89C51单片机管脚 AT89C51的主要特性 与 51 系列单片机兼容; 8KB 片上可编程速闪存储器,可擦写 1000 次; 完全静态操作模式: 0~ 24MHZ; 可编程的 3级程序锁存器; 256B 的内部 RAM; 32 根可编程 I/O 线; 3个 16 位定时器 /计数器; 8个中断源; 可编程串行通信口; AT89C51 最小应用系统 AT89C51 内部有 8K内存,芯片本身就是一个最小系统。 在能满足系统的性能要求的情况下,可优先考虑采用此种方案。 用这种芯片构成的最小系统简单、可靠。 用 AT89C51 构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可。 由于集成度的限制,最小应用系统只能用作一些小 型的测控单元。 其应用特点如下: ( 1)有可供用户使用个的大量 I/O 端口线。 P0、 P P P口都可以用作 I/O 口; ( 2)内部存储器容量有限; ( 3)应用系统开发具有特殊性。 P0、 P2 口的应用与开发环境差别较大,实际上只能作为外部程序存储器、外部数据存储器和 I/O 扩展接口,而不能直接用来作为输入 /输出口外接 I/O 设备。 AT89C52各管脚功能: VCC:供电电压。 GND:接地。 P0口: P0 口为一个 8位漏级开路双向 I/O口,每脚可吸收 8TTL门电流。 当 P1口的管脚第一次写 1时,被定 义为高阻输入。 P0能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。 在 FIASH编程时, P0口作为原码输入口,当 FIASH进行校验时, P0输出原码,此时 P0外部必须被拉高。 P1口: P1口是一个内部提供上拉电阻的 8位双向 I/O 口, P1口缓冲器能接收输出4个 TTL门电流。 P1口管脚写入 1后,被内部上拉为高,可用作输入, P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 在 FLASH编程和校验时,P1口作为第八位地接收。 P2口: P2 口为一个内部上拉电阻的 8 位双向 I/O口, P2口缓 冲器可接收,输出 4个 TTL门电流,当 P2口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输入。 并 因此作为输入时, P2口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。 P2口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2口输出地址的高八位。 在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2口输出其特殊功能寄存器的内容。 P2口在 FLASH编程和校验时接收高八位地址信号和控制信号。 P3口: P3口管脚是 8个带内部上拉电阻的双向 I/O口,可接收输出 4个 TTL门 电流。 当 P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3口将输出电流( ILL)这是由于上拉的缘故。 P3口也可作为AT89C51 的一些特殊功能口。 : RXD(串行输入口); : TXD(串行输出口); : /INT0(外部中断 0); : /INT1(外部中断 1); : T0(记时器0 外部输入); : T1(记时器 1外部输入); : /WR(外部数据存储器写选通); : /RD(外部数据存储器读选通)。 P3口同时为闪烁编程和编程 校验接收一些控制信号。 RST:复位输入。 当振荡器复位器件时,要保持 RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。 如想禁止 ALE的输出可在 SFR8EH地址上置 0。 此时, ALE只有在执行MOVX, MOVC指令是 ALE才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN有效。 但在访问外部数据存储器时,这两次有效的 /PSEN信号将不出现。 /EA/VPP:当 /EA保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1时,/EA将内部锁定为 RESET;当 /EA端保持高电平时,此间内部程序存储器。 在 FLASH编程期间,此引脚也用于施加 12V编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出 【 4】。 L298 直流电机驱动芯片 L298N 为 SGS— THOMSON Microelectronics 所出产的双全桥步进电机专用驱动芯片( Dual FullBridge Driver ) ,内部包含 4信道逻辑驱动电路,是一种二相和 四相步进电机的专用驱动器,可同时驱动 2个二相或 1个四相步进电机,内含二个HBridge 的高。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。