1 ATtiny13简介
Atmel公司AVR单片机运用哈佛结构和流水线操作,一条指令可在一个时钟周期内完成;采用RISC结构,具有1 MIPS/MHz的高速运算处理能力。为满足不同的需求和应用,Atmel公司对AVR单片机进行了相应的扩展和裁减,推出megaAVR、tinyAVR、CAN AVR、LCD AVR等多种不同规模的系列,引脚数从8到100,有70多种型号,在8位单片机中性价比较高。
ATtiny13属于tinyAVR系列,只有8个引脚,适用于要求体积小的智能仪器或控制器。ATtiny13引脚配置如图1所示。ATtiny13片内集成有丰富的硬件资源,可大大简化系统外围电路,提高系统可靠性,减小系统体积。ATtiny13片内集成了1 KB在系统编程的程序存储器(Flash),64字节数据存储器(SRAM),64字节在系统编程的EEPROM,6个通用I/O口线,片内/外中断,1个8位定时/计数器和2通道PWM;具有片内振荡器可编程看门狗定时器,1个片内模拟比较器,SPI接口和debugWIRE片内调试系统。
图1 ATtiny13引脚图
ATtiny13的工作时钟源可以通过编程熔丝位,选择标定的片内RC振荡器、外部时钟源、128 kHz内部振荡器。通过SPI串行接口可对程序存储进行在系统编程,debugWIRE片内调试系统使用单线双向接口来控制程序流,在CPU中执行AVR指令,可以仿真芯片上所有的模拟和数字功能。
ATtiny13片内集成了10位逐次逼近型ADC,ADC的最高采样速率可达15 ksps。ADC与一个4通道的模拟多路复用器连接,能对来自端口B的4路单端输入电压进行采样。单端电压输入以0 V(GND)作为基准,ADC可以使用片内集成的1.1 V基准电压或VCC作为参考电压。ADC有单次转换和连续转换两种工作模式,连续转换模式下可选择多种触发源来启动ADC。
2 基于ATtiny13的用电负载监控装置
2.1 用电负载监控装置
用电负载监控装置可用于集体公寓、旅馆客房等场所,主要用来监测限制使用的电炉、热得快、电热杯等大功率负载的接入;识别出大功率用电负载后,自动切断电源,以保障用电安全。尤其是学生公寓,由于电炉等大功率负载的使用而引发的火灾频繁发生。针对这种情况而开发的智能用电负载监控装置,能在设定的总功率范围内,识别并限制大功率电器的接入,在保障学生正常用电的情况下,有效地防止违章电器的使用,保障用电安全。
2.2 用电负载监控装置系统结构
如图2所示,用电负载监控装置系统由电流检测与变换电路、智能控制器、开关电路及工作电源4部分组成。
图2 用电负载监控装置系统结构图
图中,电流互感器用于检测负载电流,有效值变换电路采用数字万用表交流电流测量电路。互感器的输出电流经过电流-电压转换、整流、滤波、降压后,送入ATtiny13,利用ATtiny13片内的10位A/D转换器采样,经单片机运算后,得到负载电流,由负载电流来判断负载大小。单片机不断地监测主回路的总负载及负载的变化,负载的变化可以反映某时刻接入负载的大小。一旦检测到总负载或接入负载超限,即继电器动作,就切断主回路,断开负载,延时30 s后恢复供电,以确保用电安全。利用ATtiny13的ISP在系统编程接口,在可以插拔芯片的情况下,更换或升级单片机程序、修改监控参数,方便系统的定制。利用ATtiny13片内集成的64字节在系统编程的EEPROM,存储监控装置工作记录,如总的动作次数、最后一次动作时的总负载以及接入负载大小等信息,这些信息可用ISP接口读出,供以后的分析参考使用。
图3 控制软件主流程
2.3 监控软件
监控软件采用C语言编写,包括初始化子程序、电流采样子程序、负载接入判别子程序、开关控制子程序、监控装置工作记录读/写子程序。控制软件主流程如图3所示。
3 监控装置低成本电源
小体积、低成本电源是单片机在小型智能控制器中得以广泛应用的一个重要因素。图4和图5分别是单片机+5 V工作电源和24 V继电器驱动电路,采用无变压器的电容降压稳压电源,体积小且成本低。
图4中,C1为降压电容器;D1为半波整流二极管;D2在市电的负半周时给C1提供放电回路;D3是稳压二极管;R1和D3组成串联式稳压电路,再经过78L05三端集成稳压器,给单片机提供稳定可靠的工作电源。
图4 单片机+5 V工作电源
图5中,24 V继电器驱动电路时,将C2和D4、D5组成的电容降压、整流电路看作电流源,因为电源负载阻抗相对于降压电容阻抗来说很小。正常供电时,单片机的I/O口PB3输出高电平,三极管Q1饱和导通,电容上流过的电流在电阻R2上产生的压降小于继电器吸合电压,主回路接通。当PB3输出低电平时,三极管Q1截止,继电器线圈电阻为660 Ω,电流源在继电器线圈上产生的电压大于继电器吸合电压,断电器动作,切断主回路。
图5 24 V继电器驱动电路