发表于:2006-06-26 13:30:00
楼主
-------------------------------------------------------------------------------
单片机智能工作室为您提供专业化的智能仪表解决方案!
-------------------------------------------------------------------------------
一、概述
随着电子技术的飞速发展,特别是单片机技术的不断发展、普及及应用,人们在设计智能化仪表时已经突破原来的设计思维和框架,由传统的模拟电子线路设计转变成----以单片机为核心控制器,配以接口电路、输入输出通道以及专用控制程序的设计思路。这样解决了许多传统仪表仪表无法解决的问题,同时还能简化电路、提高仪表可靠性和稳定性、降低成本以及加快产品的更新换代。目前许多智能仪表均能实现复杂的运算和控制,例如四则运算、开方运算、三角函数运算、PID控制、模糊控制、自适应、自学习等功能,这些技术的运用大大促进了各行各业的飞速发展!
二、智能化仪表的基本组成与发展
以单片机为核心的智能化仪表主要由单片机、A/D转换器、输入输出接口、键盘、显示器、控制程序等部分组成,现在市场中许多流行的单片机已经将许多接口电路集成在单片机芯片内部,这些常见的接口包括:A/D转换器、CCP模块(比较/捕捉/脉宽调制)、USART、I2C/SPI、CAN、LCD驱动器等,因此在设计仪表时只要选择了合适的单片机就可以将硬件电路大大简化,只需非常简单的外围电路就可以设计出高性能的、高可靠的智能仪表。
下面是智能型电压测量仪表的硬件系统图:
该电压表可实现电压显示、控制输出、联网通讯、自动校准、上下限设定等功能,与传统的仪表相比具有非常明显的优势,而硬件结构非常简单,生产和调试均非常方便。
近年来,由于微电子技术的进步和计算机技术的日益广泛应用,因而使得智能仪表发展速度十分惊人,在技术上有很大突破;仪表的集成度和可靠性越来越高,测量和控制精度越来越高,智能化和网络化程度也越来越高,这些现状也正是智能化仪表永恒的发展方向。
三、智能化仪表的功能特点:
传统的测控仪表的准确度完全取决于仪表内部各功能单元的精密性和稳定性,由于任何部件均存在随时间、温度等变量的参数漂移问题,因此无法保证测量结果的可靠性和长期稳定性。而智能化仪表可很好的解决这些问题。
智能化仪表可以通过自动校准技术消除仪表内部器件所产生的漂移电压。在每次采样周期仪表先测量输入为零和某个基准电压的值,再测量被测信号,然后根据Y=(X-X0)*VREF/(XR-X0)计算出实际的被测信号值,该值有效滤除了器件参数的漂移并自动实现了校零和校准功能,从而大大提高了系统的准确度和稳定性。
智能化仪表在对传感器的非线性修正方面意义重大。对所有传感器都存在一定的非线性,如果不进行修正则不可避免地产生测量误差,对传统仪表来说这是一个十分棘手的问题。而利用单片机技术去实现该功能将变得十分方便,只需要将修正点的值存储在EEPROM中,然后利用一个适合传感器特性的校正算法就可计算出正确的值,常用的校正算法包括:两点或多点直线校正、二次曲线校正、指数曲线校正、最小二乘法校正等。
在提高仪表的可靠性、保证测量结果的正确性等方面,智能化仪表也明显优于传统仪表。通常智能化仪表均设置有自检功能。所谓自检就是仪表对自身个主要部件进行的自我检测过程,目的是检查个部件是否正常,以保证测量的准确性。自检分为开机自检、周期性自检和键控自检。开机自检是在接通电源或复位时,仪表即进行一次自检;周期性自检是在仪表的工作过程中周期性地自动加入自检操作;键控自检是仪表在面板上设置一个专门的自检按钮,需要时由操作人员启动仪表自检操作。仪表自检的内容非常多,自检对象通常包括:EEPROM、RAM、A/D转换器、显示器、控制输出接口、输入通道等,笔者在多年的实践经验中发现,PIC系列单片机中集成的EEPROM在使用过程中偶尔会出现数据出错,由于EEPROM存储的往往是用户参数和线性校正参数,对仪表的正常运行非常关键,一旦出错将造成显示出错或误动作,为解决这个问题本人采用了三中取二的数据表决算法,每次使用参数前均进行表决,如果有其中一个数据发生变化则用其它两个正确的将其恢复,如果三个均不相同则显示出错信息,可由用户进行手动恢复。经过改进后,就再未出现过类似的问题,使系统的可靠性大大增强。
四、智能化仪表的设计方法
智能化仪表设计的主要内容包括:硬件(连同单片机在内的全部电子线路)、软件(包括监控管理程序及各种功能模块)以及仪表结构工艺三大部分。
设计者应该首先确定仪表所要达到的预期性能并提出详细的技术方案,然后根据技术方案设计出硬件原理图,对各元器件的参数进行详细计算,在进行硬件设计过程中,单片机的选型非常重要,选择的依据包括ROM的大小和类型、RAM的大小、A/D转换器的数量和位数、I/O接口数量、EEPROM的容量、CCP模块、T/C的数量、USART、CAN以及单片机的价格和设计者对型号的熟悉程度等。
软件设计在智能化仪表的设计过程中非常重要,由于智能仪表的硬件电路一般都不会非常复杂,而且比较容易找到参考资料,所以软件的设计将占大部分的工作量。设计出高质量的软件是尤其关键的一个环节,通常软件的设计方法是先画出软件流程图,然后根据流程图写出程序。常用的程序设计技术包括:模块化设计、自顶向下设计、结构化程序设计。笔者在进行程序设计时,通常是将算术运算模块、显示模块、线性校正模块、参数设置模块等一些子程序先设计好,由于这些模块在许多应用中都能用到,所以可以设计成标准的子程序,只需设计一次就可长期使用,非常方便;设计好这些子程序后就可以开始主程序的设计,首先按照仪表的性能需求设计出详细的程序流程图,这一步对设计出高效的程序很有必要,许多因为不了解程序结构的初学者往往不够重视,结果盲目开始编程,导致程序结构混乱、频频修改,影响了工作进度和产品质量,并使程序可读性极差,为产品的修改或升级种下麻烦。因此设计出结构简洁清晰的流程图非常重要。流程图设计好后就可以按照流程图一步步写出程序,只要对程序语言和一些编程技巧熟悉这个环节并不复杂,但需强调一点的是,一定要非常仔细,一点点小的错误都可能导致调试变得非常困难,当然很多明显的错误(比如指令写错)模拟仿真程序都是可以发现的。总之,对软件设计人员来说,养成严谨、仔细、有耐心的品质是必不可少的。
五、结束语
以单片机为核心的智能化仪表是仪表发展的一个重要方向,它必将为各行各业的发展提供强大的测控技术基础,因而市场前景十分广阔。
[url=http://mcu888.zj.com]http://mcu888.zj.com[/url]
在大多数设计者眼里,PIC单片机质量虽好,但价格偏贵,本人也有同感,但最近本人在淘宝网上发现了一家卖PIC单片机的店铺,价格确实很便宜,明码标价,不用讨价还价,而且还提供技术支持,在此提供给网友,说不定还真能大大降低你的元件成本。
店铺地址:http://shop33755364.taobao.com/