毕业设计---阀流量的智能控制 下载本文

单片机模拟数字PWM信号的方法是脉冲计数,其原理是单片机指定计数器输出脉宽信号的脉宽和周期,信号的脉宽反映了舵机的转角变化所对应的控制指令。其功能由单片机和计数器共同完成,如图2-5所示。

计数脉冲单片机计数器指令信号离散化后的数据连续化后的数据图2-5 数字信号的数字处理方法原理

脉冲计数可以利用51单片机的内部计数器来实现,但是从软件系统的稳定性和程序结构的合理性看,宜使用外部的计数器,还可以提高CPU的工作效率。实验后从精度上考虑,对于FUTABA系列的接收机,当采用1MHz的外部晶振时,其控制电压幅值的变化为0.6mV,而且不会出现误差积累,可以满足控制舵机的要求。最后考虑数字系统的离散误差,经估算误差的范围在±0.3%内,所以采用单片机和8253、8254这样的计数器芯片的PWM信号产生电路是可靠的。

2.5单片机和计数器控制舵机的转角

如上文所述,单片机本身对信号的处理过程并不复杂,完成测控模块的关键在于使用合适的方法和合适的外围芯片处理和输出信号。

本设计采用单片机的外部计数芯片8253作为专用的计数器,单片机通过对外部计数芯片的操作,完成PWM信号的输出。

在输出控制指令时,由于使用了外部的计数器芯片,单片机只需要向8253芯片的寄存器中发送控制脉宽的计数器,计数器能自动的根据计数指调节电平的高低变化,从而模拟PWM信号输出。

单片机对8253芯片的操作过程如下:

利用外部的晶振电路产生一定频率的技术脉冲。 将该频率的计数脉冲作为外部计数器的计数脉冲,而将需要测量的脉宽信号作为外部芯片的门控信号,外部芯片在该门控周期内对计数脉冲进行计数。

计数脉冲的频率依靠外部的晶振频率,当然该晶振频率可以进行分频。尽管外部晶振的频率越高越有助于提高脉宽计数的精度,但是最终输入到外部计数器的脉冲频率最好不要超过10MHz。

8253芯片的通道及控制字寄存器的状态与8253端口地址的对应关系如表2-4所示。

表2-4 8253芯片的通道及控制字寄存器的状态与8253端口地址的对应关系

A1 0 0 1 1

A0 0 1 0 1

寄存器 0#通道 1#通道 2#通道 控制端口

2.6 C51程序控制PWM信号的脉宽

9

单片机写入8253的控制字和读取8253寄存器中的计数值,都需要对8253的寄存器单元进行操作。8253寄存器在单片机程序中的和单片机片外的存储器一样。单片机对8253的操作主要是通过以下步骤完成的。

寄存器地址的定义

根据输入/输出的地址连接线,对8253的寄存器地址定义如下: //定义8253的寄存器地址

//定义8253的控制字寄存器地址 #define COMI XBYTE[0x3100] //定义8253的计数器0寄存器地址 #define C0I XBYTE[0x0100] 控制字的写入

8253计数器的工作方式由编程设定,将控制字写入控制字寄存器,用以选择每个计数器的工作方式,控制字的格式如表2-5所示。

表2-5 控制字的格式

D7 SC1 D6 SC0 D5 RL1 D4 RL0 D3 M2 D2 M1 D1 MO D0 BCD 8253中写入控制字代码: //向8253中的控制字寄存器中选择计数器0,并赋初值0 COMI=0x30; C0I=0;C0I=0; 片外数据的读取

读取8253计数器中的计数值时,和读取片外存储器中的单元内容一样。代码如下: uchar l

COMI=0x30; l=C0I;

10

3 机械结构设计

球阀的基本参数,公称压力(PN)=1.63MPa,公称直径(DN)=50mm,工作温度为0-150℃,工作介质为油品。球阀的整体结构和重要零件图。

3.1 球阀装配图

图3-1球阀装配图

11

3.2阀体

图3-2 阀体

3.3 左阀体

图3-3左阀体

3.4 右阀体

图3-4 右阀体

12