基于ATmega48单片机的恒速风扇控制器的设计.docx
《基于ATmega48单片机的恒速风扇控制器的设计.docx》由会员分享,可在线阅读,更多相关《基于ATmega48单片机的恒速风扇控制器的设计.docx(42页珍藏版)》请在冰豆网上搜索。
基于ATmega48单片机的恒速风扇控制器的设计
摘 要
本文介绍了采用ATmega48单片机实现恒速风扇控制器的方法。
概括地说就是通过用ATmega48单片机控制双向可控硅的导通角的大小来实现对电机的转速控制,同时要将给定转速显示在DG03532液晶显示器的液晶屏上。
由于单片机的工作电源为直流5V,电机为交流220V,需要从交流220V中整流出直流5V电源;双向可控硅的导通角分别通过转速上升键、转速下降键来实现,而且能适应不同工频电压下的工作环境。
在硬件设计部分,运用Protel软件绘制出原理图,从原理图中所涉及的元件的选择开始介绍,对原理图进行了各部分的功能的实现进行讲解并详细解释所选元件值的计算方法。
在软件设计部分,通过前面对AVR系列ATmega48单片机的指令系统、硬件结构和管脚功能的具体介绍,用AVR的汇编语言编程并配合程序流程图对程序进行解释,使通过程序实现电机的转速控制和显示、双向可控硅触发功能以及DG03532液晶的显示驱动等功能,并通过对所编写程序在AVRStudio上的调试,验证了程序的正确性及可用性。
关键词:
小型单相异步电机双向可控硅DG03532液晶显示器ATmega48
ABSTRACT
ThispaperintroducesthemethodthatusestheATmega48single-chiptorealizetheconstantspeedventilatorcontroller.Generallyspeaking,itusesATmega48single-chiptocontrolthebreakoveranglesizeoftheTRAICtorealizetocontrolthespeedofsingle-phaseasynchronousmotor,atthesametime,itmustmakethegivenspeednumberdisplayontheLCD,whosemodelisDG03532.BecausetheworkpowersupplyoftheATmega48single-chipis5VDC,andtheworkpowersupplyofsingle-phaseasynchronousmotoris220VAC,itmustexchangethesourcefrom220VACto5VDCusingtherectification;itusestheupanddownkeyofthespeedtocontrolthebreakoveranglesizeoftheTRAIC,atthesametime,itmustadapttodifferentworkingenvironmentthathasdifferentfrequency.
Todesignthepartofhardware,itusesProteltodrawtheschematicdiagram.Thepaperalsoreducesthechoiceofcomponentsinvolved,thefunctionsofthevariouspartsinvolved,andthecalculationmethodsofthevalueofthecomponents.Todesignthepartofsoftware,withtheinformationoftheinstructionsystem,thehardwarestructureandthefunctionofthepinoftheATmega48single-chipreducedabove,thepapermakestheprocedurewithassemblylanguageandexplainsthemwiththeprocedureflowchat,inordertomakethefunctionsmentionedaboveachieved,itusesAVRStudiototesttheproceduretoverifytheprocedure,andmakestheprocedureaccurateandavailable.
Keywords:
single-phaseasynchronousmotorTRAICDG03532LCDATmega48
目 录
第一章 概述
1.1小型单相异步电机
1.1.1单相异步电机简介
单相异步电动机(single-phaseasynchronousmotor)是靠220V单相交流电源供电的一类电动机。
其具有结构简单、价格低廉、坚固耐用、维护量少及可用于恶劣环境等优点并已得到了极其广泛的应用。
它适用于只有单相电源(single-phasepower)的小型工业设备和家用电器中[1]。
单相异步电动机有单相电容运转式、单相电容起动式、单相双值电容起动式、单相罩极式等。
也可以分为带离心起动开关的单相电动机和不带离心开关的单相电动机。
单相异步电动机大都为1.5kw以下的小功率电动机或者微特电动机,功率虽然小,但在市场上的占有量却很大,因此研究与发展其调速方式具有现实意义。
1.1.2单相异步电机的常用调速方法
单相异步电动机常用的调速方法有调压调速、变极调速和变频调速3种方式。
所谓调压调速是指改变供电电压时,电磁转矩特性曲线和机械特性曲线交点也随之改变,故能用改变电压实现调速。
对于调压调速来说,单相异步电动机通常拖动的是通风性负载,如风扇等。
负载转矩不是恒定常数,而是随转速增加而增加的,表示为M∝na(a>1)。
目前多采用双向晶闸管对电压作相位控制来实现调压调速。
对于变极调速来说,可利用改变极对数p来改变转速n的。
显然,该方法虽然简易,但不能实现无级调速。
对于变频调速来说,可将单相电容运转式电动机绕组接入单相电源输入/单相输出变频器。
若用一般的三相变频器对单相异步电动机调速,可将绕组接于变频器的输出端(U、V、W)的任意两端进行控制。
该方法解决了高频对电容的危害以及影响副绕组的移相角度等问题,此方法虽调速成本虽低,但范围较小,低速转矩较差。
也可以应用变频调速器将单相电动机改为双相电动机来实现变极调速。
但由于解决变频器给调速带来的难题,采用了多个功率元件,成本较高[2]。
对于小功率系统来说,变频调速成本比较高,变极调速只能调定几个固定的速度,而调压调速不仅成本比较低,还可以实现速度连续可调,所以本设计中选择采用调压调速,并通过采用双向可控硅对电压做相位控制以实现对单相异步电机的调速。
1.2AVR单片机介绍
AVR单片机是Atmel公司1997年推出的RISC单片机。
RISC(精简指令系统计算机)是相对于CISC(复杂指令系统计算机)而言的。
RISC并非只是简单地去减少指令,而是通过使计算机的结构更加简单合理而提高运算速度的。
RISC优先选取使用频率最高的简单指令,避免复杂指令:
并固定指令宽度,减少指令格式和寻址方式的种类,从而缩短指令周期,提高运行速度。
由于AVR采用了RESC的这种结构,使AVR系列单片机都具备了1MIPS/MHz(百万条指令每秒/兆赫兹)的高速处理能力。
AVR单片机吸收了DSP双总线的特点,采用Harvard总线结构,因此单片机的程序存储器和数据存储器是分离的,并且可对具有相同地址的程序存储器和数据存储器进行独立的寻址。
在AVR单片机中,CPU执行当前指令时取出将要执行的下一条指令放入寄存器中,从而可以避免传统MCS51系列单片机中多指令周期的出现。
传统的MCS51系列单片机所有的数据处理都是基于一个累加器的,因此累加器与程序存储器、数据存储器之间的数据转换就成了单片机的瓶颈;在AVR单片机中,寄存器由32个通用工作寄存器组成,并且任何一个寄存器都可以充当累加器,从而有效地避免了累加器的瓶颈效应,提高了系统的性能。
AVR单片机具有良好的集成性能。
AVR系列的单片机都具备在线编程接口,其中的Mega系列还具备JTAG仿真和下载功能;都含有片内看门狗电路、片内程序Flash、同步串行接口SPI;多数AVR单片机还内嵌了AD转换器、EEPROM、摸拟比较器、PWM定时计数器等多种功能;AVR单片机的I/O接口具有很强的驱动能力,灌电流可直接驱动继电器、LED等器件,从而省去驱动电路,节约系统成本。
AVR单片机采用低功率、非挥发的CMOS工艺制造,除具有低功耗、高密度的特点外,还支持低电压的联机Flash,EEPROM写入功能。
AVR单片机还支持Basic、C等高级语言编程。
采用高级语言对单片机系统进行开发是单片机应用的发展趋势。
对单片机用高级语言编程可很容易地实现系统移植,并加快软件的开发过程。
AVR单片机系列齐全,可适用于各种不同场合的要求。
AVR单片机共分为三个系列:
低档:
ATtiny;中档:
AT90;高档:
ATmega。
1.3ATmega48单片机
1.3.1ATmega48单片机的简介
ATmega48是基于AVR增强型RISC结构的低功耗8位CMOS微控制器。
由于其先进的指令集以及单时钟周期指令执行时间,ATmega48的数据吞吐率高达1MIPS/MHz,从而可以缓解系统在功耗和处理速度之间的矛盾[3]。
AVR内核具有丰富的指令集和32个通用工作寄存器。
所有的寄存器都直接与算术逻辑单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。
这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高至10倍的数据吞吐率。
ATmega48有如下特点:
4K字节的系统内可编程Flash(具有在编程过程中还可以读的能力,即RWW),256字节EEPROM,512字节SRAM,23个通用I/O口线,32个通用工作寄存器,三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,面向字节的两线串行接口,一个SPI串行端口,一个6路10位ADC(TQFP与MLF封装的器件具有8路10位ADC),具有片内振荡器的可编程看门狗定时器,以及五种可以通过软件选择的省电模式。
空闲模式时CPU停止工作,而SRAM、T/C、USART、两线串行接口、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作,寄存器的内容则一直保持;省电模式时异步定时器继续运行,以允许用户维持时间基准,器件的其他部分则处于睡眠状态;ADC噪声抑制模式时CPU和所有的I/O模块停止运行,而异步定时器和ADC继续工作,以减少ADC转换时的开关噪声;Standby模式时振荡器工作而其他部分睡眠,使得器件只消耗极少的电流,同时具有快速启动能力[4]。
ATmega48是以Atmel的高密度非易失性内存技术生产的。
片内ISPFlash可以通过SPI接口、通用编程器,或引导程序进行多次编程。
引导程序可以使用任意接口将应用程序下载到应用Flash存储区。
在更新应用Flash存储区时引导程序区的代码继续运行,从而实现了FLASH的RWW操作。
通过将8位RISCCPU与系统内可编程的Flash集成在一个芯片内,ATmega48为许多嵌入式控制应用提供了灵活而低成本的方案。
ATmega48AVR有整套的开发工具,包括C编译器,宏汇编,程序调试器/仿真器和评估板。
1.3.2ATmega48单片机的引脚介绍
ATmega48单片机的TQFP封装引脚如图1-1所示。
图1-1 ATmega48单片机TQFP封装的引脚图
ATmega48单片机的引脚介绍:
VCC:
数字电路的电源。
GND:
地。
端口B(PB7~PB0)XTAL1/XTAL2/TOSC1/TOSC2:
端口B为8位双向I/O口,并具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。
在复位过程中,即使系统时钟还未起振,端口B保持为高阻态。
通过对系统时钟选择位的设定,PB6可作为反向振荡放大器与内部时钟操作电路的输入。
通过对系统时钟选择位的设定,PB7可作为反向振荡放大器的输出。
系统使用内部RC振荡器时,通过设置ASSR寄存器的AS2位,可以将PB7、PB6作为异步定时器/计数器2的输入口TOSC2、TOSC1使用。
端口B也可以用做其他不同的特殊功能,见表1-1。
表1-1 端口B的第二功能
端口引脚
第二功能
PB7
XTAL2(芯片时钟振荡器引脚2)
TOSC2(定时器振荡器引脚2)
PCINT7(引脚电平变化中断7)
PB6
XTAL1(芯片时钟振荡器引脚1或外部时钟输入)
TOSC1(定时电平器振荡器引脚1)
PCINT6(引脚变化中断6)
PB5
SCK(SPI总线主时钟输入)
PCINT5(引脚变化中断5)
PB4
MISO(SPI总线主机输入/从机输出)
PCINT4(引脚电平变化中断4)
PB3
MOSI(SPI总线主输/从输入)
OC2A(定时器/计数器2输出比较匹配A输出)
PCINT3(引脚电平变化中断3)
PB2
(SPI总线主从选择)
OC1B(定时器/计数器1输出比较匹配B输出)
PCINT2(引脚电平变化中断2)
PB1
OC1A(定时器/计数器1输出比较匹配A输出)
PCINT1(引脚电平变化中断1)
PB0
ICP1(定时器/计数器1输入捕捉输入)
CLKO(系统时钟分频输出)
PCINT0(引脚电平变化中断0)
端口C(PC5~PC0):
端口C为7位双向I/O口,并具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。
在复位过程中,即使系统时钟还未起振,端口C保持为高阻态。
PC6/
:
RSTDISBL位被编程时,可将PC6作为一个I/O口使用。
因此,PC6引脚与端口C其他引脚的电特性是有区别的。
RSTDISBL位未编程时,PC6将作为复位输入引脚Reset。
此时,即使系统时钟没有运行,该引脚上出现的持续时间超过最小脉冲宽度的低电平将产生复位信号。
持续时间不到最小脉冲宽度的低电平不会产生复位信号。
端口C也可以用做其他不同的特殊功能,见表1-2。
表1-2 端口C的第二功能
端口引脚
第二功能
PC6
(复位引脚)
PCINT14(引脚电平变化中断14)
PC5
ADC5(ADC输入通道5)
SCL(两线串行总线接口时钟线)
PCINT13(引脚电平变化中断13)
PC4
ADC4(ADC输入通道4)
SDA(两线串行总线接口数据输入/输出线)
PCINT12(引脚电平变化中断12)
PC3
ADC3(ADC输入通道3)
PCINT11(引脚电平变化中断11)
PC2
ADC2(ADC输入通道2)
PCINT10(引脚电平变化中断10)
PC1
ADC1(ADC输入通道1)
PCINT9(引脚电平变化中断9)
PC0
ADC0(ADC输入通道0)
PCINT8(引脚电平变化中断8)
端口D(PD7~PD0):
端口D为8位双向I/O口,并具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。
在复位过程中,即使系统时钟还未起振,端口D呈现为三态。
端口D也可以用做其他不同的特殊功能,见表1-3。
表1-3 端口D的第二功能
端口引脚
第二功能
PD7
AIN1(模拟比较器负输入)
PCINT23(引脚电平变化中断23)
PD6
AIN0(模拟比较器负输入)
OC0A(定时器/计数器0输出比较匹配A输出)
PCINT22(引脚电平变化中断22)
PD5
T1(定时器/计数器1外部计数器输入)
OC0B(定时器/计数器输出比较输出)
PCINT21(引脚电平变化中断21)
PD4
XCK(USART外部时钟输入/输出)
T0(定时器/计数器0外部计数器输入)
PCINT20(引脚电平变化中断20)
PD3
INT1(外部中断1输入)
OC2B(定时器/计数器2输出比较匹配B输出)
PCINT19(引脚电平变化中断19)
PD2
INT0(外部中断0输入)
PCINT18(引脚电平变化中断18)
PD1
TXD(USART输出引脚)
PCINT17(引脚电平变化中断17)
PD0
RXD(USART输入引脚)
PCINT16(引脚电平变化中断16)
AVCC:
AVCC为A/D转换器的电源。
当引脚PC3~PC4与PC7、PC6用于ADC时,AVCC应通过一个低通滤波器与VCC连接。
不使用ADC时该引脚应直接与VCC连接。
PC6~PC4的电源则是由VCC提供的。
AREF:
AREF为ADC的模拟基准输入引脚。
ADC7、ADC6(TQFP与MLF封装):
TQFP与MLF封装芯片的ADC7、ADC6引脚为两个10位A/D转换器的输入口,它们的电压由AVCC提供。
同时嵌入式仪器仪表的开发和概念的探讨正如火如荼的进行,其功能的实现大多通过各种各样的单片机编程来实现而且AVR系列单片机目前在国内得到广泛的应用,相关资料丰富,功能成熟,可见选用ATmega48单片机为设计提供了良好的软件条件。
1.4恒速风扇控制器的功能介绍
基于ATmega48单片机的恒速风扇控制器主要是针对小型单相异步电机的设计。
具体的功能是通过用ATmega48单片机控制双向可控硅的导通角的大小来实现对电机的转速控制,同时要将给定转速显示在DG03532液晶显示器的液晶屏上。
由于单片机的工作电源为直流5V,电机为交流220V,需要从交流220V中整流出直流5V电源;双向可控硅的导通角分别通过转速上升键、转速下降键来实现,而且能适应不同工频电压下的工作环境。
1.5可行性分析
一方面,通过前面对ATmega48单片机的介绍可知,其功能成熟,目前正在被广泛使用,而且学校能够为我们提供AVR单片机仿真器,可以对控制器的软件部分进行仿真,同时我们的指导教师常年参与嵌入式仪器仪表的开发、研究及现场应用,在这方面有丰富的单片机开发经验和理论知识,使我们能够更好的掌握相关方面的知识。
另一方面,ATmega48单片机的价格便宜,并且设计所需双向可控硅、电感、电容和电阻等元件都在一元钱以下,设计的成本很低,具有经济可行性。
第二章 恒速风扇控制器的硬件设计
2.1硬件总体设计
在恒速风扇控制器的硬件设计中,主要实现的功能是电路保护、提供单片机的工作电源、测速、转速控制、液晶显示和按键的处理等。
其中主要的元件包括双向可控硅、DG03532液晶显示器、槽型光耦H42B6、安规电容、稳压管和ATmega48单片机等。
在设计原理图时,根据主要元件的特性,选用合适的电容和电阻将主要元件连接起来,在保护电路和元件不受损坏的前提下,使得原理图中各部分功能得以实现[5]。
2.2电路保护部分
在原理图中起电路保护作用的部分如图2-1所示。
C1=C2=0.01μf,C3=0.22μf。
图2-1 电路保护部分
电路工作时,P1和P2接220V交流电压。
电容C1和C2串联再与安规电容C3并联,对电网起保护作用,防止后面的电路的电流过大对电网造成冲击。
上面提到的安规电容是指用于这样的场合,即电容器失效后,不会导致电击,不危及人身安全。
根据IEC60384-14,安规电容器分为X电容及Y电容。
X电容是跨接在火线和零线(L-N)之间的电容,一般选用金属薄膜电容;Y电容是分别跨接在火线和地、零线和地之间(L-G,N-G)的电容,一般是成对出现。
(L=Line,N=Neutral,G=Ground)
X电容底下又分为X1,X2,X3。
主要差别在于:
1、X1耐高压大于2.5kV,小于等于4kV;2、X2耐高压小于等于2.5kV;3、X3耐高压小于等于1.2kV。
Y电容底下又分为Y1,Y2,Y3,Y4。
主要差别在于:
1、Y1耐高压大于8kV;2、Y2耐高压大于5kV;3、Y3耐高压n/a;4、Y4耐高压大于2.5kV。
基于漏电流的限制,Y电容值不能太大,一般X电容是μF级,Y电容是nF级。
X电容抑制差模干扰,Y电容抑制共模干扰。
所以,本设计中选用的是X3电容,C3=0.22μf。
而且有了安规电容的存在,对电路起到更好的保护作用。
2.3单片机的电源部分
在原理图中单片机的电源部分如图2-2所示。
C4=1μf,C5=47μf,C6=0.1μf。
图2-2 单片机的电源部分
由于单片机的工作电源为直流5V,电机为交流220V,需要从交流220V中整流出直流5V电源;由于二极管D1单向导通作用,原理图中的整流部分相当于半波整流[6]。
图2-2中ZW1为稳压管。
稳压二极管也称齐纳二极管或反向击穿二极管,在电路中起稳定电压作用。
稳压二极管在电路中常用“ZW”加数字表示。
它是利用二极管被反向击穿后,在一定反向电流范围内反向电压不随反向电流变化这一特点进行稳压的。
稳压二极管通常由硅半导体材料采用合金法或扩散法制成,是一个特殊的面接触型的半导体硅二极管。
它既具有普通二极管的单向导电特性,又可工作于反向击穿状态。
其伏安特性曲线与普通二极管相似,但反向击穿曲线比较陡,如图2-3所示。
稳压管在反向电压较低时,反向电流很小,稳压二极管截止;当反向电压增高到击穿电压时,反向电流突然猛增,稳压管从而反向击穿,稳压二极管进入击穿区,此后,电流虽然在很大范围内变化,稳压二极管两端的反向电压也能保持基本不变。
利用这一特性,稳压管就在电路到起到稳压的作用了。
但若反向电流增大到一定数值后,稳压二极管则会被彻底击穿而损坏。
稳压管与其它普通二极管不同之处在于反向击穿是可逆的,当去掉反向电压稳压管又恢复正常,但如果反向电流超过允许范围,二极管将会发热击穿,所以,与其配合的电阻往往起到限流的作用。
图2-3 稳压管伏安特性曲线
从上面对稳压管的介绍可知,当把稳压管接入电路以后,若由于电源电压发生波动,或其它原因造成电路中各点电压变动时,负载两端的电压将基本保持不变,即保证整流输出的电压稳定在5V。
同时电容C5的低频滤波作用和电容C6的高频滤波作用,再次确保整流输出的电压稳定在5V。
电容C4在此处起到电容降压的作用,电容降压实际上是利用容抗限流,即利用电容在一定的交流信号频率下产生的容抗来限制最大工作电流。
例如,在50Hz的工频条件下,一个1uF的电容所产生的容抗(1/2πfC)约为3180欧姆。
当220V的交流电压加在电容器的两端,则流过电容的最大电流约为70mA,半波整流时则为35mA。
而后面电路中所需电流之和小于35mA,所以此处电容值选为C4=1μf。
2.4测速部分
在原理图中测速部分如图2-4所示。
R5=330Ω。
图2-4 测速部分
图2-4中IC3为槽型光耦H42B6。
H42B6是由原装进口高发射功率的砷化镓(砷铝镓)红外发射管和高灵敏度的光敏晶体管组成。
它是利用被检测物对光束的遮挡,由同步选通电路,