安徽商贸职业技术学院 王松林
帆板控制系统设计
安徽商贸职业技术学院 王松林
论文介绍基于STC89C52单片机的帆板角度控制系统,系统可以利用风扇控制装置对帆板角度进行控制,并通过LCD12864实时显示角度变化。还可依据设定的帆板角度信息智能控制风扇转速,在很短时间内(5秒以内)动态调整帆板摆角,同时实时显示帆板角度等信息。系统包括:单片机主控模块、角度信号采集模块、键盘输入模块、显示模块、电源模块、风扇电机驱动模块。系统主控模块采用性价比高的单片机最小系统;选用ADXL345加速度传感器完成系统角度信号采集功能;利用LCD12864实时显示角度变化的信息,5*6矩阵键盘完成风力等级和角度设定的输入;系统电源模块采用两路稳压输出电路(5v、15v),提供控制系统与风扇电机的工作电源;风扇电机采用L298N模块驱动。本系统制作成本较低、工作性能控制稳定,能很好达到设计要求。
STC89C52;加速度传感器;LCD12864;L298N
单片机又称单片微控制器,单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度等物理量的测量。本系统就是以单片机为核心建立起来的,要实现对帆板转角大小的控制,其归根就是对风扇的控制,帆板的转角随着风扇风力的变化而变化,角度传感器给单片机不同的角度检测信号,经单片机处理后在LCD液晶上显示,同时给出声光提示。系统体现了模块化的设计理念,将单片机和各个器件结合在一起,完成系统化的设计,充分发挥了单片机的可靠性、可操作性和强大处理功能。[1-2]
1.主控电路
方案一:采用可编程逻辑器件FPGA作为控制器。FPGA可以实现各种复杂的逻辑功能,IO资源丰富,易于进行功能扩展。但本系统不需要复杂的逻辑功能,且从使用、功耗及经济的角度考虑我们放弃了此方案[3]。
方案二:STC89C52单片机采用STC89C52单片机作为主控器,其算术功能强,软件编程简洁灵活、自由度大,可用软件编程实现各种逻辑控制功能,且其功耗低、技术成熟,成本低廉。本系统主要是进行信号的处理以及风扇电机的控制。
综合考虑,本系统设计的功能依靠51单片机均可实现,故采用方案二。
2.角度传感器的选用
方案一:用UZZ9001Y与KMZ41连接构成一个角度测量系统。电路组成繁琐,制作较困难,稳定性较差。
方案二:倾角传感器。该集成芯片为专用的水平倾角测量芯片,具有体积小、灵敏度高等优点,但是输出为模拟信号,需要用到DA转换,操作间为复杂,且占用I/O口较多,不利于本统功能模块的操作。
方案三:用ADXL345数字加速度传感器。ADXL345是一款小而薄的超低功耗的3轴加速度计,可测量帆板在斜面所受重力加速度在斜面上的分量,进而转换成倾斜角,测量精度较高。ADXL345输出信号为数字信号,避免了A/D转换,操作简单;此外ADXL345只需用到两个I/O口,占用资源少,能满足本设计的要求。
本系统选择了第三种方案。
3.按键选用
方案一:采用独立键盘。多个使用时,线路连接不便,操作繁琐。
方案二:采用5*6的距阵键盘,可输入的值比较多,可设定的功能也多。
在本系统中需要多个键,系统选择了第二种方案。
4.显示
方案一:使用数码管显示。要完成功能电路的显示需要多个数码管,此方案占用I/O口多,连接不便,显示效果差,功耗大。
方案二:用LCD1602液晶显示。1602是一种专门用于显示字母、数字、符号等点阵式,1602分为上下2行,每行显示16个字符。驱动简单,但不能显示汉字。
方案三:用LCD12864液晶显示。LCD12864功能强大,不仅能显示字母、数字、符号,还可以显示汉字和图形,最多可显示4行,每一行最多显示8个中文,16个半宽字体。(最好选用带字库的,方便编写程序。)LCD12864和LCD1602使用方法类似,驱动简单,耗电量小,无辐射危险,显示直观、抗干扰能力强,但体积较大。
表1 系统要求测试
本系统选择了第三种方案。
5.电机的驱动
方案一:用分立元件构成的H桥电路利用分立三极管元件构成的H桥电路结构简单,但驱动能力有限,所带负载不可过大。
方案二:采用L298N集成H桥芯片。在L298N集成芯处中集成了两套H桥电路,可直接驱动两路直流电机,利用单片机产生的PWM信号,可方便地进行电机调速。
方案三:用ULN2003功率放大器件。ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。通过使用不同的放大电路和不同参数的器件,可达到不同的放大的要求,放大后能得到较大的功率。
本系统设计采用方案二。
6.风扇
方案一:用普通的散热风扇。风力小,风力流失大,很难达到系统要求。
方案二:用带通风通道的风扇。风力集中,流失小,能很好的吹动帆板。
本系统设计采用方案二。
7.电源
方案一:自制稳压电源。采用变压器与三端稳压器相结合,使220V电压经变压器变压,降为系统所需电压,过整流桥并利用两个大的电容滤波,从而得到较为稳定的直流电压。自制电源体积大,需接入220V电压,电压不稳定,使用不方便。
表2 按键控制风力等级测试
图2-1 总体框图
图4-1 主控电路
图4-2 风扇控制
图4-3 显示模块
图4-4 声光提示模块
图4-5 传感器模块
图4-6 风扇控制算法
图4-7 声光提示算法
图4-8 系统流程图
方案二:三块6V蓄电池串联供电。直接选用所需型号蓄电池,能量足,供电稳定,高低温适应性强。
本系统选用第二种方案。
系统功能的实现,以STC89C52单片机为核心,在单片机系统实现的输入输出和显示功能的基础上,由单片机的内置逻辑和运算功能,加上外围电路得以实现。根据设计任务要求,该电路的总体框图可分为几个基本的模块,总体框图如下图2-1所示。
帆板尺寸:长15cm,宽10cm。风扇到帆板的距离:7~15cm。本系统帆板转轴直径0.5cm。
帆板转角:0~60度。
帆板转角测量原理:风扇吹动帆板转动,产生帆板角度变化,利用ADXL345数字加速度传感器测出三维坐标x、y、z的变化,将加速度传感器固定在帆板上,从而通过固定y,利用x、z的关系求出角度。角度θ=(180*atan(temp z/temp x))/3.14。角度的测量范围是0-90°,可以满足系统要求[4]。
首先利用键盘控制风扇的转速,使帆板能够偏转一定的角度,再利用加速度传感器测出帆板的角度,送显示电路显示。具体控制算法采用C语言编程实现。
1.主控电路
系统采用STC89C52单片机构成主控制电路,电路如图4-1所示。
2.风扇控制
风扇电机选用L298N模块驱动,并由4*4按键矩阵控制PWM,改变电机速度,达到控制风扇风力大小的目标。L298N驱动模块如下图4-2所示。
3.显示模块
使用LCD12864显示,如下图4-3所示。
4.声光提示模块(如图4-4)
5.传感器模块(如图4-5)
1.风扇控制算法设计
风扇控制算法如下图4-6所示。
2.声光提示算法设计
声光提示算法如下图4-7所示。
3.系统流程图
整个系统程序流程图如图4-8所示。
利用四位半数字万用表、秒表、量角器等设备通电对系统进行测试。
1.功能要求测试见表1。
2.按键控制风力等级测试见表2。
本系统总体性能良好。但是也有不足的地方,由于帆板摆动大的问题,当系统工作时,影响到转角实际测量的精确性。这个地方有待改进。
系统设计过程中,很多知识点在理论上完全理解了,但到具体的电路设计与实现中,会出现很多一时无法理解的问题,要通过不断测试修改软硬件,才能用理论来指导实践,进一步深入理解理论。
[1]郭天祥.51单片机C语言教程[M].北京:电子工业出版社,2009.
[2]孙岐峰,杜锋.基于A Tmega16帆板控制系统设计与实现[J].现代电子技术,2012,35(17):189-191.
[3]王永喜,胡玫.基于单片机的帆板自动控制系统设计与实现[J].自动化与仪器仪表,2012,4:67-68.
[4]罗乐.基于STC12C60S2单片机的帆板控制系统设计[J].重庆理学院学报(自然科学版),2012,4(31):30-36.
本文系2011年安徽商贸职业技术学院院级质量工程项目“特色专业-应用电子技术专业”阶段性研究成果。
王松林(1980—),男,工学硕士,安徽无为人,安徽商贸职业技术学院讲师,研究方向:电子学,物联网技术应用。