新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > CAN總線助力的多電機設計方案

        CAN總線助力的多電機設計方案

        作者: 時間:2016-12-13 來源:網絡 收藏
          引言

          由于can總線的系統集成特點,基于汽車車身控制系統的can總線技術應用范圍已經遠遠超越汽車控制領域,擴展到了機械工業、家用電器及傳感器等各種其它測控領域,被國際公認為是重要的的工業現場總線。作為運動控制對象,步進電動機作為一種將離散的電脈沖信號轉化成角位移的機械執行裝置,具有結構簡單、成本低、定位精度高和無誤差累積等優點,已被廣泛應用于各種自動控制系統中。隨著微型計算機和微電子技術的發展,步進電機的這一性能必將得到更為廣泛的應用。因此對于can總線的步進電動機控制研究具有十分明顯的現實意義。

        本文引用地址:http://www.104case.com/article/201612/329314.htm

          2 系統總體設計方案

          該系統可由一臺pc機作為命令發送主機,通過bus-can接口轉換模塊接入can總線,各節點是有單片機控制的具有can總線數據收發功能的模塊,來控制步進電機驅動器及電機終端。在pc機的應用層根據事先規定的格式把數據由usb接口發送給基于usb總線的通用設備接口芯片ch372的usb-can接口轉換模塊上的單片機,單片機處理之后,再把數據傳送到連接著各個步進電機驅動器的節點的can總線上,各個節點的控制模塊根據接收到的數據信息進行處理,實現對步進電機的速度、正反轉及行程控制。圖1為本設計的系統方案圖。

          

          圖1 系統總體方案圖

          3 硬件設計方案

          系統的硬件包括usb-can接口模塊和can節點接收模塊電路的設計。

          3.1 usb-can接口模塊電路的設計

          bus-can接口模塊主要是由51單片機、ch372、sja1000及82c250組成,主機通過ch372把數據發送到單片機,單片機再把數據通過sja1000發送到can總線上。圖2中給出了從pc機的usb口到can總線的主要元件及其連接。圖2及圖3中的vdd、vcc均為+5v直流電源,ch372有支持兩種電源,+5v和+3.3v,本設計中使用的是+5v,可以直接從usb口獲得,簡化了電路設計。與單片機連接的ch372和sja1000通過片選信號實現互不干涉的讀寫過程,完成各自的任務。

          

          圖2 usb-can接口轉換模塊原理圖

          can控制要實現其功能,必須具有外圍擴展接口,構成完整的can通信系統,本設計選用pca82c250器件作為can控制器的sja1000和物理總線間的接口,提供總線的差動發送和接收能力,處理來自canh和canh線的信號,并將處理后的信號傳至控制單元的can接收區。為了保護芯片并提高抗干擾能力,在控制器sja1000和82c250之間加入高速光電隔離器6n137。can總線網絡兩端要接120歐姆的匹配電阻,可大大的提高通信的抗干擾性和可靠性。

          3.2 can節點模塊電路的設計

          can節點模塊的can接口部分與usb-can接口轉換模塊的can接口部分的電路設計是一樣的,如圖3所示。單片機把接收到的數據處理之后,從p1.0、p1.1表現出來,分別輸出電機轉動方向信號和頻率及個數一定的pwm脈沖信號提供給電機驅動器,實現電機的控制。為了提高抗干擾能力,加光電隔離器tlp5621,因為輸出的數字信號頻率不是很高,tlp5621的轉換時間已滿足要求。為了電機運行的安全性,可在電機負載周圍合適的位置設置兩個機械急停按鈕,負載發生故障時按下按鈕,通知單片機停止pwm輸出,實現電機故障急停。

          

          圖3 can節點模塊電路原理

          4 軟件設計方案

          4.1 通信協議

          pc機客戶端應用軟件發送相應的控制命令后,利用計算機應用層提供的ch372接口協議,usb端口會依次向下發送一個或多個雙字節的數據信息,兩個模塊中的單片機處理各自接收到的數據,實現電機控制。每一個雙字節數據位的定義如下:

          

          (1)電機選擇:每一個不同的高字節數據和各個can節點的sja1000中的驗收代碼寄存器的值一一對應,可以使低字節的控制命令準確的到達對應的電機驅動器。

          (2) 電機啟停選擇:1為啟動,0為停止。

          (3) 電機正反轉選擇:1為正轉,0為反轉。

          (4) 電機速度選擇:從00到11分別設有四個檔位的速度。通過改變脈沖周期改變速度。

          (5) 電機行程選擇:從0000到1111分別代表十六個不同行程的脈沖數。

          4.2 軟件流程

          pc機發送的每一個雙字節數據都是先發高字節,后發低字節,usb總線接口芯片ch372選用單向數據流通訊方式,接收完數據塊后,以外部中斷請求方式通知單片機接收數據,單片機應答后進入中斷服務程序,把接收到第一個雙字節數據的高字節寫入正處在復位模式的can控制器sja-1000的數據發送緩沖區的標識碼字節1的地址,低字節寫入can控制器sja1000的數據發送緩沖區的tx數據1的地址,can控制器sja1000由復位模式進入工作模式,并發送數據到can總線,數據發送完畢并對方收到后,can控制器回到復位狀態,把接收到的下一雙字節數據的高字節寫入正處在復位模式的can控制器sja1000的數據發送緩沖區的標識碼字節1的地址,低字節寫入can控制器sja1000的數據發送緩沖區的tx數據1的地址,can控制器sja1000由復位模式重新進入工作模式,并發送數據到can總線……,直到讀到的ch372緩沖區中所有數據發送完畢,單片機退出中斷,等待下一次中斷。圖4為轉換模塊程序流程。

          在can節點模塊數據接收端,單片機接收到saj1000緩沖區的數據后,通知對方收到數據并清空sja1000接收緩沖區,然后進行數據處理,通過單片機i/o口控制電機動作,數據處理完后,準備下次數據接收。圖5為can節點模塊流程。

          

          圖4 usb-can模塊流程

          

          圖5 can節點模塊流程

          5 結束語

          can現場總線具有通信距離遠、傳輸速度快的特點,該系統可實現對電機的全集成數字控制。基于步進電機行程的可控性,本系統可實現對運動對象的精確位置控制。此外,可以在can節點模塊上多加幾路限位等機械急停按鈕,使電機更加安全、可靠的運行。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 绥棱县| 溆浦县| 内丘县| 金昌市| 宜州市| 吉安市| 南投市| 耒阳市| 阜平县| 抚顺市| 十堰市| 宣汉县| 越西县| 六盘水市| 内丘县| 集安市| 鸡泽县| 宁晋县| 平利县| 仁怀市| 祁门县| 华池县| 正阳县| 高尔夫| 洛扎县| 宿州市| 酒泉市| 沁阳市| 定边县| 黑山县| 钦州市| 南开区| 城口县| 高雄县| 黑河市| 登封市| 礼泉县| 平利县| 临沧市| 天全县| 犍为县|