- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于BP神经网络BLDCM换相控制系统设计
基于BP神经网络BLDCM换相控制系统设计
摘 要:直流无刷电机是一个多变量、强耦合的非线性系统,针对直流无刷电机换相时抖动比较明显、速度调节时的准确性也存在误差等缺点,通过无线传输模块实现了Matlab与stm32之间的通讯,建立了基于Matlab与stm32的电机远程控制系统,实现了上位机对电机的远程控制。与此同时,还采用对直流无刷电机换相时间采样与样本训练分离的策略,解决了stm32的运算能力差的问题,并利用Matlab的强大运算能力,实现了BP神经网络在BLDCM换相控制系统中的应用。实验表明,基于BP神经网络的BLDCM换相控制系统有利于提高电机的控制精度及动态性能。该系统将在智能化的控制领域拥有更广阔的空间。
关键词:无刷直流电机;Matlab;stm32;BP神经网络
DOIDOI:10.11907/rjdk.171343
中图分类号:TP319
文献标识码:A 文章编号文章编号:1672-7800(2017)008-0079-04
0 引言
直流无刷电机(Brusldess DC Motor,BLDCM)具有低速大转矩、速度范围宽、运行效率高、过载能力强、体积小、重量轻、功率大、无机械换向器控制系统等优点,广泛应用于电力机车、电动自行车、城轨车辆、冰箱、空调等领域。但是由于电机内部或外界的非线性干扰,直流无刷电机换相时抖动比较明显,速度调节时的准确性也存在误差, 大大地限制了其在精度较高的伺服系统中的应用[1]。
BP神经网络具有非线性映射逼近、分布式信息优化处理、自适应学习等能力,能够很好地解决在不明确运行环境的情况下,特别是比较复杂并且控制变量不能呈现线性变化的问题[2],从而使得控制部分鲁棒性能增强,拥有适应较高需求的动静态能力[3]。本文提出基于stm32和Matlab的BP神经网络控制理论,并将其应用于无刷直流电机的换相时间控制部分,以此增强电机运行的稳定性、平滑性,从而达到准确性更高、抗干扰信号能力强的稳定准确的控制系统效果。
1 总体设计
本设计主要流程分为3个部分:①基于stm32的换项到过零点间隔时间的数据采样;②stm32与上位机(Matlab环境下)间的数据通信;③在设计环节中,借助于采样数据进行BP神经网络训练,获取BP神经网络权值,建立换项到过零点间隔与换项时刻的非线性映射,以此避免遭受、负载变化等外界因素对换项时刻的影响,提高检测精度;在执行环节,利用建立的BP神经网络,实现电机的平稳换向,提高电机运行的稳定性。系统的设计框架如图1所示,包括数据采集模块(stm32)、无线传输模块(WSN-1101)和数据处理模块(Matlab平台)[4]。
2 基于stm32的数据采集原理及实现
2.1 换相时间采集原理
一种比较简单的做法是近似认为转子转速在0~60°的小范围区间内基本是恒定的:从AB相开始通电到检测出C相过零的前半段时间,基本等于后半段的时间[5]。所以只要记录从换相开始到过零点间的时间T1,然后从当前时刻开始再等待相同的时间,就可以换相了。以此类推可以得出:从AC导通到检测到B相过零点后时间间隔T2进行换相,BC导通到检测到A相过零点后时间间隔T3进行换相,BA导通到检测到C相过零点后时间间隔T4进行换相,CA导通到检测到B相过零点后时间间隔T5进行换相,CB导通到检测到C相过零点后时间间隔T6进行换相。即T(i)=Z(i)-P(i),其中:1≤i≤6,T(i)为检测到过零点后到换相的延时时间,Z(i)为第i次反电动势过零点时刻,P(i)为第i次换相开始时的时刻。图2为6种通电情形下各绕组感生电动势和换相时间[6-7]。
2.2 样本更新与换相时间采集
为了获得从换项开始到过零点的时间间隔与换项时刻的非线性映射,需要大量的样本数据对BP神经网络进行训练。为此需要按照如下步骤进行采样:①上位机通过串口给stm32发送已知速度指令;②进入换相状态时清空时间计数值Time1并进行向上计数,当检测到过零点时Time1停止向上计数并把当前值存储到对应的ai[n]数组中;③Time1进行向下计数直到递减到零,并进行换相;④循环第二步便可得到6组一维组换相时间数组,由此便可得到6个换相时间Ti:Ti=(∑j≤n-1j=0ai[j])÷n(1≤i≤6),由式(1)和式(2)可获得当前速度下的真实换相时间d=5/(n*p);⑤当完成步骤④的工作时,上位机通过串口给stm32发送新的速度指令,同时接收并记录由stm32反馈过来的6个换相时间Ti;⑥重复步骤②,便可获取多组实验样本和对应的期望值。n=60*f /p(1)
f=30/(360*d)=1/(12*d)(2)
其中:n代表转速,f代表
原创力文档


文档评论(0)