Board logo

标题: Proteus软件调试实现的数字式指针温度计 [打印本页]

作者: Bazinga    时间: 2014-5-4 19:26     标题: Proteus软件调试实现的数字式指针温度计

本文主要叙述利用Proteus软件实现的数字式指针温度计的一种调试方法,采用MCS51单片机作为指针温度计的数字信号处理器,其中,温度采集传感器选用Dallas公司的Ds1820单总线式数字温度传感器,该温度计的温度值通过四个数码管显示,同时还可以通过刻盘指针指示。

  硬件设计

  硬件设计包括温度采集模块、单片系统及温度显示模块等模块,其中,刻度盘上指针的控制是设计中的一个重点。在设计数字电路的角位移控制时,一般选用步进电机或伺服电机,选用步进电机时,其步进角固定,同时,对于角位移的控制,会产生控制角度的动作位置不够精确的问题;选用伺服电机也就是舵机时,其控制原理是通过MCS51单片机产生脉宽调制(PWM)信号的占空比来改变舵机摇臂旋转的位置,以达到控制伺服电机的目的,最后在刻度盘上指示温度值。

  系统硬件电路原理图如图1所示。



  1.舵机的工作原理

  系统中指针的驱动由舵机实现,为使指针在刻度盘上的初始指示精确,文中采用4个独立按键实现指针刻盘上的粗、微调节。

  舵机是一个简单的闭环系统,其内部硬件电路、微型电机及减速器封装在一个部件内,实物图如图2所
示,输出轴可在一90°~90°范围内旋转到任意角度。

  舵机包含控制信号线、电源线和地线3根引线,其反馈元件为一个与输出轴同轴的精密电位器,通过电位器的反馈信号得到舵机输出轴转动的位置,然后将相应的电压值反馈回控制芯片,最后将反馈的输出轴位置与控制引线设定的位置进行比较,得到输出轴位置的偏差,从而驱动微型电机转动,使输出轴转到预定控制的角度。

  舵机的控制信号为一列PWM波,周期为18~20ms,舵机输出轴转动的角度位置与PWM信号占空比呈线性关系,当控制信号的高电平宽度为0.5ms时,舵机输出轴位置为-90°;当信号高电平宽度为2.5ms时,输出轴位置为+90°。




  软件设计

  单片机软件的设计包括DSl820的读写、模拟PWM输出、单片机温度取值、按键扫描、数码管显示等程序设计。

  1.DS1820的读写

  DS1820采用单总线协议,能够实现数据的双向传输,在进行DS1820读写操作前应先对DS1820进行复位,同时,必须严格遵守DS1820的读写时序,尽量精简中断程序,以减少对DS1820的读写时序的影响,提高温度采集的准确性。

  DS1820读、写子程序如下:



  2.PWM的输出

  利用MCS51单片机的定时器中断产生PWM信号,TO每产生一次中断,PWM输出逻辑电平翻转一次,PWM控制信号的输出周期为20ms。

  定时器中断服务程序如下:


  其中,int_m为中断计数的中间变量。

  3.按键扫描程序

  文中采用4个独立按键完成指针刻度盘上的粗、微调节,按键扫描程序如下:



  Proteus软件调试

  Proteus软件可以对常用的单片机进行实时仿真,具有全速、单步、设置断点等调试功能,可以观察各个变量、寄存器等当前状态,同时支持第三方软件编译和调试环境。

  在Proteus软件中系统的调试界面如图3所示,其中,逻辑分析仪用于测量等当前状态,同时支持第三方软件编译和调试环境。



  在Proteus软件中系统的调试界面如图3所示,其中,逻辑分析仪用于测量单片机产生的PWM信号,其中通道A3为测量PWM信号的基准,通道A5为单片机产生的PWM信号:示波器用于观察产生的PWM信号。

  在Proteus 6.9软件中调试的某一调试状态的界面图如图4所示,系统27℃、43.1℃时指针刻盘的显示效果图分别如图5、图6所示。







欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0