<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 掌握MCU軟件設(shè)計(jì)準(zhǔn)則 實(shí)現(xiàn)直流馬達(dá)控制精準(zhǔn)度提升

          掌握MCU軟件設(shè)計(jì)準(zhǔn)則 實(shí)現(xiàn)直流馬達(dá)控制精準(zhǔn)度提升

          作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏


          憑借軟件算法 無(wú)刷直流馬達(dá)變速控制性能大增
          無(wú)刷直流馬達(dá)提供一些傳統(tǒng)有刷換向DC馬達(dá)所沒(méi)有的優(yōu)點(diǎn)。電子和傳感器有效的替代電刷角色,提供更長(zhǎng)的壽命,減少維護(hù)操作,并且沒(méi)有電刷噪聲。正確整流的無(wú)刷直流馬達(dá)的扭矩-速度特性完全相同于如圖1所示的DC馬達(dá),因此,無(wú)刷直流馬達(dá)展現(xiàn)出與DC馬達(dá)相同的滿足需求的質(zhì)量,非常適用于變速控制。這個(gè)范例為使用霍爾效應(yīng)傳感器控制馬達(dá)換向的無(wú)刷直流馬達(dá),提供簡(jiǎn)單的開(kāi)放回路控制,無(wú)刷直流馬達(dá)的速度使用簡(jiǎn)單的電位器控制。在這種方式下的無(wú)刷直流馬達(dá)控制的特點(diǎn),類似于經(jīng)典DC馬達(dá)控制范例。
          這個(gè)范例的硬件實(shí)現(xiàn)如圖6所示。馬達(dá)由六個(gè)功率晶體管驅(qū)動(dòng),構(gòu)成三相橋式結(jié)構(gòu)。下部的晶體管Q1-3是N通道功率MOSFET;上部的三個(gè)晶體管是P通道功率MOSFET。這樣就簡(jiǎn)化閘極驅(qū)動(dòng)器管理,此外,互補(bǔ)閘極驅(qū)動(dòng)器的使用使得在預(yù)設(shè)狀態(tài)下,功率晶體管處于關(guān)閉狀態(tài)。



          圖6 無(wú)刷DC馬達(dá)驅(qū)動(dòng)


          霍爾效應(yīng)傳感器有開(kāi)集電極輸出,需要上拉電阻。檢查馬達(dá)規(guī)格確保霍爾效應(yīng)傳感器是適合配置的,開(kāi)集電極輸出通常是3V兼容的,然而,霍爾效應(yīng)傳感器也需要一個(gè)偏置電源,通常須要超過(guò)3V。在大多數(shù)系統(tǒng)中,霍爾效應(yīng)傳感器能夠關(guān)閉馬達(dá)電源電壓,或者閘極驅(qū)動(dòng)器電源電壓。
          使用斷點(diǎn)調(diào)變軟件可能會(huì)將馬達(dá)和MOSFET置于不良狀態(tài)。當(dāng)MCU遇到一個(gè)斷點(diǎn)時(shí),引腳被及時(shí)的有效凍結(jié),而且可以留下PWM輸出處于啟動(dòng)狀態(tài)。這里推薦的流程是在進(jìn)行單步調(diào)變或者使用斷點(diǎn)之前,一直斷開(kāi)馬達(dá)電源連接。BLDC馬達(dá)在跨越繞組時(shí),將會(huì)滿電壓失速。BLDC馬達(dá)失速電流僅僅與繞組的內(nèi)阻相關(guān),這很可能損壞功率MOSFET。
          PORT_Init()函數(shù)對(duì)交叉開(kāi)關(guān)器和輸出引腳分配進(jìn)行設(shè)置。額外的控制引腳為3-相控制而設(shè)置為推挽式輸出,為讀取霍爾傳感器而設(shè)置為輸入。
          可程序設(shè)計(jì)計(jì)數(shù)器數(shù)組時(shí)基采用160ns,啟動(dòng)計(jì)數(shù)器。然而,模塊0模式SFR沒(méi)有初始化為8位PWM。在霍爾效應(yīng)位置被確定之前,沒(méi)有馬達(dá)驅(qū)動(dòng)被?用。
          main()函數(shù)首先初始化相關(guān)資源,設(shè)置start標(biāo)志位。主回路首先使用hallPosition()函數(shù)檢測(cè)霍爾效應(yīng)傳感器的位置。如果start標(biāo)志位被設(shè)置或者霍爾位置已經(jīng)改變,馬達(dá)透過(guò)調(diào)用commutate()函數(shù)進(jìn)行換向。接下來(lái),速度輸入被讀取,速度設(shè)置被寫(xiě)入PWM輸出。
          hallPosition()函數(shù)在錯(cuò)誤狀態(tài)時(shí)返回0,這發(fā)生在霍爾效應(yīng)輸入全為高或全為低時(shí)。如果錯(cuò)誤發(fā)生,主回路經(jīng)過(guò)調(diào)用coast()函數(shù)使所有輸出無(wú)效;起始位也在錯(cuò)誤條件發(fā)生時(shí)置位,而迫使換向發(fā)生在下一個(gè)合法的霍爾位置讀數(shù)時(shí)。
          readHalls()函數(shù)在霍爾效應(yīng)輸入端口引腳上讀取,并且去除霍爾效應(yīng)編碼抖動(dòng),該函數(shù)等待三個(gè)連續(xù)的相同讀數(shù)。當(dāng)霍爾編碼正在改變時(shí),這種方式降低錯(cuò)誤讀數(shù)的可能性。
          hallPosition()首先透過(guò)上面描述的readHalls()函數(shù)讀取霍爾效應(yīng)編碼。霍爾編碼模式被儲(chǔ)存在常量數(shù)組hallPattern[]中。為了匹配霍爾效應(yīng)編碼,一個(gè)帶有后遞減的單行for回路被用于尋找對(duì)應(yīng)的索引。hallPosition()函數(shù)如果發(fā)現(xiàn)一個(gè)匹配的模式,則返回1-6中的一個(gè)值;如果沒(méi)有發(fā)現(xiàn)匹配,hallPosition()函數(shù)返回0值。
          commutate()函數(shù)用來(lái)在啟動(dòng)時(shí)初始化輸出,當(dāng)霍爾位置改變時(shí)改變輸出狀態(tài),并且在檢測(cè)到霍爾錯(cuò)誤后重新啟動(dòng)馬達(dá)。commutate()函數(shù)首先禁止PWM和上部的晶體管,然后,它才使用從hallPosition()函數(shù)中獲得的索引。
          對(duì)于霍爾效應(yīng)模式或者整流模式來(lái)說(shuō),沒(méi)有統(tǒng)一的標(biāo)準(zhǔn)。請(qǐng)參閱你所使用之特定馬達(dá)制造商所提供的數(shù)據(jù)手冊(cè),依據(jù)制造商的資料手冊(cè)仔細(xì)查核兩種模式。同時(shí),也請(qǐng)檢查霍爾效應(yīng)模式和整流模式之間的通信,必要時(shí)請(qǐng)改變兩種模式之間的位移。

          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();