基于AVR单片机风板控制系统的设计
2017-10-21刘立军
刘立军
(辽宁机电职业技术学院 华孚仪表学院,辽宁 丹东 118009)
基于AVR单片机风板控制系统的设计
刘立军
(辽宁机电职业技术学院 华孚仪表学院,辽宁 丹东 118009)
以AVR单片机作为控制核心,设计并制作了一种能够控制风板的自动控制系统, 该系统利用角度传感器实时测量风板旋转的角度、电机驱动并结合软件的算法实现风板的转角测试。该系统能够通过LCD1602液晶显示器实时显示相关参数,风扇的转速能够实时控制并伴有声光提示等功能,该系统软件设计简单、计算量小、测试角度误差小,风板能够较快且较准确地达到预定设置角度,并具有较好的稳定性。通过测试数据表明,该系统具有一定的理论研究意义和工程实用价值。
AVR;风板;LCD1602;转角测试
在摇动帆式风力发电系统中,通过帆板的往复摆动所产生的动能可以驱动发电机发电,同时这种发电系统具有发电效率高和良好的低风速发电特性和优异的耐强风性特点。随着智能控制技术的不断发展,风板控制系统的发展方向是数字化、智能化、高性能。风力的大小可以利用风板角度控制系统准确地测量出来,这样风板偏转的角度就可以准确地计算出来,风力的大小就被准确地计算出来。通过大量的研究发现,风板角度控制系统已经成为测量风力大小的典型控制器。文章设计了一种采用AVR单片机作为主控芯片的风板控制系统,当风板垂直角度在一定范围内变动时,在设定的时间内,风板控制系统通过按键设定风板完成预置角度并完成规定动作,系统对控制过程中的相关数据用LCD1602液晶显示器进行实时显示[1]。
1 系统总体设计
风板控制系统用AVR单片机作为控制核心部件,采用高精度三轴角加速度传感器ADXL345对风板旋转角实时检测,单片机对采集到的角度信号加以分析判断处理,同时将此信号转换成角度数据与预置角度进行比较运算,生成导通角控制量值,并通过单片机将处理结果传送给电机驱动器件,使其能够控制驱动电机调节风扇的转速。用独立按键和液晶显示器LCD1602作为人机交互界面,用于手动输入和相关参数的实时显示。
系统由电源、AVR单片机、电机驱动芯片、LCD1602液晶显示器与声光报警电路、输入电路和角度检测电路构成[2,3],系统总体框图如图1所示。
2 风板控制系统硬件电路
2.1单片机控制和显示电路
控制系统的核心处理芯片选用AVR系列单片机中的ATmega16[4],在风板控制系统中单片机主要完成以下处理功能:1)ADXL345三轴角加速度传感器信号的数据采集处理与信号补偿。2)产成电机驱动信号用于调节风扇的转速。3)控制LCD1602液晶显示电路,用于实现字符、数据的实时显示和声光报警电路的控制。4)按键状态信息的读取,用于实现预置参数的设置、存储,控制电机的启动和停止等操作。
选用LCD1602液晶显示电路,它是一款专门用于显示字母、数字、符号的点阵试LCD,显示字符为16字*2行。在本系统中,LCD1602要显示的内容包括预置参数、风板的实时转动角度、控制过程完成时间和导通角等参数。
单片机实时显示电路如图2所示,AVR单片机的时钟电路由C6、C7和8 MHz晶振构成,显示电路由芯片IC1、IC7和电位器R5等外围电子元件来构成,复位电路由R2、C8和按键S1组成,S1是手动复位键。
2.2角度检测电路
角度传感器选用三轴角加速度传感器ADXL345[5],其输出数据为16位二进制补码格式,数据可通过SPI(3线或四线)总线或I2C总线方式访问。角加速度传感器ADXL345固定安装在风板控制系统的转轴上,它随着转轴一起转动,AVR单片机作为控制核心,实时采集ADXL345传感器中的角度数据,经过运算处理补偿后转换成相应的角度值,在LCD1602显示器上实时显示数据。对于角度数据的处理采用累积10次采样结果、再对其取平均值的方法进行数据处理,这种数据处理的方法能够有效解决风板在摆动过程中状态不稳的难题。单片机根据实时采集的角度值与预置角度值进行比较运算,最后产生调节风扇电机转速的导通角量值。
ADXL345与AVR单片机采用I2C模式进行通信,角度检测电路由IC1、IC8、R6、R7构成,电路如图3所示。
2.3电机控制电路
电机控制电路见图4,由过零检测电路和触发脉冲与驱动电路构成[6]。过零检测电路由变压器、整流桥、R20、C20构成,接入单片机PA7口,确定基准点,判断导通角零点。两路触发脉冲与驱动电路由光耦、驱动三极管、固态继电器等器件构成。触发脉冲由单片机PD4、PD5口输出。通过对固态继电器导通角的控制,调节风机的转速。风机MG1、MG2采用交流220V、38W轴流风机。
2.4输入和声光报警电路
在风板控制系统中按键的主要功能是控制电机的启动与停止和设置风板的转角数值,其电路如图5 所示。各按键功能为:S2:加十,执行加十子程序;S3:加一,执行加一子程序;S4:减十,执行减十子程序;S5:减一,执行减一子程序;S6:确认。
声光报警电路由R13、R14、发光二极管D8、三极管Q1和扬声器LS1等器件来组成。当风板转轴旋转到预置角度参数时,由AVR单片机控制声光报警电路工作,用于产生持续的声光报警信号。
3 风板控制系统软件设计
3.1控制单元及中断服务子程序
控制单元主程序流程主要包括系统初始化、是否启动按键、是否产生声光报警信号和设置参数的判断与处理等子程序。
1)系统初始化:系统的初始化主要包括AVR单片机引脚的初始化和相关参数的初始化等操作。
2)声光报警信号:风板转到预置参数时,执行声光报警子程序,产生声光报警信号。
3)设置参数的判断与处理:判断按键是否按下,执行相关参数设置子程序。
在风板控制系统软件设计中还有2个定时器中断服务程序,分别是定时器1和定时器2中断。定时器1中断服务子程序主要用于实现对LCD1602液晶显示器的各种字符、相关数据的实时显示。定时器2中断服务子程序主要是实时采集三轴角加速度传感器ADXL345的角加速度数据,采集完成后,置位每次数据采集完成的标志位。
3.2风板控制系统软件流程设计
软件采用模块化程序设计的构建方法。下面分别阐述两个单元的主程序的架构及两个中断服务子程序的作用[7]。主程序流程如图6所示,主程序主要包括风板控制系统的初始化、角度实时检测、按键启动和停止的判断与处理、声光报警信号的产生和相关参数设置等。角度检测程序流程如图7所示,主要包括系统检测程序的初始化、角度参数的实时采集与显示、角度参数的相关数据处理、累计判断、生成导通角量值等。
风板控制系统的初始化主要包括单片机引脚及功能的初始化、A/D模数转换程序初始化、相关变量参数初始化、I2C通信模式设置和定时器中断服务等相关初始化操作;在采集风板转轴角度过程中首先是要检测角度采集标志位的状态,在中断服务子程序中完成三轴角加速度传感器数据的实时采集,每次数据采集完成后都将采集标志位置位;当角度数据采集完成后,将采集标志位清零,对每次采集到的数字量进行数据处理,通过查表的方式对角度数据进行补偿,同时将补偿后的数据变成能够反映实际角度的度数值,用于显示角度值用,将操作结果进行累计,当累计的角度值达到10次以后,对采样值取平均值,产生最终可以调节风扇电机转速的信号。
4 测试结果分析
按测试要求,预置风板控制角度在45°~135°之间设定,由起点开始启动装置,控制风板达到预置角度,过渡过程时间不大于10 s,控制角度误差不大于5°,在预置角度上的稳定停留时间为5 s,误差不大于1 s,动作完成后风板平稳停留在初始位置上。
风板控制系统测试时选用主要仪器包括示波器、数字万用表、量角器、刻度尺等测试仪器。测试风板实际角度与角度传感器角度的测量表如表1所示,导通角量值数据如表2所示,风板控制系统可以很好地完成预置风板角度,完成规定动作,且有临界声光提示,角度显示。过渡过程时间≤10 s,控制角度误差≤5°。在预置角度上的稳定停留时间为5 s,误差≤1 s。
根据上述测试数据,随着晶闸管导通角控制程度的增大,风机的风速逐渐加大,风板设定的角度能维持3~5 s,由此可以得出以下结论:
1)风机的转速与晶闸管导通角的控制程度成比例关系。
2)风板实际角度与传感器检测的角度误差2°,当稳定时角度误差小于5°波动。
5 结论
以AVR单片机作为控制核心,设计并制作了一种能够控制风板的自动控制系统, 该系统利用角度传感器测角度、电机驱动并结合软件的算法实现风板的转角测试。利用LCD1602液晶显示器对测量的角度等参数进行实时显示,并对风扇的转速实时控制,同时并伴有声光提示等功能。该系统使得风板能够较快且较准确地达到设定角度,并具有较好的稳定性。
表1 风板实际角度与角度传感器角度比较
表2 导通角量值数据
该系统具有软件设计简单、计算量小、测试角度误差小等特点。通过测试数据表明,该设计具有一定的理论研究意义和工程实用价值。
[1] 乔之勇,王荣海.基于AT89S52的帆板控制系统[J]. 兵工自动化,2013(2):88-90.
[2] 求是科技.单片机典型模块设计实例导航[M].第2版.北京:人民邮电出版社, 2006.
[3] 李小琴.帆板角度控制系统的设计与实现[J]. 电子科技, 2013(2):107-113.
[4] 耿进飞,左慢慢,陆静.基于ATmega16可编程增益的模拟信号测量系统[J].仪表技术与传感器,2012(8):46-47.
[5] 王学水,池金波,马建玲.基于重力加速度传感器的三维高斯计的设计[J].仪表技术与传感器,2015(8):23-25.
[6] 薛劭申,许海平,方程,等.多相永磁同步电机PWM技术[J].哈尔滨工业大学学报,2014(4):122-128.
[7] 张永红,高晓梅.遮风板角度控制系统设计及优化[J].电子设计工程,2012,20(7): 83-88.
DesignofWindPlateControlSystemBasedonAVRSingleChipMicrocomputer
LIU Li-jun
(School of Huafu Meters, Liaoning Mechatronics College, Dandong 118009, Liaoning, China)
Based on AVR microcontroller as control core, this paper designs an automatic control system to control wind plate. This system uses the angle sensor, real-time measurement of wind angle plate rotating motor drive and combines with software algorithm of measuring angle of wind plate. The system can display the relevant parameters through the LCD1602 LCD display, real-time control and fan speed with the acousto-optic prompt function. The software design of this system is simple; small amount of calculation and test of angle error is small; the wind board can quickly and accurately reach a predetermined set point, and has better stability. The test data shows that the system has certain theoretical and engineering significance and practical value.
AVR; wind plate; LCD1602; corner test
TP273
A
1008-9446(2017)04-0040-04
2016-12-14
刘立军(1981-),男,辽宁朝阳人,讲师,硕士,主要从事动态测试与智能仪器、电子技术研究,E-mail:123305063@qq.com。