<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于CAN總線(xiàn)的一體化兩相步進(jìn)電機驅動(dòng)器的設計

基于CAN總線(xiàn)的一體化兩相步進(jìn)電機驅動(dòng)器的設計

作者: 時(shí)間:2012-08-02 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:了一種接口的,并描述了其詳細的軟硬件實(shí)現方法。采用高性能的STM32F103作為控制核心,接收的控制命令,產(chǎn)生控制時(shí)序控制的運行。測試結果表明,系統具有結構簡(jiǎn)單、性能穩定等特點(diǎn)。
關(guān)鍵詞:;;隔離;STM32F103

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

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

本文引用地址:http://dyxdggzs.com/article/160195.htm

a.JPG


1.2 STM32F105微控制器
STM32F105是最新ARM V7.0內核Cortex-M3的32位閃存微控制器,這是一款專(zhuān)為嵌入式應用而開(kāi)發(fā)的內核,帶有用于電機控制的PWM輸出,特別適合在電機控制場(chǎng)合的應用。STM32F10內置CAN收發(fā)FIFO,可以降低采用外置CAN控制器的成本以及提高系統的穩定性。STM32F103具有較大容量的FLASH和RAM,以及豐富的外設,因此采用STM32F103作為主控芯片可以方便地實(shí)現CAN數據收發(fā)、A/D轉換、D/A轉換、PWM輸出等。
1.3 CAN收發(fā)電路
CAN收發(fā)器采用ST公司的L9616。終端匹配電阻采用跳線(xiàn)的方式供用戶(hù)安裝時(shí)自行選擇。在差分信號線(xiàn)上并上瞬態(tài)抑制二極管,可以起到對L9616的I/O的保護作用。光電隔離部分采用最高轉換速率可達10Mbit/s的高速光耦6N137,電阻R2、R5起到限流作用。VCC5_1是由DC/DC隔離電源單獨產(chǎn)生的5V電壓。

a.JPG


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

c.JPG


1.5 光電隔離電路
連接在控制芯片與驅動(dòng)芯片之間的光耦隔離電路,主芯片負責產(chǎn)生驅動(dòng)芯片需要的控制信號。當輸入端為高電平時(shí)光耦中的光敏二極管導通,同時(shí)光敏三極管也導通,使對應的輸出端也為高電平。使用了光耦隔離,使得驅動(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。

d.JPG



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)檢測。

e.JPG



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

光耦相關(guān)文章:光耦原理




評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>