基于单片机的流量控制系统
1 流量控制系统的组成及工作原理
流量控制系统以PIC16F876为核心。首先,由单片机的A/D转换口采集来自传感器的模拟信号并由单片机的控制电路把电平转换为TTL电平,再经MAX232转换为IBMPC机能够识别的RS232电平,实现远距离传输并送到PC机的串口COM1或COM2。计算机终端显示采用VisualBasic编程把从串口得到的数据进行处理,并加入一定的补偿以得到比较准确的流量值。如果使用者打算对流量进行控制,可在PC机上输入预期的流量值,并点击启动控制电路就可以让后续的控制电路运行。
1.1 整体框架
系统的整体框架如图1所示,单片机作为通讯的枢纽,建立起控制和反馈的连接。
1.2 单片机与计算机的通讯
PIC16F87X单片机内部的通用同步/异步收发器USART模块具有异步和同步通信能力。本系统采用全双工的异步串行通信,在同一时刻,单片机和计算机双方既能发送信息也能接受信息。
USART模块的发送器和接受器在功能上是互相独立的,但是它们所用的数据格式和波特率是相同的。我们将通信波特率设定在9600波特,当单片机的时钟频率为4MHz,并且USART工作于高速波特率时,波特率发生器寄存器的初始值应设为25,即19H。PIC16F876的USART经过电平转换(RS232电平/TTL电平互换)专用芯片MAX232连接微机的接线图如图2所示。
图2 PIC与MAX232的连接电路
1.3 单片机程序(图3)
首先初始化程序,设置波特率的值,将分频器配给tmr0定时器,将RA设置为A/D转换通道,并将A/D转换结果左对齐。然后单片机检测PC机有否发送数据过来,如果有才开始主程序的运行。主程序主要是采样模拟量并把它转化为数字量然后送到PC机,由于单片机的脉宽输出会直接影响到控制电路,所以让两个脉宽在同一时间输出是很重要的。由于脉宽输出可以由tmr2定时器控制,所以我们先把计算机发送的预期值和实时采样的数值送到脉宽寄存器中,等到tmr2定时器硬件中断才刷新两个从属脉宽寄存器的值,从而同时刷新PWM输出值。中断服务子程序主要处理中断的类型是否为异步接收中断以及保护中断现场寄存器的值以免数据丢失。
1.4 控制电路的工作原理
控制电路图如图4所示,由于单片机的两个PWM脉宽端口输出一定占空比的方波信号,所以我们要把这个方波信号还原为一定电压的直流电平。如图4所示,由RC构成的积分电路把方波信号变成比较平滑的锯齿波信号,并作为差分放大电路的输入信号。差分放大器把积分后的电压的差值放大了50倍,这个放大的信号U1将会被送到窗口比较器。窗口比较器的目的是为了更好地抑制噪声,以免由于噪声而引起误动作。URH和URL是两个可调节的电压,用户可以根据自己的需要设置这两个值。当U1>URH时,UO2为高电平,二极管D2导通。由于URH>URL,A1为反相接法,所以UO1为低电平,二极管D1截止。当U1URL,A2为正相接法,所以UO2为低电平,二极管D2截止。当U1
相关文章
- 2023-08-11表面三维形貌参数及其评定
- 2024-09-19多波长辐射温度计最少波长数确定的理论依据
- 2024-07-22彩色CCD摄像机三基色代表波长的试验研究
- 2024-08-06接触测量中测头半径误差的修正
- 2023-01-0412Cr1MoVg短期高温冲击断裂有限元分析
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。