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

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > 基于步進電機驅動器MC33991的設計

          基于步進電機驅動器MC33991的設計

          作者: 時間:2016-11-19 來源:網絡 收藏
            步進電機式儀表與模擬電路電子式儀表相比,其分度均勻,指針的重復性能好、響應速度快、抖動小、產品品質的穩(wěn)定性和可靠性有根本保證[1] ,因此步進電機式汽車儀表在我國逐漸普及。這種汽車儀表通常采用微控制器驅動步進電機帶動儀表指針轉動。微控制器控制步進電機一般需要外加驅動電路,而采用專用的汽車儀表步進電機驅動集成電路可以簡化汽車儀表的軟硬件設計,提高儀表的穩(wěn)定性和可靠性。本文介紹并比較了國內常用的驅動器的性能特點,最后以飛思卡爾半導體生產的MC33991為實例設計了車速表。

            1 常用儀表電機驅動芯片特點及性能比較

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

            國內常用的儀表步進電機驅動芯片包括瑞典SWITEC公司的X12.017、偉盈集團生產的VID66- 06和美國飛思卡爾公司生產的MC33991等。

            1.1 X12.017與VID66- 06的主要特點

            SWITEC公司生產的X12.017在國內應用較廣,可以同時驅動4路十字線圈步進電機。VID66- 06控制方式和X12.017完全相同,其各項性能參數也基本相同。它們的主要特點如下。

            a.以微步驅動,每個脈沖對應電機輸出軸轉動(1/12)°。

            b.每個電機只需要速度和方向2個控制端。

            c.所有輸入腳都有干擾過濾器;低電磁干擾輻射。

            d.工作溫度在- 40~105℃;工作電壓4.5~5.5 V.

            這種驅動器控制簡單,輸入信號CW/CCW控制步進電機的轉動方向,輸入信號F( scx)的上升沿驅動電機轉動一個微步。通過發(fā)送脈沖的頻率可以控制電機的轉動速度。

            1.2 MC33991的主要特點

            MC33991是單獨封裝,通過SPI (串行外設接口)進行通信,可同時控制2個步進電機的驅動電路。該電路也可以仿照氣隙磁通的運動,把普通電機轉化為步進電機來控制。它有以下主要特點[3].

            a.有4 096個靜態(tài)指示位置,接收位置命令后驅動指針指示。

            b.最大指針掃過范圍340度;最大指針速度為400 deg/s;最大指針加速度為4 500 deg/s.

            c.應用微步距控制技術(每步細分為12個微步)。

            d.指針回零校準,能準確地回零。

            e. 16位SPI ( Serial Peripheral Interface) ,通信占用較少的I /O口。

            f.內部時鐘校準功能;睡眠模式下的耗電量較小。

            g.工作溫度- 40~125℃;供電電壓范圍6.5~26 V。

            MC33991可設定步進電機最大轉速。其具有內部狀態(tài)機,保證在正常操作時,驅動器接收到位置命令后,以恒定加速度到達最大速度,然后在合適的時間減速,并保證減速過程中不超過最大減速度,到達指定位置后速度等于零,避免指針抖動。此外, MC33991可以允許2個步進電機或其中之一工作。其內部診斷功能可診斷單個步進電機是否過熱、電池電壓過高或者過低、指針歸零狀態(tài)驅動器內部時鐘的工作狀態(tài)、確定儀表的指針是否在轉動。由以上性能特點可以看出, MC33991比X12.017和VID66-06功能更豐富,如過電壓和過熱診斷功能、回零校驗功能。且使用X12.017和VID66-06作為驅動時,為使儀表指針運行平滑,必須在微控制器程序中對步進電機速度進行細分,否則容易產生超調抖動。

            2采用MC33991的汽車車速表設計

            汽車在行駛過程中,汽車車速傳感器產生頻率與汽車車速成正比的脈沖信號,此脈沖信號經過濾波放大后送給微控制器,微控制器利用輸入捕捉通道捕捉2次脈沖信號的間隔時間,并根據間隔時間計算汽車行駛速度。最后,微控制器把計算得到的速度轉換成位置命令發(fā)送給MC33991, MC33991驅動步進電機指向對應的刻度。

            本設計選用微控制器MC68HC908GR16作為主控芯片,采用SWITEC公司生產的儀表用步進電機X15.288作為執(zhí)行器。MC68HC908GR16是飛思卡爾半導體公司生產的8位微控制器,片內具有16 KBFLASH存儲器和1 KB RAM存儲器。其內部鎖相環(huán)( PLL)可以把外部32.768 kHz晶振頻率升頻至8 MHz內部總線頻率。微控制器內部集成了增強的串行通信模塊( ESCI)、8路10位A/D模塊、SPI模塊、8位鍵盤模塊,擁有2個獨立的16位定時器,每個定時器都由1個定時計數器和2個輸入輸出通道組成。其內部還集成了定時基模塊,可以定時把微控制器從STOP模式中喚醒。

            MC33991內部有6個寄存器,微控制器通過發(fā)送16位的SPI命令到這些寄存器來控制并讀取MC33991的工作狀態(tài)。16位SPI數據的15~13位是地址, MC33991接收到微控制器的命令后,把命令的15~13位與這些地址對比,并把數據放到對應的寄存器。這些寄存器的地址與功能如表1所列。微控制器通過這些寄存器來控制電機的最大速度、指針位置、指針回零,并讀取電機的運行狀態(tài)、線圈是否過熱、電壓是否過高或過低。

            2.1硬件電路設計

            硬件電路包括速度傳感器信號調理電路、微控制器與MC33991的接口電路。

            2.1.1速度脈沖檢測電路

            車速傳感器把車速信號轉化為脈沖信號,其頻率與車速成正比。此脈沖信號經過調理電路送給單片機的T1 CH0 ( Timer 1 channel 0) ,速度脈沖的調理電路如圖1所示。在沒有脈沖信號輸入時,三極管集電極和發(fā)射極關斷,脈沖調理電路輸出高電平。有脈沖輸入時,三極管導通,調理電路輸出跳變到低電平。

            2.1.2 MC33991接口電路

            微控制器MC68HC908GR16與MC33991利用串行外設接口SPI通信。微控制器、MC33991和儀表用步進電機的接口電路如圖2所示。

            

            表1 MC33991內部寄存器

            

            圖1 速度傳感器信號調理電路圖

            


            圖2 MC33991與MCU接口電路圖

            MC68HC908GR16的SPI時鐘引腳SPSCK、主機數據輸入從機輸出引腳MISO、主機數據輸出從機輸入引腳MOSI和I /O引腳PTC5, 分別接MC33991的SCLK、SO、SI、CS引腳, RSTB引腳與單片機的RST引腳連接。

            2.2 軟件設計

            2.2.1 SPI通信程序

            微控制器MC68HC908GR16 上電后要初始化MC33991。MC68HC908GR16的SPI設為主模式。發(fā)送數據的格式要符合MC33991接、發(fā)數據的時序,MC33991收發(fā)數據的時序如圖3所示。SPI無數據傳輸時CS=1, 時鐘信號保持低電平。有數據傳輸時,MC33991的SI引腳在SCLK時鐘的下降沿讀入1位數據, 而輸出引腳SO在時鐘的上升沿輸出數據。設MC68HC908GR16的SPCR寄存器時鐘極性位COPL=0,時鐘相位控制位CPHA=1。設引腳PTC5方向寄存器DDRC5=1, 設為輸出。不與MC33991通信時令PTC5保持高電平。MC33991每次接收的數據必須是16,32, 48?位。

            

            

            2.2.2 MC33991初始化流程

            MC33991的初始化流程圖如圖4所示。微控制器先向PECCR發(fā)送命令關閉步進電機, 并在2個電機停止轉動的情況下發(fā)送時鐘校正命令。經過時鐘校正后, MC33991內部時鐘穩(wěn)定在1 MHz ( ±10%) ,校正時鐘后使能電機, 可允許2個或者其中一個工作, 然后向寄存器RTZCR發(fā)送命令設置指針回零速度, 向VECR寄存器發(fā)送命令控制電機的最大轉速。如果步進電機回零時指針不在一個整步位置或者磁場排列沒有對齊, MC33991回零檢測會發(fā)生錯誤,導致回零失敗。所以在發(fā)送電機回零命令前, 先使電機前進24微步或者30, 36, 42?微步, 以保持磁場排列整齊, 然后發(fā)送指針回零命令, 指針轉向電機的逆時針極端。每一時刻只能有一個指針回零,微控制器檢測回零狀態(tài)直至回零結束。

            


           初始化時需要注意, 時鐘校正可選為1 MHz,單片機發(fā)送完時鐘校正命令后拉低引腳, 延時8 μs后再將其拉高。如果電機的齒輪減速比較低則選擇0.667 MHz, 這種情況需要延時12 μs。

            2.2.3 車速檢測

            MC33991初始化后設MC68HC908GR16的定時器1通道零為輸入捕捉模式, 在輸入脈沖的下降沿進入捕捉中斷, 并計算2次下降沿的計數差值Δt。本設計的車速儀表盤的最大車速為120 km/h,最高速度與最低速度對應刻度盤的夾角為225 °, 對應MC33991的靜態(tài)指示位為2 700。

            汽車行駛速度可以利用以下公式計算

            

            式中: n———2次速度脈沖間隔內計數器的計數值之差; T———微控制器計數器時鐘源的周期;D———車輪外徑; μ———汽車輪胎變形系數( 一般取0.93~0.96) ; N———車輪轉一周, 車速傳感器發(fā)送的脈沖數。

            微控制器根據計算得到的速度在儀表盤上的位置, 計算出MC33991的靜態(tài)指示位置, 并把靜態(tài)指示位發(fā)給MC33991, MC33991驅動儀表指向指定位置。為加快程序運行速度, 先根據車速、汽車車速儀表盤的參數計算出一個常數Con。

            

            式中: vmax———汽車儀表盤指示的最大速度;C———用于調整指針指示誤差的常數。其中C用來調整車速表的指示位置, 使儀表指示速度不小于汽車的實際速度。車速表指針應指向

            的位置P0=Δt /Con, 由微控制器直接向MC33991發(fā)送此位置( P0) 命令, MC33991接到位置命令后即控制儀表電機旋轉, 指向刻度盤的對應位置。

            3 結束語

            本文詳細介紹了一種汽車車速表的設計方案,設計采用專用集成驅動芯片MC33991。此表在試驗臺運行測試時, 指針可以平滑轉動, 在加速度較高時也沒有超調抖動。與傳統機械式儀表相比, 這種儀表響應速度快、抖動小、產品的穩(wěn)定性和可靠性高。與采用其它驅動芯片的步進電機式儀表相比,首先此表占用硬件資源少, 控制方便, 儀表響應快; 其次能從任意位置以設定的速度恒速回零, 到達零點時無抖動; 最后儀表轉動時, 微控制器可以隨時通過MC33991讀取步進電機的工作狀態(tài)。



          評論


          技術專區(qū)

          關閉
          看屁屁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); })();