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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于μC/OS―III和ARM的空心杯電機(jī)控制器設(shè)計(jì)

          基于μC/OS―III和ARM的空心杯電機(jī)控制器設(shè)計(jì)

          作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

          引言

          本文引用地址:http://www.ex-cimer.com/article/201609/303697.htm

          在結(jié)構(gòu)上采用了無鐵芯轉(zhuǎn)子,克服了有鐵芯電動機(jī)不可逾越的技術(shù)障礙,使其具備了更加突出的節(jié)能特性、靈敏方便的控制特性和穩(wěn)定的運(yùn)行特性。隨著工業(yè)技術(shù)的飛速發(fā)展,電動機(jī)的伺服特性要求不斷提高,以其高效率的能力轉(zhuǎn)換特性在很多應(yīng)用場合取得廣泛應(yīng)用。控制器需要對轉(zhuǎn)速進(jìn)行快速精確的閉環(huán)控制,其必須具備與上位機(jī)實(shí)現(xiàn)串口通信、轉(zhuǎn)速實(shí)時采集、前饋PI控制及液晶屏顯示等多個功能。

          目前,ARM內(nèi)核微控制器發(fā)展迅速,其性能高、耗電少、成本低,具備16/32位雙指令集。本文選用TI公司的基于Cortex—M4內(nèi)核的TM4C 123GH6PM芯片,該芯片最高具備80 MHz主頻,適用于高性能、低功耗的嵌入式控制領(lǐng)域。它具備多個高精度定時器,可以輸出多達(dá)16路互補(bǔ)且?guī)в兴绤^(qū)時間控制的PWM波形,滿足空心杯電機(jī)的控制需求。

          μC/OS—III是一個可擴(kuò)展的、可固化的、搶占式第3代實(shí)時多任務(wù)操作系統(tǒng)內(nèi)核。其對任務(wù)的個數(shù)無限制,提供了現(xiàn)代實(shí)時內(nèi)核所期望的所有功能,包括資源管理、同步、內(nèi)部任務(wù)交流等。考慮到系統(tǒng)任務(wù)的復(fù)雜性,傳統(tǒng)的單任務(wù)循環(huán)式的程序控制模式難以滿足需求,本文采用了開放源碼的嵌入式操作系統(tǒng)μC/OS—III實(shí)現(xiàn)空心杯電機(jī)控制器,簡化了系統(tǒng)設(shè)計(jì)。

          1 控制器硬件設(shè)計(jì)

          1.1 控制器硬件總體結(jié)構(gòu)

          空心杯電機(jī)閉環(huán)控制器硬件結(jié)構(gòu)包括PWM驅(qū)動電路、轉(zhuǎn)速檢測電路、液晶顯示電路及USB轉(zhuǎn)串口電路等部分,系統(tǒng)框圖如圖1所示。控制器通過串口與上位機(jī)進(jìn)行通信,接收上位機(jī)給出的期望轉(zhuǎn)速指令與控制參數(shù)。實(shí)際轉(zhuǎn)速經(jīng)過轉(zhuǎn)速檢測電路由TM4C123GH6PM的定時器捕獲得到,在與期望轉(zhuǎn)速對比后得到轉(zhuǎn)速差,基于前饋PI控制輸出相應(yīng)PWM信號,經(jīng)驅(qū)動電路后供給空心杯電機(jī)。同時,液晶顯示器通過SPI接口與TM4C123GH6PM進(jìn)行通信,從而實(shí)時顯示實(shí)際轉(zhuǎn)速值。

          基于μC/OS—III和ARM的空心杯電機(jī)控制器設(shè)計(jì)

          1.2 驅(qū)動電路設(shè)計(jì)

          驅(qū)動電路采用一款雙通道橋式電機(jī)驅(qū)動器DRV8833,該器件具有兩個H橋驅(qū)動器,能夠驅(qū)動兩個直流電機(jī)。每個H橋的輸出驅(qū)動器模塊由N溝道功率組成,這些場效應(yīng)管被配置成一個H橋,以驅(qū)動電機(jī)繞組。通過調(diào)節(jié)PWM的占空比,調(diào)整輸入電機(jī)端電壓的大小,進(jìn)而控制空心杯電機(jī)的轉(zhuǎn)速。驅(qū)動電路如圖2所示,由于本文只需驅(qū)動一個直流電機(jī),因此將雙通道輸出并聯(lián)處理,以達(dá)到增大驅(qū)動電流的效果。

          基于μC/OS—III和ARM的空心杯電機(jī)控制器設(shè)計(jì)

          1.3 轉(zhuǎn)速檢測電路設(shè)計(jì)

          空心杯電機(jī)轉(zhuǎn)速檢測電路如圖3所示。在電機(jī)轉(zhuǎn)軸上固定了一個輪齒,上面均勻分布了4個錯開的齒。輪齒布置在一個對射光耦上,當(dāng)電機(jī)轉(zhuǎn)動一周時產(chǎn)生4個高低脈沖,該脈沖頻率表征轉(zhuǎn)速大小。

          基于μC/OS—III和ARM的空心杯電機(jī)控制器設(shè)計(jì)

          2 μC/OS-Ⅲ操作系統(tǒng)移植

          在官網(wǎng)上下載已移植到TM4C129XL的μC/OS—III,基于此工程模板進(jìn)行修改,可以免除完全移植操作系統(tǒng)的繁瑣工作。由于該工程模板是針對TM4C129XL系列的,該系列的芯片主頻與TM4C123XL系列有所差別,因此需要在板級支持包(BSP)系統(tǒng)初始化文件中進(jìn)行修改,文件名為“BSP_SysInit”。將原系統(tǒng)時鐘設(shè)置部分注釋掉,添加對應(yīng)于TM4C123GXL的配置代碼:

          cpu_clk_freq=BSp_SysClkFreqGet();//確定systick參考頻率

          SysCtlClockSet(SYSCTL_SYSDIV_16 | SYSCTL_USE_PLL |

          SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);//系統(tǒng)時鐘設(shè)置

          此處設(shè)置在原文件中需要多條語句才能完成,利用TI公司的設(shè)備驅(qū)動庫函數(shù)可以高效便捷地完成設(shè)置。

          3 軟件設(shè)計(jì)

          3.1 μC/OS-Ⅲ的任務(wù)分配

          本控制器軟件需要實(shí)現(xiàn)的功能如下:

          ①上位機(jī)通過串口給定期望電機(jī)轉(zhuǎn)速和控制參數(shù);

          ②要求空心杯電機(jī)轉(zhuǎn)速連續(xù)可調(diào)并且具有良好的動、靜態(tài)性能,通過定時器捕獲實(shí)際轉(zhuǎn)速,并采用算法調(diào)節(jié);

          ③液晶顯示屏實(shí)時顯示轉(zhuǎn)速。

          基于μC/OS—III的程序設(shè)計(jì)是將一個大的應(yīng)用程序分成多個相對獨(dú)立的任務(wù)來完成。定義好每個任務(wù)的優(yōu)先級后,μC/OS-III內(nèi)核對這些任務(wù)進(jìn)行調(diào)度和管理。本程序設(shè)置OS時鐘節(jié)拍為50 Hz,共分為3個任務(wù)(AppTaskStart、MyTask1、MyTask2),優(yōu)先級分別為2、12、13,具體的工作流程如圖4所示。其中,AppTaskStart為電機(jī)控制任務(wù),主要負(fù)責(zé)進(jìn)行前饋PI控制,其延時1個節(jié)拍進(jìn)入就緒狀態(tài),即相當(dāng)于20 ms執(zhí)行一次;MyTask1為上位機(jī)給定任務(wù),負(fù)責(zé)串口接收,其延時2個節(jié)拍進(jìn)入就緒態(tài),即相當(dāng)于40 ms執(zhí)行一次;MyTask2為液晶顯示任務(wù),負(fù)責(zé)LCD顯示,其延時3個節(jié)拍進(jìn)入就緒態(tài),即相當(dāng)于60 ms執(zhí)行一次。

          基于μC/OS—III和ARM的空心杯電機(jī)控制器設(shè)計(jì)

          3.2 電機(jī)控制任務(wù)

          電機(jī)控制任務(wù)AppTaskStart達(dá)到就緒態(tài)后,讀取空心杯電機(jī)當(dāng)前轉(zhuǎn)速。在實(shí)際測試中,發(fā)現(xiàn)該電機(jī)的非線性特性較強(qiáng),因此采用帶前饋量的PI控制,使電機(jī)轉(zhuǎn)速能在全范圍內(nèi)都能快速準(zhǔn)確地進(jìn)行調(diào)節(jié)。其中,PWM前饋量由實(shí)際轉(zhuǎn)速插值取得,插值表在開環(huán)情況下標(biāo)定獲得。電機(jī)控制任務(wù)工作流程如圖5所示。

          基于μC/OS—III和ARM的空心杯電機(jī)控制器設(shè)計(jì)

          3.3 上位機(jī)給定任務(wù)

          上位機(jī)給定任務(wù)MyTask1中,控制器通過串口接收上位機(jī)指令,接收內(nèi)容包括期望轉(zhuǎn)速及控制參數(shù)Kp與Ki。由于控制參數(shù)往往需要根據(jù)經(jīng)驗(yàn)反復(fù)整定,而且起初并不能確定其量級大小,為了快速方便地進(jìn)行控制參數(shù)整定,此處串口數(shù)據(jù)采取浮點(diǎn)數(shù)格式傳輸,相對于用整型數(shù)傳輸沒有精度損失。數(shù)據(jù)類型轉(zhuǎn)換具體代碼如下:


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(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); })();