基于FPGA的自动采集控制系统

2015-11-02 02:34:15李怡琳肖顺文易欢杨盢
电子设计工程 2015年24期
关键词:三极管数码管二进制

李怡琳,肖顺文,易欢,杨盢

(西华师范大学物理与电子信息学院,四川南充637009)

基于FPGA的自动采集控制系统

李怡琳,肖顺文,易欢,杨盢

(西华师范大学物理与电子信息学院,四川南充637009)

本系统是基于FPGA为核心的自动温度采集控制恒温系统,运用了传感器技术,实时的对一定环境中的温度进行采集,并通过FPGA芯片进行恒温控制。系统运行过程中,不需要人为进行任何控制。系统通过固化在内部的程序,自动对外界温度进行采集,显示,并控制。该系统既能满足小范围内的恒温控制,同时又具有造价低,维护简便,可操作性好的优点。非常适用于小范围内的恒温控制。

FPGA;自动控制;自动采集;温度控制

随着当前工业控制自动化日益普及,对于工作环境中的温度控制也越来越重要。本设计即是针对某些需要持续恒温的特殊环境而设计的自动温度采集控制系统。该系统采用FPGA作为硬件核心部分,有效地利用FPGA在可编程门阵列方面的优点,最大限度的使硬件电路软件化,减少了可视硬件的规模,降低了硬件加工、布线以及元器件采购方面的成本与复杂性,从而降低了故障排查方面的繁杂性[1-3]。使硬件电路简洁,降低了整体占用的空间。相对于其他的温度控制系统,具有小巧,维护维修方便的优点,大大的提高了可维护性,同时由于采用的元器件都比较常见,整体成本较低。因此很适用于一些小规模同时对温度精度要求不高的场合[1]。

1 系统工作原理

通过传感器实现对外界环境温度的采集,并将采集到的温度信号传送给FPGA芯片,FPGA芯片能够自主地对采集的温度信号进行处理,并能通过LED显示当前温度,同时自动将采集到的温度信号与预设的温度进行比较得出正确的比较结果,通过I/O端口输出控制外围设备对环境温度进行控制,从而达到实时温度控制的目的[5]。本设计中主要有温度采集模块、FPGA芯片模块、LED数字显示模块三部分,系统原理框图如图1所示。

图1 系统原理框图Fig.1The block of diagram system

通过FPGA编程来实现对温度传感器的实时温度数据采集,并且实时地处理采集到的数据,将采集到的数据转换为BCD码通过8段LED数码管显示出此前的温度。与此同时,采集到的数据将会与存储在芯片里的温度预设值比较,并自动产生比较结果,控制外围设备对被测空间的温度实施调节控制,从而达到恒温的目的,温度传感器采集出的温度数据通过二进制数组片选选择数据通过LED显示,选择的数据再与标准温度进行比较,温度过高降温处理、温度过低则升温处理。

2 主要功能模块的实现

控制模块如图2所示,其中两个PNP三极管的作用是在P1输出控制信号时起到开关作用,根据图中的三极管接法,当输出控制信号为低电平时,三极管通导,此时P2继电器中有电流通过,使其3和6引脚接通。设计中由于采用的三极管对电流的要求较高,而又由于继电器内部可以认为相当于是一个电感,因此在继电器刚刚上电的时刻,三极管发射极和集电极电流将会很大,很容易将三极管烧毁,因此加装稳压二极管D2,使继电器上电工作的时刻,瞬间电流通过二极管回路而不是通过三极管,就可以有效保护三极管不被烧毁。

图2 外围控制电路原理图Fig.2Circuit schematic of the external control

外部输出信号为低电平时,p2回路导通,引脚6与引脚3有电流,p3导通开始工作,当温度过低时,灯泡点亮;当温度过高时,风扇工作。从而实现对温度的实时控制。

3 软件设计及仿真结果

本设计中采用FPGA芯片作为核心控制部分。在本设计中软件模块主要包括温度传感器控制及数据接收模块,温度数据处理模块,温度显示模块。

3.1温度数据处理模块

传感器数据处理模块tempture的顶层电路图如图3所示,它的作用主要是将12位二进制的温度信号转换为用BCD码表示的3位十进制数,输入的12位温度信号中其中的高8位二进制代码转换为2组4位的BCD码,例如输入二进制码为“00010110”,代表十进制数为“22”,输出BCD码为“00100010”对应的十进制数个位、十位均为“2”和“2”;然后将剩余的低4位二进制代码转换为4位BCD码,如输入二进制码为“1110”,代表10进制数小数为“0.875”,若只取一位小数位,则取“8”,其BCD码可表示为“1000”。通过三个输出端口分别输出十位、个位和小数位。

对温度数据处理模块tempture进行仿真测试。假定预设置输入温度二进制的代码为“000101111011”,则其对应十进制数应为:“23.6”。仿真结果如图4所示。

图3 温度数据处理顶层原理图Fig.3Temperature data-processing top-level schematic

图4 数据处理模块仿真结果Fig.4Data-processing module simulation results

根据顶层原理图,a[3..0]输出为温度数值的十位数,b[3.. 0]输出为温度数值的个位数,c[3..0]输出为温度数值的小数位。则仿真图中,shi、fen、ge三位输出的数字分别为“2”、“3”、“6”,仿真结果与预测转换结果一致。

3.2温度显示模块

设计采用了4个8段式的LED数码管可以动态显示温度的百位、十位、个位与分位。下图为温度显示模块的顶层电路,由图可知,模块由片选模块、译码转换模块与计数器三者组成。片选模块主要由一个二进制计数器和四选一电路组成。

当系统工作时,先将二进制计数器在clk控制下依次连续产生4个两位二进制数组,来控制片选模块选择性的输出shi[3..0]、ge[3..0]、fen[3..0]、bai[3..0]四路输入信号中任意的一路。将选出的这一路输入信号交给译码转换模块,利用二进制计数器产生的连续二进制数组,可以控制译码器依次输出对应的4位二进制数组来依次点亮各个LED数码管。最后,可以在LED上显示出数字,读取结果。

图5 温度显示模块顶层电路Fig.5Temperature display module top-level circuit

对温度显示模块display进行软件仿真测试,设置输入shi[3..0]、fen[3..0]、ge[3..0]分别是“0100”、“0011”、“0010”,则其对应10进制数应为“43.2”。仿真结果如图6所示。

图6 display模块仿真图Fig.6Map display module simulation

由仿真示意图可看出,片选信号由时钟信号控制循环变化,而对应输出的ledout端也依次输出shi,fen,ge,bai四个端口输入的数据,且输出的是8位LED数码管显示码,从图中可以读出,当片选信号为“0111”时,对应的输出信号ledout为“11000000”,即表示在数码管上的显示为0,小数点不亮,表示百位为0;当片选信号为“1011”时,对应的输出信号ledout为“10011001”,在数码管上的显示为4,小数点不亮,表示十位为4;当片选信号为“1101”时,对应输出ledout为“10110000”,在数码管上的显示即为3,表示个位为3,;当片选信号为“1110”时,对应输出ledout为“00100100”,在数码管上的显示即为2,小数点点亮,表示小数位为2。动态扫描后可知,数码管上显示的内容即为“043.2”。与输入的数据相同,说明程序编写正确,系统运用良好。

4 测试数据

由表1数据显示,LED数码管上显示的温度与实际测量的温度,从表中可以得出,两者近似相等,误差在0%~0.58%之间,是可以接受的误差范围。表2是指设定了所需温度,记录温度变化的过程与实现这一目标所需的时间。例如第一次中,我们设定的温度为20℃,开始LED上显示的温度值为17.5℃,最后经过自动控制系统温度升高到20.2℃,这一过程共用时30分钟。误差也是存在的,误差在1%左右,也是可以接受的范围。

表1 温度显示测试数据Tab.1The data of temperature display test

表2 温度显示测试数据Tab.2The data of temperature display test

5 结束语

从测试结果上看,设计的主要目的已经达到,系统运行可靠,精度也已达到设计要求。但设计中仍存在一定缺陷,主要缺陷在于本设计中所使用的预设温度是固化在程序中,一旦系统开始工作,就不能再更改预设的温度,因此本系统比较适用于不会经常变更设置温度的场合。

[1]蒋双燕.热疗系统的温度测控技术及应用研究[D].苏州:苏州大学,2010.

[2]李建海.电池温度智能监测系统设计[J].现代电子技术,2011,15(8):1-3.

[3]张耀锋,孙以材.基于BP神经网络温度补偿的压力传感器无线数据采集系统[J].传感器世界,2008,25(1).[4]税长江.CPLD在远程多路数据采集系统中的应用[J].国外电子元器件,2004,5(3):4-7.

[5]何健.基于DS18B20传感器测温系统的设计与实现[J].湖南机农,2013,15(3):1-2.

[6]文丰.基于FPGA的采样率可编程多路数据采集系统[J].仪表技术与传感器,2008,2(6):32-33.

[7]孙晓明,邹勇.一种多通道高速并行数据采集系统的设计与实现[J].电子元器件应用,2006,8(10):32-34.

[8]颜丽娜,张铁民.基于DS18B20测温系统的设计[J].机械与电子,2010,11(8):1-2.

[9]计新,齐英鑫,张凤兰.数字温度传感器DS1620在恒温控制中的应用[J].延边大学学报,2001,4(27):1-4.

An automatic acquisition control system based on FPGA

LI Yi-lin,XIAO Shun-wen,YI Huan,YANG Yuan
(College of Physics and Electronic Information,China West Normal University,Nanchong 637009,China)

The system is based on the FPGA that can automatically control and collect system temperature,using the sensor technology,we can collect the temperature of the certain environment,and can control temperature through the FPGA chips. In the process of system operation,people do not need to have any control over the system,because of the internal procedures,the system can automatically acquisition the temperature of outside world,displaying it by LED and control the data.This system suits for the small range of temperature control,and have low-cost,easy maintenance,good operational advantages.At the same time,It can applied to a small area of constant temperature control.

FPGA;automatic control;automatic acquisition;tempreature control

TN108.4

A

1674-6236(2015)24-0096-03

2015-04-02稿件编号:201504017

四川省教育厅科研基金重点项目(15ZA0145)

李怡琳(1991—),女,四川绵阳人,硕士研究生。研究方向:软件无线电、EDA技术及SOPC技术。

猜你喜欢
三极管数码管二进制
用二进制解一道高中数学联赛数论题
中等数学(2021年8期)2021-11-22 07:53:38
有趣的进度
Arduino编程
电脑报(2019年2期)2019-09-10 07:22:44
二进制在竞赛题中的应用
中等数学(2019年4期)2019-08-30 03:51:44
MC9S08FL16单片机数码管静态显示分析
科技风(2019年13期)2019-06-11 13:38:30
基于晶体三极管的放大电路分析
单片机控制的四位数码管动态显示编程
时代农机(2019年2期)2019-04-24 01:20:14
基于Qt的数码管数字编码系统的设计与实现
三极管引脚折弯机双凸轮机构的分析与仿真
三极管放大电路的研究
电子制作(2016年1期)2016-11-07 08:43:05