基于CAN總線(xiàn)的一體化兩相步進(jìn)電機驅動(dòng)器的設計
1.6 SLA7033M驅動(dòng)電路
SLA7033M是高性能步進(jìn)電機集成功率放大器,該芯片由參考電壓電路、觸發(fā)脈沖產(chǎn)生電路、電壓比較放大電路、電流控制電路、激勵信號放大電路、電動(dòng)勢補償電路等組成。INA、Ina、INB、INb為四個(gè)驅動(dòng)信號輸入端,OUT/a、OUTa、OUT/b、OUTb為四個(gè)驅動(dòng)信號輸出端,在輸出端接二相步進(jìn)電機作為負載。VREF為經(jīng)過(guò)D/A轉換后的基準電壓輸入端,通過(guò)調整D/A的輸出基準電壓,即可調整驅動(dòng)器的輸出電流的大小。電阻R11、R12為電流檢測電阻,當主控芯片檢測到該電阻上的電壓超過(guò)閾值時(shí),重新調整輸出的電流大小,使輸出電流不能超過(guò)最大值,以保護驅動(dòng)芯片SLA7033M。
2 CAN中繼器軟件的設計
程序開(kāi)始時(shí)先初始化各個(gè)輸出端口以及各個(gè)相關(guān)的外設模塊。程序以模塊化進(jìn)行設計,主程序只需循環(huán)檢測相應的狀態(tài),當對應的狀態(tài)滿(mǎn)足要求時(shí)執行相應的操作,使得程序簡(jiǎn)潔以及實(shí)時(shí)性更強。當程序出現異常情況時(shí),異常處理程序檢查相應的異常情況,判斷是哪些情況出現異常,記錄相應的情況,同時(shí)可以把異常情況打包成數據發(fā)送到CAN總線(xiàn),方便主控核心進(jìn)行異常情況的分析及處理。無(wú)異常情況則檢查是否有數據包的標志位,假如有數據包,則數據包處理程序對數據包進(jìn)行分析,并進(jìn)行相應的操作。數據包處理程序具有識別是發(fā)送數據包還是接收到的數據包,如果是發(fā)送數據包,則把相應的數據包經(jīng)過(guò)處理生成標準報文幀格式,隨后經(jīng)過(guò)CAN收發(fā)器發(fā)送幀數據給主控核心;如果接收到的數據包則要對該數據包進(jìn)行解析,按照標準報文幀格式進(jìn)行提取相應的數據,以及對相應的數據進(jìn)行處理,假如收到的數據里的ID和該設備號ID一致,表明是該設備的數據,即對該設備進(jìn)行操作;反之,表明不是該設備的數據,則對收到的數據不處理,同時(shí)推出數據包處理程序。主程序假如沒(méi)有數據包處理或者數據包處理程序完成則檢查溫度是否超過(guò)預設值,假如已經(jīng)超過(guò)預設的值,則執行超溫處理程序;假如沒(méi)有超溫則往下執行。當沒(méi)有超溫或者超溫處理程序完成后查詢(xún)電流是否超過(guò)預設值,假如已經(jīng)超過(guò)了輸出電流的預設值則執行調整輸出電流程序,對輸出電流輸出調整,即對D/A的輸出值進(jìn)行調整,使輸出電流減少;若沒(méi)有超過(guò)輸出電流的預設值則返回檢查異常情況,程序進(jìn)行循環(huán)檢測。
3 結束語(yǔ)
本文采用了以高性能的ARM處理器STMF103為一體化步進(jìn)電機主控CPU,SLA7033M作為驅動(dòng)芯片,將控制電路和驅動(dòng)模電路集成在同一個(gè)模塊上,減少系統中主控核心的負擔,提高系統的實(shí)時(shí)性、可靠性,有一定的社會(huì )效益和廣泛的推廣價(jià)值。
評論