《基于BP神经网络的BLDCM换相控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于BP神经网络的BLDCM换相控制系统设计.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于BP神经网络的BLDCM换相控制系统设计 打开文本图片集 摘 要:直流无刷电机是一个多变量、强耦合的非线性系统,针对直流无刷电机换相时抖动比较明显、速度调整时的精确性也存在误差等缺点,通过无线传输模块实现了Matlab与stm32之间的通讯,建立了基于Matlab与stm32的电机远程限制系统,实现了上位机对电机的远程限制。与此同时,还采纳对直流无刷电机换相时间采样与样本训练分别的策略,解决了stm32的运算实力差的问题,并利用Matlab的强大运算实力,实现了BP神经网络在BLDCM换相限制系统中的应用。试验表明,基于BP神经网络的BLDCM换相限制系统有利于提高电机的限制精度及动态性能
2、。该系统将在智能化的限制领域拥有更广袤的空间。 关键词:无刷直流电机;Matlab;stm32;BP神经网络 DOIDOI:10.11907/rjdk.173343 中图分类号:TP319 文献标识码:A 文章编号文章编号:1673-7800008-0079-04 0 引言 直流无刷电机具有低速大转矩、速度范围宽、运行效率高、过载实力强、体积小、重量轻、功率大、无机械换向器限制系统等优点,广泛应用于电力机车、电动自行车、城轨车辆、冰箱、空调等领域。但是由于电机内部或外界的非线性干扰,直流无刷电机换相时抖动比较明显,速度调整时的精确性也存在误差, 大大地限制了其在精度较高的伺服系统中的应用1。
3、BP神经网络具有非线性映射靠近、分布式信息优化处理、自适应学习等实力,能够很好地解决在不明确运行环境的状况下,特殊是比较困难并且限制变量不能呈现线性改变的问题2,从而使得限制部分鲁棒性能增加,拥有适应较高需求的动静态实力3。本文提出基于stm32和Matlab的BP神经网络限制理论,并将其应用于无刷直流电机的换相时间限制部分,以此增加电机运行的稳定性、平滑性,从而达到精确性更高、抗干扰信号实力强的稳定精确的限制系统效果。 1 总体设计 本设计主要流程分为3个部分:基于stm32的换项到过零点间隔时间的数据采样;stm32与上位机间的数据通信;在设计环节中,借助于采样数据进行BP神经网络训练,获
4、得BP神经网络权值,建立换项到过零点间隔与换项时刻的非线性映射,以此避开遭遇、负载改变等外界因素对换项时刻的影响,提高检测精度;在执行环节,利用建立的BP神经网络,实现电机的平稳换向,提高电机运行的稳定性。系统的设计框架如图1所示,包括数据采集模块、无线传输模块和数据处理模块4。 2 基于stm32的数据采集原理及实现 2.1 换相时间采集原理 一种比较简洁的做法是近似认为转子转速在060的小范围区间内基本是恒定的:从AB相起先通电到检测出C相过零的前半段时间,基本等于后半段的时间5。所以只要记录从换相起先到过零点间的时间T1,然后从当前时刻起先再等待相同的时间,就可以换相了。以此类推可以得出
5、:从AC导通到检测到B相过零点后时间间隔T2进行换相,BC导通到检测到A相过零点后时间间隔T3进行换相,BA导通到检测到C相过零点后时间间隔T4进行换相,CA导通到检测到B相过零点后时间间隔T5进行换相,CB导通到检测到C相过零点后时间间隔T6进行换相。即T=Z-P,其中:1i6,T为检测到过零点后到换相的延时时间,Z为第i次反电动势过零点时刻,P为第i次换相起先时的时刻。图2为6种通电情形下各绕组感生电动势和换相时间6-7。 2.2 样本更新与换相时间采集 为了获得从换项起先到过零点的时间间隔与换项时刻的非线性映射,须要大量的样本数据对BP神经网络进行训练。为此须要根据如下步骤进行采样:上位
6、机通过串口给stm32发送已知速度指令;进入换相状态时清空时间计数值Time1并进行向上计数,当检测到过零点时Time1停止向上计数并把当前值存储到对应的ain数组中;Time1进行向下计数直到递减到零,并进行换相;循环其次步便可得到6组一维组换相时间数组,由此便可得到6个换相时间Ti:Ti=n,由式和式可获得当前速度下的真实换相时间d=5/;当完成步骤的工作时,上位机通过串口给stm32发送新的速度指令,同时接收并记录由stm32反馈过来的6个换相时间Ti;重复步骤,便可获得多组试验样本和对应的期望值。n=60*f /p f=30/=1/ 其中:n代表转速,f代表定子旋转磁场的频率,d换相时
7、间的期望值。 图3为整体限制流程。 3 stm32与上位机间数据通信 3.1 通讯模块硬件设计 数据采样模块和样本训练模块的分别是本设计的一大亮点,这样既减轻了stm32的运算和存储负担,也缩短了样本训练时间。远程限制与Matlab对样本的获得都建立在数据通讯的基礎上。针对无线通讯,本设计采纳了一套独立的数据收发单元,该单元基于stm32和Matlab建立,无线模块选用WSN-1101。WSN-1101无线数传模块是一款高稳定性、高性价比、低功耗的无线微功率透亮数据收发模块。 图4为无线通讯与设备间的连接框架,主要分为两部分:stm32串口的发送和接收干脆与WSN-1101的接收和发送相连接;
8、上位机通过PL2303与WSN-1101建立连接。PL2303是Prolific公司生产的一种高度集成的RS232-USB接口转换器,可供应一个RS232全双工异步串行通信装置与USB功能接口。该器件作为USB/RS232双向转换器,一方面从上位机接收USB数据并将其转换为RS232信息流格式发送给WSN-1101;另一方面从RS232外设接收数据转换为USB数据格式传送回上位机。 为了能实现上位机与stm32间的通讯,还须要把两个无线模块设置成相同的波特率、通信频道和地址。当图4右边的设备向无线模块2发送串口数据时,无线模块2的RXD端口收到串口数据后,自动将数据以无线电波的方式发送到空中。
9、无线模块1能自动接收到由模块2发送过来的数据,并由TXD还原最右边设备发送的串口数据。同理,从左到右也是一样的。 3.2 通讯模块程序设计 3.2.1 stm32串口中断服务函数:速度接收与样本发送 keil中的部分程序如下所示:void USART3_IRQHandlerint rec_data, i;if != RESET) /推断是否产生接受中断 USART_ClearITPendingBit; /清除接收中断 rec_data = USART_ReceiveData;/读取接收到的数据speed = rec_data; /stm32获得速度指令PutChar;/发送上次速度指令检测得到
10、的六组换相时间PutChar; PutChar;PutChar;PutChar;PutChar; 3.2.2 Matlab和stm32之间通讯的建立:速度发送与样本接收 Matlab中程序如下所示3:Obj=serial;%初始化串口fopen;%连接obj和外设fwrite;%向串口中写入第i次速度指令值xxxfread;%在串口obj读取上一次发送指令的6组换相时间fclose%关闭串口设备对象objdelete%从内存中删除串口对象objclear Obj%从Matlab工作区中清除串行接口对象obj由上面程序可以获得当速度变更时所对应的6组换相时间T1-T6,每次变更速度所对应的期望换
11、相时间d可通过计算得到。写入Matlab中的速度改变范围是5001 000,改变梯度为1,这样便可得到500个训练样本。最终把获得的样本制作成Excel表格的形式,这样便利下一步对样本进行BP神经网络的训练。 4 BP神经网络运用 4.1 基本原理 BP神经网络处理信息的基本原理是:输入信号Ti,通过中间节点作用于输出节点,经过非线形变换,产生输出信号yi,网络训练的每个样本包括输入向量和期望输出量d、网络输出值yi与期望输出值d之间的偏差,通过调整输入节点与输出节点的联接强度取值Wij以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数,停止训练。此时经过训练的神
12、经网络即能对类似样本的输入信息,自行处理输出误差最小的经过非线性转换的信息。 图5是依据神经网络的基本原理建立的六输入六输出的神经网络信号流图。 4.2 训练方式选取 网络训练方式分为串行训练和集中训练。串行训练是指从训练样本集中每输入一个样本模式和期望输出,进行一次BP神经网络的突触权值更新;而集中训练突触权值的更新要在组成一个回合的全部样本向量都训练后才进行。从在线运行的观点来看,训练的串行方式比集中方式好,因为对每个突触权值来说,须要更少的局部存储。此外,样本向量以随机方式呈现给网络,利用每输入一样本向量就更新突触权值的方法使得在权值空间的搜寻具有随机性,这使得反向传播算法陷入微小局部的
13、可能性降低。因此在网络训练中选取串行训练的方式。 反向传播算法的學习步骤如下: 初始化。设置全部突触权值和阈值为最小的随机数。在没有先验学问可用的状况下,可以选择均值等于0的匀称分布来设置,该分布的方差的选择,应当使神经元诱导局部域的标准偏差位于sigmoid激活函数的线性部分与饱和部分的过渡处。 供应输入训练样本集T,dNn=1。给出依次赋值输入向量T,T,T,T和期望输出响应d。其中T=T1,T2,T3,T4,T5,T6。 对训练样本n,计算各隐含层和输出层的神经元输出,参见式和式。 对训练样本n,计算误差函数和代价函数参见式和式。 调整输出层和隐含层的突触权值,参见式。 令n=n+1,返
14、回步骤,直到满意停止准则。 ej=d-yj =126j=1e2j j=6i=0jiTi yj=f) 权值校正ji=学习率参数局部梯度j神经元j输入信号Ti j=f1-fdk-f 由以上训练可以得出输入层与输出层之间的权值wij,其中:i为输入层神经元的标号,j为输出层神经元的标号。最终把训练好的权值发送给stm32,此时可以利用stm32软件检测的换向时间和权值,便可得到期望值d误差较小的换相时间在yj,从而使电机换相平稳、运行速度精准。 5 结语 本文建立了基于stm32和Matlab的电机限制系统、BP神经网络采样系统和BP神经网络训练系统。该设计方案具有智能化远程限制和操作简洁的优点,利
15、用BP神经网络优秀的学习实力,能够适应直流无刷电机这个多变量、强耦合、非线性困难系统,引入BP神经网络限制,使系统对换相时间的限制具有更好的鲁棒性。本文提出的BP神经网络在换相系统中的应用,有利于提高电机限制精度及动态性能。本限制系统的设计理念可移植到众多限制领域当中,因此,这种基于stm32和Matlab的BP神经网络限制系统在智能化限制领域将会拥有广袤的应用前景。 参考文献: 1 张琛.直流无刷电动机原理及应用M.北京:机械工业出版社,2022. 2 冯纯伯,刘延年.神经网络限制的现状及问题J.限制理论与应用,11014,11:103-106. 3 范磊,张运陶,程正军.基于Matlab的
16、改进BP 神经网络及其应用J.西华师范高校学报:自然科学版,2022,26:73-73. 4 张立材基于Matlab环境的串行数据通信J.微计算机信息,2004,20:101-101 5 KIM Y ,KOOK Y ,KO Y.A new technique of reducing to rqueripples for BDCM drivesJ.IEEE Trans on Industrial Electronics.19101,44:735-739. 6 SOMANATHAM R,PRASAD P V N,RAJKUMAR A D.Modeling and simulation of sen
17、sor less control of PM BLDC motor using zero crossing back EMF detectionC.IEEE International Symposium on Power Electronics,Electric Drives,Automation and Motion,2022:1014-1019. 第10页 共10页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页