魏謀文,何漢武,胡兆勇,陳詩(shī)接
(1.廣東工業(yè)大學(xué)機(jī)電工程學(xué)院,廣東 廣州510006;2.廣東省中山市金龍游樂(lè)設(shè)備有限公司,廣東 中山528400)
近年來(lái),隨著我國(guó)國(guó)民經(jīng)濟(jì)的穩(wěn)步增長(zhǎng),城鄉(xiāng)居民消費(fèi)結(jié)構(gòu)的升級(jí),文化娛樂(lè)業(yè)在不斷探索中發(fā)生了巨大變化,娛樂(lè)的內(nèi)容、方式、手段、載體都融入了新創(chuàng)意和高科技[1]。虛擬現(xiàn)實(shí)技術(shù)的發(fā)展,向我們提供了一種新的體驗(yàn)方式,通過(guò)虛擬現(xiàn)實(shí)技術(shù),復(fù)雜或抽象系統(tǒng)的概念,可以通過(guò)將系統(tǒng)的各子部件以某種方式表示成具有確切含義的符號(hào)而得以表達(dá)[2]。在此背景下,論文提出了一種以STM32F103為核心的電動(dòng)機(jī)控制系統(tǒng)應(yīng)用于虛擬環(huán)境下動(dòng)感體驗(yàn)的方案。
虛擬體驗(yàn)是個(gè)體與三維計(jì)算機(jī)模擬交互時(shí)栩栩如生的、卷入性的和感性的心理狀態(tài)(活動(dòng)),主要目的在于使得人有接近真實(shí)的體驗(yàn)。動(dòng)感座椅作為其體驗(yàn)方式中的一種重要的設(shè)備,其目的在于使得人有接近真實(shí)的前傾、后仰、顛簸等物理體驗(yàn),控制系是整個(gè)環(huán)境的核心。因此在結(jié)合虛擬環(huán)境的基礎(chǔ)上,運(yùn)動(dòng)控制系統(tǒng)的信息采樣和指令發(fā)送要求實(shí)時(shí)性好,運(yùn)動(dòng)控制策略要在以人的真實(shí)感覺(jué)為前提,同時(shí)平臺(tái)的穩(wěn)定性和安全性要得到保障[2~3]。
本文涉及的動(dòng)感座椅是2個(gè)直線電機(jī)和1個(gè)萬(wàn)向機(jī)構(gòu)作為執(zhí)行機(jī)械的平臺(tái),直線電機(jī)、萬(wàn)向機(jī)構(gòu)按照等邊三角形設(shè)計(jì),如圖1所示。通過(guò)控制兩個(gè)直線電機(jī)的運(yùn)動(dòng)模擬虛擬環(huán)境中虛擬汽車的直線行駛、轉(zhuǎn)彎行駛、斜坡行駛等動(dòng)作。
圖1 控制平臺(tái)示意圖
根據(jù)控制平臺(tái)設(shè)計(jì)要求,系統(tǒng)包括由虛擬環(huán)境、信息處理、運(yùn)動(dòng)執(zhí)行三部分,如圖2所示。
圖2 系統(tǒng)功能框圖
其中,虛擬環(huán)境部分,負(fù)責(zé)營(yíng)造逼真的虛擬環(huán)境,虛擬環(huán)境的逼真程度主要體現(xiàn)在三維場(chǎng)景的質(zhì)量以及與用戶的交互過(guò)程上,三維虛擬場(chǎng)景的渲染效果與系統(tǒng)的沉浸感及實(shí)時(shí)性密切相關(guān);信息處理部分,負(fù)責(zé)信號(hào)分析和處理,結(jié)合控制策略,給出運(yùn)動(dòng)控制指令,主要由微處理器完成,該處理器相當(dāng)于整個(gè)系統(tǒng)的大腦,由它接收信號(hào),也由它發(fā)出指令;運(yùn)動(dòng)執(zhí)行部分,主要負(fù)責(zé)響應(yīng)運(yùn)動(dòng)控制指令做出實(shí)時(shí)的機(jī)械運(yùn)動(dòng)。
本控制系統(tǒng)選用STM32F103作為主控制芯片,系統(tǒng)首先由Keil uvision4作為軟件開(kāi)發(fā)工具,在線開(kāi)發(fā)出對(duì)伺服電機(jī)的控制程序,調(diào)試運(yùn)行成功以后,再把代碼通過(guò)JTAG下載到STM32F103控制板的FLASH上,經(jīng)STM32F103處理后,發(fā)出的位置指令信號(hào)(脈沖/方向),伺服驅(qū)動(dòng)器接收位置指令信號(hào),驅(qū)動(dòng)電機(jī)旋轉(zhuǎn),進(jìn)而使電動(dòng)推桿作直線運(yùn)動(dòng);另一方面,在外圍安裝有一傳感器,通過(guò)傳感器采集模塊對(duì)執(zhí)行機(jī)構(gòu)的位置進(jìn)行采集進(jìn)而反饋到控制板內(nèi),進(jìn)而達(dá)到對(duì)電機(jī)運(yùn)動(dòng)的反饋控制調(diào)節(jié),圖3為控制系統(tǒng)邏輯框圖。
圖3 控制系統(tǒng)邏輯框圖
2.1.1 STM32F103微處理器
STM32F103系列處理器是由意法半導(dǎo)體ST公司設(shè)計(jì),其使用了高性能的ARM Cortex-M3 32位的RSIC內(nèi)核,其工作頻率為72 MHz,內(nèi)置高速存儲(chǔ)器(高達(dá)128 K字節(jié)的閃存和20 K字節(jié)SRAM),具有豐富的增強(qiáng)I/O端口和聯(lián)接到兩條APB總線的外設(shè),STM32F103以其強(qiáng)大的內(nèi)核及其豐富的外設(shè)使其在控制應(yīng)用領(lǐng)域得到廣泛的使用[4]。系統(tǒng)主控芯片STM32F103VBH6的具體參數(shù)及IO引腳定義可參考STM32F10XXX中文參考手冊(cè)。
2.1.2 主要電路
(1)電源
STM32F103工作電壓為3.3 V,因此本系設(shè)計(jì)為3.3 V應(yīng)用系統(tǒng)。首先,由電源接口輸入12 V直流電源,經(jīng)電容濾波,然后通過(guò)LM2576T-5.0芯片將電源穩(wěn)壓至5 V,再使用AMS1117 3.3芯片穩(wěn)壓輸出3.3 V電壓。電源電路如圖4所示。
圖4 穩(wěn)壓電路
(2)復(fù)位、晶振和啟動(dòng)
復(fù)位電路如圖5所示,復(fù)位部分采用一個(gè)按鍵開(kāi)關(guān)來(lái)實(shí)現(xiàn)。
圖5 復(fù)位電路
時(shí)鐘電路如圖6所示,8 MHz無(wú)源晶振,提供硬件時(shí)序;32.768 kHz晶振為實(shí)時(shí)時(shí)鐘使用。
圖6 時(shí)鐘電路
啟動(dòng)模式電路如圖7所示,系統(tǒng)啟動(dòng)通過(guò)BOOT[1:0]引腳電平選擇不同的啟動(dòng)模式。BOOT1=x,BOOT0=0:用戶閃存被選為啟動(dòng)區(qū),表示任意電平;BOOT1=0,BOOT0=1:系統(tǒng)內(nèi)存被選為啟動(dòng)區(qū);BOOT1=1,BOOT0=1:嵌入式SRAM被選為啟動(dòng)區(qū)。
圖7 啟動(dòng)模式選擇電路
(3)JTAG接口
JTAG調(diào)試接口如圖8所示,采用標(biāo)準(zhǔn)的20pin接口,通過(guò)此接口利用外部Jlink仿真器可以來(lái)對(duì)系統(tǒng)進(jìn)行調(diào)試和程序的下載。
圖8 JTAG接口電路
STM32F103微處理器基于ARM Cortex-M3 32位的RSIC內(nèi)核,很多基于ARM嵌入式開(kāi)發(fā)環(huán)境可以用于STM32F103開(kāi)發(fā)平臺(tái)。本系統(tǒng)開(kāi)發(fā)軟使用Keil uvision4,Keil是德國(guó)知名軟件公司Keil(現(xiàn)已并入ARM公司)開(kāi)發(fā)的微控制器軟件開(kāi)發(fā)平臺(tái),是目前ARM單片機(jī)開(kāi)發(fā)的主流工具。
STM32F103的PWM產(chǎn)生是由定時(shí)器模塊完成的,STM32F103中的定時(shí)器除了TIM6和TIM7外,其他定時(shí)器都可以用來(lái)產(chǎn)生PWM輸出,每個(gè)定時(shí)器都具有16位向上、向下、上下自動(dòng)裝載計(jì)數(shù)器,有4個(gè)獨(dú)立的通道。通用定時(shí)器(TIM2~TIM5)可以同時(shí)產(chǎn)生多達(dá)4路的PWM輸出,而高級(jí)定時(shí)器TIM1和TIM8可以產(chǎn)生多達(dá)7路的PWM輸出,STM32最多可以同時(shí)產(chǎn)生30路的PWM輸出[5]。在Keil uvision4中STM32F103F通用定時(shí)器TIMx(x=2,3,4,5)產(chǎn)生PWM波形流程如圖9所示。
圖9 輸出PWM流程圖
根據(jù)公式:
可以求出TIMx預(yù)分頻器的值TIMx_Period。其中,TIMxCLK=72 MHz,fTIMx各通道PWM的輸出頻率。通過(guò)調(diào)節(jié)預(yù)分頻器的值TIMx_Period來(lái)調(diào)節(jié)各通道的PWM的輸出頻率,通過(guò)輸出頻率進(jìn)而調(diào)節(jié)電機(jī)的速度。圖10為TIM2的CH3(PA2)在Keil uvision4軟件中仿真產(chǎn)生PWM波形。
圖10 PWM輸出波形(fTIM2=100 kHz)
系統(tǒng)伺服馬達(dá)選用的是東元TSB系列TSB08751C-2BT-3,輸出功率750 w。本系統(tǒng)驅(qū)動(dòng)器選用的是東元TSTE系列TSTE20C經(jīng)濟(jì)型驅(qū)動(dòng)器,內(nèi)置增量式編碼器。東元TSTE20C伺服驅(qū)動(dòng)器外型精簡(jiǎn)且機(jī)能實(shí)用,具備轉(zhuǎn)矩、速度、位置、點(diǎn)對(duì)點(diǎn)定位及混合模式切換功能,內(nèi)建回生煞車晶體、RS232/RS485通訊接口,完善的異常報(bào)警保護(hù)機(jī)制,具有高優(yōu)勢(shì)之性價(jià)比。
東元伺服驅(qū)動(dòng)器提供單模式(位置、速度、轉(zhuǎn)矩)及雙模式切換(位置/速度、速度/轉(zhuǎn)矩、位置/轉(zhuǎn)矩)二類控制方式,這里選擇單模式位置控制,在位置控制方式下,伺服驅(qū)動(dòng)器CN1控制信號(hào)端4腳(Pulse)信號(hào)作為外部脈沖控制信號(hào)輸入,6腳(Sign)作為外部方向信號(hào)輸入,5腳(/Pulse)、7腳(/Sign)接地;伺服驅(qū)動(dòng)器CN2編碼器站連接伺服馬達(dá)。
查閱?wèn)|元TSTE產(chǎn)品說(shuō)明書(shū)知,東元TSTE系列T STE20C經(jīng)濟(jì)型驅(qū)動(dòng)器內(nèi)置增量式編碼器:2 000 ppr/2 500 ppr,與馬達(dá)TSB08751C結(jié)合時(shí),內(nèi)置增量式編碼器規(guī)格為:2 500 ppr。經(jīng)2相計(jì)數(shù)后,在電子齒輪比設(shè)為1的情況下,馬達(dá)旋轉(zhuǎn)一周,直線推桿移動(dòng)2.5 mm,周期計(jì)數(shù)需10 000個(gè)脈沖[5]。進(jìn)而根據(jù)計(jì)數(shù)器的值能得到電動(dòng)推桿的具體位置,具體計(jì)算如下:
其中,
θ為每個(gè)脈沖對(duì)應(yīng)的角度;
θm為馬達(dá)旋轉(zhuǎn)的角度;
Num為定時(shí)器發(fā)出的脈沖數(shù);
s為直線推桿移動(dòng)的距離;
STM32系列的通用輸入輸出GPIO有很強(qiáng)大的功能,其每個(gè)IO口可以自由編程,可以獨(dú)立控制每個(gè)IO口的方向(輸入/輸出模式),可以獨(dú)立設(shè)置每個(gè)IO的輸出狀態(tài)(高/低電平)[4]。這里選用如PE1(PE2)作為輸出(高/低電平),控制電機(jī)Ⅰ(電機(jī)Ⅱ)正反轉(zhuǎn);選用如PE8作為輸入,檢測(cè)電動(dòng)推桿Ⅰ(電動(dòng)推桿Ⅱ)限位開(kāi)關(guān)狀態(tài)。
通過(guò)輸入口電平變化來(lái)檢測(cè)限位開(kāi)關(guān)狀態(tài),進(jìn)而根據(jù)電平的變化來(lái)推算此時(shí)電機(jī)的轉(zhuǎn)向,然后再根據(jù)脈沖個(gè)數(shù)推算電機(jī)位置,該方法具有簡(jiǎn)單易實(shí)現(xiàn)的優(yōu)點(diǎn)。實(shí)驗(yàn)結(jié)果表明,該方法具有較好的檢測(cè)效果,檢測(cè)結(jié)果準(zhǔn)確,電機(jī)運(yùn)動(dòng)過(guò)程平穩(wěn)。
如上所述,本文系統(tǒng)由以STM32F103為核心芯片的控制卡、東元TSTE系列驅(qū)動(dòng)器、東元TSB系列馬達(dá)、力姆泰克IMB系列伺服電動(dòng)缸等組成一個(gè)整的控制系統(tǒng)。圖11為控制系統(tǒng)實(shí)物連接圖。
圖11 控制系統(tǒng)實(shí)連接圖
本文將嵌入式技術(shù)運(yùn)用于虛擬體驗(yàn)的動(dòng)感座椅控制系統(tǒng),設(shè)計(jì)一種基于STM32F-103為控制核心的虛擬體驗(yàn)動(dòng)感座椅控制系統(tǒng),利用STM32F103定時(shí)器產(chǎn)生PWM控制信號(hào),實(shí)現(xiàn)對(duì)伺服電動(dòng)機(jī)的速度控制;利用STM32F103輸出口高低電平的變化,實(shí)現(xiàn)對(duì)伺服電機(jī)轉(zhuǎn)向的控制;利用STM32F103輸入口,實(shí)現(xiàn)對(duì)伺服電機(jī)的位置檢測(cè)控制。該方案充分利用STM32F103的超強(qiáng)實(shí)時(shí)計(jì)算能力和一些集成器件,使整個(gè)系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、性能良好、成本低和可靠性強(qiáng)等特點(diǎn)。
[1]李 鉻.國(guó)外數(shù)字電影技術(shù)發(fā)展現(xiàn)[J].現(xiàn)代電影技術(shù),2006(8):25-27.
[2]洪 亮.論虛擬體驗(yàn)在信息設(shè)計(jì)中的應(yīng)用[D].北京:清華大學(xué),2004.
[3]王 晶,劉小明,李德慧.駕駛模擬器現(xiàn)狀及應(yīng)用研究[J].汽車與船舶,2008(11):160-163.
[4]彭 剛,秦志強(qiáng).基于ARMCortex-M3的STM32系列嵌入式微控制器應(yīng)用實(shí)踐[M].北京:電子工業(yè)出社,2011.
[5]孫立志.PWM與數(shù)字化電動(dòng)機(jī)控制技術(shù)應(yīng)用[M].北京:中國(guó)電力出版社,2008.
[6]東元TSTE(TED)簡(jiǎn)易說(shuō)明手冊(cè)[Z].臺(tái)灣:東元精電股分有限公司,2010.