水箱水位控制系统设计方案 下载本文

中需将这一信号进行处理,以便单片机能够接收和处理。

③单片机控制:单片机将由前级输入的检测信号进行分析和处理,从而产生相应的控制信号。

④数码显示、电机驱动和报警电路根据单片机产生的控制信号,作出相应的动作。

⑤电机控制电路根据电机驱动电路的状态作出相应的动作。 2.2.2设计方案

水位自动控制电路是通过水位传感器将水位高度转换为0—10V的直流电压,再经过A/D转换后,将转换所得的8路并行数字量送入单片机进行处理来达到对水位进行自动控制的目的。通过对电压和水位的转换关系,最终利用单片机进行精确的控制,实现对水位高度的显示、主/备电机和报警装置的控制。

水位自动控制器由6个部分组成,即水位传感器、A/D转换、单片机、数码显示、电机控制、报警控制部分,其总框图如图2.2.2所示。

图2.2 设计总框图

2.3系统方案选取

2.3.1传感器选择方案

传统的水位检测通过设检测点来完成对水位的检测。通常,由于受检测点物理

体积的影响,水位检测点的数目有限,从而影响了后续电路控制的精度。本设计采用新型水位传感器,可以达到对水位高度的精确检测,以利于提高后续电路控制的精度。

2.3.2 A/D转换方案

通过对传感器的选择,可知由传感器输出的水位高度信号是0~10V的直流电压。在设计中,可以通过采样、保持电路对这一信号进行处理,将模拟信号转换为多个采样点信号。但这种处理方法由于受电路规模和采样精度的影响,不可能对水位信号做出精确的处理,近而也无法对电机、水位高度显示和报警做出精确的控制。因此,本设计中采用集成芯片ADC0809对0~10V的直流电压进行处理。可以达到:

①电路简洁、明了。 ②高转换精度。 ③高控制精确。 2.3.3单片机复位方案

RST/VPD:复位/备用电源线,可以使单片机处于复位(即初始化)工作状态。通常,单片机的复位有自动上电复位和人工按钮复位两种,图2.3给出了它们的电路。考虑到,水塔与居民生活密切相关,当因特殊原因导致单片机掉电,需单片机立即自动复位(如:夜间短时间停电,导致本系统停止工作),故本设计采用上电复位方式。

图2.3 复位电路

2.3.4单片机起振方案

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器,石晶振荡和陶瓷振荡均可采用。也可以采用外部时钟源驱动器件。考虑到设计、使用的方便,本设计中采用片内时钟驱动。即XTAL1和XTAL2只需外接晶振(配上相应的电容),便可以给单片机提供相应的时钟频率。

2.3.5水位显示驱动方案

本设计中需将水塔水位高度在数码管中进行显示,有两种方案选择: ①利用MAX7219进行驱动:MAX7219是一种高集成化的串行输入/输出的共阴极LED显示驱动器。每片可驱动8位7段加小数点的共阴极数码管,可以数片级联,而与微处理器的连接只需3根线。MAX7219内部设有扫描电路,除了更新显示数据时从单片机接收数据外,平时独立工作,极大地节省了MCU有限的运行时间和程序资源。

②利用74LS48驱动数码管:与单片机连接较为复杂,需占用单片机8个端口。且在与数码管连接时需附加上拉电阻,用以完成数码管的驱动。

考虑到本设计中,需显示的位数较少(两位),若利用MAX7219驱动数码管,将造成资源浪费,且MAX7219芯片价格较高,采用后大大提高成本支出。同时,随着MAX7219的使用(对MAX7219的编程)将提高源程序的复杂度,对编译、调试和单片机运行效率都将造成影响。故设计中采用74LS48驱动数码管显示。 2.3.6电机驱动方案

利用单片机驱动交流接触器,进而驱动电动机的运转。其中,在单片机的输出端到交流接触器间需接驱动模块。该驱动模块,可以由分离元件组成放大电路来实现对交流接触器的驱动,也可以单使用一块芯片实现。本设计中,采用一块芯片实现对交流接触器的控制。以达到使电路简洁,调试方便,易于维修的目的。 2.3.7电机选择方案

电动机有支流、交流之分。异步电动机属于交流电机的一种;另一种交流电机是同步电机。异步电机由于结构简单,维护方便,价格便宜,所以应用最为广泛。本设计中,采用交流电机,为了克服沿程阻力损失和高度差所产生的静压力,供水水泵的扬程应根据实际情况有所变化。

3 系统硬件设计

3.1单元模块设计

3.1.1 A/D转换设计

当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时

钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能。

当此2 位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2 位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2 位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。到第3 个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。

图3.1 A/D转换电路

3.1.2起振电路设计

石英晶振起振后,应能在XTAL2线上输出一个3V左右的正弦波,以使AT89C51片内的OSC电路按石英晶振相同频率自激振荡。通常,OSC的输出时钟频率FOSC为0.5~16MHz,典型值为12MHz或11.0592MHz。电容C1和C2可以帮助起振,典型值为30pf,调节它们可以达到微调FOSC的目的。本设计中,晶振采用12MHz,