[摘 要]智能電子產(chǎn)品開發(fā)過程中,常常需要信號檢測和電機驅(qū)動電路,為了提高開發(fā)效率,降低成本,選用STC單片機作為核心控制器,將該電路設(shè)計為通用的模塊,具備常用信號檢測和直流電機、步進電機驅(qū)動能力,介紹了該模塊電路的系統(tǒng)構(gòu)成、硬件電路及軟件設(shè)計中的注意事項。
[關(guān)鍵詞]信號檢測;步進電機;AD采樣
中圖分類號:TP368.1 文獻標識碼:B
在工業(yè)控制、智能電子產(chǎn)品開發(fā)中,常常需要信號檢測和電機驅(qū)動電路,每次開發(fā)新的產(chǎn)品都重新設(shè)計相應(yīng)電路,是一件費事耗力的工作。鑒于常用的輸入信號有開關(guān)量的數(shù)字信號、一定范圍內(nèi)的模擬信號;輸出部分,多采用電機作為執(zhí)行機構(gòu),其中,又以直流電機和步進電機最為常用[1]。因此,將這類高頻度使用的電路模塊化,勢必大大提高新產(chǎn)品開發(fā)效率,降低開發(fā)成本。同時兼顧通用性和價格因素,設(shè)計一款價格低廉,兼容多種信號檢測,可驅(qū)動直流電機、步進電機的模塊電路,有較大的社會需求和廣闊的市場前景。
一、模塊結(jié)構(gòu)設(shè)計
信號檢測與電機驅(qū)動模塊需要具備信號檢測與電機驅(qū)動能力,同時,為了滿足各類用戶的需求,要能提供電壓范圍較寬的多路電源接口,為方便用戶設(shè)置,需要有多個按鍵作為功能調(diào)整鍵。采用更高集成度的MCU簡化輸入接口電路,可大大減小電路復雜度,減小電路尺寸,節(jié)約成本,電路結(jié)構(gòu)如圖1所示。串行通信接口,既方便用戶下載更新程序,又可用于與系統(tǒng)與其它模塊、上位機等通信。
圖1 模塊結(jié)構(gòu)框圖
二、硬件電路設(shè)計
綜合考慮系統(tǒng)的控制功能和對輸入信號的采集能力,兼顧成本,選擇STC12C2052AD單片機作為主控芯片。該單片機擁有1K字節(jié)的EEPROM,4路PWM/PCA/CCU單元,可作為DA使用,有2個定時器;具備8通道的高速A/D采樣能力[2],該AD為電壓輸入型,8位精度,速度可達100KHz,用于電池電壓檢測、溫度檢測、頻譜檢測等場景。在通信方面,具有SPI通信接口和全雙工的串口[3]。
電機驅(qū)動部分采用L293DD驅(qū)動器,其內(nèi)部集成雙極型H-橋電路,可以同時驅(qū)動兩路直流電機或者驅(qū)動2相、4相步進電機。每個通道都配備了一個使能輸入端。L293DD邏輯電路具有獨立的供電輸入,工作電壓范圍4.5V-36V,最大電流達1.2A。外部電路連接時,直接將EN1和EN2接高電平,使能有效。通過分別控制IN1-IN4的高低電平狀態(tài)來驅(qū)動電機的運行狀態(tài)。為方便用戶調(diào)試,在輸出位置外接4個LED燈,作為狀態(tài)指示。
電源部分,留出多路接口,允許電壓范圍4.5V-36V,以利于直接驅(qū)動電機動作。同時,為了保證核心控制電路有穩(wěn)定的電源,采用sop封裝的7805芯片做三端穩(wěn)壓電路,提供5V工作電壓。
輸入接口部分,引出單片機的P3,P1.4-P1.7作為通用輸入輸出控制口,引出P1.0-P1.3作為4路AD采樣通道,并配備電壓端子VCC和接地端子GND,方便常用的傳感器連接。另外,外部引出單片機的TX,RX引腳,并采用11.0592MHz晶振,方便程序下載和串口通信。設(shè)置4個獨立按鍵,方便用戶做個性化功能設(shè)置和參數(shù)調(diào)整。
三、模塊軟件開發(fā)
最常用的直流電機驅(qū)動,要求有三種工作狀態(tài):停止、正轉(zhuǎn)、反轉(zhuǎn)。其控制邏輯比較簡單。本文以O(shè)UT1,OUT2接入1路直流電機為例。當IN1=0,IN2=0時,OUT1=0;OUT2=0,電機停止運行;當IN1=0,IN2=1時,OUT1=0;OUT2=1,形成電勢差,電機正轉(zhuǎn)。同理,邏輯反向后,電機反轉(zhuǎn)。
2相4線式步進電機也是比較常用的一類執(zhí)行機構(gòu),其控制線有A1、A2、B1、B2共四根,A1、A2構(gòu)成A相,B1、B2構(gòu)成B相??刂茣r可以采用4拍或者8拍的工作方式。以4拍為例,其時序邏輯為A相正向?qū)?'B相正向?qū)?'A相反向?qū)?'B相反向?qū)āT诔绦蚩刂茣r,需要通過定時器0定時,大約2ms換相。其電平控制邏輯如表1所示。
表1 四線的電平邏輯
輸入的傳感檢測設(shè)備,主要有開關(guān)量的數(shù)字信號輸入和模擬量輸入兩類。當為開關(guān)量時,傳感器信號檢測類似于按鍵檢測,采用條件判斷語句直接解決;當為模擬信號時,則需要連接到AD轉(zhuǎn)換接口P1。軟件設(shè)計方面,首先,設(shè)置P1M0、P1M1寄存器,將對應(yīng)端口置為開漏模式或高阻模式。然后,配置特殊功能寄存器ADC_CONTR。該寄存器的8位結(jié)構(gòu)如表2所示。
表2控制寄存器結(jié)構(gòu)
其中,CHS2、CHS1、CHS0三位的組合,用于選擇當前轉(zhuǎn)化通道;SPEED1、SPEED0兩位,用于用戶選擇轉(zhuǎn)換速度;ADC_POWER位是電源控制位,在啟動AD轉(zhuǎn)換前一定要先開啟該位,將其置為1,AD轉(zhuǎn)換結(jié)束,為了降低功耗,可以選擇關(guān)閉該位;ADC_START是轉(zhuǎn)換啟動控制位,設(shè)為"1"時,開始轉(zhuǎn)換,結(jié)束后為0;ADC_FlAG是轉(zhuǎn)換結(jié)束標記,當完成一次轉(zhuǎn)換后,該位自動置1。需要注意的是,該位必須手動清0。最后,轉(zhuǎn)換的結(jié)果以二進制形式存放在8位寄存器ADC_DATA中,直接讀出,對應(yīng)的實際電壓值Vin由公式(1)求得。
其中Vcc是STC單片機的實際工作電壓。在工作電壓有波動的情況下,為了提高精度,可以外接穩(wěn)定性較高的電源作為參考電壓。
四、總結(jié)
綜合考慮性能和成本因素,選用STC單片機與L293DD驅(qū)動器搭配的方案,設(shè)計了一套模塊化單元電路系統(tǒng),介紹了該系統(tǒng)硬件電路設(shè)計的要點以及軟件設(shè)計中電機驅(qū)動程序和AD轉(zhuǎn)換程序的寫法。在智能電子產(chǎn)品開發(fā)過程中,直接使用該電路模塊,可大大提高產(chǎn)品開發(fā)效率。
參考文獻
[1] 賀益康,許大中. 電機控制[M]. 浙江: 浙江大學出版社, 2014: 1-3.
[2] 楊峰, 胡彬, 羅青青. STC單片機AD轉(zhuǎn)換及EEPROM使用[J]. 數(shù)字技術(shù)與應(yīng)用, 2011(9):169-171.
[3] 姚永平.STC12C5620AD系列單片機器件手冊[M].深圳:宏晶科技,2007.
作者簡介:
冉涌(1981.06-),男,漢族,重慶人,碩士,講師,主要研究方向:無線傳感器網(wǎng)絡(luò)、高速信號與實時信息號處理。endprint