-
>
公路車寶典(ZINN的公路車維修與保養秘籍)
-
>
晶體管電路設計(下)
-
>
基于個性化設計策略的智能交通系統關鍵技術
-
>
花樣百出:貴州少數民族圖案填色
-
>
山東教育出版社有限公司技術轉移與技術創新歷史叢書中國高等技術教育的蘇化(1949—1961)以北京地區為中心
-
>
鐵路機車概要.交流傳動內燃.電力機車
-
>
利維坦的道德困境:早期現代政治哲學的問題與脈絡
無感FOC入門指南 版權信息
- ISBN:9787030751768
- 條形碼:9787030751768 ; 978-7-03-075176-8
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
無感FOC入門指南 本書特色
以較短的時間、較低的代價初步掌握無感FOC的基本原理和運行特性,*終實現10000r/min以上的高速驅動
無感FOC入門指南 內容簡介
本書著眼于實踐入門,通過遍歷項目開發從0到1的過程,帶領讀者快速理解、快速實現無感FOC(field oriented control,磁場定向控制),以較短的時間、較低的代價初步掌握無感FOC的基本原理和運行特性,*終實現10000r/min以上的高速驅動。全書共5章,主要內容包括無感FOC概述、開發環境準備、無感FOC算法原理和編程實踐等。行文盡可能秉持工程師口吻,少堆砌復雜的數學公式,多舉例子、擺事實,以降低初學者入門難度。本書可作為工科院校自動控制、電子工程、機電一體化相關專業的教材,也可作為工程技術人員的參考書。
無感FOC入門指南 目錄
第1章 概述
1.1 從哪里學起 1
1.1.1 無感方波控制 1
1.1.2 無感FOC 1
1.2 無感控制算法 3
1.2.1 無感方波控制算法 3
1.2.2 無感FOC算法 4
1.3 電機控制面面觀 6
1.4 本書的寫作安排 8
第2章 硬件準備
2.1 器材和工具 10
2.1.1 常用器材 10
2.1.2 實驗**工具 17
2.2 控制板電路詳解 20
2.2.1 單片機*小系統板 20
2.2.2 驅動器母板 24
第3章 軟件準備
3.1 KEIL開發環境的準備 35
3.1.1 支持包下載 35
3.1.2 支持包安裝 37
3.1.3 新建工程 38
3.1.4 添加函數 42
3.1.5 編寫測試代碼 43
3.1.6 開發環境設置 47
3.1.7 下載程序到XMC4100中 51
3.2 J-Scope軟件的使用 52
3.2.1 軟件配置 52
3.2.2 測試效果 57
3.3 各功能模塊的編程及測試 60
3.3.1 PWM波形生成 60
3.3.2 多通道ADC采樣(CCU8同步觸發) 67
3.3.3 按鍵狀態的讀取 74
3.3.4 外設功能小結 75
第4章 無感FOC的基本原理
4.1 如何讓電機旋轉 77
4.1.1 方波驅動 79
4.1.2 正弦波驅動 81
4.2 無感FOC算法 82
4.2.1 Clarke變換 84
4.2.2 Park變換 85
4.2.3 PI調節 86
4.2.4 Park反變換 88
4.2.5 Clarke反變換 88
4.2.6 SVPWM 90
4.2.7 啟動算法 106
4.2.8 無感位置估計算法(Ed=0,PLL控制) 107
第5章 無感FOC編程實踐
5.1 讀取三相電流的ADC轉換結果 112
5.2 計算三相電流實際值 115
5.3 Clarke變換 117
5.4 Park變換 119
5.5 Park反變換 120
5.6 SVPWM調制 120
5.7 PI調節 124
5.8 無感位置估計算法(PLL,Ed=0) 127
5.9 狀態機控制 129
5.9.1 啟停控制 129
5.9.2 待機 130
5.9.3 斜坡電流對齊 131
5.9.4 強拖加速 133
5.9.5 無感運行 135
后記 139
無感FOC入門指南 節選
**章概述 1.1從哪里學起 1.1.1無感方波控制 雖然本書的主題是無感FOC,但出于討論的完整性考慮,還是有必要加人無感方波控制的內容。 考慮到技術實現的細節,一般論文對工程應用的直接幫助不大,不如芯片廠商提供的應用筆記和開源項目實用。工程師大都比較務實,需要的是即學即用,至少是有借鑒意義的技術知識和經驗。 無感方波控制的參考資料,首推開源項目BLHeli。它起先是基于8位單片機C8051F330的匯編語言程序,*初用于微型直升機定速控制,改善效果非常明顯。作為過來人,筆者認為BLHeli是難得的匯編語言程序范例,值得好好學習和吸收。另外,無論是編寫匯編程序,還是進行程序分析,有了扎實的匯編語言基礎,你會感到有如神助。這里推薦讀者先學習王爽老師的《匯編語言》,之后再吃透BLHeli程序,打下良好的匯編語言基礎,以后一定會受益頗多!只不過,BLHeli后期改用32位單片機STM32F051,更名為BLHeli32之后,代碼就不再開源了。雖然功能豐富了許多,但隨著無感FOC的流行和單片機的飛速發展,以及功能定制化受到限制,BLHeli32并未能像BLHeli當初那樣炙手可熱。 1.1.2無感FOC 無感FOC的參考資料,現在還是比較豐富的,但商業上有諸多限制。 有的廠商提供了完整的程序,但里面是C語言和匯編語言的混合編程,匯編指令是和該廠商專有的DSP引擎綁定的,要達到廠商演示性能,只能使用特定芯片。 有的廠商提供了全自動的電機控制代碼生成器,看似只要輸人各種參數,就能自動生成代碼,非常省事,但*大的問題是生成的代碼幾乎不存在可讀性,出現底層Bug時很難排查問題,而且所生成的代碼也無法滿足高性能應用的要求。 有的廠商將優秀的控制算法以硬件的形式固化到了單片機內部,用戶無法了解其實現細節,只能在程序中調用其功能,輸人參數就可以得到滿意的性能,但需要購買這種特定的芯片。 有的廠商給出了全部的C語言代碼,但核心算法(如無感FOC的位置估計部分)是以庫的形式存在的,或者關鍵的核心參數是用另外的程序自動計算后提供的,用戶無法得知參數計算的具體過程。 還有廠商使用一顆低階芯片(如8051)完成接口通信和一些相對低速的處理,同時用協處理器硬件執行快速的算法任務,如FOC的各種變換、PI調節、數字濾波、三角函數計算等。 綜上來看,各個廠商開放的代碼實例和硬件參考,都有著各種各樣、有意無意的限制,要么是難懂,要么是不全,要么是硬件非常貴,特別是開發板上的MAXON電機就價值幾百塊人民幣,著實不利于初學者上手。 關于廠商的應用筆記,筆者強烈推薦Microchip的AN1078應用筆記。大家可以下載早期的代碼壓縮包,因為早期的代碼結構清晰、易于理解。而且,*好配合官方的MCLV控制板學習,使用配套的上位機有利于學習和確認。雖然里面嵌人了DSP引擎的匯編語言,但是查閱指令手冊、配合PICKIT3調試器,一步一步理解起來還是非常容易的。這個程序非常經典,而且具備一定的實用價值,務必要吃透。 無感FOC的開源項目,自然首推VESC了,其開發者本杰明(Benjamin Vedder)也給出了參考的算法論文,大家可以看看論文的數學描述是如何轉化為代碼的。VESC算法程序的各種“魔改”版本,以及所謂的去開源化自研項目,基本上撐起了視頻網站上無感FOC視頻秀的半邊天。它使用STM32F405作為主控,頻率高達168MHz,全部采用硬件浮點運算,配備USB接口的上位機顯示,電機參數等可以通過程序自動測量和整定,值得深人學習。其不足之處在于,開發平臺使用的操作系統不為大家所熟悉,單片機使用的操作系統也比較特殊,初學者不易理解。它*早是為滑板車直驅開發的,電流可以非常大,而車輪直徑小,以大電流強拖確實可以滿足要求。但是,用于高壓植保機那種大型螺旋槳的快速啟動,就會出現來回擺動的問題,必須先將螺旋槳強拖對齊后再行啟動。考慮到STM32F405售價相對較高,在算法公開的情況下,很多人都會想到將其算法移植到更加便宜的ARMM3,甚至是M0核單片機上,這就考驗工程師的功力了。當然,不用這個算法,也可以在M0核上實現乃至超過VESC啟動算法的效果。*近,VESC也展示和開源了基于高頻注人以及靜音型高頻注人的算法,效果相當不錯,只是需要測量電機的相電流,而且所需的運放比較貴,以致項目成本較高。 1.2無感控制算法 1.2.1無感方波控制算法 無感方波控制,說是沒有傳感器,實際是使用無刷電機線圈作為傳感器。方波控制也稱為六步驅動,電機旋轉一周要經歷6種驅動狀態。它的特點是在電機旋轉的任何時刻,三個電機端子的一個接電源正極,一個接電源地,一個浮空。這樣,在浮空端子上就能檢測到電機線圈的反電動勢,當永磁體經過線圈時,反電動勢會出現由正轉負或由負轉正的變化。這個時刻就是所謂的“反電動勢過零點”,它剛好與線圈對齊,是一個固定的參考位置。基于三個電機端子接電阻網絡形成的虛擬中性點,單片機就可以通過比較器對浮空相電壓與虛擬中性點電壓進行比較,根據比較器的翻轉確定過零點,進而根據先前的換相時刻推算出下一步換相的時刻。如此,不斷檢測對應的過零點,并據此換相,就實現了電機的連續運轉。 考慮到反電動勢與電機轉速成正比,當電機靜止時,反電動勢為零,無法檢測過零點。而當電機轉速過低時,反電動勢太小,信噪比過低,無法準確檢測過零點。畢竟有PWM調制的地方,電路噪聲都小不了。這就是說,可靠的過零點檢測有*低轉速要求。 一般來說,無感方波啟動算法實質上都是盲啟,即啟動時根本不知道電機轉子的位置,而是直接按默認的換相狀態驅動,嘗試檢測過零點。如果在默認時間內沒有檢測到對應的過零點,那就按下一個換相狀態驅動并檢測過零點 直至檢測到合適的過零點,電機正常驅動。在此基礎上加以改進,也能得到令人滿意的啟動性能。由此可見,絕大部分論文稱“電機靜止時反電動勢為零,無法檢測過零點,所以無法啟動”,有人云亦云之嫌,快速啟動的實現在于理想條件和現實感知之間的權衡。想要知道一款無感驅動器是不是盲啟,可以在保證安全的前提下,以小電流啟動電機,用手捏住電機軸或其驅動的槳葉,只要電機連續來回擺動就可以判定為盲啟。這樣的驅動器無法在靜止狀態下保持對轉子位置的跟蹤。電機控制器性能不能僅看空載演示,一定要加負載。大電流鎖定后的慢速強拖只能適應小慣量負載或空載,不能算超低速閉環控制,只能算開環強拖,沒什么實用價值。電感只有幾十微亨的航模電機和幾十毫亨電感的工業電機的控制特性大不相同,電感大的電機往往更好控制。 盲啟可以滿足大部分應用需求,但存在一些限制。例如,某視頻網站上讓四旋翼飛行器在水中“飛行”的一個非典型應用,可以明顯看到,原本在地面啟動非常快速、平滑的螺旋槳,在水中的表現卻大相徑庭,有來回擺動強行定位的表征,就像動物被電擊時四肢肌肉繃緊一樣。究其原因,就在于這個電機的驅動采用的仍然是盲啟算法。對于螺旋槳負載,剛啟動時速度低,空氣阻力可忽略不計,螺旋槳慣性力矩占主導地位,只要將啟動PWM的占空比設為適當的經驗值,就可以快速拉動螺旋槳產生足夠的反電動勢以供檢測。期間,檢測過零點到連續換相也就幾十到幾百毫秒的時間,幾無感覺,如同有霍爾傳感器一樣順暢。但在水中就不一樣了,水的密度遠大于空氣,阻力比慣性力矩還大,只能加大啟動PWM的占空比來加速拖動螺旋槳,這樣就可以看到傳統無感方波啟動算法的慢動作。這種水下應用,要時刻保持對轉子位置的跟蹤,才能提供快速正反轉或極低速旋轉來調節機器姿態,解決方案是采用高頻注人法或加裝磁編碼器。 無感方波的換相控制,還有一種不使用反電動勢信號,而使用磁鏈信號的方法。這種方法的應用比較少,一般做法是先對浮空相反電動勢信號積分得到磁鏈信號,然后比較磁鏈信號與設定閾值,決定換相時機。兩種方法的區別在于,反電動勢過零點信號與換相點信號不一致,對零度進角來說有30。偏移,也就是檢查到過零點后,要再過30。電角才能換相;而磁鏈信號與換相點信號是一致的,可以方便地調節換相進角,比使用反電動勢過零信號的方法響應更快、更可靠,穿越機的應用便是實證。考慮到電機是電感元件,其電流滯后于電壓,為了實現高效控制以及提高輸出功率,我們需要提前施加電壓,就好像內燃機的點火進角,點火時刻需要根據轉速實時調整。這里可以理解為提前換相,而且所有換相點都相對于過零點一致提前。 1.2.2無感FOC算法 無感FOC比無感方波更復雜一些,但論其本質也不難。無感FOC算法基本上包含三部分,一是坐標系變換,二是電流調節,三是位置估計,其中以位置估計*為關鍵。 1.2無感控制算法 接下來,重點探討無感FOC的位置估計算法。由無感方波的基本原理可知,在六步驅動中,總有一個電機端子是浮空的,此相半橋的功率開關管皆截止,阻抗無限大,所以可以直接采集這個端子的反電動勢過零點作為換相依據。但無感FOC的情況完全不同,每一相板橋高低邊功率開關管都是使用互補PWM驅動的,端子要么為電源電壓,要么接地,沒有浮空相,因此無法檢測過零點信號。 既然無法直接檢測,那就只能研究間接方法,由此產生了兩類基本的位置估計算法。要提醒讀者的是,前述無感方波控制的過零點位置每60°跳躍一次,6次換相總計跳躍360°電角,而無感FOC需要連續的位置信號! 由反電動勢或磁鏈信號得到位置信息 **類位置估計算法是由反電動勢或磁鏈信號得到位置信息,是主流方法,性能良好,但很難在極低速或靜止狀態下持續跟蹤信號。優秀的設計可以實現速度過零的連續跟蹤,在快速反轉的情況下也能正常工作,具體策略有三種。 **種是間接得到反電動勢信號,思路是構建一個電機數學模型,與真實的電機一起運行。對于同樣的電壓輸人,理論上真實電機的電流應該和電機模型一致,但實際中必然有所差別,遂用控制器加以補償。一旦電機模型和真實電機的電流相同,就認為補償結束,這時就可以對補償量濾波,得到反電動勢。進而,對兩相正交坐標系中的兩個反電動勢信號做反正切運算,解算出連續的位置信號。具體的討論和實現,參見Microchip AN1078應用筆記。 第二種也基于反電動勢信號,但與**種不同,它根據電機穩態運行時,平行于磁體方向軸方向)的反電動勢為0這個事實,通過鎖相環控制保持其始終為0。這樣就可以通過檢測^軸反電動勢是否為0來調節給定速度,進而對速度積分,即在每個控制周期對速度值進行累加得到位置信息。這個位置信息又決定了^軸反電動勢是否為0,如此構成閉環控制。這是本書所用的策略,后續章節會詳細解釋。 第三種不使用反電動勢信號,而是使用磁鏈信號。對于磁鏈信號,共有三種解算方法,一是對兩相正交的磁鏈信號求反正切,直接得出位置。二是利用外差法通過鎖相環得到位置。基于鎖相環的控制一般都比較穩定,位置信號比較平滑,低速特性比較好,適合轉速不高的應用,如滾筒洗衣機的直 驅型外轉子無刷電機。其*大的問題是,一旦堵轉,就會出現失步,不適合高速動態響應的應用。三是直接估算三相靜止坐標系中的轉子磁鏈,但考慮到速度變化時很難進行相位誤差補償,用得不多。實際工程應用以前兩種方法為主,Infineon公司*初使用的是反正切法,后期改用了鎖相環法,性能都不錯,但均不支持零速和極低速時的位置估計。 高頻注入算法 第二類位置估計算法其實就是高頻注人算法,它利用電機的d、q軸電感差異來檢測位置,*大的優勢是支持零速跟蹤位置,結合脈沖定位的方式,可以做到完全無反轉、平滑順暢的快速啟動,在M0核、M3核上都可以實現。其缺點是有高頻噪聲,而且響度還比較大,盡管提高PWM頻率、隨機抖動占空比、隨機改變PWM頻率,或者提高米樣激勵頻率,可將噪聲頻率提高到聽域以外,但難免有諧波成分被人耳感知。當然,實施高頻注人的前提是,電機制造上保證d、q軸
- >
企鵝口袋書系列·偉大的思想20:論自然選擇(英漢雙語)
- >
朝聞道
- >
莉莉和章魚
- >
苦雨齋序跋文-周作人自編集
- >
伯納黛特,你要去哪(2021新版)
- >
名家帶你讀魯迅:故事新編
- >
李白與唐代文化
- >
月亮與六便士