1 引言 步進電機定位準確且與數字電路接口連接方便.無需反饋就能實現準確的角位移,在數控機床等許多領域中均得到了廣泛應用。但是,傳統的步進電機定位系統是由控制器件產生脈沖,然后加在環形分配器和功率驅動部分,最后連接至電機的控制方式,其軟硬件的實現都較為復雜,成本偏高,難以滿足現代工業發展所需的精度和集成度等要求。采用美國Allegro公司推出的一款易操作,內置功率驅動的A3992型兩相步進電機微步距驅動器,以C805117300單片機為控制核心設計了一個驅動控制電路。該驅動控制電路能簡單方便實現電機的微步距控制,不僅解決了步進電機步距角大的問題。提高了步進電機的分辨率,減弱或消除了步進電機的低頻振動.也改善了電機的其他性能,具有控制靈活,維護簡單,成本較低的特點,完全能滿足中小企業的生產要求。 2 系統組成與工作原理 圖1示出基于A3992和C805lF300控制的兩相步進電機驅動系統組成框圖。其中,上位機主要完成命令指示等控制功能;C8051F300主要用來接收上位機的指令參數。然后向A3992驅動器寫控制字;A3992驅動電路主要完成按接收的控制字向電機提供相應的驅動電流。 2.1 C8051F300控制電路 C805117300是美國Cygnal公司的一款完全集成的混合信號系統級MCU器件(SOC),其主要特點是: (1)高性能指令處理能力 采用Cygnal專利的高速管線式CIP一51(與8051全兼容)微控制器內核: (2)完善的時鐘系統采用可編程25 MHz內部時鐘發生器,不僅支持外部時鐘,也支持使用過程中內外時鐘發生器之間的切換: (3)低功耗供電電壓為2.7"3.6 V,其典型工作電流在25 MHz下為5 mA: (4)片內模數轉換 采用11通道真正的8位500 Ks/s.具有可編程前置放大器(PGA)和模擬多路復用器(AMUX)的A/D轉換器; (5)豐富的存儲器資源 采用256字節片內RAM.8 KB片上Flash存儲器,支持系統512字節(扇區)編程; (6)增強的中斷資源 采用內含12個中斷源,適用于多任務、實時系統的開發; (7)豐富的片上資源 采用片內溫度傳感器、電源監測器、片上電壓比較器及上電復位、SMBUS/I2C和URAT接口、3個16位通用定時器、可編程定時器陣列(PCA)并帶有比較/捕捉模塊和WDT3種功能: (8)可編程的數字I/O口和交叉開關(crossbar)在這種交叉開關配置的I/O端口系統中,可以通過配置相應的寄存器將內部數字資源連接到物理I/O引腳上。改變了傳統MCS一51單片機的固定I/O模式: (9)在線調試功能具有Cygnal2-Wire(C2)調試電路,支持存儲器和寄存器的校驗和修改、斷點和單步。無需額外的RAM、程序存儲器及定時器等。 C8051F300是連接上位機和A3992的橋梁。上位機的指令信號包含電機的正轉、反轉和加減速等信息,該信號通過C8051F300的I/O端口進入單片機,單片機利用3條與A3992相連的I/O數據線.控制驅動器按用戶的要求驅動電機運轉。 2.2 A3992驅動電路 A3992型雙DMOS全橋微步距脈寬調制(PWM)步進電機驅動器可利用控制器件通過3線串行接口(CLK,DATA,STROBE)對其進行控制.并能方便地調節步進電機的運轉方向,實現各種不同的步進法(從整步驅動到最高可達64細分的微步距驅動),使步進電機的驅動方式具有很大的靈活性。 A3992是通過3線串口寫控制字來實現的。A3992的控制字有Word0和Wordl兩個,每個控制字包含19個位(D0~D18),先傳送高位D18,最后傳送最低位DO。其中Word0是橋電流控制字,當DO=0時,A3992便進入WordO模式;Wordl是時間數據控制字,當DO=1時,A3992便進入Wordl模式。詳細的各位數據設置參見文獻。 A3992只需很少的R,C元件即可組成兩相步進電機的微步距驅動電路。圖2是A3992的典型應用電路,其連續輸出的額定電流可達1.5 A。電壓可達50 V。 C805lF300不斷地通過3線串口向A3992寫入控制字Word0,A3992根據所輸入的控制字,調整橋電流的方向和大小,從而控制步進電機按用戶的實際需要運轉。需要注意的是,控制字Wordl是時間數據控制字,用于設置死區時間、關斷時間和快速衰減時間等相關參數,所以C8051F300只需對A3992進行一次設置即可,不必反復進行寫操作。 3 系統硬件設計 該系統硬件設計主要是由上位機與單片機接口、單片機控制電路和A3992驅動電路組成。其中,上位機主要實現用戶與單片機的交互,并通過單片機的串口實現與單片機的通信。圖3給出C8051F300串口和RS232的接口電路。 單片機控制電路由C8051F300單片機、供電電源、濾波電容和一系列的I/O端口構成。其中,供電電源采用了A1117穩壓器,將5 V輸入電壓轉換成C8051F300適用的3.3 V供電電壓,從而保證了供電電源的精度。A3992驅動電路是整個系統的功率部分,接收來自控制電路的信號,兩橋橋臂輸出滿足一定時序的相電流,從而實現驅動步進電機按用戶的要求運轉。圖4所示給出了系統的主體硬件電路。 4 系統軟件設計 根據系統硬件設計的相關要求設計軟件程序,完成系統初始化,接收來自用戶的輸入指令,控制驅動器按要求運轉等功能。具體的系統軟件流程設計如圖5所示。其中系統初化包括對單片機內的看門狗、I/O端口和A3992的控制字Word0、Wordl參數的初始化。 采用該步進電機驅動方案可以靈活通過軟件編程對步進電機進行最高可達64細分的微步距驅動,因而可方便快捷地改善步進電機的運行性能。 5 結語 討論了基于A3992和C805lF300控制的兩相步進電機驅動方案,簡要介紹了系統各個硬件模塊的實現,給出系統軟件設計流程。該設計方案的各部分硬件模塊連接簡單,集成度高,可靠性強,易于調試和維護,體積小,成本低,具有很高的推廣價值。 |