Theory

BLDC Six Step Control(Sensorless)

前言 針對六步方波控制作原理做介紹,再開迴路區塊six step相對簡單通常有問題都是回授端,在Sensless回授上會以ST和NXP等文章做詳細介紹,在Debug路上能更加快速明朗,節省開發時間,coding結構會以ST為主要,這區塊會在實作環節說明 Six Step Control 一般六步驅動方式就是把MOS開合組合分成6個區塊讓馬達達到持續旋轉 這邊截用介紹其中2個步驟讓大家了解其旋轉方式 Sensorless Feedback 順向部分基本上不難,主要是後段回授控制( back EMF detection) 換相時機 由於中點電勢值始終為6V,CC’的線圈所產生的感生電動勢只能在以中點6V電位為基準點的基礎上疊加;仍舊假設在額定轉速下CC’上會產生5.7V的感生電動勢在t0時刻,如果我們去測量C點的電壓,其值應為6+5.7=11.7V;在t1時刻,C點的電壓值應為6-5.7=0.3V也就是說,在AB相通電期間,只要一直監測馬達的C引線的電壓,一旦發現它低於6V,就表示轉子已轉過30°到達了t0和t1中間的位置,只要再等30°就可以換相了。 ADC採集過零訊號 如果電調的MCU夠快的話,可以採用連續AD取樣的方式來測量C點電壓,不過貌似有點浪費,因為大部分採到的AD值都是沒用的,我們只關心它何時低於6V 。 雖然無法預測接下來的 30° 電角度是多長,但是剛剛過去的上一個換相週期,即兩個換相點之間 60° 電角度的長度是可以測量的。於是可以用近似的辦法,用上一個換相週期,即 60° 電角度的時間減半,作為接下來的 30° 電角度延時時間。這種辦法是可行的,因為馬達的轉速是漸變的,相鄰兩個換相週期的時間相差不會很大。 參考

BLDC Six Step Control(Sensorless) Read More »

Daul Motor By using MCSDK6.X

前言 這次在雙馬達控制,ST使用MCSDK生成基本上是跟單馬達控制相同,但主要差異在於任務排程上有差異,這邊說明雙馬達控制上的流程,並比較雙馬達控制2種差異,在sensing端ST這邊的理論與實際code的操作,另外說明SVPWM的緣故抽載頻率是PWM的2倍 ST SDK6.X支援list 這邊ST支援雙馬達部分目前F4/F3/G4/F7,單馬達部分多C0/H5,需要留意F7和F1不完全支持 另外部分的code是額外非在SDK內可以生成,但在目前新版六步方波基本上可以生成但H7部分還是需要額外索取 雙馬達控制時序 以下是雙馬達使用SDK生成出的時序,主要可以看到ADC擷取採樣基本上都在TIM峰值附近但在update數值會是下一次循環中才更新,另外因MCU為單軌執行序在於TIM1與TIM8會有中斷後處理分開的現象(馬達1和馬達2之間的FOC順序可以根據ADC取樣點顛倒)透過修改 TIM1_CCER 暫存器中的 CC4P 位元來反轉 PWM 4 輸出。因此,當 TIM1 計數器在向下計數期間與 OCR4 暫存器值相符時,A/D 取樣開始。 執行 FOC 演算法後,計算要載入到 OCR4 暫存器中的值設定下一個 PWM 週期的取樣點,並且 A/D 轉換器配置為對正確的通道進行取樣。 Update Event Tasks ADC Interrupt Service Routine Tasks 備註:這邊有2個參數可以調整T-rise/T-noise增加穩定性 參考

Daul Motor By using MCSDK6.X Read More »

State observer sensorless algorithm

前言 State observer sensorless algorithm是ST的SDK所使用的方式,這邊會來深入解說observer+PLL算法以對應ST MCSDK所要調整參數,讓在調整參數上更為快速能準確完成任務目標,所參考資料為ST MCSDK 6.3.0版本以下是眾多sensorless馬達控制這次僅針對State observer 永磁同步馬達的數學模型 永磁同步電機,在α-β軸系下的電壓方程的一般表達形式 對龍伯格觀測器進行離散化,設採樣時間為T,則離散化後的觀測器為右圖 鎖相環(Phase-Locked Loop) 上面已經算出了反電勢的估計值,直接透過反正切函數就可以分別計算出位置和速度了,如下: Sensorless tuning STO & PLL page 針對ST參數有一個對照表如下 參考

State observer sensorless algorithm Read More »

Single-shunt VS Three-shunt

前言 這邊因設計參考需要,深入研究 single-shunt and three-shunt ,此篇文章會深入探討這2者差異與新舊版MCSDK的差異,另外深入介紹這2者Sensing的流程與差異 Shunt電阻設計 前一篇有提到不同Shunt電阻設計,這邊簡單針對系統回顧 基本上會分成3個部分Filter/offset/OPA,其中Filter是不一定會加上的部份,因為加上RC Filter會讓響應速度變慢,這邊會在一些速度控制上來說不一定是好的,但加入RC Filter可以提高在快速降速上避免OverShut的過大導致偵測錯誤Offset部分基本上一定要加因為ADC是無法收到負值,最後OPA部分就是看需求條配Gain值大小 3 shunt 介紹 3 shunt 電流偵測偵測的彈性度會比較高因公式𝐼𝑎 + 𝐼𝑏 + 𝐼𝑐 = 0 這邊3 shunt各取2項就可以推算出全部因此,相對1 shunt偵測不會有複雜的演算法和偵測死區,但成本上3 Shunt會比 1 Shunt設計來的高 The threeshunt technique can bounce sampling between current signals, selecting two out of three phases eachperiod, which allows long time periods for the current signals to

Single-shunt VS Three-shunt Read More »

Shunt resistor based current sensing design

前言 電流感測電阻(shunt resistor)通常被放在三個相位之一的線路上。這個電壓降落可以通過一個運算放大器(op-amp)放大,然後被傳感器接收並轉換成數字信號。藉此方式,我們可以在驅動器中檢測電機的電流,並在必要時停止或調整電機的運行,從而保護驅動器和電機,延長其壽命。 主軸電路 可以看下圖主要分成3個部分 電阻值越大,給定的電壓降越高當前,因此可用的有用信號。 另一方面,功耗分流電阻隨著電阻值的增加而增加,因此電阻值主要取決於可接受的最大功耗 (PMAX) 是多少成分。 Shunt電阻配置可以參考下圖 儘管可以通過最小化走線的寄生電感來減少振盪(與它們的長度成正比,與它們的寬度成反比),一些過濾是始終需要清理反饋信號並可能使其進入穩態更快,以這種方式擴大電流反饋信號可能的時間範圍由下游微控制器單元讀取。另一方面,過濾不能太強,因為如前所述,電流僅在低側開關導通期間流過分流電阻。 Layout 建議 電流偵測位置有以下4種 Low-side global current sensing Low-side current sensing in each leg of the current driver Inline phase current High-side current sensing 參考

Shunt resistor based current sensing design Read More »

FOC控制原理(Theory For FOC Control)之4

前言 前面講述完全部數學轉換後來到最後一步FOC的控制流程,首先我們來看到下圖Three Phase Inverter一般包含在motor driver,而綠框一般為MCU控制計算 最终的完整FOC算法 在前面章節提到的Id和Iq分別的物理意義為,將轉子磁鏈進行解偶,分解成轉子旋轉的切線方向與徑向兩個變量 其中Iq是我們所需要的代表期望力矩輸出 而Id為我們不需要我們盡可能使其為0 接下來我們再將控制環分成3個階段(電流環、速度環、位置環)並加上PI回授補償就可以獲得下圖 PS:在速度環中轉速並不是瞬時的速率,而是測了一段時間取平均值的速率,因此若是在低速的情况下,速率環就不那適用了,因為平均測速法會存在非常大的誤差(轉子不動或者動地很慢,编碼器就没有输出或者只输出1、2个脈衝) 參考 FOC项目知识点总结五 | FOC流程总述 FOC控制原理

FOC控制原理(Theory For FOC Control)之4 Read More »

FOC控制原理(Theory For FOC Control)之3

前言 上篇針對回授接收到訊號做分解後,這邊要進入輸入訊號的介紹 PWM到SPWM 因我們所要驅動的是三相逆便電路,如果單單開關會得到類似6步方波的控制不夠平滑,這邊我們想要使其平滑就要引入2個概念 PWM 面積等效定理 PWM相信有在控制馬達的都不陌生,基本上如下圖去控制操作電壓的佔比頻率,來達到等效電壓的效果 由上我們在進階一點把弦波全部等效成方波如下圖 這邊就延伸出2種控制波形 到目前為止我們就了解到單一相正弦波控制輸入PWM,下一步我們要延伸成3相來達成控制BLDC 三相電壓控制 由右圖我們可以列出上圖方程式,然後再由3組橋臂我們可以得到8種組合 這邊我們舉其中一個狀態為例如下圖,並由左至右逐步簡化最後得到最右邊的簡化圖 由上圖我們可以獲得以下方程式 由上面其中一種狀態推演,我們可以獲得下列全部狀態表格,然後在近一步圖形化成最右邊圖 但這邊得到的圖與網路給的標準圖方向不同,這邊就是重點所在abc 座標軸代表的是空間向量的方向,稱之為三相静止座標系,而不是馬達的等效模型,馬達模型上的向量轉換到三相静止座標軸上的向量需要做一个簡單的變換——負變正,正變負,做鏡向翻轉後就跟網路相同如下 有了向量組合,與PWM概念後接下來就是把其結合成SVPWM(Space vector PWM),下面3個為主要要點 輸出電壓由重復地開關兩個相鄰的有效向量與零向量 的動作產生 輸出電壓的 θ  角取決於兩個相鄰有效向量的相對開關時間 輸出電壓的幅值取決於兩個相鄰的有效向量與零向量的相對開關時間 由上面演算我們可以推得每個開關所需要經歷時間,就可以得到SPWM控制了這邊詳細的請參考SVPWM分析、各个扇区详细计算以及Matlab仿真,這篇真的很詳細 參考資訊 SVPWM分析、各个扇区详细计算以及Matlab仿真 FOC项目知识点总结四 | 从 PWM 到 SVPWM

FOC控制原理(Theory For FOC Control)之3 Read More »

FOC控制原理(Theory For FOC Control)之2

前言 在上章節介紹完馬達種類與簡單描述控制方法,這章節會進入數學模型與FOC控制方法深入介紹 控制狀態 這邊可以參考左圖轉動動態圖,可以看到不同的電流方向通過 讓定子產生磁場方向,轉子因異極相斥進而產生旋轉。 而這種旋轉狀態可以再細分為6種狀態,下面分別對各種狀態探討 上圖六種不同的電流方向把其表格化就可以獲的下圖,其中六個步驟正處於哪一步驟就取決於轉子位置,轉子位置通常可由Sensor感知或由無通電那一極感知返電動式去推算現在轉子位置 再由上圖把其電流圖表化就可以獲得下圖,而怎實現下圖就出現三相逆變電路(這邊就會對應BLDC的motor driver) PS:這邊注意上圖看起來很像六步方波驅動BLDC但細看會發現這邊是電流六步方波是電壓 三相逆變電路 上面電路的 VT 是指 IGBT 模塊,而在小功率驅動中一般使用 MOSFET 来當做開關,兩者皆為全控器件,用途可以等同MOS管,可以看作電壓控制的高速電子開關,在MOS管的極閘(上图中的High Drive和Low Drive)施加高電頻或者低電頻,就可以控制MOS原極和漏極的導通或者關閉。 在下圖中,我們打打第一组半橋的上橋臂、第二组和第三组半橋的下橋臂(其餘的關閉),即打開 V T 1 , V T 2 , V T 6 VT1,VT2,VT6VT1,VT2,VT6 ,那麼就可以讓電流從電源正極流過馬達的a相,流經b、c相,然後回到電源負極: 下圖為上面兩臂,下面一臂的情况: 通過控制三个半橋的不同開關狀態,我們可以控制電流在馬達中的不同流向了。 這樣,在任一瞬間,將有三个橋臂同時導通。可能是上面一個臂下面兩個臂,也有可能是上面兩個臂下面一個臂。因为每次換向都是在同一相上下兩個橋臂之間進行,因此也被稱為縱向換流。 Clarke’s Transformation與 Park’s Transformation 這邊先有一個概念,電流輸出要直接控制成弦波,對於元件要求與控制手段都是非常嚴苛的,因此有沒有甚麼方式可以把弦波轉呈線性呢?所以就演變出 Clarke與 Park 轉換,給各位看2張圖就會比較明這2個轉換是在幹嘛了˙ Clarke’s Transformation 其中Clarke’s Transformation是先把3個弦波簡化成2個旋波(這邊簡化方法簡單說是座標轉換) Park’s Transformation Park’s Transformation再來把2個弦波轉變成2線性直線 數學公式 首先我們看馬達在轉動時後的慣性坐標系

FOC控制原理(Theory For FOC Control)之2 Read More »

FOC控制原理(Theory For FOC Control)之1

前言 這邊探討的馬達為”Y型繞線無刷直流馬達”,會先從馬達種類=>轉動原理=>控制方法=>理論控制=>實作一步步做說明 馬達種類如下圖 馬達旋轉原理 下圖2個圓形磁鐵會因為上方磁鐵轉動,導致下方磁鐵因同極相斥異極相吸進而產生轉動 由上面可以知道當磁鐵相互垂直時(數學名詞為:正交)其力量效果最大,再透過改變通過線圈電流方向與大小(下圖),就可以讓合力方向形成的角度更加多元 轉動圖 教科書上馬達轉動圖 無刷馬達轉動圖 這邊可以看到上圖教科書上的馬達轉動外部是定磁鐵(定子),而轉動軸(轉子)是線圈,因通電搭配右手開掌定則產生旋轉,此結構是一般的有刷直流馬達。 而右圖線圈是固定(定子),轉動軸是由永久磁鐵(轉子)所組成的,就是一般的無刷直流馬達 有刷直流與無刷直流馬達比較表 無刷直流馬達控制方法 六步方波 這邊簡單說是把三個電壓輸入切分成6個區塊,利用不同電壓輸入讓馬達轉動(這邊可以參考BLDC FOC 控制原理) 我們這邊拿步驟一與二做解釋,可以看下圖因其中2者通電壓使其磁場合力方向(黃色虛線),馬達轉子就會轉到虛線位置以此類推達到反覆旋轉 FOC控制(Field Oriented Control) 如下圖,概念是用弦波電壓控制馬達,這邊將以FOC控制為主軸在後續章節深入探討介紹FOC控制與其數學理論 參考 FOC简介 FOC控制原理 电控入门之一(电机FOC,电机为什么能转) FOC项目知识点总结一 | 概念扫盲——从有刷直流电机到PMSM和BLDC

FOC控制原理(Theory For FOC Control)之1 Read More »

Shopping Cart