您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页基于单片机的功率调节装置的设计

基于单片机的功率调节装置的设计

来源:华佗小知识


摘 要

目前单片机实际应用以及教学中主要以51以及52芯片为核心制作开发板,其自身具有性能稳定,价格比较低廉,操作性比较高等优越的特点。本次设计的目的是实现对加热设备输出功率的调节,以控制晶闸管的导通角的形式实现,应用仿真软件以及程序编制软件进行程序的编译、调试以及电路图的绘制,最终实现了相应的功能,并且达到了对于单片机的学习、设计、软硬件开发的能力。

本次设计以STCC52单片机芯片为核心,通过编写的程序进行控制,以LM1602为显示屏,同时以其他外围电路辅助,实现对加热设备的输出功率的控制,同时用户可以根据自身需要通过按钮调整温度上限,实现平滑的温度上升以及温度恒定,具有较好的人机操作界面。

关键词:单片机;功率控制;过零触发

I

Abstract

Currently practical application and teaching of SCM mainly 51 and 52 chips as

the core production development board, which itself has a stable performance, relatively inexpensive, relatively higher superior maneuverability characteristics. The purpose of the design is to achieve the output power of the heating equipment adjusted to control the thyristor conduction angle form realization, application simulation software and programming software for compiling, debugging, and draw circuit diagrams, and ultimately realizes the corresponding function and reached for the study, design, hardware and software development capability microcontroller.

STCC52 microcontroller chip as a core of the design, through the preparation

of program control to LM1602 for the display, while other peripheral circuits auxiliary, heating equipment to achieve the output power control, while the user can limit the temperature buttons to adjust according to their needs achieve a smooth increase in temperature and the temperature constant, and has good man-machine interface.

Key Words:Microcontroller; Power Control; Zero Trigger

II

目 录

绪 论 ............................................................................................................................................... 1 1 系统功能要求 ....................................................................................................................................... 2

1.1 系统功能概述............................................................................................................................ 2 2 方案设计 ............................................................................................................................................... 5

2.1 系统整体设计............................................................................................................................ 5 2.2 设计方案选择............................................................................................................................ 5

2.2.1 单片机选型 .................................................................................................................... 5 2.2.2 温度检测设备选型 ........................................................................................................ 6 2.2.3 显示设备选型 ................................................................................................................ 6 2.2.4 过零检测设备的选择 .................................................................................................... 6 2.2.5 启动触发设备的选择 .................................................................................................... 7 2.3 芯片简介 ................................................................................................................................... 7 2.4 系统电路设计.......................................................................................................................... 13

2.4.1 复位电路...................................................................................................................... 13 2.4.2 晶振电路...................................................................................................................... 14 2.4.3 程序下载电路 .............................................................................................................. 14 2.4.4 显示电路...................................................................................................................... 15 2.4.5 温度检测电路 .............................................................................................................. 16 2.4.6 过零检测电路 .............................................................................................................. 16 2.4.7 加热电路...................................................................................................................... 17 2.5 系统I/O接口设计 .................................................................................................................. 18 2.6 系统软件设计.......................................................................................................................... 19 3 系统调试 ............................................................................................................................................. 20

3.1 软件调试 ................................................................................................................................. 20 3.2 硬件调试 ................................................................................................................................. 20 3.3 仿真调试 ................................................................................................................................. 20 4 总结 ..................................................................................................................................................... 23

4.1 结论 ......................................................................................................................................... 23 4.2 心得 ......................................................................................................................................... 23 参考文献 ................................................................................................................................................. 24 致 谢 ............................................................................................................................................. 25 附录1 硬件电路图 ................................................................................................................................ 26 附录2 程序代码 .................................................................................................................................... 27

III

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 绪 论

在高科技快速发展的当今时代,人们的生产以及生活方式发生了非常明显的变化,而产生这一巨大变化的重要原因就是微机技术以及集成技术的发展,其中就包括了微电子技术的高速发展。而单片机在工业控制、家用设备、通信、信息处理设备、便携设备、尖端武器等各种领域的应用中都占有相当大的比重,其开发技术已成为电子、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。

人们通过对火的使用,实现取暖以及进行食品的加工,这是人类文明进步之中不可缺少的因素,但是具有温度难以控制,需要人为的不间断操作,并且容易造成火灾等危险。

而在现今生活中,用单片机设计的功率调节已经成为了单片机实验中一个很常用的项目。原因是因为它具有很好的开放以及开发者的可发挥性,不仅考察了对单片机的掌握能力,同时也考察了单片机扩展应用,并且在硬件设计电路中也要力求简洁,功能齐全,显示的效果优异,对于实际的操作人员的的要求比较高。

本次的毕业设计说明书主要对以STCC52芯片为核心辅以外围扩展电路实现对加热设备的加热功率的调节。通过程序以及各种电路构成了一个单片机功率调节以及当前温度显示,具有显示准确当前温度的功能,同时可对温度上限进行手动调整,由于采用了LCD1602进行显示,所以具有了夜视功能,具有比较优异的人机交互功能,并且本次设计的过零检测以及启动触发部分采用了单独的芯片电路实现,具有较好的稳定性。

鉴于本人水平以及能力有限,本次毕业设计设计以及毕业设计说明书中难免会有错误以及不足之处,恳请各位老师和同学批评指正。

36页 第1页,共

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 1 系统功能要求

1.1 系统功能概述

系统功能:

本次毕业设计所实现的主要功能的是:以STCC52芯片为核心,配合温度检测电路、供电电路、显示电路、过零检测电路,触发电路等扩展电路,使用12MHz的晶振连接单片机的晶振接口(XTAL1、XTAL2)给系统的正常工作保证稳定的震荡信号,保证整个系统的的稳定安全的运行。RST接口连接复位电路,进行运行过程中意外状态(比如程序跑空等)的复位。而温度的检测则是对加热炉的输出电压模拟信号通过运放然后经过模数转换芯片(MX1241)转换为成为数字信号,而通过单片机的P2.3/A11、P2.4/A12、P2.5/A13三个接口实现温度信号的控制输入。由于需要进行加热设备输入电压正弦波的斩波,所以需要使用电源过零点检测电路,检测电源输入波形过零点的位置时间,将过零信号输入到P3.2/INT0接口以引起外部中断,配合程序在P2.6/A14接口输出延时的启动信号,经过7407(缓冲驱动器)进入MOC3021(光电耦合器)触发双向晶闸管导通和断开,进而驱动加热设备进行加热控制,又因为电源的频率较高,一个周期会触发两次中断,如果应用一个芯片将会导致过零模块影响到其他模块的正常运行,为了稳定性的考虑本次设计采用了两块单片机进行分工协作,大大提高的稳定性。通过P1.0/T2、P1.1/T2EX两个接口实现用户根据自身需要对于温度的上限的调节。通过P0口输出LCD显示器的信号,由于P0口没有驱动能力,所以辅助10K电源上拉电阻驱动LCD1602,其中显示器的RS、RW、E三个控制接口分别连接P2.0/A8、P2.1/A9、P2.2/A10进行显示器的数据写入读出的控制,显示用户设置的最高温度以及当前的温度。通过MAX232(电源电平转换芯片)连接RS232串口进而于P3.0/RXD、P3.1/TXD连接进行程序的烧录。 系统要求:

(1) 通过电平转换电路经过串口对程序进行下载烧录 (2) 用户可根据实际需要通过按键来增减上限温度数值 (3) 实现对当前加热炉的加热温度进行实时检测 (4) 实现将上限温度以及当前温度进行显示以及夜视功能 (5) 确保实时加热炉的温度的显示控制的准确性 (6) 实现过零检测的精确性和稳定性

(7) 实现对电源输入正弦波的斩波时机的智能控制

(8) 硬件电路的设计力求正确,电源电路以及信号传输电路之间力求避免干扰

36页 第2页,共

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 (9) 程序的设计力求简洁较少占用CPU资源且功能全部实现 (10)电路的连接避免交叉以及节省材料 (11)整体设计力求经济性以及稳定性良好 (12)整体设计力求绿色无污染

(13)要求整体设计具有相对比较好的操控性能 系统技术指标:

最小系统: 芯片:C52 工作电压:+5V 外接晶振:12MHz 晶振电容:22pF 复位电阻:1K 复位电容20uF

保证晶振震荡正常,程序下载以及系统稳定运行 通信部分: 串口:RS232 电平转换:MAX232 程序下载烧录稳定 供电部分

电源:220V市电经变压器转换 电压:5V

供电电路与通信电路之间必须保持足够的距离,避免造成干扰 显示部分: 显示器:LCD1602 电压:+5V 复位电路:自带

数据存储:80字节DDRAM

点阵:192个5X7点阵的字型的字符发生器CGROM 上拉电阻:10K

36页 第3页,共

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 按键部分: 数量:2个 类型:点动 温度检测部分: 芯片:MAX1241 放大器:LM108 电源:+12V 启动触发部分: 光电耦合器:MOC3021 控制端电压:+5V 双向可控硅:Q5006L4 加热设备:OVEN

36页 第4页,共

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 2 方案设计

2.1 系统整体设计

本设计的总体思路:通过OVEN加热炉加热设备的电压模拟信号通过运算放大器经由A/D转换芯片转换为数字信号输入到单片机中进行实时的温度检测比较,并在LCD显示屏上进行显示。通过过零检测电路对电源输入的波形信号进行检测是否经过零点,然后将经过零点的信号输入单片机,单片机根据所收到的电源输入过零信号经程序自动判断然后延时输出启动触发信号,通过光耦控制加热设备的启动。整体系统的结构如下:

图 2-1 系统结构图

2.2 设计方案选择

本设计若实现功能可以使用多种元器件来满足所需,其中单片机芯片、温度检测设备、显示设备、过零检测设备、启动触发设备都需要进行论证选择。

2.2.1 单片机选型

在本次毕业设计中,芯片可以提供选择的有两种:

方案一:采用ATC52芯片为核心芯片,ATC52是由爱特梅尔公司生产的具有比较良好的性能的8位处理芯片,其拥有8KB的可以多次檫写的存储器,包含12B的随机存取数据存储器,可以相对较好的兼容标准为MKONGZHI-51的指令系统。[1]

方案二:采用STCC52为核心芯片,此芯片与爱特梅尔公司生产的芯片C52的技术参数大致相似。

综合考虑比较方案一以及方案二,由于,但是STC芯片具有程序烧录方便并且价格低廉并且稳定性能较好等优点,用户使用起来调试以及安装连接更加方便和快捷本次设计选择方案二,即选择STCC52作为核心芯片。

36页 第5页,共

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 2.2.2 温度检测设备选型

在本次毕业设计中,温度的检测电路部分的设备可以有两种选择方案:

方案一:以DS18B20为温度检测设备,其具有操作简便,程序编写容易,线路连接方便等优点,但是温度在-–55°C —+125°C (–67°F —+257°F),且需要做好密封防水等措施,较为麻烦。[2]

方案二:以OVEN加热炉的电压输出点采集电压信号,经过运算然后输入A/D进行模数转换,将转换后的数字信号发送给单片机进行换算,最终换算为温度数据在显示器上显示以及在程序中进行运算。

综合比较上述两个方案,再考虑到本次设计实际应用中需要应用到加热炉,温度上限较高,且需要温度的检测精确,并且温感由于引脚问题而需要进行密封,但是加热炉温度可能会比较高,对于密封材料的要求也会相对较高,这无疑增加了整个设计的成本,加热炉的温度中各个地方有差异,无法获得准确的温度,所以采用方案二。[4]

2.2.3 显示设备选型

在本次毕业设计中,显示器的选择可以选用两种设备进行选择:

方案一:采用数码管进行用户设置的上限温度以及当前温度的显示,此种显示方法价格低廉,但是需要单独增加驱动电路,而程序编制中需要对数码管输入信号进行循环扫描,以保证显示数字闪烁间隔小于人眼所能识别的时间,这样才可以使人眼看起来数字的显示是连续变化的。[5]

方案二:采用液晶显示器LCD1602进行显示,此种显示方式编程不是很复杂,不需要单独的驱动电路,在单片机接口增加一个电源上拉电阻便可驱动,且具有良好的夜视功能,人眼观察无闪烁之感,对于整个电路的影响较小。

综合考虑上述两种方案,同时考虑到本毕业设计的难易程度以及可操作性,选择方案二使用液晶显示屏进行数据的实时显示,LCD显示器显示的清晰度比数码管好,而且使用者的操作要相对来说简单,扩展性较好,界面相对好看。[6]

2.2.4 过零检测设备的选择

方案一:先将电源进行变压,然后通过二极管整流,信号输入到三极管,三极管充当开关元件,然后连接非门取反,将数据输入单片机的外部中断0端口,当电源正弦波经过二极管整流电路后成为连续的半波,每个周期有两个零点,非门将零点信号输入到中断接口引起单片机中断,再有中断程序进行判断运行输出启动触发信号。[8]

方案二:将电源进行变压后输入到双向光电耦合器,光耦另一端经运算放大输入到单片机的

36页 第6页,共

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 中断端口进行触发中断,再由单片机内部中断程序进行比较运算输出相应的加热设备的启动触发信号。

综合考虑本次设计所要实现的功能以及环境,考虑选择方案一,因为方案一进行仿真更加清晰方便易懂,并且稳定性较好,并且方案一电源经由电源整流后的连续半波更加容易进行检测,容易进行电路设计,同时为了稳定性以及可靠性的考虑,采用两个单片机芯片进行分开控制,一个单片机主控按键部分,显示部分,温度检测部分等,另外一个主控过零检测和触发部分。

2.2.5 启动触发设备的选择

启动触发在本次毕业设计中可以采用两种方案:

方案一:采用继电器Relay进行加热设备的启动以及断开的控制

方案二:采用双向可控硅串联在加热电路中,双向可控硅的导通角采用光电耦合器进行弱电控制强电进行控制,通过程序自动输出的启动触发信号改变导通的角度的大小来调节加热设备的功率的大小。[10]

通过对比两种方案以及考虑本次设计所实现的功能的特点,本次设计采用方案二,即以双向可控硅作为加热设备的功率调节元件,同时加以继电器的主电路控制以增强安全性。方案二具有功率调节的精准性以及稳定性,并且用户可以根据需要以及各种不同的场合进行导通角的设置,只需要对程序中的数据进行简单的更改即可。并且光电耦合器具有隔离的作用,这样弱电部分与强电部分不会形成干扰,且具有控制更加的准确和安全的性能。同时应用双向可控硅进行加热设备功率的调节具有比较实际的意义,因为现实生活中我们的加热设备一般情况下都是导通的交流电,那么双向可控硅就可以进行正向和反向的导通角度的大小的控制,这样功率的调节的效率更加的高且不浪费资源。

2.3 芯片简介

通过上述系统的方案的选择和对比,本次毕业设计的主要的硬件的选择已经基本可以确定,本段将对这些硬件的功能,技术要求,参数等进行比较详细的说明。 STCC52

STCC52是宏晶科技公司生产的高速运算芯片,具有功耗比较低、运算速度较快、抗干扰能力超强以及可以很好的适合传统的8051系列,并且STCC52的芯片在进行开发板程序烧录时可以不进行MAX232芯片进行烧录电路的设计,可以直接采用下载器连接单片机的读写引脚,使用烧录软件对单片机进行程序下载的时候只需要对单片机进行一次冷启动便可以向单片机的存储器之中下载十六进制的程序。[9]

36页 第7页,共

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 具体的参数性能介绍如下: 主要特性如下:

(1) 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完

全兼容传统8051。

(2) 工作电压:5.5V—3.3V(5V 单片机)/3.8V—2.0V(3V 单片机)。

(3) 工作频率范围:0—40MHz,相当于普通8051的0—80MHz,实际工作频率可达48MHz。 (4) 用户应用程序空间为8K字节。 (5) 片上集成512字节RAM。

(6) 通用I/O口(32个)复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输

出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。

(7) ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可

通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。 (8) 具有EEPROM功能。 (9) 具有看门狗功能。

(10) 共3个16位定时器/计数器。即定时器 T0、T1、T2。

(11) 外部中断4路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电

平触发中断方式唤醒。

(12) 通用异步串行口(UART),还可用定时器软件实现多个UART。 (13) 工作温度范围:-40—+85℃(工业级)/0—75℃(商业级)。 (14) PDIP封装。 各引脚功能:

(1) 40引脚:电源电压 (2) VSS:接地

(3) P0:漏极开路的8位双向I/O口 (4) P1:带内部上拉电阻的8位双向I/O口 (5) P2:带内部上拉电阻的8位双向I/O端口 (6) P3:带内部上拉电阻的8位双向I/O端口 (7) RST(9引脚):复位输入

(8) ALE/ ROG:锁存低8位地址的输出脉冲 (9) PSEN:选通信号输出引脚

(10) A/VPP:访问外部程序存储器控制信号 (11) XTAL1:振荡器输入端

36页 第8页,共

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 (12) XTAL2:振荡器输入端[11]

图 2-2 STCC52 40引脚封装

内部结构:

P0.0~P0.7P2.0~P2.7P0驱动器VCCVSSRAM地址寄存器P0锁存器P2驱动器RAMP2锁存器EPROM或ROM程序地址存储器B寄存器ACC暂存器2ALUPSW暂存器1SP缓冲器特殊功能寄存器中断、串行口及定时器/计数器PC增量器PCPSENALEEARESET定时及控制指令寄存器DPTRP1锁存器P3锁存器振荡器P1驱动器P3驱动器XTAL1XTAL2P1.0~P1.7P3.0~P3.7图2-3 C52内部结构

36页 第9页,共

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计

MOC3021

图2-4 MOC3021

MOC3021是摩托罗拉公司生产的光耦,可用于弱电控制强电,以及弱电和强电之间的隔离,效果较好,使用方便,即时的触发功能。

MOC3021的技术参数: 隔离电压:7500V

输出类型:双向可控硅驱动 输入电流:60mA 输出电压:400V 通道数:1

MOC3021引脚功能:

输入端1:弱电电源输入端(控制端) 输入端2:弱电电源输出(控制端) 输出端6:强电电源或用电器 输出端4:强电电源或用电器[12]

第10页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 MAX1241

MAX1241是一种功能损耗相对比较低,并且最低可启动的电压也比较低的ADC转换元件,拥有12位串行。次芯片的最大非线性的误差可以低于1LSB,转换的时间可以精确到9us,其内部结构如下图所示。

图2-5 MAX1241内部结构及引脚

MAX1241的供电部分需要用单相的电源进行供电,当它以73K的转换速度工作的时候,所需要的电流仅为0.9mA,而当其工作在休眠模式之下时的电源电流仅为1uA即可,其管脚定义如下:

管脚1:VDD 电源输入 管脚2:VIN 模拟电压输入 管脚3:SHDN 节电方式控制端 管脚4:REF 参考电压输入端 管脚5:GND 接地 管脚6:DT 串行数据输出 管脚7:KONGZHI 控制端 管脚8:SK 驱动时钟的输入[13] 其工作时序图如下:

图2-6 MAX1241时序图 36页 第11页,共

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 MAX232

MAX232是由Maxim生产的一种专为通信接口的设计芯片,比较适用于电源供电系统,对于电流以及电压的要求不是很高,功耗也同样较低,但是速度却可以达到1Mbps,自身成本也比较低。其可应用于以下领域:便携式计算机,低功耗调制解调器,接口转换等。[14]

图2-7 MAX232芯片

LCD1602

本设计考虑过两种显示电路,一是使用多个数码管进行数据显示,另外一个是使用液晶显示屏进行温度数据的显示。最终根据实际需要选择了液晶显示屏幕LCD1602,此液晶显示屏显示效果优异,而且具有夜视的效果,其实物外观如下图所示:

图2-8 LCD1602引脚图以及实物图

如上图所示,LCD1602具有16个引脚,其中7至14脚是属于数据端,引脚1和2分别为电

第12页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 源的接地以及+5V电源接入端,具体的引脚定义如下:

第1脚:VSS为电源地。 第2脚:VDD接5V电源正极。

第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。 第6脚:E(或EN)端为使能(enable)端。 第7~14脚:D0—D7为8位双向数据端。

第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。

2.4 系统电路设计

本次毕业设计的各个主要硬件模块为:复位电路、晶振电路、按键电路、模数转换电路、加热电路、过零检测电路等必要的电路组成。

2.4.1 复位电路

复位电路作为系统之中的一个基础的电路具有非常重要的作用,当程序运行的过程中出现意外情况,例如程序跑空或者卡死等,复位电路可以将程序复位重新正常开始运行,而不需重启整个系统,相对来说比较方便快捷,所以复位电路相对来说是一个非常重要而且基础的电路部分,在各种特殊或者紧急情况下可以起着重大作用的电路,并且设计简单,操作方便,所以对于开发设计人员来说复位电路是必须要熟记的一个基本电路,具体的电路图如下所示:

图2-9 复位电路

如上图所示,复位电路中采用了大小为1K的电阻连接接地端,+5V的电源输入端连接按钮和20uF的电容并联接入RST复位端,在无操作的状态中,RST接口默认为无电平输入,当按下

第13页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 按钮时即为复位状态,接口为高电平,系统进入复位状态,松开后接口又重新变为低电平状态。复位电路属于最小系统之中必不可少的一部分,具有非常重要的作用,而且其元件以及接线简单,操作方便,适用性比较强,所以在系统开发的电路设计之中属于首先设计的电路。

2.4.2 晶振电路

晶振电路属于最小系统之中的一个重要部分,电路的正确设计可以给系统的运行提供正确的震荡,其连接线路如下所示:

图2-10 晶振电路

如上图所示,晶振电路之中并联两个电容值为22pF的电容,连接接地端,然后与12MHz的晶振连接,分别接入单片机的晶振上拉接口之中,形成一个完整的晶振震荡电路。晶振电路是最小系统中的一个必不可少的部分,因为系统的运行需要晶振电路提高精准的震荡,可以说晶振是否正常起振对整个系统的正常运行起着至关重要的作用,若是这个电路无法运行,或者晶振距离芯片的距离过远,则晶振电路则无法运行,那么整个系统将处于无法工作的状态。晶振电路属于关键电路,系统开发设计人员在设计系统的时候最小系统当属于优先计算和绘制的电路部分。

2.4.3 程序下载电路

程序下载电路是用于用户使用计算机编程且可以正常编译后将16位的HEX文件下载到单片机内部存储之中的媒介。由于程序的编制是通过计算机进行的,无法直接写入芯片存储之中,所以下载电路就属于不可或缺的电路。

程序下载电路如下图所示,由电脑的RS232接口连接到MAX232芯片,由于电脑的串口输出电压比较高,所遇需要由电平转换芯片即MAX232进行电平转换,然后输入到单片机的两个数据读写端口完成程序的下载烧录工作。程序下载电路是系统设计之中的一个重要的部分,设计连接完整之后只需要一根具有串口公母头的数据线就可以对芯片进行下载烧录程序的工作,简单方

第14页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 便快捷,编程成员将程序编辑完成之后可以很方便的通过该电路下载程序,属于系统开发设计前期需要进行设计的一个电路。

图2-11 程序下载电路

2.4.4 显示电路

本次的毕业设计的温度数据(包括用户根据自身需要设置的上限温度以及加热炉的实时温度)需要进行显示以实现设计的可视化和合理性。LCD1602显示屏市面上大多是使用的HD44780芯片,带有内部字库,程序编写方便,显示效果良好,并且可以自调对比度,硬件线路连线简单方便,具体的线路连接如下图所示:

图2-12 LCD1602显示器连线图

如上图所示为1602显示屏的详细接线图,其中数据端口接在芯片的无驱动能力的P0口,由于没有驱动能力,所以需要在数据端口接一个电源上拉电阻,以供驱动显示屏的数据传输。其中数据控制端口需要配合程序将实时数据读写,其中VEE为调节分辨率的一个接口,用于调整屏

第15页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 幕的显示效果,一般情况下可以考虑连接一个可调电阻用于用户自行调整屏幕的分辨率。

2.4.5 温度检测电路

本次设计之中可以选用18B20或者选择通过电压的模拟量经由模数转换为温度数据,然后将信号传送给芯片经过计算换算为温度值。在考虑到本次毕业设计之中需要用到加热炉,温度传感需要对其自身进行密封和保护,而加热炉温度可能会超过温感的上限温度,而且没有模数转换的效果好,所以选用模数转换电路进行温度的转换,其具体的电路图如下图所示:

图2-13 温度检测电路

如上图所示,温度检测的电路最末端是连接的加热炉的电压输出端,再经过两个运放进行信号处理,两个运放的外接电源和电阻的大小都是固定的,然后将输出的信号输入给模数转换芯片(MAX1241)进行转换,然后由单片机的程序对转换芯片的数据进行读写,将数据经过程序进行换算,进而成为实际温度数据,然后对温度数据进行对比输出启动触发信号。[15]

2.4.6 过零检测电路

本次毕业设计的目的是对加热设备的加热功率进行调节,而方式是运用斩波的方式进行,那么触发信号的延时必须要有一个基准点来提供延时的时间,即参考点,而这个参考点就是电源电压的零点,当单片机接收到电源的过零信号的时候,启动程序就进行一定时间的延时然后输出触发信号,启动加热设备进行加热,由于延时效果加热设备的功率就得到调节,同时因为过零检测需要应用到单片机的两个外部中断资源,从而会影响到其他的模块的正常运行,所以采用了单独的单片机进行过零信号的采集。

如下图所示,市电的电源经过电压期变压为+5V左右为单片机可以识别输入的电压后,再连接一个变阻器,用于调整波形,适应性更强。变阻器调节端接入LM108电压比较器,电压比较器的两个电源极都是输入+12V的直流电源,输出端分别接一个和两个反向器,反向器输出的电压为+5V左右,反向器在这里起到了很关键的作用,不仅可以输出相对稳定的波形,而且电压变

第16页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 化平滑,电源的正弦波一个周期中波形由正向往负向变化过零点时电压比较器输出一个负跳变信号,波形从负方向往正方向变化时输出一个正跳变,由于单片机外部中断的触发只能识别低电平和负跳变,而正跳变无法触发中断,如果直接接入中断一个波形周期中只能检测到一个零点,而一个周期实际上有两个零点,所以在电路中接入了一个反向器进行检测正跳变经反向变为负跳变,而负跳变经过两次反向变压整波形接入外部中断,触发中断,进而自动运行中断的程序,进行延时触发的程序,最后触发启动加热设备。[16]

图2-14 过零检测电路

2.4.7 加热电路

加热炉OVEN与双向可控硅串联接入电源电路中。而单片机的延时触发信号经过运放后输入到光耦之中,由于单片机发出的电压比较低,而加热部分的电压较高,所以需要光耦进行电压的隔离,即弱电控制强电进行操作,光耦强电部分一端与电源相接,另外一端与可控硅的门极控制端连接,通过可控硅的触发脉冲要求以发出触发脉冲控制可控硅,进而控制功率的变化。而加热炉的温度输出端则经过温度转换电路传输到单片机进行数据处理,进而通过内部程序换算进行对比,再由启动程序控制输出延时启动触发信号,由此便构成了一个闭环的反馈控制回路。[7]

加热设备是采用双向可控硅串联在加热设备之中的,当实际温度与用户设置的温度相差较大的时候,需要加热设备的功率调整到比较大,那么斩波的大小就要相应的变小,即在计算出电源的周期时间后根据实际选择延时的时间。而当实际温度接近于用户设置的温度时,延时触发的程序进行的延时时间则相应的增加,以降低加热的功率,实现对加热设备功率的调节作用,整体电路设计简单,无需人为的操作,实用性较强,同时因为本次设计将过零检测以及启动触发电路由一个单独的单片机进行,所以触发启动模块的输出相对稳定抗干扰性比较强。为了防止系统卡死或者其他特殊情况发生导致加热出现持续加热的危险情况,所以在加热炉的主电路串联了一个继电器进行保护,在当前温度到达用户所设定的温度上限的时候进行断开以提高安全性能。[9]

第17页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 图2-15 加热电路

2.5 系统I/O接口设计

本次毕业设计之中系统的I/O接口的设计分配如下: (1) P0.0——P0.7:LCD液晶显示屏数据传输 (2) P1.1、1.2:按键

(3) P2.0、2.1、2.2:LCD液晶显示屏的数据控制 (4) P2.3、2.4、2.5:ADC数据读写控制 (5) P2.6:加热设备的延时启动触发 (6) P3.0、3.1:串口数据下载 (7) P3.1:电源过零检测输入 (8) XTAL1、XTAL2:晶振 (9) RST:复位 (10) EA:+5V电源输入

第18页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 2.6 系统软件设计

设计的程序部分有软件Keil C51进行编辑和编译,然后将编译后的十六进制HEX文件下载烧录进入单片机存储器之中,具体的程序的流程图如下图所示:

图2-16 程序流程图

第19页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 3 系统调试

本次毕业设计的过程中遇到了很多问题,后来经过一步步的调试才得以成功,总体可分为软件调试以及硬件调试。

3.1 软件调试

本次毕业设计的软件调试工具主要依靠单片机仿真软件Proteus 7 Professional以及Keil C51软件,虽然仿真软件中无法调用STC单片机,但是由于STCC52与ATC52相差无几,所以我采用的是ATC52芯片来进行调试。在画硬件接线原理图的时候一定要先在草稿纸上或者脑海里根据I/O接口以及所实现的功能将每个芯片以及接口等元件的位置摆放合理之后再进行画图。不然会出现不停涂改,事倍功半。硬件线路接好之后再进行程序的调试,由于整个程序是主程序调用各个功能的子程序来实现的,所以程序调试最好分部进行,比如检测当前环境温度这个功能就可以单独拿出来检测子程序是否正确,这样就可以保证每个子程序的正确性,同时也提高了调试的效率。充分利用Keil软件的功能,准确查找出程序的常规错误,根据软件提示修改程序。在配合仿真软件调试的时候,如果出现可以运行,但是运行不正常的时候,尝试修改程序中的变量数值,以达到运行正常的目的。

3.2 硬件调试

本次毕业设计是基于Proteus 7 Professional仿真软件平台之上进行完成的,电路的连接要比实操要方便快捷一些,但是必须要对于本软件要熟练应用,需要补充一些专业的英语知识。单片机最小系统的构建是应该需要熟记在心中不需要查阅其他资料就可以在仿真上绘制出来的。显示电路的调试中则需要将P0口的上拉电阻的电阻值大小设置为规定数值,不可以随意从元件库中调用而不更改数值大小。电源电路中变压器的匝数比的计算需要查阅公式进行计算,由于仿真软件的性能则需要将电源的频率降低一部分,并不影响仿真的效果。过零检测需要对于三极管有足够的了解,三极管可以充当放大以及开关作用,而本次毕业设计中的过零检测电路部分是采用的三极管的开关作用。调试的过程中非常重要的一点是要熟练掌握示波器的使用,它可以根据所需显示出波形,可以根据波形判断运行是否正常,程序以及硬件电路是否连接正确。

3.3 仿真调试

本次毕业设计运用Proteus 7 Professional软件进行仿真测试,根据本次设计的目的进行仿真调试,测试设计目的是否已经达到,由于示波器的波形显示比较直观并且具有实时性,所以根据波形可以准确的达到调试的目的。

第20页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 1、当温度差范围在20度以上时,电源波形以及触发波形如下所示:

图3-1 温差20度以上波形图

2、当温度差范围在10度至20度以内时,电源波形以及触发波形如下所示:

图3-2 温差10度至20度以内波形图

3、当温度差范围在0度至10度以内时,电源波形以及触发波形如下所示:

图3-3 温差0度至10度以内波形图

第21页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 4、当温度差范围小于等于0度时,电源波形以及触发波形如下所示:

图3-4 温差小于0度波形图

通过以上四个测试事例可以看出如下结果:

1、当温差在20摄氏度以上时启动触发延时5ms进行触发,导通角为176.4度; 2、当温差在10至20摄氏度之间时启动触发延时100ms进行触发,导通角为108度; 3、当温差在0至10摄氏度之间时启动触发延时200ms进行触发,导通角为36度; 4、当温度差小于等于0摄氏度时启动触发持续输出高电平,导通角为0度。

根据以上测试结果可以得出结论:针对显示、按键等模块对过零检测以及启动触发模块的正常运行形成影响的问题进行的解决办法,即采用双CPU结构进行协制,主CPU控制按键、显示、温度采集等模块,控制CPU主要负责过零检测、启动触发模块,两个单片机分工协作,互不干扰。以上测试所得结论既可以证明提出的双CPU结构的方法是有效的,可以正常运行并且解决问题的。

第22页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 4 总结

4.1 结论

通过XXX老师的辅导,以及自身的努力,本次毕业设计任务顺利完成,所要求的功能都已经全部实现。最小系统运行正常,按键可以调节温度上限,过零检测电路运行正常,加热电路中电热炉可以控制加热,液晶显示器显示效果正常,实时温度检测以及显示正常,整个设计都已经达到了要求的状态

4.2 心得

在此次毕业设计的过程中,虽然本人能力有限,但是在XXX的教导和自身的奋斗中一直都坚持,遇到了不会的问题则去网上查找相关资料进行学习操作,对于不熟悉的芯片则去官网下载芯片对应的技术资料进行查看,遇到了生疏的电路例如过零检测电路则先自己去查找资料,如果还是无法解决则去询问XXX,多数情况下经过XXX的指导都可以将问题解决而且可以学习到很多知识。

在设计过程中,学过类似的课程的师兄们就成了我的移动词典,遇到自己想不通的就会去咨询他们,有时候在他们的讲解下自己可以弄明白一些问题。

综合本次设计,所需要达到的功能已经实现,但是还是有一些不足之处,比如过零检测的触发电路触发偶尔会在仿真的平台中出现混乱的情况,也有可能属于仿真软件自身的问题,波形显示不是很完美,另外就是电路的知识依然有一些欠缺,导致比如加热电路中双向可控硅的线路连接不是很熟练。根据此次设计所暴露出来的个人知识点的缺乏一定要在以后的时日里努力补充巩固相关的知识,并在以后的开发设计中注意避免再次出现类似问题。

第23页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 参考文献

[1]李朝青编著.单片机原理及接口技术[M].北京航空航天大学出版社,2005.

[2]柳淳编著.电子爱好者入门要诀(技能篇)[M].中国电力出版社,2010年6月第1版.

[3]吉顺如.刘新铭.辜碧容.唐政编著.C语言程序设计教程(第二版)[M].机械工业出版社,2010年3月第2版.

[4]王先静.基于Proteus仿真的智能温室监控系统设计与实现[D].云南大学 ,2011. [5]郑晓霞.基于ATS51单片机实验开发系统设计[D].内蒙古大学 ,2009. [6]张菁.单片机温度控制系统方案的研究[J].上海交通大学学报,2007(01). [7]俞欣滢.曾志强.孙仪彬.基于单片机的温度控制系统设计[J].电气应用,2009(20). [8]卿燕玲.李蕾.基于单片机的温度测控系统的设计与实现[J].信息技术与信息化,2006(03). [9]谢剑英编著.微型计算机控制技术[M].国防工业出版社,1991. [10]李均宜编著.炉温仪表与热控制[M]. 机械工业出版社, 1981.

[11]朱.陈三宝.电加热炉炉温控制系统设计与仿真[J].自动化与仪器仪表,2006(03). [12]王俊省主编著.微计算机检测技术及应用[M].电子工业出版社,1996. [13]库志强.张锡兵.杨扬.基于单片机的温湿度控制系统[J].机电信息,2006(12). [14]彭晏飞.董莉.温室温湿度控制系统设计[J].中国科技信息,2007(12). [15]佟兆祥.温室温湿度控制技术与设备[J].农业机械化与电气化,2003(04).

[16]张胜超.新型光照培养箱控制系统设计与实现[J].盐城工学院学报(自然科学版),2001(04).

第24页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 致 谢

关于本次毕业设计,感慨良多,一开始做的时候对于原理只是有一个比较模糊的理解,原本以为比较容易就可以掌握,但是实际上进行学习操作的时候却发现困难重重,真正地体会到了理论与实践的差距,即使理论已经看似完全掌握也需要进行实践论证才能发挥其作用。在最初的接触此次设计时就卡在了过零检测电路的选择上面,由于是采用仿真进行模拟,元件库中的元件数量并不是很充足,开始选用的过零电路虽然可以实现功能,但是波形有震荡,不是很精准,后来通过老师朋友的帮助和自己的努力,终于用电压比较器和反向器组合了一个稳定可靠的过零检测电路,实测已经完全可以满足要求。本次整个毕业设计是对自己大学以来所学知识点的一个比较完整的归纳总结以及应用,真正把理论知识应用到实践之中去。当然,整个设计过程之中也充分说明了一个道理,那就是除了良好的专业基础知识以外,还需要拥有耐心和细心,本次在调试过程中,程序的定时以及延时一直都没有很好的解决,经常占用CPU大量的资源,后来经过多方的努力采用了一个中断定时器进行计时才解决了问题。所以,在设计过程中,一定要对自己有信心,同时也说明不管我们以后做任何事情,都需要有信心,恒心,细心,耐心。

在大学的学习中,在我第一次接触单片机的时候,就对它产生了浓厚的兴趣,后来在XXX老师的帮助下,我决定做这个题目的设计。在此我感谢各位老师在我学习单片机的过程中给我的帮助和鼓励。同时,在这几年的学习生涯即将画上句号的时刻,我对所有曾经帮助过我的老师和同学们表示诚挚的感谢,往后的生活学习之中,我一定更加地努力,不辜负大家的期望。

在本次的温度控制系统的毕业设计中,我觉得我需要特别感谢我的辅导老师XXX,我在进行毕业设计的过程中遇到了很多问题,有些是自己的知识点的缺乏,有些是自己不够细心,但是XXX都耐心的给我讲解,让我得以掌握可以自己亲手将其完成。

第25页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 附录1 硬件电路图

硬件电路图:

第26页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 附录2 程序代码

主CPU程序清单: #include #include #include #define uchar unsigned char #define uint unsigned int sbit DT=P2^3; sbit SK=P2^4; sbit CS=P2^5; sbit KONGZHI=P2^6; //sbit DUANKAI=P2^7; sbit ANJIAN0=P1^0; sbit ANJIAN1=P1^1;

uchar code LcdBuf1[]= {\"Set temp:\uchar code LcdBuf2[]= {\"Rel temp:\uchar Vref=5; uchar a[6]; int t0;

uint SET_TEMP=60;

uint read_max1241() //读取max

{

uint voltage=0; uchar cont12=12; CS=1; SK=0; CS=0;

//存放12位数字量 //12位

第27页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 while(DT==0); //转换结束

SK=1; SK=0;

while(cont12--)

{

SK=1; //SK上升沿数据稳定并读出 voltage<<=1;

if(DT==1) voltage+=1; SK=0;

};

CS=1; return voltage; }

/*void yanshi_ms(uchar ms) //延时函数 {

uint i,j; }*/

void yanshi_ms(uchar ms) { uint i,j; for(i=ms;i>0;i--) for(j=120;j>0;j--); }

void ADC() //转换函数 {

long t;

for(i=0;it=read_max1241();

第28页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 }

t=(20000.0/4095)*t*Vref+1; //转换为电压值

a[0]=(t/10000)%10+'0'; //取得整数值到数组 a[1]=(t/1000)%10+'0'; a[2]=(t/100)%10+'0';

void wendu_kongzhi() {

uint CT,ST; ST=SET_TEMP;

//总控制函数

CT=(a[0]-'0')*100+(a[1]-'0')*10+(a[2]-'0'); if(CT>=ST) { KONGZHI=0; } else KONGZHI=1; //QIDONG=1; //yanshi_ms(10); // QIDONG=0; }

void anjian() //按键检测函数 {

if(ANJIAN0==0) yanshi_ms(1); if(ANJIAN0==0) SET_TEMP++; while(!ANJIAN0); if(ANJIAN1==0) yanshi_ms(1);

第29页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 if(ANJIAN1==0) SET_TEMP--; while(!ANJIAN1);

// xianshi_onechar(0,9,SET_TEMP/100+'0'); // xianshi_onechar(0,10,(SET_TEMP%100)/10+'0'); // xianshi_onechar(0,11,SET_TEMP%10+'0'); }

void initTimer(void) {

TMOD=0x01;

TH0=(65536-1000)/256; TL0=(65536-1000)%256; }

/*int flag1 = 0; int flag2 = 0;*/ main() //主函数 {

lcd_init();

xianshi_string(0,0,LcdBuf1); xianshi_string(1,0,LcdBuf2); Write_CGRAM(LcdBuf);

//向CGRAM写入自定义的摄氏度符号

xianshi_onechar(0,12,0); //显示自定义的摄氏度符号 xianshi_onechar(0,13,1); //显示自定义的摄氏度符号

xianshi_onechar(1,12,0); xianshi_onechar(1,13,1);

t0=0; /*IT0=1; IT1=1; EX0=1;

第30页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 EX1=1;*/ initTimer(); TR0=1; ET0=1; EA=1;

while(1) {

wendu_kongzhi();

anjian();

ADC();

/* if(flag1==1)

{

QIDONG=1;

if(t0%200==0) { }

xianshi_string(1,9,a);

xianshi_onechar(0,9,SET_TEMP/100+'0'); xianshi_onechar(0,10,(SET_TEMP%100)/10+'0'); xianshi_onechar(0,11,SET_TEMP%10+'0');

wendu_kongzhi();

}

flag1 = 0;

if(flag2==1) {

QIDONG=1;

wendu_kongzhi();

flag2 = 0;

//QIDONG=1;

第31页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 } */ }

/*void zhongduan1() interrupt 0 //外部中断1 { }

void zhongduan2() interrupt 2 //外部中断2 {

flag2 = 1; }*/

void timer0() interrupt 1//T0定时器 1ms {

TH0=(65536-1000)/256; TL0=(65536-1000)%256; t0++; }

控制CPU的程序清单:

#include #include #define uchar unsigned char #define uint unsigned int sbit QIDONG=P2^6; sbit DT1=P2^3; sbit SK1=P2^4; sbit CS1=P2^5; uchar Vref=5; uchar a[6];

uint SET_TEMP=60;

第32页,共36页

}

flag1 = 1;

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计

uint read_max1241() //读取max

{

uint voltage=0; uchar cont12=12; CS1=1; SK1=0; CS1=0;

//存放12位数字量 //12位

while(DT1==0); //转换结束

SK1=1; SK1=0;

while(cont12--)

{

SK1=1; //SK上升沿数据稳定并读出 voltage<<=1;

if(DT1==1) voltage+=1; SK1=0;

};

CS1=1; return voltage; }

void ADC() //转换函数 {

long t;

t=read_max1241();

t=(20000.0/4095)*t*Vref+1; //转换为电压值

a[0]=(t/10000)%10+'0'; //取得整数值到数组 a[1]=(t/1000)%10+'0'; a[2]=(t/100)%10+'0';

第33页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 }

int flag1,flag2;

void yanshi_ms(uchar ms) { uint i,j; for(i=ms;i>0;i--) for(j=120;j>0;j--); }

void chufa_temperature() {

uint CT,ST; ADC(); ST=SET_TEMP;

CT=(a[0]-'0')*100+(a[1]-'0')*10+(a[2]-'0'); if(CTif((ST-CT>10)&&(ST-CT<=20)) {

yanshi_ms(100); QIDONG=0; yanshi_ms(1); }

if((ST-CT<=10)&&(ST-CT>0)) {

yanshi_ms(200); QIDONG=0; yanshi_ms(1);

第34页,共36页

//触发函数

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计 } if(ST-CT>20) {

yanshi_ms(5); QIDONG=0; yanshi_ms(1); } } else QIDONG=1; //QIDONG=1; //yanshi_ms(10); // QIDONG=0; } main() { flag1 = 0; flag2 = 0; EA=1; IT0=1; IT1=1; EX0=1; EX1=1; while(1) {

if(flag1==1)

{

chufa_temperature();

第35页,共36页

长江师范学院本科毕业设计·基于单片机的功率调节装置的设计

}

QIDONG=1; flag1 = 0;

if(flag2==1) {

chufa_temperature();

QIDONG=1; flag2 = 0;

} } }

void zhongduan1() interrupt 0 //外部中断1 { }

void zhongduan2() interrupt 2 //外部中断2 {

flag2 = 1; }

flag1 = 1;

第36页,共36页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务