工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->光电电路图->其他光电实用电路图->数字温度计的设计与制作

数字温度计的设计与制作

作者:dolphin 时间:2016-09-29

  一、系统原理框图及电路原理图

  系统原理框图(如上图所示),各组成部分功能:

  1.单片机最小系统,分别由STC12C2052及复位电容Cl组成的单片机最小系统,作为系统主控制器。

  采用内部RC振荡(5.6MHz),不需要外接晶振。关于STC单片机的详细介绍和查阅相关网站。

  2.温度传感及接口,DS18820为一线制总线接口,硬件连接比较简单,+5v供电之后,可将数据端(DQ)通过R5(1K)上拉电阻直接连到单片机I/O,并且连接到DB9串口接头,如果在测量远端温度时可以通过串口头连接外部DS18820而不使用额外电源(真正两线接法)。

  3.LED数码管,由4位8段数码管组成,段控端连接到设置为强上拉的单片机Pl口上,位控端连接到P3.3-P3.7口(P3.6CPU未引出),用来显示当前温度。显示的方式为“××。××”,小数点后取两位。

  4.程序下载接口,由于计算机串口电平为±15V表示0和1,因此在和本电路连接的时候需要进行电平转换,下图中Al、A2、Rl、R2、R3、R4、Dl组成了一个简易的RS232-TTL的转换电路,Al将计算机串口信号倒相,变成5V信号后送给单片机串口接收端RXD,单片机的TXD信号经过A2将信号倒相后送给DB9标准串口,将其与计算机COM口相连,就完成程序的调试与下载。

  5.电源接口,由Jl将外面的+5V直流电源接入。

系统原理框图

1242777

  二、电路制作

  电路板采用Prote199软件设计,考虑了方便加工,节约成本的原则,本作品设计成为单面板,所用的元件大多采用贴片元件,占用电路板面积较小,同时使用15MIL宽度的导线可以防止热转印时断线的发生,易于电路板的制作,印制板图和元器件实物照片如上图所示(左侧为Prote199中的拷图由于PCB图在Ptotel99被设置为底层,因此两张图在视觉上存在镜相关系)。

  将电路板图用激光打印机打印在转印纸上,通过高温轧制的方法就可以转印在附铜板上了,通过三氯化铁的浸泡就可以做出真正可用的电路板了,打孔后就可以焊接硬件电路了,在本作品中,元件清单见下表,下图为焊接后的实物照片。

清单

  三、软件设计

  在本例中我们采用了C语言编写,选用KeiluVision2作为开发环境。在本例的程序设计包括以下几个部分:程序初始化部分、定时中断LED显示部分、读18820数据部分、和数据计算部分,其中难点在于定时中断led显示部分和DS18820的驱动部分。

  软件流程下图所示:

软件流程

  在这几段例程中,延时时间要求比较苛刻,这也是l线制器件的工作基准。

  四、软硬件调试

  我们提供有在Keil uVision2开发环境下的整个工程程序,包括完整的C代码(含注释)及相关的支持文件。打开Keil uVision2开发环境,按照上图打开本文提供的“temp.Uv2”工程,进入编程界面。

  每次更改程序后,点击下图所示按钮就可以编译了,如果状态栏中没有错误提示,就可以在工程目录下找到一个temp.hex的目标文件,我们就可以通过STC单片机提供的编程软件下载到设计中看运行效果了。



  生成了目标代码,我们就可以通过STC-ISP软件进行下载工作,在网络上搜索并安装STC-ISP,在第一次使用这个软件的时候需要设置一下CPU类型,通讯端口(一般都是coml),由于使用简易电平转换电路,波特率可以设置低一些,将交叉的双母头串口线把系统与计算机的COM口连接,使用“openfile”打开目标文档后,就可以使用Dowdload按钮进行编程操作了(在点击这个按钮后再给目标板加电源),如下图所示。

  五、注意事项及故障排查

  在设计中,应当注意以下方面的问题、难点:

  1.LED段控连线方面为了方便电路板布线,没有使用常用的顺序的连接方式,不过使用中仅对段控码有影响。

  2.在简易电平转换电路中,为了器件的容易购买,使用9013代替图中的防反向击穿二极管。

  3.在购买元件时,LED-定要选择共阴极数码管,并且电源电压一定要在5~5.5V之间(可以使用计算机USB通讯口的5V电源)。

  4.焊接过程中,温度不宜过高,如果某一个管脚焊接时间长于20s,为了防止焊盘脱落,请稍事休息再继续。

  5.如果购买转印纸不方便,可以用及时贴下边一层代替,没有转印机的情况下也可以用电熨斗(温度控制在120℃左右),效果不好可以多做两次。

  6.在焊接贴片元件时,先在一个管脚上镀锡,然后安装元件,焊接这一端,最后在焊接另一端,这样有利于提高成功率。

  7.在C语言里面,如果精确延时不容易做到,可以实验一段程序确定延时时间长度。

  8.在读18820的时候,由于这样的元件时序操作要求严格,如果这个时刻定时中断来到,将会影响18820的正常工作,所以在读18820的时候,需要暂时关闭中断,直到得到温度数据后再打开中断,继续显示,但是由于单片机操作的速度很高,在肉眼观察方面没有什么影响。

  可能会出现在故障及解决方案、方法:

  1.注意计算机的串行口的编号,如果不能确定,请到控制面板中“系统”-“硬件”-“设备管理其中察看”,如果使用没有串口的笔记本,可以购买一条usb转换成串口的连线使用。

  2.如果确认串口连接正常,多次编程连接不上的问题,说明购买的9013三级管放大倍数不够,请在Txd和电源直接连接一个lOk电阻。



评论

技术专区