基于STM32的风力摆控制系统的设计

中国新通信 / 2018年07月20日 14:09

新闻

黄一珀+丁斌+董杨+潘嘉睿

【摘要】 该风力摆控制系统是由单片机控制核心、ADXL345 数字三轴重力加速度芯片、直流电机、电机驱动模块以及液晶显示模块几个部分构成的闭环系统。利用单片机产生不同占空比的PWM波给驱动模块让其产生正弦波驱动为电机提供工作电压,运用相位合成和占空比调节实现对风力摆的运动轨迹控制,通过实际数据试验出风力摆的控制规律,稳定的完成了风力摆的直线运动和曲线运动要求。

【关键词】 正弦波 角度传感器 直流电机

一、设计方案及原理分析

本系统由机械结构、控制模块、电机驱动模块、摆杆角度测量模块、电机和电源等组成,下面分别论证一下几个模块的选择。

1.1机械结构的设计方案

风力摆控制系统是一个完整的测量控制系统,其中的机械结构则是这个测控系统的对象,对象的好坏在很大程度上会影响到后期控制算法的设计,对象制作的越稳定可靠,系统的性能就会越好。所以在制作这样一个精密控制系统的时候,前期的机械结构的制作是非常关键的一步,在制作的时候要尽量确保它的稳定性,例如选用合适的材料、采用尽量好的制作工艺等。该风力摆控制系统中,机械结构大概分成以下几部分,风机、摆杆、摆杆转轴、底座和激光笔。

1.2控制模块方案

采用STM32F103单片机作为主控芯片。STM32F103基于高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex—M3内核,强大的定时、中断功能,方便对传感器模块和电机的控制,可以快速进行复杂的运算。同时具有大容量的RAM和ROM,可存储大容量的程序。编程时可以直接调用库函数,提高编程效率。能够较为迅速的从传感器中采集数据进行处理,并快速反馈给电机进行下一步动作。

1.3电机驱动模块方案

采用L298N驱动。L298N是一种全桥驱动芯片,它响应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,结合单片机可实现对电机速度的精确控制,调速特性优良、调整平滑、调速范围广、过载能力大,能承受频率的负载冲击,还可以实现频率的无级快速启动、制动和反转。

1.4摆杆角度测量模块方案

采用加速度传感器模块ADXL345。该传感器具有体积小、重量轻、功耗低、分辨率高等优点,能够检测不到1°的倾角变化,并且具有很高的可靠性。这十分有利于对角度的取样和对风力摆的控制。

1.5电机的选取方案

采用直流电机。直流电机启动转矩大,调速性能好,体积小,重量轻,装配简单,使用方便,通过单片机输出PWM波很容易实现对直流电机正转,反转和停止等操作。

1.6电机工作方式的选取方案

采用正弦波的工作方式。采用正弦波给电机供电,通过调节幅值来控制电机转速,让两个方向都以正弦波运动,合成后运动轨迹更接近圆,且容易控制和调节。

二、系统实现

系统运行时,在液晶上显示界面,用户通过按键模块进入对应的模式来完成相应的功能。而后控制器读取角度传感器的数值,整合计算后发出特定频率和占空比的PWM波形,控制电机驱动模块输出不同的电流、电压,最终使摆杆完成需要的动作。系统中的唯一动力来源于直流电机,通过L298N驱动板可以产生相应的正转、反转,灵敏性好,同时控制所用的PWM波使用方便。

加速度传感器模块ADXL345作为角度测量传感器,将系统的摆杆角度信息反馈给单片机,并根据设定的程序,作出一系列的控制调节,使摆杆完成相应的动作。

试验测试以及各功能指标的实现:1、完成了划出预设长度的线段。根据需要的线段长度,设定对应的角度值,在摆杆运动的过程中,依据角度测量传感器传输回来的角度值,调节摆杆的角度到预定的角度值,通过算法不断修正,进而画出对应长度的线段。2、完成了预设角度的偏移。根据需要的角度,设定对应的角度值,使相邻的两个电机同时工作,根据角度测量传感器传输回来的角度值,结合PID算法来调节摆杆的相应方向的偏移角度,进而画出预设角度偏移的线段。3、完成了摆杆的制动功能。根据程序中不同的模式调节,当需要制动功能时,给予电机反相位的正弦波驱动,根据x,y两个方向的分别调节制动,可实现5s内完成制动功能。4、完成了预设直径的圆周运动。当需要做圆周运动时,给四个电机依次间隔四分之一周期输入正弦波驱动,根据直径要求,调节正弦波驱动的幅值,即可改变圆的直径,根据角度测量传感器传输回来的数据,结合PID算法实时进行修正,完成预设直径的圆周运动。

三、测试结果

将传感器采集的数据进行滑动滤波,得到近似正弦曲线,取相应方向的最大值,可以得到该方向上摆杆的角度,结合PID算法对运动轨迹进行实时调整修正。较好的完成了预期的各项实验要求,测试过程中,完成了对指定长度以及指定角度的直线运动,以及指定直径的圆周运动。具有误差小,稳定快的特点。

四、创新特色总结

此风力摆控制系统的设计,以STM32F103单片机为控制核心,采用ADXL345角度传感器实时采集摆杆旋转的角度信息,并通过单片机控制直流电机实现摆杆的各种姿态。同时结合适当PID算法修正偏差,以实现控制要求。本次所设计的风力摆控制系统能够完成实现预设的基本部分和发挥部分的所有指标。总结该设计实现过程,具有以下三个方面的优点:首先,采用ADXL345角度传感器进行角度采集,无需额外附加驱动电路,精简了整体电路设计。因而该设计方案具有角度值精确度高,旋转方向判别稳定可靠,硬件电路接口简单等优点。其次,采用直流电机,它具有体积小,重量轻,力矩大,运行可靠等优点,非常适合本系统。再次,在该设计的程序编写方面,用角度传感器直接计算出摆杆的角度,然后通过PID算法修正,通过两者的修正关系,极大地提高了实验精确度。以上三个方面的优点是该设计方案取得良好实验结果的有力保障。同时,该设计方案也存在不足和有待完善之处。如PID修正虽然提高了实验精度,但在实际情况中,硬件干扰会降低实验的成功率。

参 考 资 料

[1]谭浩强.C语言程序设计[M].北京:清华大学出版社,2012;

[2]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选 [M].北京:北京理工大学出版社,2007

[3]胡寿宋.自动控制原理[M].6版.北京:科学出版社,2013

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。