<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 汽車(chē)電子 > 設計應用 > 汽車(chē)儀表步進(jìn)電機控制算法的仿真

汽車(chē)儀表步進(jìn)電機控制算法的仿真

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

在經(jīng)歷了機械式、電氣式、模擬電子式儀表時(shí)代后,進(jìn)入了如今的全數字式儀表時(shí)代。目前,國內部分中、高檔轎車(chē),均配套使用。其它汽車(chē)也正在配套該類(lèi)型的儀表。,將是未來(lái)一段時(shí)間內汽車(chē)儀表的主導產(chǎn)品,有著(zhù)十分廣闊的市場(chǎng)前景。

本文引用地址:http://dyxdggzs.com/article/196993.htm

今后,汽車(chē)儀表的功能將更加側重由軟件來(lái)完成。這對于產(chǎn)品數量大并且對成本極為敏感的汽車(chē)儀表有著(zhù)特殊意義。與僅由電子硬件組成的汽車(chē)儀表相比,帶有ECU的汽車(chē)儀表功能的實(shí)現手段更加靈活多樣,產(chǎn)品的“柔性”更好,即在推出新款產(chǎn)品時(shí),能最大限度地利用以前產(chǎn)品的軟、硬件設計成果,這在產(chǎn)品更新?lián)Q代很快的今天和未來(lái)顯得尤為重要。

目前,很多半導體芯片制造商都生產(chǎn)汽車(chē)儀表板的微控制器,比如NEC、freescale、Fujitsu和Micronas等公司。在此介紹一種基于Micronas CDC3207G微控制器的汽車(chē)儀表板步進(jìn)電機控制的解決方案。

步進(jìn)電機控制

步進(jìn)電機又稱(chēng)脈沖電動(dòng)機,它能將輸入的脈沖信號變成電動(dòng)機軸的步進(jìn)轉動(dòng),是一種將電脈沖轉化為角位移的執行機構。在非超載的情況下,電機的轉速以及停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響。

控制步進(jìn)電機實(shí)際上是控制輸入脈沖序列,使步進(jìn)電機軸按照預定方向轉動(dòng)需要的角度。汽車(chē)儀表中應用的主要是兩相步進(jìn)電機,有兩個(gè)獨立繞組。通過(guò)控制兩個(gè)獨立繞組上的脈沖信號,就能實(shí)現對步進(jìn)電機的控制。此外,一般步進(jìn)電機內部在電機轉軸與指針之間都裝有降速齒輪組,使得轉動(dòng)軸與指針之間有一定的降速比,這樣可以降低指針轉動(dòng)的抖動(dòng),使電機指針轉動(dòng)更加平滑。

采用Microcomponents公司的SWITEC步進(jìn)電機,其電機轉動(dòng)軸與指針之間的轉速比為180:1,即步進(jìn)電機轉動(dòng)軸旋轉180°,步進(jìn)電機的指針旋轉1°。

步進(jìn)電機

基本功能

控制算法主要功能是控制步進(jìn)電機以完成儀表的顯示,主要是根據實(shí)時(shí)數據計算得到顯示儀表的位置信息,再根據位置信息計算出步進(jìn)電機控制指令。對于內部集成了步進(jìn)電機控制模塊的微控制器,控制算法最終輸出控制寄存器的數值,微控制器根據寄存器的數值產(chǎn)生驅動(dòng)信號,實(shí)現對步進(jìn)電機的控制。

CDC3207G微控制器

CDC3207G微控制器是Micronas(微開(kāi))公司的一款基于A(yíng)RM7TDMI內核的32位[0]微控制器,它集成了7個(gè)步進(jìn)電機模塊,再加上PWM軟件模擬最多可以直接驅動(dòng)8路步進(jìn)電機。每個(gè)步進(jìn)電機模塊通過(guò)4個(gè)控制器內部連接了H橋的高電流輸出端口,直接驅動(dòng)兩相步進(jìn)電機。通過(guò)軟件便可以產(chǎn)生步進(jìn)電機定位需要的各種脈沖。

CDC3207G的步進(jìn)電機模塊可以提供多通道的PWM輸出,輸出信號頻率通過(guò)硬件設置來(lái)選擇,并且各個(gè)步進(jìn)電機模塊輸出信號的時(shí)序具有偏移,可以提高電磁兼容性能(EMC)。

根據控制兩相步進(jìn)電機的需要,CDC3207G內部提供了3個(gè)8位的寄存器,用于通過(guò)軟件來(lái)產(chǎn)生控制脈沖。其中兩個(gè)寄存器通過(guò)模塊中的比較器與模塊計時(shí)器進(jìn)行比較,用于產(chǎn)生驅動(dòng)電機的PWM信號,另外一個(gè)寄存器用來(lái)選擇相應步進(jìn)電機模塊以及選擇四個(gè)輸出引腳的極性。這樣,通過(guò)軟件對三個(gè)寄存器的操作就能方便地對每一路步進(jìn)電機進(jìn)行控制。

此外,CDC3207G還具有零位檢測功能,即檢測電機運轉時(shí)的感應電流,得到電機運行的位置信息,據此判斷電機是否達到初始位置(即汽車(chē)儀表的零位)。

控制算法的實(shí)現

軟件的主要任務(wù)是根據不斷更新的步進(jìn)電機位置信息,計算控制寄存器的數值。同時(shí),為了滿(mǎn)足儀表指示的實(shí)時(shí)性要求,本方案采用周期性調用步進(jìn)電機控制函數的辦法,根據實(shí)際需要選擇周期。本方案中,調用步進(jìn)電機控制函數的周期為2ms。

除了需要滿(mǎn)足實(shí)時(shí)性以外,步進(jìn)電機控制函數還需要控制步進(jìn)電機平滑地運轉,這樣,指針的顯示才不會(huì )在視覺(jué)上給人以不適的感覺(jué)。為此,控制函數需要限制步進(jìn)電機的速度以及加速度。由于周期性更新步進(jìn)電機位置信息,所以控制函數是通過(guò)比較當前位置與給定位置來(lái)計算每周期的步進(jìn)量,最終完成給定位置的顯示??刂坪瘮盗鞒虉D如圖1所示。

11.jpg

圖1 步進(jìn)電機控制函數流程圖

本方案的SWITEC步進(jìn)電機的指針顯示范圍為330°,指針每轉動(dòng)一度,步進(jìn)電機轉動(dòng)軸需要轉動(dòng)180°,在軟件中分為256步來(lái)實(shí)現。所以,按照步進(jìn)數計算的步進(jìn)電機量程為330×256=84480步。

為保證指針顯示上平滑,流暢,需要限制每一周期的最大步進(jìn)數以及相鄰兩個(gè)周期步進(jìn)數量差,以常量MAX_SPEED以及MAX_ACC分別對電機運行速度和加速度進(jìn)行限制。

由于需要周期性更新步進(jìn)電機的位置,且每一周期時(shí)間很短,步進(jìn)數量有限,所以,對于一個(gè)新的儀表位置,步進(jìn)電機要完成顯示往往需要多個(gè)周期來(lái)實(shí)現。

部分變量的簡(jiǎn)單說(shuō)明見(jiàn)表1。

表1 變量說(shuō)明

變量名稱(chēng)

pos_set

pos_act

pos_new

delay_time

speed

speed_old

含義

目標地址

當前位置

本周期結束位置

響應時(shí)間

本周期步進(jìn)數

上周期步進(jìn)數

由于程序中的位置信息都是按照步進(jìn)數來(lái)表示的,因此,可以預先定義一個(gè)常數數組,保存步進(jìn)數對應的控制寄存器的數值。這樣,根據需要步進(jìn)數查表便可以得到所需要的寄存器的數值。

控制算法分析

為了進(jìn)一步分析本算法的性能,用LabVIEW編程軟件進(jìn)行算法,這樣就可以很方便地在不連接步進(jìn)電機的情況下對算法進(jìn)行分析。在LabVIEW7.1中可以采用圖2的框圖對本算法進(jìn)行分析。

22.jpg

圖2 LabVIEW的算法框圖

在LabVIEW中,用一個(gè)while結構來(lái)周期地對算法的目標地址進(jìn)行處理,每次循環(huán)都得到pos_new的數值,即每周期結束后步進(jìn)電機的顯示數值,然后將該數值輸出到LabVIEW的前面板上。前面板如圖3所示。

33.jpg

圖3 LabVIEW的算法前面板

通過(guò)前面板中Start按鈕可以控制循環(huán)的開(kāi)始與結束,手動(dòng)改變pos_set的數值來(lái)模擬實(shí)際儀表中的數據變化。本例中該值的變化范圍為0至100,并且每次試驗都使該值由0突變?yōu)?00。再用Gauge(量具)來(lái)步進(jìn)電機的顯示,可以很方便地觀(guān)察到不同參數改變后顯示的視覺(jué)效果。此外,還可以通過(guò)LabVIEW提供的繪圖功能得到控制算法中一些重要變量隨時(shí)間變化的圖像,更加直觀(guān)地進(jìn)行性能分析。

44.jpg

圖4 pos_new隨時(shí)間的變化

圖4為步進(jìn)電機目標值pos_set由0突變?yōu)?00的過(guò)程中,步進(jìn)電機實(shí)際輸出值pos_new隨時(shí)間的變化曲線(xiàn)圖。由于設定的while循環(huán)周期為1ms,所以,時(shí)間軸顯示每周期步進(jìn)電機輸出,縱坐標POS即為步進(jìn)電機的顯示結果。

觀(guān)察0至128ms區間的曲線(xiàn),可以看出此階段曲線(xiàn)的斜率是逐漸增加的,表明步進(jìn)電機在加速運行,因為初始階段步進(jìn)電機目標位置與實(shí)際位置之間的差值很大,計算得到的speed_delta數值超過(guò)了MAX_ACC這一常數的限制。128ms至475ms區間的曲線(xiàn)為直線(xiàn),說(shuō)明在此區間步進(jìn)電機已達到最大速度MAX_SPEED,并以該速度勻速運行。

余下區間的曲線(xiàn),斜率是逐漸減小的,這時(shí)步進(jìn)電機在減速運行,因為這時(shí)目標位置與實(shí)際位置的差值已經(jīng)很小,計算得到的speed_delta數值已經(jīng)處于由MAX_ACC限制的范圍內。變量speed隨時(shí)間的變化曲線(xiàn)更能清楚地分辨出這三個(gè)過(guò)程。如圖5所示。

55.jpg

圖5 speed隨時(shí)間的變化

將常數MAX_ACC(即相鄰周期步進(jìn)數量的變化)由1改為10,得到結果如圖6所示。從中可以看出,增大MAX_ACC后,曲線(xiàn)中起始階段變陡了,即步進(jìn)電機起步階段的加速變快了,而步進(jìn)電機由初始值0到100的完成時(shí)間受到的影響不是很大。

66.jpg

圖6 改變MAX_ACC后pos_new隨時(shí)間的變化

由流程圖中不難看出,常數MAX_ACC只是限制了相鄰兩個(gè)周期步進(jìn)數的變化,而每周期步進(jìn)數的限制是由MAX_SPEED來(lái)設定的。將該數值由原來(lái)的128改變?yōu)?56再作同上的試驗可以發(fā)現,曲線(xiàn)中200ms至400ms之間變得更陡,步進(jìn)電機由0到100的完成時(shí)間縮短的比較明顯。這說(shuō)明通過(guò)改變每周期步進(jìn)數量的限制可以比較顯著(zhù)地改變步進(jìn)電機的完成時(shí)間。

當然,最后的顯示結果與仿真得到的結果,由于步進(jìn)電機自身性能的原因會(huì )有偏差,并且實(shí)際步進(jìn)電機還會(huì )有諸如噪音等一些用LabVIEW無(wú)法仿真出來(lái)的問(wèn)題。因此,用LabVIEW進(jìn)行的算法仿真只能作為參考,最后參數的確定還需要通過(guò)在實(shí)際步進(jìn)電機上進(jìn)行試驗后才能完成。

結語(yǔ)

對于本控制方案,設計開(kāi)發(fā)人員可以根據實(shí)際的硬件(如步進(jìn)電機型號)以及儀表產(chǎn)品的需要,在程序中修改相應變量的上下限等常量數值,就能改變步進(jìn)電機指示的量程、指示的平滑性、響應速度等一序列指標。修改調試起來(lái)十分方便。

雖然本方案是針對CDC3207G微控制器而設計的,但是軟件設計中的控制算法思想,對于汽車(chē)儀表步進(jìn)電機的控制具有普遍的適用性。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>