跟着当时工业操控主动化日益遍及,关于作业环境中的温度操控也越来越重要。本规划便是针对某些需求继续恒温的特别环境而规划的主动温度收集操控体系。该体系选用FPGA作为硬件中心部分,有用地运用FPGA在可编程门阵列方面的长处,最大极限的使硬件电路软件化,减少了可视硬件的规划,降低了硬件加工、布线以及元器件收购方面的本钱与复杂性,然后降低了毛病排查方面的繁杂性。使硬件电路简练,降低了全体占用的空间。相关于其他的温度操控体系,具有细巧,维护修理便利的长处,大大的提高了可维护性,一起因为选用的元器件都比较常见,全体本钱较低。因而很适用于一些小规划一起对温度精度要求不高的场合。
1 体系作业原理
通过传感器完成对外界环境温度的收集,并将收集到的温度信号传送给FPGA芯片,FPGA芯片能够自主地对收集的温度信号进行处理,并能通过LED显现当时温度,一起主动将收集到的温度信号与预设的温度进行比较得出正确的比较成果,通过I/O端口输出操控外围设备对环境温度进行操控,然后到达实时温度操控的意图。本规划中首要有温度收集模块、FPGA芯片模块、LED数字显现模块三部分,体系原理框图如图1所示。
通过FPGA编程来完成对温度传感器的实时温度数据收集,而且实时地处理收集到的数据,将收集到的数据转化为BCD码通过8段LED数码管显现出此前的温度。与此一起,收集到的数据将会与存储在芯片里的温度预设值比较,并主动发生比较成果,操控外围设备对被测空间的温度施行调理操控,然后到达恒温的意图,温度传感器收集出的温度数据通过二进制数组片选挑选数据通过LED显现,挑选的数据再与规范温度进行比较,温度过高降温处理、温度过低则升温处理。
2 首要功能模块的完成
操控模块如图2所示,其间两个PNP三极管的效果是在P1输出操控信号时起到开关效果,依据图中的三极管接法,当输出操控信号为低电平时,三极管通导,此刻P2继电器中有电流通过,使其3和6引脚接通。规划中因为选用的三极管对电流的要求较高,而又因为继电器内部能够以为适当所以一个电感,因而在继电器刚刚上电的时刻,三极管发射极和集电极电流将会很大,很简单将三极管焚毁,因而加装稳压二极管D2,使继电器上电作业的时刻,瞬间电流通过二极管回路而不是通过三极管,就能够有用维护三极管不被焚毁。
外部输出信号为低电平时,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所示。
依据顶层原理图,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上显现出数字,读取成果。
对温度显现模块display进行软件仿真测验,设置输入shi[3..0]、fen[3..0]、ge[3..0]别离是“0100”、“0011”、“0010”,则其对应10进制数应为“43.2”。仿真成果如图6所示。
由仿真示意图可看出,片选信号由时钟信号操控循环改变,而对应输出的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%左右,也是能够承受的规模。
5 结束语
从测验成果上看,规划的首要意图现已到达,体系运转牢靠,精度也已到达规划要求。但规划中仍存在必定缺点,首要缺点在于本规划中所运用的预设温度是固化在程序中,一旦体系开端作业,就不能再更改预设的温度,因而本体系比较适用于不会常常改变设置温度的场合。改变设置温度的场合。