S12MagniV 汽车无传感器BLDC电机控制解决方案

合集下载

电动汽车上无传感器BLDCM的起动控制

电动汽车上无传感器BLDCM的起动控制
图 2 理想情况下三相的 E 和 i
电动汽车上无传感器 BLDCM 的起动控制
2.2 改进的反电动势检测法
过程,而且换相瞬间可能引起较大的电噪声扰动,所
在此,提出改进型反电势法,即直接反电动势检 以应在换相完成后的一小段时间内不对相电压进行
测法,它无需中性点电压,仅通过正确选择 PWM 斩 采样,以免造成误检测而引起换相时间不准。
慢,且开始时相位一定滞后,相电流较大,所以在此 电机、不同负载,其优化曲线可能不再适用,需要研
过程中必须同时监测反馈电流值,一旦过流必须马 上切断 PWM 输出,并返回到预定位重新开始起动。
究更具通用性的方法;④在 PWM 关断时刻检测相 电压,固然能够减少 PWM 脉冲对相电压造成的干
4 系统实现: 硬件及软件结构
PWM 关断时,有以下公式分析[2-3]。
忽略二极管上的管压降,则有:
un=0- ri- Ldi/dt- Ea 忽略 MOS 管的管压降,有:
(1)
un=ri+Ldi/dt- Eb 将式(1)和式(2)相加,得到:
(2)
un=- (Ea+Eb)/2
(3)
可以认为电机的三相绕组几乎相同,则在任一
相的反电动势过零点时有:
3 起动控制策略
BLDCM 刚刚起动和转速较慢时反电动势过小, 不能依据反电动势过零对电机进行换相控制,只能 采用特殊起动方法。较常用的是三段式起动[4],即预 定位、同步加速和根据反电动势过零自动换相。 3.1 预定位
最简单的预定位方法是无论起动前转子的位置 如何,先任意给两相通电并维持一段时间,以确保转 子转到通电两相所决定的磁极方向上。但若转子的 起始位置与 A+,B- 两相所决定的磁极方向恰恰相 反,则转子可能不动,这便造成定位失败。

BLDC无位置传感器控制技术

BLDC无位置传感器控制技术

BLDC无位置传感器控制技术2014.11.12duguqiubai1234@BLDC电机是一种结合了直流电机和交流电机优点的改进型电机。

其转子采用永磁材料励磁,体积小、重量轻、结构简单、维护方便。

BLDC电机又具有控制简便、高效节能等一系列优点,已广泛应用于仪表和家用电器等领域。

本文主要讨论高压BLDC风机无位置传感器起动和运行技术。

一、无位置传感器技术简介BLDC电机最简单的控制方法是安装三个位置传感器,使用六步换相法控制。

但传感器器会增大电机的体积和成本,另外传感器的位置精度影响电机的运行;特别对于极对数较多的电机,传感器偏差少许机械角度也可能引起电角度偏差很多。

在某些恶劣环境下,如高温、潮湿、腐蚀性气体等环境,传感器易损坏,因而无法使用。

使用无位置传感器方式则可以克服上述缺点。

无传感器BLDC在性能上也存在一些不足:(1)难以实现重负载(例如额定转矩)起动。

好在风机属于轻负载起动的情况。

(2)难以快速起动。

例如很难实现1秒内从静止加速到全速。

好在风机通常不要求很短时间内完成加速。

(3)无法实现全速范围内任意调速。

有传感器BLDC能够实现0%~100%额定转速范围内的调速,而无传感器BLDC通常只能实现10%~100%额定转速范围内的调速。

好在风机通常不要求10%额定转速以下运行。

经过以上分析,可以看出风机非常适合使用无位置传感器方式控制。

国内高压无位置传感器BLDC技术仍处于不成熟阶段。

使用该技术的产品应以稳定可靠为主要要求,而不是以性能优越为主要要求。

高压无传感器BLDC如果追求性能优越,则成本太高,技术难度过大。

风机类产品通常起动后连续工作时间较长,所以通常不要求快速起动,不也要求反复起停。

风机类产品10%以下额定转速将造成风量过小,所以通常也不会要求10%额定转速以下运行。

无传感器BLDC起动时需要锁定转子、外同步加速(开环加速)等过程,所以起动较慢;起动过快易造成失败,所以通常不宜要求无传感器BLDC做快速起动。

无传感器BLDC驱动控制系统的设计

无传感器BLDC驱动控制系统的设计

无传感器BLDC驱动控制系统的设计近年来,国内市场上电动车使用的电机主要有三种:有刷电机、有位置传感器无刷电机和无位置传感器无刷电机。

使用有刷直流电机容易解决换相问题,但是噪音大,而且碳刷容易磨损或损坏,这会增大维护、维修难度,增加使用成本;使用有传感器无刷直流电机容易确定转子位置,解决换相问题,但却增大了电机的设计、制造和安装难度,也增加了成本,并且传感器容易损坏,导致电机的使用寿命缩短;无传感器无刷直流电机换相虽然在技术上有难度,但在成本和寿命上更容易满足消费者需求。

综合以上特点,本文讨论的方案选择了性价比较高的无传感器无刷直流电机,以HT46R6?为主控芯片,用反电势法(back electromotive force)实现电机正常换相,软硬结合,使电动车驱动系统工作在最佳状态,从而提高产品的可靠性和使用寿命。

系统工作原理控制系统结构框图如图1所示,主要由MCU、直流无刷电机、LCD液晶显示屏、键盘、电源、时钟等模块组成。

其中MCU采用台湾Holtek公司生产的HT46R6?微处理器,以它作为系统核心,连同一些外围硬件,并配合软件共同控制直流无刷电机,从而实现该驱动系统的优良性能。

例如通过MCU指令控制电机的正反转、调速、刹车或制动等。

根据电机所转圈数计量行程,并以数字形式呈现在液晶屏上,通过键盘操作方便查看行程以及其它系统信息。

电源模块主要用于在不需要显示时切断相应部分电路,同时保存关键信息,以降低系统功耗。

图1:驱动系统结构框图。

由图1可以看出,本驱动控制器的主要功能大致分为三个部分:电机部分、行程计量以及LCD显示,本文主要围绕无传感器电机的换相问题展开。

1. 反电势换相原理霍尔传感器在电机中使用广泛,带位置传感器直流无刷电机就是靠霍尔传感器来确定转子位置,以使定子各相绕组顺序导通实现换相;而无传感器直流无刷机则是利用电子线路代替位置传感器(图2),通过检测电机在运行过程中产生的反电势过零点来确定转子位置,实现换相,下面以星形绕组为例进一步说明。

无位置传感器BLDCM能量回馈控制新方法

无位置传感器BLDCM能量回馈控制新方法

D 驱动控制r i v e a n d c o n t r o l 微特电机 2006年第2期 无位置传感器能量回馈控制新方法30 收稿日期:2004-09-14无位置传感器B LDC M 能量回馈控制新方法谢宝昌(上海交通大学,上海200030)A NovelM ethod on Regenera ti n g Con trol of Positi on Sen sorless Brushless DC M otorX IE B ao -chang(Shanghai J iaot ong University,Shanghai 200030,China ) 摘 要:为了简化无刷直流电动机结构、减小成本和提高可靠性,且能实现能量的双向流动,介绍了一种新的无位置传感器能量回馈控制方法。

该方法首先设计二阶阻容滤波电路和数字滤波器检测三相绕组端点电压和绕组电流,然后根据电机数学模型计算出无三倍次谐波的反电势信号,从而估算电机转速、判断转向和等电势点,确定正确换相时刻和逻辑,实现无位置传感器控制。

最后根据电机的可逆原理提出了一种简单可靠的高、低压蓄电池实现能量回馈的不可控整流方法。

关键词:无刷直流电动机电机;无位置传感器控制;等电势点;形状函数;能量回馈;可充电蓄电池中图分类号:T M 33 文献标识码:A 文章编号:1004-7018(2006)02-0030-04Abstract:I n order t o si m p lify structure,l ower cost and raise reliability of brushless DC mot or (BLDC M )and t o i m p le 2ment bidirecti onal trans m issi on of electric energy bet w een supp ly and ar mature windings,a novel method on regenerating contr ol of positi on sens orless BLDC M is p r oposed in this paper .The method p resents t o detect three -phase ter m inal voltages and sense ar mature winding’s currents via t w o -order RC anal og filter and corres ponding digital filter res pectively .Thus,back E MFs without tri p le har monics are calculated according t o mathe matical model of BLDC M.Further more,the r otating directi on,s peed and equi potential points are evaluated and the correct commuta 2ti on instants and l ogic signals are deter m ined .Finally,accord 2ing t o reversal p rinci p le of electric machines,a si m p le,reliable and uncontr ollable rectifier which regenerates electric energy fr om BLDC M t o high and /or l ow voltage batteries is als o intr o 2duced in this paper .Keywords:BLDC M;positi on sens orless contr ol;equi poten 2tial points;shape functi on;energy regenerati on;rechargeable bat 2tery1引 言传统直流电动机控制性能好但存在机械换向器,体积庞大且易产生换向火花、电磁干扰和需要定期维护电刷,因此不适用于恶劣环境。

S12ZVM BLDC控制方案(中文版)

S12ZVM BLDC控制方案(中文版)

PWM控制常用于采用微控制器的应用。 PWM调制器的占空比由速度PI控制器获取。速度PI控制 器将放大所需速度与实际速度之间的误差,其输出经过恰当调整后送到PWM调制器。
实际机械速度可根据轴位置ϕmech的时间导数计算得出。
公式 2
߱௠௘௖௛
=
݀߮௠௘௖௛ ݀‫ݐ‬
=
1 ݀߮௘௟ ‫ݐ݀ ݌‬

1 ‫݌‬
7 参考 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
© Freescale Semiconductor, Inc., 2013. All rights reserved.
BLDC 无传感器控制
单极性PWM控制意味着电机相线上看只能看到正电压。为实现单极性PWM模式,其中一相采用 互补PWM模式,第二相接地,第三相不通电,如图 3所示。电角度每变换60°就可以观察到这 种PWM模式,仅有相序不同。换向控制根据轴位置确定相序。
采用 S12 MagniV MC9S12ZVM 的三相无传感器 BLDC 电机控制套件 , Rev. 1
飞思卡尔半导体
5
BLDC 无传感器控制
换向 事件
图 3. 互补/独立单极性PWM开关
例如,在第一个周期中, A相由互补PWM信号供电,而B相的底部晶体管接地, C相未通电。 在90°电角度处发生换向事件后, A相仍然由互补PWM信号供电, B相断电, C相转为接地。
本应用说明中描述的控制基于互补/独立单极性PWM调制技术。
ȟ߮௘௟ ȟܶ
由于在两次换向之间,轴的移动距离恰好为一个电周期(2π弧度)的1/6,因此以上公式可改写为以 下形式:

无传感器BLDC控制与应用技巧

无传感器BLDC控制与应用技巧
控制器 M
输 出
2013-07
Hall A Hall B Hall C
Copyright © Infineon Technologies AG 2013. All rights reserved.
Page 4
BLDC换相的HALL信号
2013-07
Copyright © Infineon Technologies AG 2013. All rights reserved.
Event0---外部启动,ST信号确认采样 Event1---外部门控,执行PWM同步屏蔽 Event2---外部调制,执行换相后屏蔽
External Modulation by CC42ST
2013-07
Copyright © Infineon Technologies AG 2013. All rights reserved.
2013-07
Copyright © Infineon Technologies AG 2013. All rights reserved.
Page 18
端电压需要回避干扰
电感尖峰 和PWM开 关噪声需 屏蔽处理
电机端电压信号必须处理掉不希望的干扰,但注意不能采用滤波手段, 以免带来相移。
2013-07
无感BLDC反电势检测方式
1)通过AD检测实现
能准确的获得三相电动势的信息,精准的实现换相。
2)通过比较器实现
在高速 依靠比较器的快速性,实现电机准确换相。
2013-07
Copyright © Infineon Technologies AG 2013. All rights reserved.
2013-07
Copyright © Infineon Technologies AG 2013. All rights reserved.

无刷无霍尔BLCD电机控制

无刷无霍尔BLCD电机控制

无刷无霍尔BLCD电机控制•1.概述无霍尔的BLDC控制方案与有霍尔BLDC的基本原理相似,都是用所谓“六步换向法”,根据转子当前的位置,按照一定的顺序给定子绕组通电使BLDC电机转动。

所不同的是无霍尔BLDC不需要霍尔效应传感器,通过检测定子绕组的反电动势过零点来判断转子当前的位置。

与有霍尔的方案相比,最明显的优点就是降低了成本、减小了体积。

且电机引线从8根变为3根,使接线调试都大为简化。

另外,霍尔传感器容易受温度和磁场等外界环境的影响,故障率较高。

因此,无霍尔BLDC得到越来越多的应用,在很多场合正逐步取代有霍尔BLDC。

本文介绍三相BLDC电机的无霍尔控制理论。

根据特定的应用场合,具体的实现方法会有所不同。

2 .BLDC电机结构及驱动方式简介一个简单的BLDC的构造如图1所示。

电机外层是定子,包含电机绕组。

多数BLDC都有三个Y型连接的绕组,这些绕组中的每一个都是由许多线圈互连组成的。

电机内部是转子,由围绕电机圆周的磁性相反的磁极组成。

图1显示了仅带有两个磁极(南北磁极)的转子,在实际应用中,大多数电机的转子具有多对磁极。

图1BLCD基本结构BLDC电机驱动电路的基本模型如图2所示。

通过开关管Q0~Q5来控制电机三相绕组的通电状态,开关管可以为IGBT或者功率MOS管。

其中位于上方即与电源正端连接的开关管称为“上桥”,下方即与电源负端连接的开关管称为“下桥”。

图2BLCD电机驱动电路基本模型例如,若Q1、Q4打开,其它开关管都关闭,则电流从电源正端经Q1、A相绕组、C相绕组、Q4流回电源负端。

流过A、C相定子绕组的电流会产生一个磁场,由右手定则可知其方向与B相绕组平行。

由于转子是永磁体,在磁场力的作用下会向著与定子磁场平行的方向旋转,即转到与B相绕组平行的位置,使转子的北磁极与定子磁场的南磁极对齐。

类似地,打开不同的上、下桥臂MOS管组合,就可控制电流的流向,产生不同方向的磁场,使永磁体转子转到指定的位置。

无刷直流BLDC电机控制解决方案

无刷直流BLDC电机控制解决方案

无刷直流BLDC电机控制解决方案无刷直流(BLDC)电机正迅速成为要求高可靠性,高效率和高功率体积比的应用的自然选择。

这些电机在很宽的速度范围内提供大量的扭矩,并且与有刷电机具有相似的扭矩和速度性能曲线特性(尽管有刷电机可提供更大的静止扭矩)。

BLDC电机由于消除了传统直流电机换向时使用的电刷而具有显着的可靠性。

刷子磨损,降低了电机的性能,最终必须更换。

相反,在额定参数范围内运行时,BLDC 电机的预期寿命可超过10,000小时或更长。

与传统装置相比,这种寿命以及随后的维护和备件成本的降低可以抵消电机的较高初始成本。

BLDC电机正在进入最具成本意识的应用领域。

例如,在汽车领域,BLDC电机的使用正在飙升。

汽车制造商尤其被电机在机械工作中转换电能的效率所吸引,这有助于降低对车辆电力系统的需求(图1)。

根据分析师IMS的研究,到2018年,6亿只BLDC电机将用于内燃机驱动的轻型车辆,而2011年则为2亿只。

(BLDC电机的大型版本在电动和混合动力汽车中已经很常见。

)图1:BLDC电机,如用于水泵的这种装置,正在取代汽车应用中的传统电机(Melexis提供)。

BLDC电机的这种兴趣促使芯片供应商为该单元的电子控制系统开发定制的单片芯片。

本文将详细介绍BLDC 电机控制芯片- 用于驱动逆变桥的设备,最终激活电机线圈并控制速度和方向等参数。

减少霍尔传感器故障飞兆半导体公司拥有BLDC电机控制的悠久历史,最近推出的FCM8201芯片仍在继续。

该器件专为感应BLDC 电机控制而设计。

(传感电机需要霍尔效应传感器来指示线圈位置以辅助电子换向序列)。

FCM8201的关键技术进步是它可以选择脉冲宽度调制(PWM)模式。

有两种PWM模式可供选择:正弦波模式和方波模式。

方波模式包括PWM-PWM和PWM-ON技术,可提高电机驱动效率。

Fairchild解释说,该器件还内置霍尔信号调节电路,可为每个传感器信号输入产生3至6μs的“去抖”时间。

120°方波无传感器BLDC电机控制器

120°方波无传感器BLDC电机控制器

120°方波无传感器BLDC电机控制器1、概述本应用笔记介绍了如何使用“端电压法”来实现120°方波无传感器BLDC电机控制器的设计。

采用“端电压法”来检测无传感器BLDC电机转子的位置,具有电路简单和程序算法简单的优点,系统响应速度快。

端电压的过零点就是电机的换相点,与构建电机虚拟中性点的检测方式相比,无需软件延时30°电角度,降低了软件编写的难度。

本设计中采用C8051F330的片上比较器来检查BLDC电机端电压的过零点,从而获得转子的位置。

针对不同的无传感器BLDC电机,在此设计的基础上适当地修改一些参数,都能很好地满足对BLDC驱动的要求。

C8051F330是美国芯科实验室设计的一款高速51内核的MCU,它是传统51 MCU的改良产品,完全兼容传统51 MCU。

C8051F330指令运行的峰值高达25MHZ,具有20个引脚,8K flash,768RAM,3个PCA模块,4个16位定时器,16通道10位ADC,AD转换速度高达200ksps,1通道10位DAC,1个片上比较器和1个片上温度传感器,以及丰富的通信接口:I2C、SPI和UART,QFN20小封装。

所需硬件●SMC0901开发板(见图4)●航模BLDC电机:D2632-1000(12VDC,4对极,额定带载转速5800RPM)●12V DC电源图4 SMC0901开发板该方案能实现的功能●无传感器BLDC电机120°方波驱动●正反转控制●调速范围:2000RPM ~ 6500RPM(机械转速),精度≤2%●PID转速闭环控制●比较器法检测电机端电压过零点●保护功能:过流保护、堵转保护和缺相保护●出现故障后立即进入保护状态,3秒后进入自恢复起动,重新开始运行(堵转和缺相情况除外)该方案优势:●采用“端电压法”,使用MCU内置的比较器检测端电压过零点,效率更高,成本更低,能很好地适应比较高速的无传感器BLDC电机调速系统●自动相位控制,完全由硬件自动完成,无需软件干预●参数调整简单,以适应不同的无传感器BLDC电机系统●能提供软、硬件参考设计●适用于泵类和风机类负载的应用2、系统介绍1)“端电压法”A) U、V、W三相的理想相电压波形图如图1、图2、图3所示:B) U、W两相电压合成的波形图如图5所示。

无霍尔BLDC控制

无霍尔BLDC控制

無霍爾BLDC電機控制1 概述無霍爾的BLDC控制方案與有霍爾BLDC的基本原理相似,都是用所謂“六步換向法”,根據轉子當前的位置,按照一定的順序給定子繞組通電使BLDC 電機轉動。

所不同的是無霍爾BLDC不需要霍爾效應傳感器,通過檢測定子繞組的反電動勢過零點來判斷轉子當前的位置。

與有霍爾的方案相比,最明顯的優點就是降低了成本、減小了體積。

且電機引線從8根變為3根,使接線調試都大為簡化。

另外,霍爾傳感器容易受溫度和磁場等外界環境的影響,故障率較高。

因此,無霍爾BLDC得到越來越多的應用,在很多場合正逐步取代有霍爾BLDC。

本文介紹三相BLDC電機的無霍爾控制理論。

根據特定的應用場合,具體的實現方法會有所不同。

2 BLDC電機結構及驅動方式簡介一個簡單的BLDC的構造如圖1所示。

電機外層是定子,包含電機繞組。

多數BLDC都有三個Y型連接的繞組,這些繞組中的每一個都是由許多線圈互連組成的。

電機內部是轉子,由圍繞電機圓周的磁性相反的磁極組成。

圖1顯示了僅帶有兩個磁極(南北磁極)的轉子,在實際應用中,大多數電機的轉子具有多對磁極。

圖 1 BLDC基本結構[1]BLDC電機驅動電路的基本模型如圖2所示。

通過開關管Q0~Q5來控制電機三相繞組的通電狀態,開關管可以為IGBT或者功率MOS管。

其中位於上方即與電源正端連接的開關管稱為“上橋”,下方即與電源負端連接的開關管稱為“下橋”。

圖 2 BLDC電機驅動電路基本模型[2]例如,若Q1、Q4打開,其它開關管都關閉,則電流從電源正端經Q1、A 相繞組、C相繞組、Q4流回電源負端。

流過A、C相定子繞組的電流會產生一個磁場,由右手定則可知其方向與B相繞組平行。

由於轉子是永磁體,在磁場力的作用下會向著與定子磁場平行的方向旋轉,即轉到與B相繞組平行的位置,使轉子的北磁極與定子磁場的南磁極對齊。

類似地,打開不同的上、下橋臂MOS管組合,就可控制電流的流向,產生不同方向的磁場,使永磁體轉子轉到指定的位置。

三相BLDC无刷直流电机的无传感器控制

三相BLDC无刷直流电机的无传感器控制

三相BLDC无刷直流电机的无传感器控制我想买阿莫的调试板做上面的试验,MCU用ATMEL的,看了几天PIC关于这个问题的实现方法,楞没看懂,也不敢买调试板了。

有大哥指点下吗?先谢了。

BEMF过零点检测实现方法,电压开环PWM控制电机速度,启动制动平稳,母线电压48V。

就这么简单。

附件是DSPIC对于直流无刷BLDC无传感器电机控制的应用笔记(中文)和源代码:点击此处打开armok01104153.pdf点击此处下载armok01104154.zipBEMF是经典的设计,一般控制有电压环,也有电流环,多半是使用开环来预转,先算出转子位置,然后使用闭环PI来做速度调节,有些会有PID来控制。

要做BLDC最好PWM是六路的,有死区控制的,带上下桥臂输出。

我现在有几个这样的客户我在搞技术支持,不过使用的是ST7MC,也有用dsPIC4011,不过我ST7MC用的多写。

主要是用于BLDC的变频控制。

我有Microchip的dsPIC做的变频空调应用笔记,可惜,我暂时不能放出来。

阿莫的调试板用A TMEL的MCU看你用的是那个型号了,我记得A VR有个专门用来做电机控制的MCU可以,可惜要自己写PI,比较累。

ST的你可以在他的网站上下载全部的代码。

还有dsp也可以做,你可到Freescale上找到BLDC的变频控制笔记和代码这是ST 三相BLDC的变频控制PI算法;/**************** (c) 2005 STMicroelectronics **********************PROJECT : ST7MC demokitCOMPILER : ST7 METROWERKS C (HIWARE) / COSMICMODULE : regul.cLIBRARY VERSION : 2.0CREATION DATE : 07.2003AUTHOR : Florent COSTE / Microcontroller Application Lab / ST Hong Kong-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-DESCRIPTION : routine for closed LOOP operation-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-****************************************************************************** THE SOFTWARE INCLUDED IN THIS FILE IS FOR GUIDANCE ONL Y. ST MICROELECT RONICSSHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGESWITH RESPECT TO ANY CLAIMS ARISING FROM USE OF THIS SOFTWARE.******************************************************************************-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-******************************************************************************/#include "version.h"#include "lib.h"#include "mtc.h"#include "regul.h"#include "ST7MC_hr.h"#include "it_ST7MC.h"#include "LinSCI.h"#include "MTC_Settings_Sensorless.h"#define Error_slip_MAX (s16)2048#define Error_slip_MIN (s16)-2048#define MTIM_MAX_FREQ MTC_CLOCK/8 // 16Mhz/8 -> 2Mhz//--------------------------------------// Variables//--------------------------------------static s32 VoltageIntegralTerm;static BOOL MaxPiOut,MinPiOut;volatile Step_s Step_Z[STEP_Z_BUFFER_SIZE]; // buffer filled with the last 12 Z step times /*-------------------Main program-------------------- *//*-----------------------------------------------------------------------------ROUTINE Name : Period_To_FrequencyDescription: Convert Step_Z buffer information (electrical period) intoelectrical frequency.Input/Output: none/u16 (electrical frequency, 0.1 Hz resolution)Comments: None-----------------------------------------------------------------------------*/u16 Period_To_Frequency(void){u32 result;u16 MZ_Temp;u8 Ratio_Min, i;/********************** Compute average Motor Z Step Period ************************ ********/// F = Fmtc/(MZREG.2^ratio) T = (MZREG.2^ratio)/FmtcRatio_Min = RATIO_MAX; // init Ratio_Min with max ratioMZ_Temp = 0;for (i=0;i<=STEP_Z_BUFFER_SIZE-1;i++) // check max ratio of buffer{if (Step_Z[i].Ratio < Ratio_Min) Ratio_Min = Step_Z[i].Ratio;}// Ratio_Min contains now the min ratio of stored values in Step_Z bufferfor (i=0;i<=STEP_Z_BUFFER_SIZE-1;i++) // Compute average period{if (Step_Z[i].Ratio == Ratio_Min) MZ_Temp += (u8)(Step_Z[i].StepTime);else MZ_Temp += ((Step_Z[i].StepTime)<<((u8)(Step_Z[i].Ratio-Ratio_Min)));}/***** Convert period to frequency *****/result = (10*MTIM_MAX_FREQ)/MZ_Temp;result >>= (u8)(Ratio_Min); //divide by 2^ratioreturn((u16)(result));}/*Initialisation of Integral term of PI*/void Init_PI(void){#if (DRIVING_MODE == VOLTAGE_MODE)V oltageIntegralTerm = (((ramp_MCPUH<<8) + ramp_MCPUL)>>3)*65536;V oltageIntegralTerm /= PWM_FREQUENCY;#elseV oltageIntegralTerm = (((ramp_MCPVH<<8) + ramp_MCPVL)>>3)*65536;V oltageIntegralTerm /= PWM_FREQUENCY;#endif}/*-----------------------------------------------------------------------------ROUTINE Name : regul_PIDescription: Compute PI output (0 (PI min) to 1023 (PI max)) according to Ki,Kp, sampling time, and target electrical frequency.Input/Output: u16/u16 (PI output (10 bits value)/target electrical frequency, 0.1 Hz resolution) Comments: None-----------------------------------------------------------------------------*/u16 regul_PI(u16 Target_Freq) // return 10 bits value{s32 V oltage_slip_s32,DeltaV oltage_slip_s32,Newpi_32;s16 NewPIoutput, Error_slip,Error;u16 output;/********************** Compute PI output ***************************************/Freq_Motor = (u16)Period_To_Frequency();Error = (s16)(Target_Freq - Freq_Motor); // Freq_Motor is actually the step time between 6 Z eve ntsif (Error > (s16)(Error_slip_MAX)){Error_slip = Error_slip_MAX;}else if (Error < (s16)(Error_slip_MIN)){Error_slip = Error_slip_MIN;}else Error_slip = (s16)Error;/********************** Compute Proportional term ********************************/V oltage_slip_s32 = Kp * (s32)Error_slip;/********************** Compute Integral term ************************************/ // If modulation is maximum, integral term must be "frozen"DeltaV oltage_slip_s32 = ( Ki * SAMPLING_TIME * (s32)Error_slip)/256;if( ((Error_slip>0) && !MaxPiOut) || ((Error_slip<0) && !MinPiOut) ){if ((V oltageIntegralTerm >= 0) && (DeltaV oltage_slip_s32 >= 0)){if (( (u32)V oltageIntegralTerm + (u32)DeltaV oltage_slip_s32 ) > S32_MAX) VoltageIntegralTerm = S32_MAX; // Avoid IntTerm Overflowelse VoltageIntegralTerm += DeltaV oltage_slip_s32; // "integral" output}else if ((VoltageIntegralTerm < 0) && (DeltaV oltage_slip_s32 < 0)){if (( (u32)V oltageIntegralTerm + (u32)DeltaV oltage_slip_s32 ) <= S32_MAX) VoltageIntegralTerm = S32_MIN; // Avoid IntTerm Overflowelse VoltageIntegralTerm += DeltaV oltage_slip_s32; // "integral" output}elseVoltageIntegralTerm += DeltaV oltage_slip_s32; // "integral" output}if ((V oltageIntegralTerm >= 0) && (V oltage_slip_s32 >= 0)){if (( (u32)V oltageIntegralTerm + (u32)V oltage_slip_s32 ) > S32_MAX)Newpi_32 = S32_MAX; // Avoid IntTerm Overflowelse Newpi_32 = (V oltageIntegralTerm + V oltage_slip_s32); // output}else if ((VoltageIntegralTerm < 0) && (V oltage_slip_s32 < 0)){if (( (u32)V oltageIntegralTerm + (u32)V oltage_slip_s32 ) <= S32_MAX)Newpi_32 = S32_MIN; // Avoid IntTerm Overflowelse Newpi_32 = (V oltageIntegralTerm + V oltage_slip_s32); // output}elseNewpi_32 = (V oltageIntegralTerm + Voltage_slip_s32); // output#if (DRIVING_MODE == VOLTAGE_MODE)NewPIoutput = (s16)( Newpi_32 /64);#elseNewPIoutput = (s16)( Newpi_32 /256);#endifif ( NewPIoutput < 0 ){output = 0;MinPiOut = TRUE;}else if ( NewPIoutput > 1024 ){output = 1024;MaxPiOut = TRUE; // Set ClampFlag if modulation reaches maximum value}else{output = NewPIoutput;MinPiOut = FALSE;MaxPiOut = FALSE;}return (output); // return PI output}Microchip的PI算法:你在Microchip网站上找Sensorless BLDC Motor Control Using dsPIC30F2010.zip应用笔记的源代码。

无位置传感器的BLDC控制设计与调制优化

无位置传感器的BLDC控制设计与调制优化

无位置传感器的BLDC控制设计与调制优化潘安乐;陈小平【摘要】基于无位置传感器控制设计了一种可应用于三相直流无刷电机的驱动控制器,采用反电动势法检测转子位置,梯形波驱动控制方式实现BLDC电机的启转、运行.介绍了BLDC运行原理及实现无位置传感控制方法,探讨了如何选择最佳调制方式及电机速度最快时的换相时机,并优化了调制方法.本文设计的控制器具有启转顺、加速快、防输出短路等特点,适用于多种高低速、高低电压BLDC.%In the paper ,a driving controller is designed based on the position sensorless control method ,which can be applied to three-phase brushless DC motor .The rotor position is detected by back EMF method ,and the trapezoidal wave drive control mode is used to a-chieve the normal rotation of the motor .The operation principle of BLDC and how to realize the sensorless position control of the control -ler are introduced .How to select the best modulation mode and the commutation time of the fastest speed of the motor are discussed , then optimizes the modulation method .The controller designed in this paper has the advantages of smooth start ,fast acceleration and out-put short-circuit prevention ,it can be applied to various BLDC motors .【期刊名称】《单片机与嵌入式系统应用》【年(卷),期】2017(017)012【总页数】5页(P20-23,27)【关键词】无位置传感器控制;BLDC;IGBT【作者】潘安乐;陈小平【作者单位】苏州大学电子信息学院,苏州 215006;苏州大学电子信息学院,苏州215006【正文语种】中文【中图分类】TP273.1直流无刷电机(BLDC)是近几年来小型电机行业发展最快的品种之一,由于其具有体积小、重量轻、效率高、调速性能好、转动惯量小、没有励磁损耗等问题,因此在多个领域具有广泛的应用[1]。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

S12 MagniV 三相无传感器BLDC电机控制解决方案
适用于三相BLDC电机控制应用的集成解决方案——Freescale S12 MagniV混合信号微控制器
S12ZVM系列。

此新系列采用增强型S12Z内核架构,实现先进电机控制算法的实施,如磁场定向控制。

基于LL18UHV技术,可在单一芯片上结合高度可靠的180纳米非易失性存储器和高电压模拟组件。


些高电压模拟组件能够承受负载突降时汽车环境的严苛要求。

S12ZVM产品系列集成了一个在3.5V至40V之间运行的汽车稳压器、LIN物理层和栅极驱动器(由3个低边和3个高边驱动器组成),以控制
6个外部MOSFET(如图1所示)。

图1 S12ZVM混合信号MCU结构框图
图2所示是基于反电动势过零点检测算法的无传感器BLDC电机控制原理图和DEMO板。

S12ZVM的
高集成度有助于打造一个非常紧凑和高功效的三相BLDC电机控制平台。

不仅节省了宝贵的PCB空间,简化了设计,而且通过集成提高了系统的整体质量。

该设计可用于汽车暖通空调(HVAC)鼓风机,
发动机冷却风机,油泵,水泵,雨刷等应用场景。

图2 S12ZVM无传感器BLDC电机控制解决方案
特点:
✓基于反电动势过零点检测的无传感器BLDC电机控制
✓DC总线过压、过流和欠压故障检测
✓硬件支持霍尔传感器BLDC电机控制
✓支持FreeMASTER可视化/配置
✓基于ANSI-C的电机控制参考软件,可轻松移植
✓提供详尽的软件和硬件文档。

相关文档
最新文档