一种双圆筒旋转式粘度计及其使用方法
技术领域
本发明涉及一种双圆筒旋转式粘度计及其使用方法。
背景技术
粘度是液体的重要物理性质和技术指标之一,用来表征粘性程度的物理量。可以分为绝对粘度和条件粘度,条件粘度又分为恩氏粘度、雷氏粘度、赛氏粘度等。绝对粘度分为动力粘度和运动粘度,通常我们说到的粘度都是指动力粘度。
粘度的测量在石油化工、冶金、医药、食品等行业中都有重要的意义。在石油化工中,石油粘度的准确测量,可以大大提高其产品的质量和产量;在医学上,血液的粘度,对评价微循环障碍的原因以及诊断和防治血液粘度异常的疾病都具有重要意义;在制药工业中,测量液体粘度可以区别或检查某些药品的复杂程度;在油漆行业中,油漆的粘度直接影响到粉刷的质量;在印刷包装行业中,油墨粘度占有非常重要的地位,它是确定印刷速度和选择纸张的重要依据,油墨粘度的大小与印刷品的质量有直接的关系,掌握合适的油墨粘度,对印品质量的保证起决定性作用。
粘度的准确测量在生产中是不可忽视的,粘度数据能否及时获得和误差的大小,都有可能影响企业的利益和研究的成败。选择正确的粘度测量方法和设备取决于多种因素,其中最重要的就是对于粘度理论、设备的构造原理及其适用方法的了解程度。人们对与粘度的测量早已开始,目前普遍存在的粘度测量的基本方法有毛细血管法、旋转法、落体法、粘度杯法和振动法。
毛细血管法设计的粘度计广泛使用在医学中,它是测量牛顿流体如血浆、血清等粘度的理想仪器。因为生物体内的血管也可以看成是圆形管道,而其血液流动和影响血液流动的粘度分布与毛细管粘度计中的类似,所以用毛细管粘度计测出来的血液粘度值更接近生理实际。但该方法存在以下缺点:(1)温度是影响毛细管粘度计测量的一个非常重要的参数,温度的变化会直接影响到粘度测量的精度,温度测量的故障常导致毛细管受压过高而损坏;(2)介质容易附着在毛细管上,影响粘度计正常测量;(3)需要频繁而精心地维护,既干扰了生产,又加大了运行成本;(4)只适用于牛顿流体在均匀的圆直管中做层流时的测量。
落球法主要用来测量较高粘度的液体或高压下的液体粘度,适合于测量粘度较大且有一定透明度的液体[16]。由于这种方法的实验数据无法得到切应力、切变速率等基本流变学参数,因此,对牛顿流体难以做全面的分析。一般用来作为毛细管流变仪及转动式粘度计等在测量流动曲线时,在低切变速率区的补充。
粘度杯法的主体是一个杯子,杯子底部的中央有一个小圆孔或者一小段短管子。测量时把液体装入杯子中至一定的高度,测量杯中液体流完所需要的时间,对比标准液的流动时间,可得到粘度值。粘度杯法粘度计结构简单、操作方便,但测量精度不高,主要用于工厂或化学实验室作粗略的粘度分析。
振动法包括两种:扭转振动式和振动片式。振动法的优点在于可以连续或间接的测量粘度范围较大的液体。适用于化工、石油、造纸、橡胶、塑料、油漆和重油燃烧控制等。常用的是扭转振动式测量,分为衰减振动式和强制振动式两种。而振动片式主要通过测量薄片在液体中上下振动产生的振动振幅,通过公式计算,得知液体的粘度大小。
旋转粘度计是最常用的工业测量用粘度计。它精密度高、使用简单、测量快速方便、数据准确可靠,便于连续测量。通过调节转速可以测量不同剪切率下的流体粘度,适用于牛顿流体和非牛顿流体。但是所需的硬件设备较多,结构复杂,价格较昂贵。并且,现有的旋转粘度计仅考虑到了液体对圆柱体侧面的粘滞力,却忽略掉了液体对两底面粘滞力的影响。
发明内容
本发明所要解决的技术问题是克服现有技术中各种粘度计有其各自的缺陷,并且旋转粘度计仅仅考虑到液体对圆柱体侧面的粘滞力,却忽略掉了液体对两底面粘滞力的影响的缺陷,提供一种改进的双圆筒旋转式粘度计及其使用方法,本发明的双圆筒旋转式粘度计测量精度高,测量方法简单。
本发明通过以下技术方案解决上述技术问题:
本发明的的目的之一在于,提供一种双圆筒旋转式粘度计,所述的双圆筒旋转式粘度计包括单片机、数据信号采集处理器、主电动机的控制器、升降电机的控制器、按键、温度测量仪和LCD显示器。
本发明的目的之二在于,提供如上所述的双圆筒旋转式粘度计的使用方法,所述的使用方法包括以下步骤:使用所述的双圆筒旋转式粘度计在相同测量条件下,测量不同高度的电功率,再根据下列公式计算粘度:
其中:为主电机转速,单位r/s;
l1、l2为两转筒高度;
P1、P2为对应的主电机消耗的电功率。
本发明的研发思路如下所示:
一、设计原理:
为了消除底面的影响,本设计用两个半径相同、高度分别为和的圆柱体内筒在相同条件下(相同温度、同一液体,相同电机转速)各做一次实验。设两端面的粘滞力矩为,则
通过两式相减,消掉底面的阻力产生的影响,两式相减得到
其中:为主电机转速,单位r/s;
l1、l2为两转筒高度;
P1、P2为对应的主电机消耗的电功率。
在控制温度和转速恒定的情况下,液体的粘度属性为一确定值,由(1)式知,只要采集到两种不同高度的转筒在同一环境下测量时主电机消耗的电功率就能得到液体的粘度。
二、对硬件部分的设计:
同轴的圆筒和转筒的设计、霍尔元件测速的设计、主电机转速的控制电路设计、温度的采集以及电热丝的加热电路设计、升降电机电压方向的控制设计、主电机电压采集设计。
开机后首先设定温度和转速值,然后分别采集温度和转速数据,接着升降电机控制测量装置上升1.5cm,等待转速稳定后,采集主电机电压电流数据,经计算得出功率值,并取10次取平均,消除偶然误差。然后升降电机控制测量装置下降1.5cm,等待转速稳定后,采集主电机电压电流数据,经计算得出功率值,并取10次取平均,消除偶然误差。将两次测量的功率值代入(1)式得到液体粘度值。
本发明采用单片机为主要控制单元,通过测量给定转速和温度下,主电机消耗的电功率,运用公式计算得到粘度数据的方法并显示出来。在测量粘度的同时,还可以同步测量温度,使温度这一影响粘度值的最大因素予以排除,为粘度值的准确测量提供了保证。执行部分由单片机控制直流电机带动与之同轴的转子转动,并通过D/A转换及集成运放,将主电机输入电压进行256档调节,实现主电机转速的控制。
1、核心控制单元的选择
单片机是在一块芯片上集成了CPU、RAM、ROM(EPROM或EEPROM)、时钟、定时/计数器、多种功能的串行和并行I/O口的一种集成电路。单片机在开发应用上具有价格低廉、开发环境完备,开发工具齐全、后备人才充足等特点。
在同系列的单片机中,较佳地选用世界著名半导体公司Atmel生产的AT89S52八位单片机。它是一种低功耗、高性能CMOS的8位微控制器,是MSC-51系列的升级版。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片内集成256字节程序运行空间、8K字节FLASH存储空间,支持最大64K外部存储扩展。片内资源有4组I/O控制端口、3个定时器、8个中断、软件设置低能耗模式、看门狗和断电保护。可在4V到5.5V宽电压范围内正常工作,基本能满足本系统的设计需要。
2、数据预处理部分
该测试系统数据采集处理器涉及到温度采集、转速采集与电压采集,温度采集选用DS18B20芯片,转速采集选用霍尔元件加外中断和定时器中断的方法。由于DS18B20严格的时序性,在数据传输过程中不允许中断,但转速采集时,为保证结果准确,采用最高权限的外中断。两者是相矛盾的。为解决这个问题,本设计采用两套信号采集处理电路——转速采集和电压采集用1号单片机,温度采集用2号单片机,两单片机通过串口传输数据。然后,温度和转速的控制由2号单片机担任,1号单片机负责数据计算和液晶的显示。经过处理后的数据,输入到1号单片机中,进行计数和一系列的数据运算,最后得到粘度数据结果。
3、温度的检测与控制
3.1温度的检测
本发明所述的粘度测量仪较佳地为DS18B20。DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
独特的一线接口,只需要一条口线就能实现多点通信,简化了分布式温度传感器应用结构,无需搭接外部元件,可用数据总线供电,电压范围为3.0V至5.5V,无需备用电源,测量温度范围为-55℃至+125℃。华氏相当于是-67F到257F。-10℃至+85℃范围内精度为±0.5℃温度传感器可编程的分辨率为9~12位,温度转换为12位数字格式时,需最大转换时间为750毫秒,用户可定义的非易失性温度报警设置,应用范围包括恒温控制、工业系统、消费电子产品温度计、或任何热敏感系统。
描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数)。由于DS18B20是一条口线通信,所以中央微处理器与DS18B20只有一个一条口线连接。读写以及温度转换可以从数据线本身获得能量,不需要外接电源。因为每一个DS18B20的包含一个独特的序号,多个DS18B20可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。
3.2温度控制
温度控制部分由2号单片机采集温度值数据,经串口发送给1号单片机。1号单片机将接收到的温度值与设定值比较,将比较结果经串口发送给2号单片机,再由2号单片机根据设定控制继电器的吸合与释放从而控制电热丝的电源来控制待测液体的温度。
4、主电机转速的检测与控制
本发明中,所述的主电动机的控制器较佳地为霍尔元件A44E和小磁钢,利用中断触发的方式测得主电机转速。
霍尔元件固定在装置固定架上,小磁钢固定在转轴上,每当转轴转动一圈,小磁钢便正对霍尔元件一次,此时霍尔元件输出由高电平拉低至低电平。霍尔元件的输出端接在1号单片机的外中断1引脚上,在软件中设置其优先级最高。霍尔元件输出低电平,引发1号单片机外中断中断,在中断处理程序中对转速计数,用定时器0设置为方式2,设计成标准的自动赋初值的1s定时器。每当1s定时结束,将转速值显示在屏幕上。同时,用测得的转速与设定值相比较,将比较结果分为偏高、相等、偏低三档,分别将不同的标志信号发送给2号单片机,由2号单片机控制DAC0832的输出电流,再经低频集成运放LM386转换成电压信号输出给主电机供电。
5、主电机功率测量
主电机功率通过测量电机两端的电压,以及流过电机的电流来测得。流过电机的电流通过测量与电机串联的标准电阻两端的电压测得。
测量时,通过8位A/D转换芯片ADC0809采集标准电阻和电机的端电压,转换成数字信号上传给单片机,经单片机处理成主电机电压和电流,再求积计算为功率。
ADC0808/ADC0809是CMOS器件,其内部结构不仅包括一个8位的逐次逼近型的ADC部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。利用它可直接输入8个单端的模拟信号分时进行A/D转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。
6、装置升降控制
本发明中,所述的升降电机的控制器通过2号单片机控制升降直流电动机的输入电压方向,从而控制电机不同转向并卷动固定在底座上的细线来完成。通过减速齿轮箱降低电机转速以获得大转矩的方法,提供上升和下降的动力,最后通过限位开关控制电机的停转。
7、双单片机通信设计
串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。
MSC-51串行端口在四种工作模式下有不同的波特率计算方法。其中,模式0和模式2波特率计算很简单;模式1和模式3的波特率选择相同,故在此仅以工作模式1为例来说明串口通信波特率的选择。
在串行端口工作于模式1,其波特率将由定时/计数器1来产生,通常设置定时器工作于模式2(自动再加模式)。在此模式下波特率计算公式为
波特率=(1+SMOD)*晶振频率/(384*(256-TH1))
其中:SMOD——寄存器PCON的第7位,称为波特率倍增位;
TH1——定时器的重载值。
在选择波特率的时候需要考虑两点:首先,系统需要的通信速率。这要根据系统的运作特点,确定通信的频率范围。然后考虑通信时钟误差。使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。为了通信的稳定,我们应该尽量选择时钟误差最小的频率进行通信。
本发明中,所述的粘度计除了对上述硬件部分进行改进之外,还对软件部分也进行了改进。软件部分设计,根据旋转粘度计的测量流程,编写软件程序,使设计的系统具有灵魂,可以真正的动起来,达到测量液体粘度的目的。由数据处理、温度测量、键盘显示和电动机执行构成一个完整的程序。
具体程序如下:
本发明中,较佳地,在使用所述的双圆筒旋转式粘度计时,首先进行系统调试。
系统的调试是检测所设计的硬软件的正确性与可靠性。单片机应用系统设计是一个相当复杂的劳动过程,在设计、制作中难免存在一些局部问题或错误。通过系统的调试可以发现存在的问题和错误并及时的进行修改。
所述的系统的调试包括硬件测试和软件测试。
其中,硬件测试:
单片机应用系统的硬件调试和软件调试是分不开的.许多硬件故障只有通过软、硬件联调才能发现,但是,一般是先排除系统中比较明显的硬件故障后才和软件一起联调。硬件的调试过程如下:
(1)检查焊点:这里主要是用万用表检测每一个焊点,目的在于检测有没有出现虚焊,保证每一个焊点都结实并有效。检测顺序按照电源-单片机外围器件-单片机-显示部位-A/D-D/A-其他外设,按照这样的序调试焊接,优点在于能一步一步的排除问题点。
(2)检查有无硬件逻辑错误:主要排查错线、开路、短路、相位、时序的错误。尤其是短路故障,短路故障主要是由于设计错误和加工过程中的工艺错误而造成的。因此,要特别注意焊接时有无走线之间相互短路等问题。
(3)检查有无元器件错误:检查有没有器件损坏的或性能不符合要求的。如电解电容、二极管的极性装反等等。要仔细核对元器件的安装、型号和规格等。
(4)检测硬件可靠性:需要检查硬件上有无金属小孔,接插件有无接触上。再次,系统内部和外部的干扰、器件负载过重、电压纹波系数过大、走线和布置的不合理等均会造成系统的可靠性差。
(5)检查电源有无故障:电源故障包括:电压值不符合设计要求、电源功率不足、负载能力差、纹波太重等。以上检测都没有问题之后,需要上电后进行调试。通电后执行开发机读/写指令,对存储器I/O口进行读/写操作,进行逻辑检查。并用示波器观察错误点的波形,寻找和分析故障原因,并进一步排除故障。
其中,软件测试:
软件调试的目的是通过运行程序而发现错误并改正。我们用Keil软件模仿单片机运行,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。对每一个模块分别进行调试,逐个模块调试好后,再进行系统程序总调试。通过检测,可以发现程序中的死循环错误、机器码错误及转移地址错误,同时也可以发现系统的软件算法及硬件设计错误。在调试的过程中不断调整系统的软件和硬件,逐步通过一个个程序模块。各程序模块通过以后,进行整体程序综合调试。在这个阶段若发生故障,可以考虑缓冲单元是否发生冲突,各子程序运行时是否破坏现场,堆栈区域是否溢出,标志位的建立和清除在设计上有否失误,输入设备的状态是否正常等。还要考虑,我们是在单片机的仿真开发器中运行的,监控程序的工作单元是否和缓冲单元发生冲突。连续调试之前,还需要单步和断点调试后,这是因为单步运行只能对程序的正确或不争取进行验证,而不能确定CPU的实时响应和定时精度等问题。完成全部调试后,运行多次,观察系统的稳定性和系统的操作是否符合原始设计的要求,并作出适当的修改。
本发明的积极进步效果在于:本发明的双圆筒旋转式粘度计测量精度高,测量方法简单。
附图说明
图1为实施例1的双圆筒旋转式粘度计的主视图。
图2为实施例1的双圆筒旋转式粘度计的侧视图。
图3为实施例1的实际流程图。
图4为实施例1的系统的基本结构图。
图5为实施例1的AT89S52的引脚图和最小系统的电路图。
图6为实施例1的测试系统数据采集示意图。
图7为实施例1的DS18B20测温仪的外形图。
图8为实施例1的温度控制框图。
图9为实施例1的霍尔开关的外形图及接线图。
图10为实施例1的DAC0832的引脚及内部结构图。
图11为实施例1的装置的升降控制框图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。下列实施例中未注明具体条件的实验方法,按照常规方法和条件,或按照商品说明书选择。
实施例1
使用如图1和图2所示的双圆筒旋转式粘度计,图1中,1为缸体用于盛放待测液体,2为隔板,3为支架,4为升降电机,5为搅拌电机。同时该双圆筒旋转式粘度计还包括单片机、数据信号采集处理器、主电动机的控制器、升降电机的控制器、按键、温度测量仪和LCD显示器。
使用所述的双圆筒旋转式粘度计在相同测量条件下,测量不同高度的电功率,再根据下列公式计算粘度:
其中:为主电机转速,单位r/s;
l1、l2为两转筒高度;
P1、P2为对应的主电机消耗的电功率。
设计方法:
开机后首先设定温度和转速值,然后分别采集温度和转速数据,接着升降电机控制测量装置上升1.5cm,等待转速稳定后,采集主电机电压电流数据,经计算得出功率值,并取10次取平均,消除偶然误差。然后升降电机控制测量装置下降1.5cm,等待转速稳定后,采集主电机电压电流数据,经计算得出功率值,并取10次取平均,消除偶然误差。将两次测量的功率值代入(1)式得到液体粘度值。设计流程图如图3所示。
采用单片机为主要控制单元,通过测量给定转速和温度下,主电机消耗的电功率,运用公式计算得到粘度数据的方法并显示出来。在测量粘度的同时,还可以同步测量温度,使温度这一影响粘度值的最大因素予以排除,为粘度值的准确测量提供了保证。执行部分由单片机控制直流电机带动与之同轴的转子转动,并通过D/A转换及集成运放,将主电机输入电压进行256档调节,实现主电机转速的控制。系统的基本结构如图4所示。
世界著名半导体公司Atmel生产的AT89S52八位单片机。它是一种低功耗、高性能CMOS的8位微控制器,是MSC-51系列的升级版。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片内集成256字节程序运行空间、8K字节FLASH存储空间,支持最大64K外部存储扩展。片内资源有4组I/O控制端口、3个定时器、8个中断、软件设置低能耗模式、看门狗和断电保护。可在4V到5.5V宽电压范围内正常工作,基本能满足本系统的设计需要。
图5为AT89S52的引脚图和最小系统的电路图。最小系统包括时钟电路和复位电路。
该测试系统数据采集涉及到温度采集、转速采集与电压采集,温度采集选用DS18B20芯片,转速采集选用霍尔元件加外中断和定时器中断的方法。由于DS18B20严格的时序性,在数据传输过程中不允许中断,但转速采集时,为保证结果准确,采用最高权限的外中断。两者是相矛盾的。为解决这个问题,本设计采用两套信号采集处理电路——转速采集和电压采集用1号单片机,温度采集用2号单片机,两单片机通过串口传输数据。然后,温度和转速的控制由2号单片机担任,1号单片机负责数据计算和液晶的显示。经过处理后的数据,输入到1号单片机中,进行计数和一系列的数据运算,最后得到粘度数据结果。其示意图如图6所示。
温度的检测
采用DS18B20测温仪,其外形图如图7所示。DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
独特的一线接口,只需要一条口线就能实现多点通信,简化了分布式温度传感器应用结构,无需搭接外部元件,可用数据总线供电,电压范围为3.0V至5.5V,无需备用电源,测量温度范围为-55℃至+125℃。华氏相当于是-67F到257F。-10℃至+85℃范围内精度为±0.5℃温度传感器可编程的分辨率为9~12位,温度转换为12位数字格式时,需最大转换时间为750毫秒,用户可定义的非易失性温度报警设置,应用范围包括恒温控制、工业系统、消费电子产品温度计、或任何热敏感系统。
描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数)。由于DS18B20是一条口线通信,所以中央微处理器与DS18B20只有一个一条口线连接。读写以及温度转换可以从数据线本身获得能量,不需要外接电源。因为每一个DS18B20的包含一个独特的序号,多个DS18B20可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。
温度控制
温度控制部分由2号单片机采集温度值数据,经串口发送给1号单片机。1号单片机将接收到的温度值与设定值比较,将比较结果经串口发送给2号单片机,再由2号单片机根据设定控制继电器的吸合与释放从而控制电热丝的电源来控制待测液体的温度。框图如图8所示。
主电机转速的检测
采用霍尔元件A44E和小磁钢,利用中断触发的方式测得主电机转速。
A44E集成霍尔开关由稳压器A、霍尔电势发生器(即硅霍尔片)B、差分放大器C、施密特触发器D和OC门输出E五个基本部分组成。(1)、(2)、(3)代表集成霍尔开关的三个引出端点。
在输入端输入电压Vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场达到“工作点”(即Bop)时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,通常称这种状态为“开”。当施加的磁场达到“释放点”(即Brp)时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为“关”。这样两次电压变换,使霍尔开关完成了一次开关动作。
Bop与Brp的差值一定,此差值BH=Bop-Brp称为磁滞,在此差值内,V0保持不变,因而使开关输出稳定可靠,这也就是集电成霍尔开关传感器优良特性之一。
图9为霍尔开关的外形图及接线图。霍尔开关的磁钢为直径D=6.004mm、厚度L=3.032mm的钕铁硼磁钢,电源用直流,霍尔开关输出由四位半直流数字电压表指示,磁感应强度B由95A型集成线性霍尔元件测量。测量时1、2两端加+12V直流电压,在输出端3与1之间接一个2kΩ的负载电阻。
主电机转速控制
霍尔元件固定在装置固定架上,小磁钢固定在转轴上,每当转轴转动一圈,小磁钢便正对霍尔元件一次,此时霍尔元件输出由高电平拉低至低电平。霍尔元件的输出端接在1号单片机的外中断1引脚上,在软件中设置其优先级最高。霍尔元件输出低电平,引发1号单片机外中断中断,在中断处理程序中对转速计数,用定时器0设置为方式2,设计成标准的自动赋初值的1s定时器。每当1s定时结束,将转速值显示在屏幕上。同时,用测得的转速与设定值相比较,将比较结果分为偏高、相等、偏低三档,分别将不同的标志信号发送给2号单片机,由2号单片机控制DAC0832的输出电流,再经低频集成运放LM386转换成电压信号输出给主电机供电。
DAC0832的结构和功能如下:
DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。所以这个芯片的应用很广泛,DAC0832的引脚及内部结构如图10所示。
D/A转换结果采用电流形式输出。若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。
DAC0832引脚功能说明:
DI0~DI7:数据输入线,TLL电平;
ILE:数据锁存允许控制信号输入线,高电平有效;
CS:片选信号输入线,低电平有效;
WR1:为输入寄存器的写选通信号;
XFER:数据传送控制信号输入线,低电平有效;
WR2:为DAC寄存器写选通输入线;
Iout1:电流输出线。当输入全为1时Iout1最大;
Iout2:电流输出线。其值与Iout1之和为一常数;
Rfb:反馈信号输入线,芯片内部有反馈电阻;
Vcc:电源输入线(+5v~+15v);
Vref:基准电压输入线(-10v~+10v);
AGND:模拟地,摸拟信号和基准电源的参考地;
DGND:数字地,两种地线在基准电源处共地比较好。
主电机功率测量
主电机功率通过测量电机两端的电压,以及流过电机的电流来测得。流过电机的电流通过测量与电机串联的标准电阻两端的电压测得。
测量时,通过8位A/D转换芯片ADC0809采集标准电阻和电机的端电压,转换成数字信号上传给单片机,经单片机处理成主电机电压和电流,再求积计算为功率。
ADC0808/ADC0809是CMOS器件,其内部结构不仅包括一个8位的逐次逼近型的ADC部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。利用它可直接输入8个单端的模拟信号分时进行A/D转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。
1)ADC0808/ADC0809主要技术指标和特性
(1)分辨率:8位。
(2)总的不可调误差:ADC0808为±0.5LSB,ADC 0809为±1LSB。
(3)转换时间:取决于芯片时钟频率,如CLK=500kHz时,TCONV=128μs。
(4)单一电源:+5V。
(5)模拟输入电压范围:单极性0~5V;双极性±5V,±10V(需外加一定电路)。
(6)具有可控三态输出缓存器。
(7)启动转换控制为脉冲式(正脉冲),上升沿使所有内部寄存器清零,下降沿使A/D转换开始。
(8)使用时不需进行零点和满刻度调节。
2)内部结构和外部引脚
装置升降控制
装置的升降控制,通过2号单片机控制升降直流电动机的输入电压方向,从而控制电机不同转向并卷动固定在底座上的细线来完成。通过减速齿轮箱降低电机转速以获得大转矩的方法,提供上升和下降的动力,最后通过限位开关控制电机的停转。框图如图11所示。
双单片机通信设计
串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。
MSC-51串行端口在四种工作模式下有不同的波特率计算方法。其中,模式0和模式2波特率计算很简单;模式1和模式3的波特率选择相同,故在此仅以工作模式1为例来说明串口通信波特率的选择。
在串行端口工作于模式1,其波特率将由定时/计数器1来产生,通常设置定时器工作于模式2(自动再加模式)。在此模式下波特率计算公式为
波特率=(1+SMOD)*晶振频率/(384*(256-TH1))
其中:SMOD——寄存器PCON的第7位,称为波特率倍增位;
TH1——定时器的重载值。
在选择波特率的时候需要考虑两点:首先,系统需要的通信速率。这要根据系统的运作特点,确定通信的频率范围。然后考虑通信时钟误差。使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。为了通信的稳定,我们应该尽量选择时钟误差最小的频率进行通信。
本实施例中波特率选择过程:假设系统要求的通信频率在20000bit/s以下,晶振频率为12MHz,设置SMOD=1(即波特率倍增)。则TH1=256-62500/波特率根据波特率取值表,我们知道可以选取的波特率有:1200,2400,4800,9600,19200。列计数器重载值,通信误差如表4-1:
因此,在通信中,最好选用波特率为1200,2400,4800中的一个。
表4-1波特率选择表
波特率 |
计数器重载值TH1 |
波特率误差 |
1200 |
204 |
0.16% |
2400 |
DI |
0.16% |
4800 |
DI |
0.16% |
9600 |
DO |
6.99% |
19200 |
DO |
8.51% |
软件部分设计,根据旋转粘度计的测量流程,编写软件程序,使设计的系统具有灵魂,可以真正的动起来,达到测量液体粘度的目的。由数据处理、温度测量、键盘显示和电动机执行构成一个完整的程序。
具体程序如下:
系统调试
硬件测试:单片机应用系统的硬件调试和软件调试是分不开的.许多硬件故障只有通过软、硬件联调才能发现,但是,一般是先排除系统中比较明显的硬件故障后才和软件一起联调。硬件的调试过程如下:
(1)检查焊点:这里主要是用万用表检测每一个焊点,目的在于检测有没有出现虚焊,保证每一个焊点都结实并有效。检测顺序按照电源-单片机外围器件-单片机-显示部位-A/D-D/A-其他外设,按照这样的序调试焊接,优点在于能一步一步的排除问题点。
(2)检查有无硬件逻辑错误:主要排查错线、开路、短路、相位、时序的错误。尤其是短路故障,短路故障主要是由于设计错误和加工过程中的工艺错误而造成的。因此,要特别注意焊接时有无走线之间相互短路等问题。
(3)检查有无元器件错误:检查有没有器件损坏的或性能不符合要求的。如电解电容、二极管的极性装反等等。要仔细核对元器件的安装、型号和规格等。
(4)检测硬件可靠性:需要检查硬件上有无金属小孔,接插件有无接触上。再次,系统内部和外部的干扰、器件负载过重、电压纹波系数过大、走线和布置的不合理等均会造成系统的可靠性差。
(5)检查电源有无故障:电源故障包括:电压值不符合设计要求、电源功率不足、负载能力差、纹波太重等。以上检测都没有问题之后,需要上电后进行调试。通电后执行开发机读/写指令,对存储器I/O口进行读/写操作,进行逻辑检查。并用示波器观察错误点的波形,寻找和分析故障原因,并进一步排除故障。
软件测试:软件调试的目的是通过运行程序而发现错误并改正。我们用Keil软件模仿单片机运行,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。对每一个模块分别进行调试,逐个模块调试好后,再进行系统程序总调试。通过检测,可以发现程序中的死循环错误、机器码错误及转移地址错误,同时也可以发现系统的软件算法及硬件设计错误。在调试的过程中不断调整系统的软件和硬件,逐步通过一个个程序模块。各程序模块通过以后,进行整体程序综合调试。在这个阶段若发生故障,可以考虑缓冲单元是否发生冲突,各子程序运行时是否破坏现场,堆栈区域是否溢出,标志位的建立和清除在设计上有否失误,输入设备的状态是否正常等。还要考虑,我们是在单片机的仿真开发器中运行的,监控程序的工作单元是否和缓冲单元发生冲突。连续调试之前,还需要单步和断点调试后,这是因为单步运行只能对程序的正确或不争取进行验证,而不能确定CPU的实时响应和定时精度等问题。完成全部调试后,运行多次,观察系统的稳定性和系统的操作是否符合原始设计的要求,并作出适当的修改。