基于RT-Thread-nano的无刷直流电机启动系统、方法和设备与流程
未命名
08-26
阅读:242
评论:0
基于rt-thread-nano的无刷直流电机启动系统、方法和设备
技术领域
1.本发明涉及电力电子与电气传动技术领域,具体为一种基于rt-thread-nano的无刷直流电机启动系统、方法和设备。
背景技术:
2.电机有各式各样的种类,而无刷直流电机(brushless direct current motor,bldc)是当今最理想的调速电机。它集直流电机与交流电机的优点于一身,既有直流电机良好的调整性能,又有交流电机结构简单、无换向火花、运行可靠和易于维护等优点。无刷直流电机克服了有刷直流电机的先天性缺陷,以电子换向器取代了机械换向器,所以无刷直流电机既具有直流电机良好的调速性能等特点,又具有交流电机结构简单、无换向火花、运行可靠和易于维护等优点。
3.bldc实质上为采用直流电源输入,并用逆变器变为三相交流电源,是一种带位置反馈的永磁同步电机。bldc电机控制要求了解电机进行整流转向的转子位置和机制。对于闭环速度控制,有两个附加要求,即对于转子速度或电机电流以及pwm信号进行测量,以控制电机速度功率。bldc电机可以根据应用要求采用边排列或中心排列pwm信号。大多数应用仅要求速度变化操作,将采用6个独立的边排列pwm信号。如果应用要求服务器定位、能耗制动或动力倒转,推荐使用补充的中心排列pwm信号。为了感应转子位置,bldc电机采用霍尔效应传感器来提供绝对定位感应。然而传统的针对无刷直流电机的启动方法存在着启动速度慢和不稳定的技术问题。
技术实现要素:
4.本发明的目的就在于为了解决上述至少一个技术问题而提供一种基于rt-thread-nano的无刷直流电机启动系统、方法和设备。
5.第一方面,本发明实施例提供了一种基于rt-thread-nano的无刷直流电机启动系统,包括:mcu最小系统、电位器调速电路、功率管驱动电路、三相逆变电路、电压电流采集电路和霍尔信号采集电路;其中,所述mcu最小系统分别与所述电位器调速电路、所述功率管驱动电路、所述电压电流采集电路和所述霍尔信号采集电路连接;所述功率管驱动电路的输出端与所述三相逆变电路的输入端连接;所述三相逆变电路的输出端与目标无刷直流电机连接;所述电压电流采集电路和所述霍尔信号采集电路均与所述目标无刷直流电机连接;所述电压电流采集电路,用于对所述目标无刷直流电机进行模拟信号采样;所述霍尔信号采集电路,用于采集所述目标无刷直流电机的三相霍尔信号;所述电位器调速电路,用于获取转速参考指令;所述mcu最小系统的rtos操作系统包括rt-thread-nano,用于执行所述无刷直流电机启动系统的主函数循环,同时使能dma中断和定时器中断,输出所述目标无刷直流电机的控制指令;所述功率管驱动电路,用于将所述控制指令转换为逆变器控制信号;所述三相逆变电路,用于基于所述逆变器控制信号控制所述目标无刷直流电机运行。
6.第二方面,本发明实施例还提供了一种基于rt-thread-nano的无刷直流电机启动
方法,应用于基于rt-thread-nano的无刷直流电机启动系统;所述无刷直流电机启动系统与目标无刷直流电机电连接;所述方法包括:对所述无刷直流电机启动系统进行初始化操作;执行所述无刷直流电机启动系统的主函数循环,同时使能dma中断和定时器中断;其中,所述dma中断包括:对所述目标无刷直流电机进行模拟信号采样,并基于采样信号判断所述目标无刷直流电机是否存在过流状态和过压状态;所述定时器中断包括:基于所述目标无刷直流电机的三相霍尔信号的不同组合计算电机实际转速;基于所述目标无刷直流电机是否存在过流状态和过压状态设置系统标志位;基于所述电机实际转速、电机预设转速和所述系统标志位,对所述目标无刷直流电机进行pid控制;所述主函数循环包括:基于所述系统标志位控制所述目标无刷直流电机的运行和停止。
7.进一步地,所述无刷直流电机启动系统包括rt-thread-mamo实施操作系统;对所述无刷直流电机启动系统进行初始化操作,包括:对所述rt-thread-mamo实施操作系统进行初始化;对所述电机启动系统的底层驱动进行初始化;对所述电机启动系统的系统变量和控制参数进行初始化。
8.进一步地,所述dma中断的优先级高于所述定时器中断和所述主函数循环的优先级,所述定时器中断的优先级高于所述主函数循环的优先级。
9.进一步地,所述dma中断,还包括:采集所述目标无刷直流电机的直流电压模拟信号和电流模拟信号;基于所述目标无刷直流电机的电机实际转速和电机预设转速,确定电流环阈值;所述电流环阈值包括电压阈值和电流阈值;若所述直流电压模拟信号超过所述电压阈值的次数达到预设次数,则确定所述目标无刷直流电机处于过压状态;若所述电流模拟信号超过所述电流阈值的次数达到所述预设次数,则确定所述目标无刷直流电机处于过流状态。
10.进一步地,所述系统标志位包括过压标志位、过流标志位和运行标志位;所述定时器中断,还包括:判断所述目标无刷直流电机是否处于过压状态;如果是,则设置所述过压标志位为1,并设置所述运行标志位为0;如果否,则设置所述过压标志位为0;判断所述目标无刷直流电机是否处于过流状态;如果是,则设置所述过流标志位为1,并设置所述运行标志位为0;如果否,则设置所述过流标志位为0;若所述目标无刷直流电机处于非过压状态和非过流状态,则设置所述运行标志位为1。
11.进一步地,所述主函数循环还包括:若所述运行标志位为1,则控制所述目标无刷直流电机运行;若所述运行标志位为0,则控制所述目标无刷直流电机停止。
12.第三方面,本发明实施例还提供了一种电子设备,包括:存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第二方面所述的方法。
13.本发明提供了一种基于rt-thread-nano的无刷直流电机启动系统、方法和设备,主控mcu最小系统的rtos实时操作系统采用rt-thread的极简版硬实时内核版本rt-thread-nano,通过两个中断函数实现无刷直流电机稳定快速启动,缓解了传统的针对无刷直流电机的启动方法存在着启动速度慢和不稳定的技术问题。
附图说明
14.为了更清楚地说明本技术实施方式或现有技术中的技术方案,下面将对具体实施
方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
15.图1为本发明实施例提供的一种基于rt-thread-nano的无刷直流电机启动系统的示意图;
16.图2为本发明实施例提供的一种基于rt-thread-nano的无刷直流电机启动方法的流程图;
17.图3为本发明实施例提供的一种主函数循环的执行逻辑示意图;
18.图4为本发明实施例提供的一种dma中断的逻辑示意图;
19.图5为本发明实施例提供的一种定时器中断的逻辑示意图;
20.图6为本发明实施例提供的一种基于rt-thread-nano的无刷直流电机启动电流波形图。
具体实施方式
21.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
22.实施例一
23.图1是根据本发明实施例提供的一种基于rt-thread-nano的无刷直流电机启动系统的示意图。如图1所示,该启动系统包括:mcu最小系统10、电位器调速电路20、功率管驱动电路30、三相逆变电路40、电压电流采集电路50和霍尔信号采集电路60。
24.具体地,如图1所示,mcu最小系统10分别与电位器调速电路20、功率管驱动电路30、电压电流采集电路50和霍尔信号采集电路60连接;功率管驱动电路30的输出端与三相逆变电路40的输入端连接;三相逆变电路40的输出端与目标无刷直流电机70连接;电压电流采集电路50和霍尔信号采集电路60均与目标无刷直流电机70连接。
25.可选地,如图1所示,本发明实施例提供的无刷直流电机启动系统,还包括输入电源和辅助电源电路80。其中,输入电源给整个电路板供电,三相逆变电路40作为主功率电路需要24v直流电,辅助电源经过dcdc芯片产生12v、5v、3.3v三种不同等级的直流电压给除了三相逆变电路40的其他电路供电。
26.电压电流采集电路50,用于对目标无刷直流电机70进行模拟信号采样。具体地,电压电流采集电路50采集目标无刷直流电机70的三相电流以及直流母线电压。
27.霍尔信号采集电路60,用于采集目标无刷直流电机70的三相霍尔信号。具体地,目标无刷直流电机70旋转360
°
电角度对应输出六种霍尔信号的排列组合,相应的对应六个换相状态,就可以测出对应的位置速度。
28.电位器调速电路20,用于获取转速参考指令。具体地,利用0-3.3v的模拟电压划分电机给定转速值,从而得到电机转速参考指令。
29.mcu最小系统10的rtos操作系统包括rt-thread-nano,用于执行无刷直流电机启动系统的主函数循环,同时使能dma中断和定时器中断,输出目标无刷直流电机70的控制指
令。
30.在本发明实施例中,mcu最小系统10作为主控芯片执行电机控制系统代码,需要具备io模块、adc模块、pwm模块、通讯模块、定时器模块、输入捕捉模块。其中,io模块用于实现简单的输入输出功能;adc模块用于模拟量的采集,可以用于旋钮调速、电压采集、电流采集、温度采集等;pwm模块用于输出pwm波驱动逆变桥,从而驱动电机,对pwm模块的要求是要分辨率足够高,如果要驱动三相电机的话,那么就需要至少产生三路pwm信号;通讯模块用于单片机跟外部进行信息传输,比如串口通讯模块,可以支持上位机跟mcu之间的通讯,像串口程序升级、串口调参等等;定时器模块用于一些定时任务,如需要一段时间执行什么任务,就可以用定时器模块来控制时间;输入捕捉模块用于捕捉外部的数字信号,比如需要测量电机的速度,可以利用输入捕捉模块对霍尔信号进行捕捉。
31.可选地,mcu最小系统10包括微控制器tae32f5系列芯片。
32.功率管驱动电路30,用于将控制指令转换为逆变器控制信号。具体地,功率管驱动电路30作为mcu最小系统10和三相逆变电路40的接口,需要具备将弱电信号与强电信号隔离的作用,将mcu最小系统10的控制指令转化为逆变器功率管的控制信号
33.三相逆变电路40,用于基于逆变器控制信号控制目标无刷直流电机70运行。可选地,三相逆变电路40作为主功率电路给电机提供电能,可以选择的功率器件为mosfet或igbt。
34.实施例二:
35.图2是根据本发明实施例提供的一种基于rt-thread-nano的无刷直流电机启动方法的流程图,该启动方法应用于基于rt-thread-nano的无刷直流电机启动系统。其中,无刷直流电机启动系统与目标无刷直流电机电连接。如图2所示,该启动方法具体包括如下步骤:
36.步骤s202,对无刷直流电机启动系统进行初始化操作。
37.步骤s204,执行无刷直流电机启动系统的主函数循环,同时使能dma中断和定时器中断。
38.其中,dma中断包括:对目标无刷直流电机进行模拟信号采样,并基于采样信号判断目标无刷直流电机是否存在过流状态和过压状态。
39.定时器中断包括:基于目标无刷直流电机的三相霍尔信号的不同组合计算电机实际转速;基于目标无刷直流电机是否存在过流状态和过压状态设置系统标志位;基于电机实际转速、电机预设转速和系统标志位,对目标无刷直流电机进行pid控制。
40.主函数循环包括:基于系统标志位控制目标无刷直流电机的运行和停止。
41.在本发明实施例中,无刷直流电机启动系统包括rt-thread-mamo实施操作系统;对无刷直流电机启动系统进行初始化操作,包括:
42.对rt-thread-mamo实施操作系统进行初始化;具体地,包括板级初始化、打印rt-thread版本信息、定时器初始化、调度器初始化、信号量初始化、用户线程初始化、定时器线程初始化、空闲线程初始化、启动调度器;
43.对电机启动系统的底层驱动进行初始化;具体地,包括gpio、dma、定时器、pwm模块、输入捕获模块、adc模块的初始化;
44.对电机启动系统的系统变量和控制参数进行初始化;具体地,包括参考转速、pid
控制参数、过压过流保护参数的初始化。
45.具体地,主函数循环为while循环,while循环在执行过程中会被dma中断或定时器中断打断。可选地,dma中断的优先级高于定时器中断和主函数循环的优先级,定时器中断的优先级高于主函数循环的优先级。
46.图3是根据本发明实施例提供的一种主函数循环的执行逻辑示意图。如图3所示,主函数循环会一直判断无刷直流电机启动系统是否触发过压保护或过流保护,一旦触发了保护电机停止转动,否则电机一直按照期望转速转动。
47.图4是根据本发明实施例提供的一种dma中断的逻辑示意图。如图4所示,dma中断,还包括:
48.采集目标无刷直流电机的直流电压模拟信号和电流模拟信号;
49.基于目标无刷直流电机的电机实际转速和电机预设转速,确定电流环阈值;电流环阈值包括电压阈值和电流阈值;
50.若直流电压模拟信号超过电压阈值的次数达到预设次数,则确定目标无刷直流电机处于过压状态;
51.若电流模拟信号超过电流阈值的次数达到预设次数,则确定目标无刷直流电机处于过流状态。
52.在本发明实施例中,dma中断函数(即dma中断)采集电压模拟信号直流母线电压、电位器参考转速电压(范围0-3.3v),采集两相电机电流模拟信号,根据给定的转速和实际的转速得到电流环的参考输入,将电流环设置一个上限进行比较。当dma中断获取多次过电流值时才确认过流。过压保护同理。
53.图5是根据本发明实施例提供的一种定时器中断的逻辑示意图。如图5所示,定时器中断包括:通过霍尔信号采集电路获取电机转速,判断电机是否触发过流保护,判断电机是否触发过压保护,设置系统标志位,对pid控制器进行控制。其中,系统标志位包括过压标志位、过流标志位和运行标志位。
54.具体地,在本发明实施例中,定时器中断,还包括:
55.判断目标无刷直流电机是否处于过压状态;如果是,则设置过压标志位为1,并设置运行标志位为0;如果否,则设置过压标志位为0;
56.判断目标无刷直流电机是否处于过流状态;如果是,则设置过流标志位为1,并设置运行标志位为0;如果否,则设置过流标志位为0;
57.若目标无刷直流电机处于非过压状态和非过流状态,则设置运行标志位为1。
58.在本发明实施例中,定时器中断根据三相霍尔信号的不同组合(000、001、010、011、100、101、110、111)计算目标无刷直流电机实际转速。霍尔传感器有变化时定时器会捕获到一个值time,利用time可以计算出一次换相的时间,根据电机的极对数得出电机转一圈共有的n个变化信号,由此可以计算出电机实际转速。
59.在本发明实施例中,定时器中断函数(即定时器中断)只有在过压标志位和过流标志位均为0、且运行标志位等于1时,才会进行pid控制函数运算。其中,pid控制函数在定时器中断函数中默认是50毫秒调用一次。如果改变了定时器中断函数的周期,那么pid三个参数也需要做相应的调整,pid的控制周期与控制效果是息息相关的。调用之前获取电机旋转速度的结果(单位是转每分钟),把实际速度带入pid计算公式进行运算,根据运算结果的正
负设置电机的旋转方向。最后对pid输出的结果做一个上限处理,用于pwm占空比的控制。
60.具体地,主函数循环还包括:
61.若运行标志位为1,则控制目标无刷直流电机运行;
62.若运行标志位为0,则控制目标无刷直流电机停止。
63.图6是根据本发明实施例提供的一种基于rt-thread-nano的无刷直流电机启动电流波形图。如图6所示,上半部分是电机启动时a相电流波形,横坐标为时间,单位为3s/格;纵坐标为电流,单位为0.1a/格。下半部分为电机启动后的a相电流稳态波形,横坐标为时间,单位为10ms/格;纵坐标为电流,单位为0.1a/格。
64.由电机启动波形可以看出,电机在刚刚启动的几秒内电流较小,输出的pwm的占空比较小,程序在执行时确定好给定转速、计算出实际转速、电机电流以及直流母线电压。待符合系统运行状态后增大电机电流,提高电机转速。可以看出在电机达到稳定转速之前,电流除了在一开始由于pid控制器的作用有些许的超调,之后处于慢慢增大的过程直至电流到达峰值,电机转速趋于稳定。电机转速稳定后的电流波形也十分平稳,符合bldc“六步换向法”的方波控制电流波形。由图6可以看出,本发明针对直流无刷电机启动方法提供的一种国产化软硬件解决方案,电机启动稳定快速,动态波形和稳态波形均有良好的表现。
65.由以上描述可知,本发明提供了一种基于rt-thread-nano的无刷直流电机启动方法,主控mcu最小系统的rtos实时操作系统采用rt-thread的极简版硬实时内核版本rt-thread-nano,通过两个中断函数实现无刷直流电机稳定快速启动,控制代码结构简单,方便后期软件升级与移植,缓解了传统的针对无刷直流电机的启动方法存在着启动速度慢和不稳定的技术问题。
66.本发明实施例还提供了一种电子设备,包括:存储器、处理器和存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如本发明实施例提供的方法。
67.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
68.此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
技术特征:
1.一种基于rt-thread-nano的无刷直流电机启动系统,其特征在于,包括:mcu最小系统、电位器调速电路、功率管驱动电路、三相逆变电路、电压电流采集电路和霍尔信号采集电路;其中,所述mcu最小系统分别与所述电位器调速电路、所述功率管驱动电路、所述电压电流采集电路和所述霍尔信号采集电路连接;所述功率管驱动电路的输出端与所述三相逆变电路的输入端连接;所述三相逆变电路的输出端与目标无刷直流电机连接;所述电压电流采集电路和所述霍尔信号采集电路均与所述目标无刷直流电机连接;所述电压电流采集电路,用于对所述目标无刷直流电机进行模拟信号采样;所述霍尔信号采集电路,用于采集所述目标无刷直流电机的三相霍尔信号;所述电位器调速电路,用于获取转速参考指令;所述mcu最小系统的rtos操作系统包括rt-thread-nano,用于执行所述无刷直流电机启动系统的主函数循环,同时使能dma中断和定时器中断,输出所述目标无刷直流电机的控制指令;所述功率管驱动电路,用于将所述控制指令转换为逆变器控制信号;所述三相逆变电路,用于基于所述逆变器控制信号控制所述目标无刷直流电机运行。2.一种基于rt-thread-nano的无刷直流电机启动方法,其特征在于,应用于基于rt-thread-nano的无刷直流电机启动系统;所述无刷直流电机启动系统与目标无刷直流电机电连接;所述方法包括:对所述无刷直流电机启动系统进行初始化操作;执行所述无刷直流电机启动系统的主函数循环,同时使能dma中断和定时器中断;其中,所述dma中断包括:对所述目标无刷直流电机进行模拟信号采样,并基于采样信号判断所述目标无刷直流电机是否存在过流状态和过压状态;所述定时器中断包括:基于所述目标无刷直流电机的三相霍尔信号的不同组合计算电机实际转速;基于所述目标无刷直流电机是否存在过流状态和过压状态设置系统标志位;基于所述电机实际转速、电机预设转速和所述系统标志位,对所述目标无刷直流电机进行pid控制;所述主函数循环包括:基于所述系统标志位控制所述目标无刷直流电机的运行和停止。3.根据权利要求2所述的方法,其特征在于:所述无刷直流电机启动系统包括rt-thread-mamo实施操作系统;对所述无刷直流电机启动系统进行初始化操作,包括:对所述rt-thread-mamo实施操作系统进行初始化;对所述电机启动系统的底层驱动进行初始化;对所述电机启动系统的系统变量和控制参数进行初始化。4.根据权利要求2所述的方法,其特征在于:所述dma中断的优先级高于所述定时器中断和所述主函数循环的优先级,所述定时器中断的优先级高于所述主函数循环的优先级。5.根据权利要求2所述的方法,其特征在于:所述dma中断,还包括:采集所述目标无刷直流电机的直流电压模拟信号和电流模拟信号;基于所述目标无刷直流电机的电机实际转速和电机预设转速,确定电流环阈值;所述电流环阈值包括电压阈值和电流阈值;
若所述直流电压模拟信号超过所述电压阈值的次数达到预设次数,则确定所述目标无刷直流电机处于过压状态;若所述电流模拟信号超过所述电流阈值的次数达到所述预设次数,则确定所述目标无刷直流电机处于过流状态。6.根据权利要求2所述的方法,其特征在于:所述系统标志位包括过压标志位、过流标志位和运行标志位;所述定时器中断,还包括:判断所述目标无刷直流电机是否处于过压状态;如果是,则设置所述过压标志位为1,并设置所述运行标志位为0;如果否,则设置所述过压标志位为0;判断所述目标无刷直流电机是否处于过流状态;如果是,则设置所述过流标志位为1,并设置所述运行标志位为0;如果否,则设置所述过流标志位为0;若所述目标无刷直流电机处于非过压状态和非过流状态,则设置所述运行标志位为1。7.根据权利要求6所述的方法,其特征在于:所述主函数循环还包括:若所述运行标志位为1,则控制所述目标无刷直流电机运行;若所述运行标志位为0,则控制所述目标无刷直流电机停止。8.一种电子设备,其特征在于,包括:存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求2-7任一项所述的方法。
技术总结
本发明公开了一种基于RT-Thread-nano的无刷直流电机启动系统、方法和设备,包括:MCU最小系统、电位器调速电路、功率管驱动电路、三相逆变电路、电压电流采集电路和霍尔信号采集电路;其中,MCU最小系统的RTOS操作系统包括RT-Thread-nano,用于执行无刷直流电机启动系统的主函数循环,同时使能DMA中断和定时器中断,输出目标无刷直流电机的控制指令。本发明通过两个中断函数实现无刷直流电机稳定快速启动,缓解了传统的针对无刷直流电机的启动方法存在着启动速度慢和不稳定的技术问题。法存在着启动速度慢和不稳定的技术问题。法存在着启动速度慢和不稳定的技术问题。
技术研发人员:赵致远 丁琳 张洪军 岳峰 史志伟 陈继洪 董金才
受保护的技术使用者:南京国电南自软件工程有限公司
技术研发日:2023.06.08
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
