新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于步進(jìn)電機(jī)驅(qū)動(dòng)器MC33991的設(shè)計(jì)

基于步進(jìn)電機(jī)驅(qū)動(dòng)器MC33991的設(shè)計(jì)

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

  1 常用儀表電機(jī)驅(qū)動(dòng)芯片特點(diǎn)及性能比較

本文引用地址:http://m.butianyuan.cn/article/201611/318250.htm

  國內(nèi)常用的儀表步進(jìn)電機(jī)驅(qū)動(dòng)芯片包括瑞典SWITEC公司的X12.017、偉盈集團(tuán)生產(chǎn)的VID66- 06和美國飛思卡爾公司生產(chǎn)的MC33991等。

  1.1 X12.017與VID66- 06的主要特點(diǎn)

  SWITEC公司生產(chǎn)的X12.017在國內(nèi)應(yīng)用較廣,可以同時(shí)驅(qū)動(dòng)4路十字線圈步進(jìn)電機(jī)。VID66- 06控制方式和X12.017完全相同,其各項(xiàng)性能參數(shù)也基本相同。它們的主要特點(diǎn)如下。

  a.以微步驅(qū)動(dòng),每個(gè)脈沖對應(yīng)電機(jī)輸出軸轉(zhuǎn)動(dòng)(1/12)°。

  b.每個(gè)電機(jī)只需要速度和方向2個(gè)控制端。

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

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

  這種驅(qū)動(dòng)器控制簡單,輸入信號CW/CCW控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)方向,輸入信號F( scx)的上升沿驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)一個(gè)微步。通過發(fā)送脈沖的頻率可以控制電機(jī)的轉(zhuǎn)動(dòng)速度。

  1.2 MC33991的主要特點(diǎn)

  MC33991是單獨(dú)封裝,通過SPI (串行外設(shè)接口)進(jìn)行通信,可同時(shí)控制2個(gè)步進(jìn)電機(jī)的驅(qū)動(dòng)電路。該電路也可以仿照氣隙磁通的運(yùn)動(dòng),把普通電機(jī)轉(zhuǎn)化為步進(jìn)電機(jī)來控制。它有以下主要特點(diǎn)[3].

  a.有4 096個(gè)靜態(tài)指示位置,接收位置命令后驅(qū)動(dòng)指針指示。

  b.最大指針掃過范圍340度;最大指針?biāo)俣葹?00 deg/s;最大指針加速度為4 500 deg/s.

  c.應(yīng)用微步距控制技術(shù)(每步細(xì)分為12個(gè)微步)。

  d.指針回零校準(zhǔn),能準(zhǔn)確地回零。

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

  f.內(nèi)部時(shí)鐘校準(zhǔn)功能;睡眠模式下的耗電量較小。

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

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

  2采用MC33991的汽車車速表設(shè)計(jì)

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

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

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

  2.1硬件電路設(shè)計(jì)

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

  2.1.1速度脈沖檢測電路

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

  2.1.2 MC33991接口電路

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

  

  表1 MC33991內(nèi)部寄存器

  

  圖1 速度傳感器信號調(diào)理電路圖

  


  圖2 MC33991與MCU接口電路圖

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

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

  2.2.1 SPI通信程序

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

  

  

  2.2.2 MC33991初始化流程

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

  


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

  2.2.3 車速檢測

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

  汽車行駛速度可以利用以下公式計(jì)算

  

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

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

  

  式中: vmax———汽車儀表盤指示的最大速度;C———用于調(diào)整指針指示誤差的常數(shù)。其中C用來調(diào)整車速表的指示位置, 使儀表指示速度不小于汽車的實(shí)際速度。車速表指針應(yīng)指向

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

  3 結(jié)束語

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



評論


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

關(guān)閉