前言:尋找寫作靈感?中文期刊網用心挑選的無刷直流電動機檢測系統設計探究,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
近年來,隨著我國經濟的發展,工業領域電氣設備的數量和種類不斷增多。電動機作為生產過程中最重要的動力來源之一,已經深入到各行各業的應用之中,并在國民經濟的發展中發揮著越來越重要的作用。由于無刷直流電動機相比有刷直流電動機有更好的速度、更快速的響應和更長的使用壽命,因此在各個領域中取得了廣泛的應用,例如家電領域、汽車領域等。目前,大多數的無刷直流電動機檢測系統只是對單一的電動機運行參數進行檢測,很少有一種對無刷直流電動機進行多參數檢測的系統。然而在無刷直流電動機的使用過程中,需要實時監測其狀態參數,以更好地進行控制。因此本文基于STM32芯片,設計了一種多參數無刷直流電動機檢測系統。該系統能夠對無刷直流電動機的電流、轉子位置、轉速、溫度等進行實時測量并顯示,具有很好的實用價值。
一、系統總體方案設計
本系統所采用的主控芯片為意法半導體公司生產的STM32F103VCT6微型控制器,該控制器具有功耗低、可靠性高以及性能強等特點。STM32F103VCT6微型控制器作為STM32中的一種增強型單片機,具有3個12位A/D轉換器,并且支持USART、SPI、CAN等接口,輸入通道也多達21個,因此可完全滿足系統設計的需求。本設計主要包括電流檢測電路、位置檢測電路、轉速檢測電路、溫度檢測電路、顯示電路、電源電路、外圍電路等部分,系統總體方案設計如圖1所示。在總體方案設計中,對于電流檢測電路,由于霍爾電流傳感器具有檢測誤差小、測量速度快、且具有電路簡單等優點,因此利用霍爾電流傳感器來對無刷直流電動機的母線電流進行檢測。對于位置檢測電路,本文所研究的是有位置傳感器的無刷直流電動機,也就是說該電動機上安裝有三個霍爾位置傳感器,并且這三個霍爾傳感器的相位差為120度,因此將霍爾傳感器輸出的信號通過光耦電路輸入給STM32,進而實現位置的檢測。對于轉速檢測電路,通過在無刷直流電動機的輸出軸上安裝光電編碼器,并將光電編碼器的輸出信號進行光電隔離輸入到STM32中,實現速度的測量。對于溫度檢測電路,采用負溫度系數的熱敏電阻對無刷直流電動機的軸承蓋、軸頭等部位的溫度進行檢測,熱敏電阻將檢測到的溫度信號經過處理電路轉換為電壓信號,進而輸入到STM32的ADC管腳中,實現溫度的測量。
二、系統硬件設計
2.1電流檢測電路。在電流檢測電路中,本設計利用霍爾電流傳感器ACS712來檢測無刷直流電動機中的電流。ACS712是+5V供電,可以測量20A的交流或者直流電流,靈敏度為100mv/A,輸出電壓為0.5V~4.5V。首先,ACS712將無刷直流電動機中的電流信號轉變為電壓信號。由于ACS712的輸出信號電壓最大值為4.5V,而STM32中的模數轉換接口的輸入電壓為+3.3V,因此需要利用一個運算放大器,對ACS712輸出的電壓信號進行縮小,以滿足STM32的要求,如圖2所示。在圖2中,采用運算放大器LMV324,并將運放比例設定為0.5,使得ACS712的輸出電壓滿足STM32模數接口PA3的要求。此外,在ACS712的P5和P6引腳之間接一個電容,可以消除輸出信號的噪聲。
2.2位置檢測電路。本設計采用霍爾位置傳感器連接光耦TLP5214,將無刷直流電動機的位置信號傳送給STM32進行處理,如圖3所示。在圖3中,霍爾傳感器通過P3、P4和P5將三路高速脈沖信號HAL1、HAL2和HAL3進行輸出。為了消除噪聲的干擾,增強霍爾信號的強度,將霍爾傳感器的管腳P3、P4和P5各接一個上拉電阻R6、R7和R8,此處R6、R7和R8取400Ω。同時,為了防止電動機產生的反向電流對PCB板上其他元器件造成損壞,在電源VCC處接一個二極管D1。由于光耦TLP5214的輸出信號電流過大,因此在光耦輸出端P16、P14和P12與STM32的ADC口PB0、PC4和PC5相接時,需要在各路的ADC輸入通道前接一個限流電阻R9、R10和R11,防止電流過大而對STM32造成損壞。
2.3轉速檢測電路。在轉速檢測電路中,利用正交編碼器來測量無刷直流電動機的轉速。正交編碼器一般有5根線連接,分別是A、B、Z、GND和VCC,也就是說當電動機轉子旋轉一圈時,引腳A和B會輸出相應的脈沖。Z作為零點信號,代表當編碼器旋轉到零點位置時,引腳Z會發出相應的信號。為了將正交編碼器輸出的脈沖信號送到STM32的定時器中,需要利用光電編碼器6N136對脈沖信號進行光電隔離。由于脈沖輸出屬于集電極開路門,因此在A、B、Z輸出端各接一個22KΩ的上拉電阻R13、R16和R19。為了防止Z信號輸出受到干擾,在U6的VO引腳上接一個10pF的電容。通過以上的方法,將正交編碼器的輸出脈沖信號A、B、Z分別發送到STM32中定時器引腳PA0、PA1和PA8中。
2.4溫度檢測電路。在溫度檢測電路中,采用熱敏電阻對無刷直流電動機進行溫度測量。該熱敏電阻具有隨著檢測溫度的升高而阻值降低的特點,測量電路如圖5所示。本設計只給出了一路溫度檢測電路,若要對多點進行溫度測量,則可以通過拓展圖5中給出的電路進行多路溫度采集。在本電路中,首先采用電阻值為3KΩ的電阻對熱敏電阻進行分壓。由于輸出信號較為微弱,因此使用運算放大器LM321對輸出信號進行放大。為了抑制對運算放大器輸出信號的干擾,在運算放大器的輸出端接兩個電容C9和C10。對輸出信號進行濾波后,送入STM32的ADC引腳PB1。
2.5顯示電路。本系統采用LCD12864作為電流、轉子位置、電動機轉速和溫度的顯示界面。在LCD12864接線中,將電源正VDD和電源地VSS分別接3.3V電源和地。同時,在VDD和VSS之間接一個電容C11。VO作為對比度調整接口,通過C12接地??刂乒苣_RS、R/W和E分別接STM32的PC1、PC2和PC3。DB0-DB7位三態數據線,連接至STM32的PG0-PG7上。此外,由于LCD12864采用并口傳輸方式,因此將PSB固定置為高電平。引腳A和K分別是背光源正和背光源負,因此一端接5V電源,一端接地。
2.6電源電路。本設計電源電路只考慮STM32、霍爾傳感器以及LCD12864的供電,因此需要的電壓有直流5V和3.3V。本系統以直流24V作為系統的輸入電源,為整個系統提供穩定的電壓,如圖7所示。首先,需要將24V直流轉換為5V直流進行輸出,因此本設計采用LM2956進行電壓轉換。在LM2956電路中,為了防止24V輸入端的瞬態電壓過大而造成電路損壞,采用C14和C15作為電路輸入電容。此外,為了在LM2956每次通斷時產生瞬態電流,因此在輸出端采用C16和C17作為輸出電容。在LM1117電路中,采用C18和C19作為輸入電容,防止斷電后出現電壓倒置。在LM1117的輸出端上,為了抑制自激振蕩,使用C20和C21作為輸出電容,保證輸出電壓的穩定。因此,利用以上方法,可以得到所需的直流5V和3.3V電壓。
2.7外圍電路。STM32外圍電路的設計主要包括晶振電路設計和復位電路設計。STM32晶振有高速外部晶振和低速外部晶振兩種,其中高速外部晶振為STM32的外設提供時鐘,如圖8(a)所示,低速外部晶振作為STM32定時器、休眠和看門狗的時鐘模塊,如圖8(b)所示。高速外部晶振和低速外部晶振的頻率分別為8MHz和32.768kHz。圖8(c)所示為STM32的復位電路,該電路使用3.3V電壓,其中RESET接STM32的NRST引腳。當S1斷開時,RESET引腳接高電平,STM32處于正常工作狀態;當S1按下后,C26開始放電,此時RESET變為低電平,使得STM32復位;當S1松開后,C26重新充電,RESET又變為高電平,STM32正常工作。
三、系統軟件設計
本系統主要利用C語言,在keiluVision5平臺上進行程序編寫。在無刷直流電動機轉動時,所設計的系統能夠實時采集電動機的狀態參數,包括電流數據、轉子位置數據、轉速數據以及溫度數據等。系統上電后,首先對各個檢測模塊進行初始化,即對STM32的I/O口、定時器以及寄存器進行初始化。然后對各個傳感器、顯示模塊等外設進行初始化,并檢測各個模塊是否正常工作。若檢測正常,則蜂鳴器響一聲,進入各個模塊的檢測環節;若檢測異常,則蜂鳴器響兩聲,重新進行初始化并顯示錯誤代碼error。在系統檢測過程中,將接收到的各個數據進行處理,并在LCD12864上進行顯示。在一次程序執行完之后,等待下一次數據采集。
四、結語
本文設計了一種基于STM32單片機的直流無刷電動機檢測系統。介紹了系統的總體設計方案、系統硬件電路設計和系統軟件設計。本系統具有電流檢測、轉子位置檢測、轉速檢測和溫度檢測等功能,可實時顯示各種數據的檢測結果,為無刷直流電動機的使用提供關鍵的參數數據。
作者:周琦 張宇翔 李丹雯 單位:航空工業陜西飛機工業(集團)有限公司制造工程部特設室