《電子技術(shù)應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 基于CAN總線的一體化步進電機驅(qū)動器的設計與實現(xiàn)
基于CAN總線的一體化步進電機驅(qū)動器的設計與實現(xiàn)
互聯(lián)網(wǎng)
摘要: 當前,步進電機已經(jīng)在工業(yè)應用,如自動剝線機、工業(yè)機器人、雕刻機、植毛機工作臺等涉及到精確定位的場合,得到廣泛的應用。常用的步進電機控制系統(tǒng)由驅(qū)動模塊和控制器模塊組成。
Abstract:
Key words :

0 引言
當前,步進電機已經(jīng)在工業(yè)應用,如自動剝線機、工業(yè)機器人、雕刻機、植毛機工作臺等涉及到精確定位的場合,得到廣泛的應用。常用的步進電機控制系統(tǒng)由驅(qū)動模塊和控制器模塊組成。驅(qū)動模塊實現(xiàn)功率放大,控制器模塊用于產(chǎn)生電機轉(zhuǎn)動的控制信號,上述控制方法將會大量占用控制核心的資源,影響控制系統(tǒng)的實時性及靈活性。本文設計的步進電機驅(qū)動器,將控制電路和驅(qū)動模電路集成在同一個模塊上,減少系統(tǒng)中主控核心的負擔,提高系統(tǒng)的實時性、可靠性,可以使系統(tǒng)設計變得更加靈活、方便。

1 CAN中繼器硬件的設計

1.1 系統(tǒng)的硬件結(jié)構(gòu)

本文設計的基于CAN總線的一體化兩相步進電機驅(qū)動器系統(tǒng)框圖如圖1所示,包括CAN收發(fā)器L9616、MCU STM32F103C6、光耦隔離、驅(qū)動芯片SLA7033M、溫度傳感器和D/A轉(zhuǎn)換。CAN收發(fā)器L9616接收主控核心發(fā)送過來的幀數(shù)據(jù)包后,再把數(shù)據(jù)包發(fā)送給MCU。STM32F103C6是一體化步進電機驅(qū)動器的核心,負責對CAN收發(fā)器L9616傳送過來的數(shù)據(jù)包進行解析,同時做出相應的操作,生成對應的驅(qū)動信號和轉(zhuǎn)動方向;另一面MCU控制高精度D/A轉(zhuǎn)換器,經(jīng)D/A轉(zhuǎn)換輸出的電壓送給驅(qū)動芯片SLA7033M,使SLA7033M輸出電流恒定,同時在SLA7033M的輸出端加入采樣電阻,MCU實時監(jiān)控SLA7033M的輸出電流,當輸出電流大于閾值時,關閉驅(qū)動信號,保護芯片SLA7033M;另外MCU還對加在芯片SLA7033M上面的散熱器進行溫度實時監(jiān)控,當散熱片上的溫度超過預設值時關閉驅(qū)動信號,起保護SLA7033M的作用。MCU對SLA7033M的輸出電流進行采樣以及對溫度實時監(jiān)控,有效地保護了SLA7033M,使SLA7033M工作的壽命更加長,工作更加穩(wěn)定。由于MCU輸出的信號屬于弱的信號,而SLA70 33M輸出的信號是大電壓大電流信號,為了確保MCU正常工作,采用光耦隔離,使控制信號與驅(qū)動信號分離,同時控制和驅(qū)動兩部分的電路采用獨立的電源供電,它們之間互不干擾,信號通過光耦傳輸。

一體化步進電機系統(tǒng)框圖
1.2 STM32F105微控制器
STM32F105是基于最新ARM V7.0內(nèi)核Cortex-M3的32位閃存微控制器,這是一款專為嵌入式應用而開發(fā)的內(nèi)核,帶有用于電機控制的PWM輸出,特別適合在電機控制場合的應用。STM32F10內(nèi)置CAN收發(fā)FIFO,可以降低采用外置CAN控制器的成本以及提高系統(tǒng)的穩(wěn)定性。STM32F103具有較大容量的FLASH和RAM,以及豐富的外設,因此采用STM32F103作為主控芯片可以方便地實現(xiàn)CAN數(shù)據(jù)收發(fā)、A/D轉(zhuǎn)換、D/A轉(zhuǎn)換、PWM輸出等。

1.3 CAN收發(fā)電路
CAN收發(fā)器采用ST公司的L9616。終端匹配電阻采用跳線的方式供用戶安裝時自行選擇。在差分信號線上并上瞬態(tài)抑制二極管,可以起到對L9616的I/O的保護作用。光電隔離部分采用最高轉(zhuǎn)換速率可達10Mbit/s的高速光耦6N137,電阻R2、R5起到限流作用。VCC5_1是由DC/DC隔離電源單獨產(chǎn)生的5V電壓。

CAN收發(fā)電路及光電隔離電路


1.4 電源電路
步進電機采用5V供電。用開關穩(wěn)壓集成芯片LM2596代替?zhèn)鹘y(tǒng)的三段穩(wěn)壓器,僅需要極少的外圍器件即可構(gòu)成高效的穩(wěn)壓電路且不需加散熱片。LM2576產(chǎn)生的5V電壓供給電機驅(qū)動芯片,主控CPU工作所需的3.3V電壓由LDO芯片LM1117-3.3產(chǎn)生。CAN收發(fā)電路單獨供電的DC/DC電路采用隔離電源模塊,使驅(qū)動器和和CAN總線接口實現(xiàn)完全的電氣隔離。

電源電路
1.5 光電隔離電路

連接在控制芯片與驅(qū)動芯片之間的光耦隔離電路,主芯片負責產(chǎn)生驅(qū)動芯片需要的控制信號。當輸入端為高電平時光耦中的光敏二極管導通,同時光敏三極管也導通,使對應的輸出端也為高電平。使用了光耦隔離,使得驅(qū)動電路的高壓電路與控制電路的低壓電路完全隔離,互不干擾,提高了系統(tǒng)的抗干擾能力和穩(wěn)定性。

1.6 SLA7033M驅(qū)動電路

SLA7033M是高性能步進電機集成功率放大器,該芯片由參考電壓電路、觸發(fā)脈沖產(chǎn)生電路、電壓比較放大電路、電流控制電路、激勵信號放大電路、電動勢補償電路等組成。INA、Ina、INB、INb為四個驅(qū)動信號輸入端,OUT/a、OUTa、OUT/b、OUTb為四個驅(qū)動信號輸出端,在輸出端接二相步進電機作為負載。VREF為經(jīng)過D/A轉(zhuǎn)換后的基準電壓輸入端,通過調(diào)整D/A的輸出基準電壓,即可調(diào)整驅(qū)動器的輸出電流的大小。電阻R11、R12為電流檢測電阻,當主控芯片檢測到該電阻上的電壓超過閾值時,重新調(diào)整輸出的電流大小,使輸出電流不能超過最大值,以保護驅(qū)動芯片SLA7033M。

SLA7033M驅(qū)動電路

2 CAN中繼器軟件的設計

程序開始時先初始化各個輸出端口以及各個相關的外設模塊。程序以模塊化進行設計,主程序只需循環(huán)檢測相應的狀態(tài),當對應的狀態(tài)滿足要求時執(zhí)行相應的操作,使得程序簡潔以及實時性更強。當程序出現(xiàn)異常情況時,異常處理程序檢查相應的異常情況,判斷是哪些情況出現(xiàn)異常,記錄相應的情況,同時可以把異常情況打包成數(shù)據(jù)發(fā)送到CAN總線,方便主控核心進行異常情況的分析及處理。無異常情況則檢查是否有數(shù)據(jù)包的標志位,假如有數(shù)據(jù)包,則數(shù)據(jù)包處理程序?qū)?shù)據(jù)包進行分析,并進行相應的操作。數(shù)據(jù)包處理程序具有識別是發(fā)送數(shù)據(jù)包還是接收到的數(shù)據(jù)包,如果是發(fā)送數(shù)據(jù)包,則把相應的數(shù)據(jù)包經(jīng)過處理生成標準報文幀格式,隨后經(jīng)過CAN收發(fā)器發(fā)送幀數(shù)據(jù)給主控核心;如果接收到的數(shù)據(jù)包則要對該數(shù)據(jù)包進行解析,按照標準報文幀格式進行提取相應的數(shù)據(jù),以及對相應的數(shù)據(jù)進行處理,假如收到的數(shù)據(jù)里的ID和該設備號ID一致,表明是該設備的數(shù)據(jù),即對該設備進行操作;反之,表明不是該設備的數(shù)據(jù),則對收到的數(shù)據(jù)不處理,同時推出數(shù)據(jù)包處理程序。主程序假如沒有數(shù)據(jù)包處理或者數(shù)據(jù)包處理程序完成則檢查溫度是否超過預設值,假如已經(jīng)超過預設的值,則執(zhí)行超溫處理程序;假如沒有超溫則往下執(zhí)行。當沒有超溫或者超溫處理程序完成后查詢電流是否超過預設值,假如已經(jīng)超過了輸出電流的預設值則執(zhí)行調(diào)整輸出電流程序,對輸出電流輸出調(diào)整,即對D/A的輸出值進行調(diào)整,使輸出電流減少;若沒有超過輸出電流的預設值則返回檢查異常情況,程序進行循環(huán)檢測。

主程序流程圖

3 結(jié)束語
文采用了以高性能的ARM處理器STMF103為一體化步進電機主控CPU,SLA7033M作為驅(qū)動芯片,將控制電路和驅(qū)動模電路集成在同一個模塊上,減少系統(tǒng)中主控核心的負擔,提高系統(tǒng)的實時性、可靠性,有一定的社會效益和廣泛的推廣價值。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。