TWI791227B - 以fpga實現無刷馬達操控的方法、電腦程式及電腦可讀取媒體 - Google Patents

以fpga實現無刷馬達操控的方法、電腦程式及電腦可讀取媒體 Download PDF

Info

Publication number
TWI791227B
TWI791227B TW110120777A TW110120777A TWI791227B TW I791227 B TWI791227 B TW I791227B TW 110120777 A TW110120777 A TW 110120777A TW 110120777 A TW110120777 A TW 110120777A TW I791227 B TWI791227 B TW I791227B
Authority
TW
Taiwan
Prior art keywords
brushless motor
fpga
control signal
circuit
control
Prior art date
Application number
TW110120777A
Other languages
English (en)
Other versions
TW202249409A (zh
Inventor
謝正雄
Original Assignee
遠東科技大學
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 遠東科技大學 filed Critical 遠東科技大學
Priority to TW110120777A priority Critical patent/TWI791227B/zh
Publication of TW202249409A publication Critical patent/TW202249409A/zh
Application granted granted Critical
Publication of TWI791227B publication Critical patent/TWI791227B/zh

Links

Images

Landscapes

  • Control Of Motors That Do Not Use Commutators (AREA)

Abstract

一種以FPGA實現無刷馬達操控的方法,包含:對一無刷馬達執行一霍爾感測,取得該無刷馬達之複數轉子各自的一霍爾感測值,且該霍爾感測值對應所述轉子各自的一轉子位置;將該霍爾感測值以及該無刷馬達的一正反轉訊號輸入一FPGA單元;該FPGA單元根據該霍爾感測值及該正反轉訊號,輸出一電路控制訊號;以及透過該電路控制訊號控制一控制電路,進而透過該控制電路操控該無刷馬達的作動。藉此,該FPGA單元是以硬體描述語言的方式進行對該無刷馬達的控制,不僅成本較常見的微處理機低廉,控制邏輯也較為簡單。

Description

以FPGA實現無刷馬達操控的方法、電腦程式及電腦可讀取 媒體
本發明係關於一種無刷馬達操控的方法、電腦程式及電腦可讀取媒體,尤指利用場域可編程邏輯閘陣列(Field Programmable Gate Array,FPGA)實現的無刷馬達操控的方法、電腦程式及電腦可讀取媒體。
一般無刷直流馬達(brushless DC motor,BLDC)的驅動方式,例如是藉由一個或多個進階精簡指令集機器(advanced RISC machine,ARM)晶片進行驅動。然而,單個ARM晶片僅能控制單個BLDC,而多個ARM晶片雖然可以控制多個BLDC,但會導致驅動電路板過大,且多個BLDC將難以同步控制。
於是有中國專利公告號第CN 109980996 B揭露一種無刷直流馬達驅動整合系統,用以驅動多個無刷直流馬達,包括:類比數位轉換器(analog-to-digital converter,ADC),用以採集無刷直流馬達中的BLDC電流值數據;ARM芯片,用以將場域可編程邏輯閘陣列(field programmable gate array,FPGA)芯片中的無刷直流馬達的霍爾碼盤數據經過總線讀取後,並根據無刷直流馬達的霍爾碼盤數據計算得到電機控制值,電機控制值經由總線回傳至FPGA芯片;以及FPGA芯片,用以接收ARM芯片發出的電機控制值,以及用以存儲無刷直流馬 達的霍爾碼盤數據,並且,FPGA芯片具有多個NMOS;其中,FPGA芯片根據電機控制值控制對應的多個NMOS開路或是閉合,以發出BLDC電流值,藉此,時間同步地驅動無刷直流馬達。
而本發明的目的在於提供一種與前述CN 109980996 B專利案不同的利用FPGA實現的無刷馬達操控方法。
爰此,本發明人提出一種以FPGA實現無刷馬達操控的方法,包含:對一無刷馬達執行一霍爾感測,取得該無刷馬達之複數轉子各自的一霍爾感測值,且該霍爾感測值對應所述轉子各自的一轉子位置;將該霍爾感測值以及該無刷馬達的一正反轉訊號輸入一FPGA單元;該FPGA單元根據該霍爾感測值及該正反轉訊號,輸出一電路控制訊號;以及透過該電路控制訊號控制一控制電路,進而透過該控制電路操控該無刷馬達的作動,該控制電路包含一上臂電路及一下臂電路,該電路控制訊號包含一上臂控制訊號對應控制該上臂電路,及一下臂控制訊號對應控制該下臂電路,當該下臂控制訊號包含1時,改以一脈波寬度調變控制信號做為該下臂控制訊號控制該下臂電路。
進一步,所述轉子的數量為三,三相所述轉子的該霍爾感測值,相位差介於90度至180度之間。
進一步,依序排列每一轉子的該霍爾感測值,並根據該霍爾感測值的值組合出相異且為二進位的複數第一多位數,每一第一多位數有對應之二進位的一第二多位數;當該正反轉訊號對應正轉時,則輸入其中一第一多位數及該正反轉訊號至該FPGA單元後,該FPGA單元會輸出對應該其中一第一多位數的該第二多位數做為該電路控制訊號;當該正反轉訊號對應反轉,且該其中 一第一多位數與另一第一多位數的和為一預設值時,則輸入該其中一第一多位數及該正反轉訊號至該FPGA單元後,該FPGA單元會輸出對應該另一第一多位數的該第二多位數做為該電路控制訊號;該第二多位數包含一前段及一後段,若該第二多位數有n位數,該前段有m位數,則該後段有n-m位數,n及m都是正整數,且n大於m,該前段係做為該上臂控制訊號,該後段係做為該下臂控制訊號。
其中,二進位的所述第一多位數輸入至該FPGA單元後係先轉換為十進位制,該FPGA單元再根據十進位的所述第一多位數及該正反轉訊號取得十進位的該第二多位數,並將十進位的該第二多位數轉換回二進位制再輸出。
進一步,係先建立一責任週期條件,該FPGA單元再根據該責任週期條件產生該脈波寬度調變控制信號。
其中,該脈波寬度調變控制信號的頻率介於10000至50000赫茲。
本發明人又提出一種電腦程式,用於在安裝於一電腦後,執行前述以FPGA實現無刷馬達操控的方法。
本發明人再提出一種電腦可讀取媒體,儲存有一電腦程式,該電腦程式用於在安裝於一電腦後,執行前述以FPGA實現無刷馬達操控的方法。
根據上述技術特徵較佳地可達成以下功效:
1.藉由FPGA單元根據轉子的霍爾感測值及正反轉訊號進行無刷馬達的控制,以硬體描述語言的方式,不僅成本較常見的微處理機低廉,控制邏輯也較為簡單。
2.藉由FPGA單元平行多工的訊號處理特性,可以快速取得電路控制訊號。
3.藉由二進位與十進位的轉換,在FPGA單元的輸入與輸出部分,可以採用二進位制而方便開啟或關閉控制電路,在FPGA單元的內部運算部分,則可以採用十進位制,方便使用者更直覺地進行布局。
1:無刷馬達
2:控制電路
21:上臂電路
22:下臂電路
3:FPGA單元
AB,BB,CB:下臂控制訊號
AT,BT,CT:上臂控制訊號
F/R:正反轉訊號
Q1,Q2,Q3,Q4,Q5,Q6:絕緣柵雙極電晶體
SA,SB,SC:霍爾感測值
[第一圖]係本發明實施例之實施示意圖。
[第二圖]係本發明實施例之FPGA單元的實施示意圖。
[第三圖]係本發明實施例之流程示意圖。
[第四圖]係本發明實施例於正轉時之時序圖。
綜合上述技術特徵,本發明以FPGA實現無刷馬達操控的方法、電腦程式及電腦可讀取媒體的主要功效將可於下述實施例清楚呈現。
請參閱第一圖至第三圖,係揭示本發明實施例以FPGA實現無刷馬達操控的方法,實施上也可以是做為一電腦程式,或者由一電腦可讀取媒體儲存該電腦程式,該電腦程式在安裝於一電腦之後,可以執行該以FPGA實現無刷馬達操控的方法,惟未於圖式中繪出此情景。
該以FPGA實現無刷馬達操控的方法係用於控制一無刷馬達1,例如在電動機車上控制無刷直流馬達,而該無刷馬達1電性連接一控制電路2以受該控制電路2控制。在本發明之較佳實施例中,該無刷馬達1有三轉子,該控制電路2係為智慧型控制電路(intelligent power module,IPM),包含一上臂電路21及一下臂電路22,該上臂電路21及該下臂電路22分別包含三絕緣柵雙極電晶體 (insulated gate bipolar transistor,IGBT)Q1,Q2,Q3,Q4,Q5,Q6以分別對應控制所述轉子。
該以FPGA實現無刷馬達操控的方法包含以下步驟:對該無刷馬達1執行一霍爾感測,取得所述轉子各自的一霍爾感測值SA,SB,SC,且該霍爾感測值SA,SB,SC對應所述轉子各自的一轉子位置。三相所述轉子的該霍爾感測值SA,SB,SC,也就是三相所述轉子的該轉子位置,相位差介於90度至180度之間,較佳地,為120度。
將該霍爾感測值SA,SB,SC以及該無刷馬達1的一正反轉訊號F/R輸入一FPGA單元3,該FPGA單元3例如可以是晶片。該正反轉訊號F/R可以是一正轉訊號對應該無刷馬達1正轉,例如1,或是一反轉訊號對應該無刷馬達1反轉,例如0。
該FPGA單元3根據該霍爾感測值SA,SB,SC及該正反轉訊號F/R,輸出一電路控制訊號。該電路控制訊號包含一上臂控制訊號AT,BT,CT對應控制該上臂電路21,及一下臂控制訊號AB,BB,CB對應控制該下臂電路22。實際上,該上臂控制訊號AT,BT,CT包含AT、BT及CT,該下臂控制訊號AB,BB,CB包含AB、BB及CB,而AT、BT、CT、AB、BB及CB各自控制一個所述絕緣柵雙極電晶體Q1,Q2,Q3,Q4,Q5,Q6,惟以下為方便說明,將AT、BT及CT都稱為該上臂控制訊號AT,BT,CT,將AB、BB及CB都稱為該下臂控制訊號AB,BB,CB。
更詳細的說明該FPGA單元3如何取得該電路控制訊號,該FPGA單元3是依序排列每一轉子的該霍爾感測值SA,SB,SC,並根據該霍爾感測值SA,SB,SC的值組合出相異且為二進位的複數第一多位數,並將二進位的所述第一多位數轉換為十進位制。
每一第一多位數有對應之十進位的一第二多位數,該FPGA單元3並將十進位的該第二多位數轉換回二進位制,最後輸出對應所述第一多位數之二進位的該第二多位數。
其中,當該正反轉訊號F/R對應正轉時,則輸入其中一第一多位數及該正反轉訊號F/R至該FPGA單元3後,該FPGA單元3會輸出對應該其中一第一多位數的該第二多位數做為該電路控制訊號。
當該正反轉訊號F/R對應反轉,且該其中一第一多位數與另一第一多位數的和為一預設值時,則輸入該其中一第一多位數及該正反轉訊號F/R至該FPGA單元3後,該FPGA單元3會輸出對應該另一第一多位數的該第二多位數做為該電路控制訊號。
該第二多位數包含一前段及一後段,若該第二多位數有n位數,該前段有m位數,則該後段有n-m位數,n及m都是正整數,且n大於m,該前段係做為該上臂控制訊號AT,BT,CT,該後段係做為該下臂控制訊號AB,BB,CB。
為更好的理解,以下以實例說明,而該FPGA單元3之輸入輸出訊號的真值表如下表一所示。
Figure 110120777-A0305-02-0008-1
Figure 110120777-A0305-02-0009-2
如上表一所示,以第一列為例,該正反轉訊號F/R對應正轉。可以看出二進位的所述第一多位數即為100(2),將所述第一多位數轉為十進位即為4(10)。設定4(10)對應之十進位的該第二多位數為33(10),則再將該第二多位數轉換回二進位制之後為100001(2)。又,由於該上臂電路21及該下臂電路22都各有三個所述絕緣柵雙極電晶體Q1,Q2,Q3,Q4,Q5,Q6,因此該上臂控制訊號AT,BT,CT及該下臂控制訊號AB,BB,CB各需要三位數,也就是說,100001(2)的該前段100做為該上臂控制訊號AT,BT,CT,100001(2)的該後段001做為該下臂控制訊號AB,BB,CB。
再以第十列為例,該正反轉訊號F/R對應反轉。此時,二進位的所述第一多位數即為011(2),將所述第一多位數轉為十進位即為3(10)。假設該預設值為7(10),則與3(10)之和為7(10)的所述第一多位數即為4(10)。如同前段所說明的,4(10)對應之十進位的該第二多位數為33(10),則再將該第二多位數轉換回二進位制之後為100001(2)。也就是說,該上臂控制訊號AT,BT,CT同樣為100,該下臂控制訊號AB,BB,CB同樣為001。
藉由二進位與十進位的轉換,在該FPGA單元3的輸入與輸出部分,可以採用二進位制而方便開啟或關閉該控制電路2中的所述絕緣柵雙極電晶體Q1,Q2,Q3,Q4,Q5,Q6,在該FPGA單元3的內部運算部分,則可以採用十進位制,方便使用者更直覺地進行布局以及邏輯的編寫。
請參閱第一圖、第三圖及第四圖,以001做為該下臂控制訊號AB,BB,CB來說,由於該下臂控制訊號CB包含1,也就是邏輯為high,此時,改以一脈波寬度調變控制信號做為該下臂控制訊號CB控制該下臂電路22。
更明確的說,係先建立一責任週期條件,例如設定責任週期的最大值與最小值,當該以FPGA實現無刷馬達操控的方法應用於電動機車的控制時,責任週期即對應電動機車的油門大小。該FPGA單元3再根據該責任週期條件產生該脈波寬度調變控制信號。該脈波寬度調變控制信號的頻率介於10000至50000赫茲,較佳的是20000赫茲。該FPGA單元3並將該下臂控制訊號AB,BB,CB與該脈波寬度調變控制信號做交集,即做邏輯閘的and。
以上表一的第一列舉例來說,上表一的第一列對應第四圖最左側的直排。此時,該下臂控制訊號AB,BB,CB為001,00仍維持為00,而1被該脈波寬度調變控制信號取代,則該下臂控制訊號CB對應的波型即改為該脈波寬度調變控制信號。
透過該電路控制訊號控制該控制電路2,進而透過該控制電路2操控該無刷馬達1的作動,例如正轉、反轉及停止。
以Matlab程式所建立的該FPGA單元3如第二圖所示。
其中,Code示意該霍爾感測訊號的輸入接腳,Duty示意該責任週期條件的設定輸入接腳,enb示意該正反轉訊號F/R的輸入接腳。而AT、BT、CT 分別為該上臂控制訊號AT,BT,CT的輸出接腳,AB、BB、CB則分別為該下臂控制訊號AB,BB,CB的輸出接腳位。
復請參閱第一圖,該以FPGA實現無刷馬達操控的方法藉由該FPGA單元3,根據所述轉子的該霍爾感測值SA,SB,SC及該正反轉訊號F/R,以硬體描述語言的方式進行該無刷馬達1的控制,不僅成本較常見的微處理機低廉,控制邏輯也較為簡單。
同時,藉由該FPGA單元3平行多工的訊號處理特性,可以快速取得該電路控制訊號,可以更即時的控制該無刷馬達1。
綜合上述實施例之說明,當可充分瞭解本發明之操作、使用及本發明產生之功效,惟以上所述實施例僅係為本發明之較佳實施例,當不能以此限定本發明實施之範圍,即依本發明申請專利範圍及發明說明內容所作簡單的等效變化與修飾,皆屬本發明涵蓋之範圍內。
1:無刷馬達
2:控制電路
21:上臂電路
22:下臂電路
3:FPGA單元
AB,BB,CB:下臂控制訊號
AT,BT,CT:上臂控制訊號
F/R:正反轉訊號
Q1,Q2,Q3,Q4,Q5,Q6:絕緣柵雙極電晶體
SA,SB,SC:霍爾感測值

Claims (8)

  1. 一種以FPGA實現無刷馬達操控的方法,包含:對一無刷馬達執行一霍爾感測,取得該無刷馬達之複數轉子各自的一霍爾感測值,且該霍爾感測值對應所述轉子各自的一轉子位置;將該霍爾感測值以及該無刷馬達的一正反轉訊號輸入一FPGA單元;該FPGA單元根據該霍爾感測值及該正反轉訊號,輸出一電路控制訊號;以及透過該電路控制訊號控制一控制電路,進而透過該控制電路操控該無刷馬達的作動,該控制電路包含一上臂電路及一下臂電路,該電路控制訊號包含一上臂控制訊號對應控制該上臂電路,及一下臂控制訊號對應控制該下臂電路,當該下臂控制訊號包含1時,改以一脈波寬度調變控制信號做為該下臂控制訊號控制該下臂電路。
  2. 如請求項1所述之以FPGA實現無刷馬達操控的方法,進一步,所述轉子的數量為三,三相所述轉子的該霍爾感測值,相位差介於90度至180度之間。
  3. 如請求項1所述之以FPGA實現無刷馬達操控的方法,進一步,依序排列每一轉子的該霍爾感測值,並根據該霍爾感測值的值組合出相異且為二進位的複數第一多位數,每一第一多位數有對應之二進位的一第二多位數;當該正反轉訊號對應正轉時,則輸入其中一第一多位數及該正反轉訊號至該FPGA單元後,該FPGA單元會輸出對應該其中一第一多位數的該第二多位數做為該電路控制訊號;當該正反轉訊號對應反轉,且該其中一第一多位數與另一第一多位數的和為一預設值時,則輸入該其中一第一多位數及該正反轉訊號至該FPGA單元後,該FPGA單元會輸出對應該另一第一多位數的該第二多位數做 為該電路控制訊號;該第二多位數包含一前段及一後段,若該第二多位數有n位數,該前段有m位數,則該後段有n-m位數,n及m都是正整數,且n大於m,該前段係做為該上臂控制訊號,該後段係做為該下臂控制訊號。
  4. 如請求項3所述之以FPGA實現無刷馬達操控的方法,其中,二進位的所述第一多位數輸入至該FPGA單元後係先轉換為十進位制,該FPGA單元再根據十進位的所述第一多位數及該正反轉訊號取得十進位的該第二多位數,並將十進位的該第二多位數轉換回二進位制再輸出。
  5. 如請求項1所述之以FPGA實現無刷馬達操控的方法,進一步,係先建立一責任週期條件,該FPGA單元再根據該責任週期條件產生該脈波寬度調變控制信號。
  6. 如請求項1所述之以FPGA實現無刷馬達操控的方法,其中,該脈波寬度調變控制信號的頻率介於10000至50000赫茲。
  7. 一種電腦程式,用於在安裝於一電腦後,執行如請求項1至請求項6任一項所述之以FPGA實現無刷馬達操控的方法。
  8. 一種電腦可讀取媒體,儲存有一電腦程式,該電腦程式用於在安裝於一電腦後,執行如請求項1至請求項6任一項所述之以FPGA實現無刷馬達操控的方法。
TW110120777A 2021-06-08 2021-06-08 以fpga實現無刷馬達操控的方法、電腦程式及電腦可讀取媒體 TWI791227B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW110120777A TWI791227B (zh) 2021-06-08 2021-06-08 以fpga實現無刷馬達操控的方法、電腦程式及電腦可讀取媒體

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW110120777A TWI791227B (zh) 2021-06-08 2021-06-08 以fpga實現無刷馬達操控的方法、電腦程式及電腦可讀取媒體

Publications (2)

Publication Number Publication Date
TW202249409A TW202249409A (zh) 2022-12-16
TWI791227B true TWI791227B (zh) 2023-02-01

Family

ID=85793624

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110120777A TWI791227B (zh) 2021-06-08 2021-06-08 以fpga實現無刷馬達操控的方法、電腦程式及電腦可讀取媒體

Country Status (1)

Country Link
TW (1) TWI791227B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200512331A (en) * 2003-09-25 2005-04-01 Wai Zheng Zhong Implementation of composite driving and control framework for direct-drive washing machine with brushless dc motor
CN105577047A (zh) * 2014-10-14 2016-05-11 北京谊安医疗系统股份有限公司 一种无刷直流电机霍尔器件信号监测电路及监测方法
US20180337618A1 (en) * 2017-05-19 2018-11-22 Minebea Mitsumi Inc. Motor drive control device and motor drive control method
CN109863683A (zh) * 2016-09-23 2019-06-07 株式会社美姿把 电动机驱动装置以及电动机驱动装置的控制方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200512331A (en) * 2003-09-25 2005-04-01 Wai Zheng Zhong Implementation of composite driving and control framework for direct-drive washing machine with brushless dc motor
CN105577047A (zh) * 2014-10-14 2016-05-11 北京谊安医疗系统股份有限公司 一种无刷直流电机霍尔器件信号监测电路及监测方法
CN109863683A (zh) * 2016-09-23 2019-06-07 株式会社美姿把 电动机驱动装置以及电动机驱动装置的控制方法
US20180337618A1 (en) * 2017-05-19 2018-11-22 Minebea Mitsumi Inc. Motor drive control device and motor drive control method

Also Published As

Publication number Publication date
TW202249409A (zh) 2022-12-16

Similar Documents

Publication Publication Date Title
Samar et al. The implementation of Field Oriented Control for PMSM drive based on TMS320F2808 DSP controller
CN102654131B (zh) 风扇转速控制装置
JP6603959B2 (ja) 多相ブラシレス直流モータ及びその駆動方法
CN103457525B (zh) 电机驱动电路
TWI791227B (zh) 以fpga實現無刷馬達操控的方法、電腦程式及電腦可讀取媒體
JP3677497B2 (ja) パルス幅変調波形発生装置及び3相パルス幅変調波形発生装置
US9030146B2 (en) Driving apparatus and motor
Mihalache et al. FPGA Implementation of BLDC Motor Driver with Hall Sensor Feedback
CN203119827U (zh) 基于mcu的无刷直流电机控制器
TWI531151B (zh) 模組化風扇馬達控制電路及其控制方法
CN106856385A (zh) 一种基于cpld的无刷电机电子换相方法
CN203562985U (zh) 简易步进电机控制器
CN204244129U (zh) 直流无刷电机驱动电路
CN202991569U (zh) 风扇转速与正反转的控制电路
CN101656504A (zh) 可正逆转无刷直流风扇马达电路
JP5590077B2 (ja) 回転電機制御装置、および、これを用いた電動パワーステアリング装置
CN201490951U (zh) 可正逆转无刷直流风扇马达电路
Toh et al. Design and implementation of TMS320C31 DSP and FPGA for conventional direct torque control (DTC) of induction machines
CN201813340U (zh) 稀土永磁直流无刷电机控制器
CN117559847A (zh) 电机采样模块、方法及电机控制系统
CN203608124U (zh) 直流无刷电机装置及其连线电路
Thomas et al. Digital Signal Controller Based Digital Control of Brushless DC Motor
Parkhi et al. FPGA implementation of PWM control technique for three phase induction motor drive
KR200284464Y1 (ko) 전동기제어용 집적회로
CN205430101U (zh) 无刷直流电动机控制系统