• 歡迎光臨東莞市邦拓運控智能科技有限公司 收藏本站| 公司簡介| 公司環境
    全國統一熱線
    13570023444
    當前位置:主頁 > 新聞中心 > 行業動態 > 高級電機控制中的軟件設計原則

    高級電機控制中的軟件設計原則

    文章出處: 人氣:發表時間:2020-01-02 12:36

      運轉正在300W以下的小功率機電被平常行使于種種行使,比方汽車體系、打印機、復印機、碎紙機、玩具、工場主動化、測試筑設、機械人手藝、航空航天與兵工和其他行使。最風行的小功率機電類型是DC機電、無刷DC機電和步進機電。機電的產量年夜致與功率巨細成反比。量產的小功率機電數目遠遠高于年夜功率機電數目。

      專用于機電掌握的DSP策畫旨正在滿意年夜型離線式機電的需求。離線機電平日為AC感到或無刷DC機電,運轉正在110-480VAC和1/4-100HP。專用于機電掌握的DSP對小功率機電掌握體系來講本錢太高。

      本文呈現了運用C8051F3xx MCU掌握種種機電的軟件示例。固然這些示例相對年夜略,然而他們為種種機電呈現了有用的處理計劃。一個古板的機電掌握體系平日央浼非常特而且具有更高的繁復度。這些軟件示例或許動作開荒更繁復機電驅動體系的出點。

      DC機電正在小功率機電中是最眾睹和最低賤的。正在本文中,術語“DC機電”特指有刷換向永磁DC機電。

      DC機電的特使得它成為變速體系中運用的最年夜略機電。DC機電的轉矩速率特如圖1所示。DC機電的非負載速率與電電機源電壓成線性干系。驅動安閑扭矩負載、線性負載或指數負載的DC機電的電壓速率特也是相聯的、正斜率的和可猜測的。以是,正在年夜年夜批景況下運用開環掌握是可行的。

      年夜略地轉移經由過程機電的電壓,任何人都或許掌握機電的速率。PWM或許用于轉移機電供電電壓。加載到機電的均勻電壓與PWM占空比成正比例干系(這里輕視機電自感和不相聯運轉致使的次要影響)。

      運用F3xx MCU供給年夜略的DC機電速率掌握的一個年夜略的例子。正在這個示例中運用ADC讀取電位器的地方音信,而且運用PCA 8位PWM形式輸出對應的PWM旌旗燈號。硬件擺設如圖2所示。

      單個N溝道功率MOSFET Q1用于驅動DC機電。功率MOSFET應該依照特定的電電機壓和電流需求舉辦采選。單指導通的二極管D1跨連到DC機電。當MOSFET封閉時,電流經由過程機電自感無間活動。MOSFET漏極電壓將上升到領先電電機源電壓的一個二極管壓降。然后,電流經由過程單指導通二極管無間活動。

      年夜年夜批低壓機電驅動電途使用肖特基功率整流器竣工單指導通二極管。肖特基整流用具有較低的正向電壓和極短的反向復興工夫。這二者正在機電驅動行使中都利害??林氐膮狄蜃?。

      功率MOSFET由反向門驅動器驅動。F300的端口引腳默許擺設為輸進引腳,而且使能弱的100k歐姆上拉電阻。正在端口被擺設況且交叉開合器和外設使能之前,端口引腳不停維持高電平。當復位引腳維持低電平日,端口引腳也會被擺設為弱上拉使能的輸進引腳。經由過程運用反向驅動器,功率晶體管正在默許形態下處于封閉形態。倘若運用非反相器驅動,10k歐姆下拉電阻應該毗鄰端口引腳和地之。

      為了運用3V微掌握器,門驅動器應該具有3V兼收留的輸進電平臨界值。倘若電電機壓正在5V和15V之,門驅動器或許直接割中斷電電機源電壓。倘若電電機壓領先15V,分隔的門驅動器電源電壓是需求的,平日為5V或12V。當采取低于10V的門驅動器電源電壓時,應該運用邏輯電平功率MOSFET。

      軟件竣工十分年夜略。main()函數初始化時鐘、端口和外設,然新進進while(1)輪回。正在while(1)中運用avgADC()函數讀取電位器電壓值,然后輸出這個值到8位PWM。

      PORT_Init()函數擺設端口I/O、外設、使能數字交叉開合器。正在這里,為8位PWM使能輸出引腳,為門驅動器使能推挽式輸出引腳。

      體系時鐘SYSCLK被擺設運轉正在24.5MHz最年夜速度,這答應8位PWM可擺設為160ns時鐘周期和24kHz頻率。

      ADC0_Init()函數擺設ADC為盤問形式。ADC增益設定為1,而且為ADC時鐘采選1MHz落后|后進頻率??林氐氖沁@里也要初始化電壓參考,擺設ADC運用VDD滿量程。

      函數readADC()采取盤問形式讀取電壓值一次,并返回ADC值。函數avgADC()挪用readADC()函數,而且返回64個采樣值的均勻值。均勻化ADC讀數能夠最小化噪聲影響,裁減PWM輸開拔抖。

      當運用反相驅動器時,這類干系是相反的。正在MOSFET門驅動器上,0x00值對應到0%的占空比,0xFF值對應到99.6%的占空比。為了年夜略起睹,本文中全數運用8位PWM的軟件示例都僅限于運用99.6%PWM。

      另有少許景況,100%的占空比是可取的。100%占空比將有用地排除開合消耗。因為MOSFET從不會封閉,以是正在MOSFET上沒有開合消耗,正在二極管上也沒有虧損。獨一的功率消耗是功率MOSFET中的傳導消耗。倘若機電估計正在年夜局限工夫里都處于全速運轉,那末100%的最年夜占空比是公道的。100%的占空比能夠經由過程拔除PCA0CPM0 SFR中的ECOM0位來竣工。

      永磁DC電念頭平日被用于需求反轉機電傾向的行使中。為了反轉挽回傾向,需求反轉機電上電壓的極性。這需求運用H橋。如圖3所示,H橋有4個晶體管。當正在正傾向驅動機電時,Q4掀開,PWM旌旗燈號行使于晶體管Q1。正在反傾向上驅動機電,Q3掀開,PWM旌旗燈號行使于晶體管Q2。正在這個示例中,下部的晶體管被用于PWM速率掌握,上部的晶體管被用于轉向。運用這類拓撲組織,能夠正在兩個傾向上供給變速掌握。

      正在圖3中,N溝道功率MOSFET被用于低壓側晶體管,P溝道功率MOSFET被用于高壓側晶體管。對驅動20V以下的DC機電來講,使用互補功率MOSFET利害常適合本錢效益的。如圖3所示,低壓側門驅動器帶有反相器,而高壓側門驅動器沒有反相器。門驅動器極性被采選以確保當端口引腳正在弱上拉使能的復位擺設形式下,功率晶體管處于封閉形態。

      該示例軟件修建正在根基示例代碼上。主輪回現正在囊括一個if語句檢討反轉開合SW1的形態。當反轉按鍵被按下時,PWM制止,同時全數P0輸出制止。當按鍵開釋后,機電將反轉傾向。

      除擴展非常的推挽式輸出引腳擺設以外,示例軟件中的初始化函數雷同于示例1。

      挪用reverse()函數反轉機電傾向。標記位Fwd用于存在機電形態。Fwd位被切換用于判別哪些輸出需求激活。

      反轉機電還存正在一個潛正在的題目。當反轉開合SW1被按下時,機電或許因為機電慣性而無間挽回少許工夫。當機電正正在動彈時,它將發作與機電速率成比例干系的反向電動勢。倘若機電中止挽回之前反向按鍵被開釋,機電反向電動勢將經由過程上部晶體管而短途,以下所述。

      參考圖4,假定開頭時Q4處于掀開形態,機電正正在正傾向上挽回。假定機電正正在運轉,而且反向電動勢年夜約為6V?,F正在反轉開合被按下,全數4個晶體管被封閉。機電右邊將比左邊高約6V。然后開合開釋,掀開Q3。機電左邊被上拉到電源電壓,機電的反向電動勢經由過程Q4的內部二極管而短途。

      終究的成果是,機電中止,正在機電呆滯慣性中積聚的全數能量被注進Q4。反轉過程當中很輕易破壞上部晶體管。正在少許具有較年夜磨擦力負載的行使中,一個固定延遲工夫能夠確保機電有足夠工夫中止。而正在其他行使中,機電或許需求破費幾秒鐘才全體中止。這個題目的通用處理計劃,如圖4所示。

      這個用于DC機電的軟件示例基于第二個示例,供給軟反轉才智。為了安好的反轉DC機電,咱們需求判別機電是不是還處于運轉中。

      肯定機電是不是依然處于挽回形態的年夜略而有用本領是衡量跨接正在機電端子上的電壓差。ADC或許被擺設往衡量模仿眾途采選器中的隨意率性兩個輸進引腳上的差分電壓??删幊痰拇翱跈z測器也能夠用于判別差分電壓是不是屬于預設極限。正在這個示例軟件中,倘若差分電電機壓正在100ms內維持正在滿量程的3%以下,那末機電開頭反轉。

      帶有電壓感到效用的DC機電驅動的硬件竣工雷同于正在機電端子上區別增添兩個電阻分壓器,如圖5所示。

      主輪回一經被刷新用來檢測機電是不是中止。detectStop()函數最初擺設ADC往衡量差分電壓。ADC和窗口檢測器都合用于盤問形式。倘若ADC值正在預設窗口畛域內,那末計數器擴展。運用竣工10ms延遲的依時器T0配置采樣工夫。任何正在窗口以外的采樣值將重置計時器。退出while輪回之前,它將運用10個相聯的采樣值。返回到主輪回之前,detectStop()函數將從新擺設ADC往衡量速率電位器。

      無刷DC(BLDC)機電具有少許古板有刷換向DC機電所沒有的上風。電子和傳感器有用地替換了電刷的角,供給更長的壽命,裁減保護操縱,而且沒有電刷噪聲。準確整流的BLDC機電的扭矩速率特全體相似于如圖1所示的DC機電。

      以是,無刷DC機電閃現出與DC機電相似的滿意需求的品德,十分合用于變速掌握。這個示例為運用霍爾效應傳感器掌握機電換向的BLDC供給年夜略的開環掌握。BLDC機電的速率運用年夜略的電位器掌握。正在這類形式下的BLDC機電掌握的特雷同于經典DC機電掌握示例。

      這個示例的硬件竣工如圖6所示。因為BLDC機電需求非常的輸出,以是引薦C8051F330這個MCU。倘若行使需求更眾的存儲資本,C8051F336也是不錯的采選,由于它有較年夜的16kB代碼存儲空,而且代碼兼收留C8051F330。機電由6個功率晶體管驅動,組成三相橋式組織。下部的晶體管Q1-3是N溝道功率MOSFET。上部的3個晶體管是P溝道功率MOSFET。如此就簡化了門驅動器拘束。另外,互補門驅動器的運用使得正在默許形態下功率晶體管處于封閉形態。

      霍爾效應傳感器有開集電極輸出,需求上拉電阻。檢討機電規格確?;魻栃獋鞲衅魇呛线m擺設的。開集電極輸出平日是3V兼收留的。但是,霍爾效應傳感器也需求一個偏置電源,平日需求領先3V。正在年夜年夜批體系中,霍爾效應傳感器或許封閉電電機源電壓或門驅動器電源電壓。

      運用中斷點調試軟件或許會將機電和MOSFET置于不良形態。當MCU碰到一個中斷點時,引腳被實時有用地凍結,況且能夠留下PWM輸來由于激活形態。這里引薦的流程是正在舉辦單步伐試或運用中斷點之前,不停中斷開電電機源毗鄰。BLDC機電正在逾越繞組時將會滿電壓失落速。BLDC機電失落速電流僅僅與繞組的內阻干系。這很或許破壞功率MOSFET。

      PORT_Init()函數對交叉開合器和輸出引腳分派舉辦配置。非常的掌握引腳為3相掌握而配置為推挽式輸出,為讀取霍爾傳感器而配置為輸進。

      可編程計數器陣列時基采取160ns,啟動計數器。但是,模塊0形式SFR沒有初始化為8位PWM。正在霍爾效應地方被肯定之前,沒有機電驅動被啟動。

      main()函數最初初始化干系資本,配置start標記位。主輪回最初運用hallPosition()函數檢測霍爾效應傳感器的地方。倘若start標記位被配置或霍爾地方一經轉移,機電經由過程挪用commutate()函數舉辦換向。接下來,速率輸進被讀取,速率配置被寫進PWM輸出。

      hallPosition()函數正在毛病形態時返回0。這爆正在霍爾效應輸進全為高或全為低時。倘若毛病爆了,主輪回經由過程挪用coast()函數使全數輸出無效。肇端位也正在毛病要求爆時置位,從而迫使換向爆不才一個正當的霍爾地方讀數時。

      readHalls()函數正在霍爾效應輸進端口引腳上讀取而且往除霍爾效應編碼發抖。該函數守候三個相聯的相似的讀數。當霍爾編碼正正在轉移時,這類形式能夠低落毛病讀數的或許性。

      hallPosition()最初經由過程上面形容的readHalls()函數讀取霍爾效應編碼?;魻柧幋a形式被積聚正在常量數組hallPattern[]中。為了成家霍爾效應編碼,一個帶有后遞減的單行for輪回被用于尋覓對應的索引。hallPosition()函數倘若展現一個成家的形式,則返回1-6中的一個值。倘若沒有展現成家,hallPosition()函數返回0值。

      commutate()函數用來正在啟動時初始化輸出,當霍爾地方轉移時轉移輸出形態,而且正在檢測到霍爾毛病后從新啟動機電。commutate()函數最初制止PWM和上部的晶體管。然后,它才運用從hallPosition()函數中取得的索引。

      對霍爾效應形式或整流形式來講沒有同一的法式。用戶需求閱讀你所運用的特定機電的締制商所供給的數據手冊。憑據締制商的數據手冊提神核對兩種形式。也要檢討霍爾效應形式和整流形式之的通訊。須要時需求轉移兩種形式之的位移。邦拓運控,高級電機控制中的軟件設計原則

    此文關鍵字:dc電機
    首頁 | 公司簡介 | 新聞中心 | 產品中心 | 企業風采 | 走進我們 | 聯系我們
    人妻中文字幕