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