摘 要: 介紹了該傳感器的特性,著重介紹了該傳感器的編程方法以及利用ARM芯片STM32的軟硬件設計方案。當編碼協(xié)議發(fā)生改變時,只需對編碼指令作少量修改,,具有很強的靈活性,。目前,該設計在產(chǎn)品中已得到實際應用。
關鍵詞: STM32,; 霍爾傳感器,; 可編程; 微控制器,; DAC,; 過流保護
隨著電子技術的發(fā)展,霍爾傳感器在精密測量,、消費電子工業(yè),、醫(yī)療保健特別是汽車電子領域得到了出色應用?;魻杺鞲衅魇且环N能實現(xiàn)磁電轉(zhuǎn)換的傳感器,,可以將磁場信號轉(zhuǎn)換為電壓信號輸出。本文使用的Allegro1675 開關型霍爾傳感器是一款零速齒輪傳感器,,該傳感器采用了單一的霍爾元件IC,,該IC可響應鐵氧體目標產(chǎn)生的差分磁信號而進行開關操作,廣泛用于轉(zhuǎn)速,、汽車電子等應用[1],。
在實際使用時,霍爾傳感器在不同應用中往往實現(xiàn)不同的功能,,這就要求根據(jù)不同的用途來進行相應的參數(shù)設定,。因此,在此設計的可編程霍爾傳感器可以對其磁場工作點,、線性靈敏度等參數(shù)進行出廠后編程,,來滿足實際需要。
本文針對Allegro1675霍爾傳感器,使用ST公司的STM32F103VET6微控制器,,設計了一款傳感器參數(shù)標定的編程器,,以有效代替原有的ASEK BOX編程器。此方案實現(xiàn)方法簡單,,穩(wěn)定,,靈活,有效解決了ASEK BOX產(chǎn)能不足的問題,,在工業(yè)中可以得到更加廣泛的應用,。
1 Allegro1675介紹
A1675共有VCC、GND,、TEST和OUT4個引腳,。VCC既是供電電源的輸入,也是傳感器編程模式的接口[2],。OUT作為信號的輸出腳。TEST作為編程后的測試接口,。
2 控制芯片STM32F103VET6簡介
控制器采用ST公司的STM32F103VET6作為控制芯片,基于ARM Cortex-M3內(nèi)核,最高時鐘頻率可達72 MHz,,包括512 KB片內(nèi)Flash,、64 KB片內(nèi)RAM、ADC,、DAC,、看門狗定時器、12位模/數(shù)轉(zhuǎn)換器以及USART,、CAN,、USB接口等[3]。該控制器具有豐富的外設,,同時兼具低功耗以及高可靠性和可維護性[4],,非常適合工業(yè)應用。
3 系統(tǒng)整體設計
系統(tǒng)結構如圖1所示,該系統(tǒng)由PC上位機,、STM32處理器,、電壓放大電路、電流保護電路,、霍爾傳感器等模塊組成,。PC上位機通過USB接口與編程器相連,實現(xiàn)上位機對編程器的指令控制以及軟件的調(diào)試工作,,該USB接口通過串口轉(zhuǎn)換芯片F(xiàn)T232得到,。
4 編程器硬件電路設計
4.1電壓放大及反饋電路設計
此設計中,利用STM32的內(nèi)置D/A轉(zhuǎn)換器輸出一個電壓值,,通過運放opa170之后得到編程所需的電壓值,。編程電壓最高需要達到30 V,這里使用MIC2287將5 V電壓轉(zhuǎn)為32 V供運算放大器使用,。為了使輸出值達到要求范圍內(nèi),,使用STM32自帶的A/D轉(zhuǎn)換器的注入型通道,配合定時器以一定的采樣頻率對輸出參數(shù)進行采樣,,配合程序中的電壓調(diào)整算法,,輸出符合要求的電壓值。具體電路如圖2所示,,受限于STM32本身原因,,STM32的D/A輸出最小值在200 mV左右,因此,,放大器的輸出端無法輸出0~3 V的電壓,。
為了消除誤差,可以在放大器的反相端增加一個補償電路,,參考電壓為0.5 V,,根據(jù)電路的反饋,可以得到:
對式(1)帶入R1、R2,、R3,、R4的值,得到Vout=18 Vdac-V0.5,。所以當DAC輸出的值為0.5 V時,,放大器輸出端可以輸出為0 V的值,避免了0~3V的限制,。同時,,利用精密電阻R5、R6將反饋電壓送至ADC中檢測,,完成電壓的自適應調(diào)整,。
4.2 電流放大及過流保護電路設計
傳感器波形燒錄過程中,會產(chǎn)生250 mA的電流,,所以此處使用了ZXGD3003A電流放大器,。同時,在使用過程中,,由于操作不當或者負載短路等情況的產(chǎn)生,,會造成燒錄器以及傳感器的損傷,因此過流保護在電路設計中是非常重要的,。本設計采用了軟件保護與硬件保護雙重措施,,具體電路設計如圖3所示。
(1)軟件保護端:INA193為電流監(jiān)控器,,OUT腳為20倍放大R12口兩端的電壓,。將處理器STM32的ADC設置為規(guī)則組通道以及連續(xù)轉(zhuǎn)換模式,通過ADC不斷掃描INA193的1腳電壓值來監(jiān)測實時電流,。同時,,軟件端啟用STM32的看門狗功能,當采樣值大于預設閾值,,則觸發(fā)看門狗中斷,,啟動軟件保護,將PT1端置高,,F(xiàn)DN36P截止,,實現(xiàn)由軟件斷開電源,停止對燒錄芯片供電,。
(2)硬件保護端:電壓跟隨器,、比較器以及555構成單穩(wěn)態(tài)觸發(fā)器。當INA193檢測到電流超過1 A時,,比較器輸出低電平,,觸發(fā)單穩(wěn)態(tài),,此時555輸出端由低電平跳變?yōu)楦唠娖剑娐酚煞€(wěn)態(tài)轉(zhuǎn)為暫穩(wěn)態(tài),,F(xiàn)DN36P截止,,霍爾傳感器與電路斷開。此時,VCC給電容C4充電,當555定時器7腳升到2 VCC/3時,,555輸出端由高電平跳變低電平,F(xiàn)DN36P導通,電路繼續(xù)供電,如果此時INA193檢測電流依然過大,則再次觸發(fā)定時器,,斷開電路,。這樣形成了一個反復嘗試導通的過程,直至電路電流正常,。這種硬件電路反應時間快,,可以有效保護電路[5]。
5 可編程技術
這種可編程傳感器通過在VCC端施加不同幅度和寬度的脈沖來對應不同代碼的編程動作,,實現(xiàn)對傳感器參數(shù)的編程調(diào)整,。在編程過程中,分別設定3個不同的電壓進行編碼設置,,分別是高電壓Vph,、中電壓Vpm和低電壓Vpl,如圖4所示。圖中td(1),、td(0)分別為高,、低電壓脈沖時間,根據(jù)編寫代碼位的不同,,燒斷熔絲時間td(p)x設置也不相同,。短沖的作用是區(qū)分不同的編程代碼位;長脈沖的作用是燒斷熔絲,,完成鎖定,。
霍爾傳感器編程有以下3個步驟:開啟編程模式、設置工作點,、設置鎖定位,。如圖5(a)所示,在編程模式開啟階段,,輸入有序脈沖至傳感器電源端使霍爾傳感器設置到編程模式,,輸入連續(xù)7個Vpm脈沖序列使霍爾傳感器進入到Baseline 設置,連續(xù)輸入6個Vpm脈沖使霍爾傳感器進入到TPOS設置,。圖5(b)中,,工作點編程設置階段,根據(jù)需要在要求的磁場點進行編程,。編程的過程中,,根據(jù)器件的實際用途和各項性能參數(shù)指標分別編程,,精確調(diào)整磁場的工作點位置。圖5(c)為鎖定位設置階段,,施加128個連續(xù)的鎖定脈沖,,最后,輸出一個寬脈沖燒斷芯片內(nèi)置的熔絲[6],。此時,,所有寄存器將被鎖定,傳感器不再響應供電電壓的調(diào)制,,這樣就確保了設置的參數(shù)不再改變,。以上3個過程實現(xiàn)了對產(chǎn)品參數(shù)的編程鎖定。
6 軟件設計
STM32控制程序通過C語言編寫,,主要通過DAC的輸出以及ADC的檢測完成各種電源輸出的設置,。一方面DAC根據(jù)發(fā)送命令不斷輸出電壓;另一方面ADC不斷檢測輸出電壓,,然后根據(jù)電壓調(diào)整算法不斷調(diào)整DAC輸出的值,。根據(jù)霍爾傳感器A1675的波形燒錄要求,完成各項波形的設置以及燒寫,。主程序流程圖如圖6所示,。
7 方案驗證
對圖3所示電路的輸出端測量燒錄霍爾傳感器的波形,圖5(a)的實際波形如圖7所示,。Vph,、Vpm、Vpl,、0值均達到了精度要求,,符合傳感器編碼波形的要求。
該設計方案完成了對霍爾傳感器的編程器的軟硬件設計,。系統(tǒng)包含了電壓的預設,、采樣、校準以及輸出保護電路,,成功完成了對霍爾傳感器的編程燒寫,。目前,本設計方案已成功實現(xiàn)霍爾傳感器在位置檢測以及速度檢測等方面的應用,。
參考文獻
[1] 單祥茹.基礎元件介紹——傳感器(三)[J].中國電子商情(基礎電子),2011(12):81-82.
[2] 吳志紅,,管志華,朱元.ModBus協(xié)議下的線性霍爾傳感器編程器[J].設計應2011,18(10):53-56.
[3] STMicroelectronics.STM32F10xxx reference manual(RM0008)[Z]. 2010.
[4] 張勇,,董浩斌. 基于STM32和LabVIEW的地震數(shù)據(jù)采集卡的設計[J].電子技術2012,38(10):72-74.
[5] 譚琦耀.基于555電路的單穩(wěn)態(tài)觸摸開關設計[J].煤炭技術,,2012,31(6):6-62.
[6] 張浩.霍爾集成電路設計及其測試系統(tǒng)的研發(fā)[D].蘭州:蘭州大學,2010.