關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于DSP和CAN的電機同步控制系統與通信

        基于DSP和CAN的電機同步控制系統與通信

        作者: 時間:2009-11-02 來源:網絡 收藏

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

        2.3軟件實現
        本系統程序主要分為三部分:PC機人機交互程序、DS89C420作為與PC機之間介的程序、作為網絡節點和控制功能的程序。PC機人機交互軟件它以可視化界面顯示網絡上各節點ID、控制命令、發送優先級等。DS89C420的作用是將從CAN網絡上采集的數據傳送到PC機,并把PC機傳過來得數據發送到CAN網絡上,它實現的功能類似于協議轉換。完成的功能包括:根據PC機發送過來的指令控制正轉、反轉和停止,以及將的相電流、運行速度等信息分別通過LF2407A的片上A/D轉換器、正交脈沖編碼電路等得到;對電機的控制通過LF2407A的事件管理器模塊EVA、EVB輸出具有適當占空比的PWM脈沖給大功率IGBT管來實現。
        2.3.1主主
        本設計為CAN總線的多主多從網絡系統,主節點可以是工程師站,也可以是副工程師站或其它操作站,由于控制的需要,主節點之間需要傳送一些數據。主―主通信的軟件設計關鍵是掌握好CAN控制器的初始化設置例如ID的設置,數據的發送和接收。由于網卡具有接口函數庫及網卡的驅動程序,可以方便地進行主―主通信。通信軟件已測試成功,通信界面采用VC編寫,如圖4所示。


        2.3.2主從通信
        下面的程序是平臺和上位機的通信,主節點CAN網卡中的CAN模塊初始化和發送子程序。調試過程中需要注意:通信節點的波特率要求一致;主從通信時要求CANMCR = 0x0480,使通信處于正常發送狀態;CANH與CANL之間連接終端負載電阻抗干擾。
        void CANInit()
        { asm(SETCINTM ); /* 禁止中斷 */
        IMR = IMR | 0x011; //使能CAN中斷
        CANIMR = 0; //屏蔽所有中斷
        CANIFR = 0xFFFF; //清除已掛號中斷
        CANMCR = 0x0480; //CAN處于正常工作狀態
        CANMCR = CANMCR | 0x1000;//設置CCR,改變配置請求;
        While ( (CANGSR 0x0010) == 0 ){} //設置CCE,更改配置啟用;
        CANBCR2 = 0x027; //設置波特率50Kbps
        CANBCR1 = 0x005E;
        CANMCR = CANMCR 0xEFFF;//清除CCR位;
        While ( (CANGSR 0x0010) == 1 ){} //清除CCE,禁止對配置寄存器進行操作;
        CANMailBoxInit(); //初始化郵箱
        asm(CLRCINTM );/* 開中斷 */
        CANTCR =0x0080;//發送5號郵箱內容;
        While ( (CANTCR 0x8000) == 0 ){}//發送成功 }
        3 措施及實現
        在對多電機的控制中,解決電機的實時性問題十分重要。CAN總線具有點對點、一點對多點及全局廣播傳送數據的功能。雖然CAN總線的信息存取利用了廣播式的存取工作方式,信息可以在任何時候由任何節點發送到空閑的總線上,然后根據信息標文符決定是否讀取信息包中的數據以判斷是否使用這一信息,但是由于各電機的實際情況不同,即使命令同時傳送到節點,實際命令的實施時間也不能得到保證。筆者認為僅依靠CAN總線的廣播數據功能實現控制會產生誤差,可以通過軟件編程實現誤差較小的同步控制。采用兩次命令的方式,首先由主站給需要同步的從站用廣播的方式發送準備命令和同步速度,主站確認收到準備好命令之后發送第二次具體的命令即啟動同步命令。這樣可以使誤差相對減少。
        4 結束語
        本文研究了CAN總線的多電機同步控制網絡的組成和通信實現,設計有效的將DSP的高速處理能力和CAN(Controller Area Network)總線的高性能、高可靠性結合起來,具有很高的使用價值和廣闊的應用前景。以上代碼全部調試通過,實驗證明適用于多臺電機串行通信的實際應用以及可以根據實際的系統進行擴展和移植。
        本文作者創新點:電機同步控制措施的提出。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 白山市| 志丹县| 池州市| 广元市| 平利县| 昌都县| 峡江县| 壶关县| 灵宝市| 道孚县| 兴和县| 柘荣县| 长武县| 吉木萨尔县| 松潘县| 温泉县| 东海县| 南宫市| 中西区| 元江| 密云县| 怀柔区| 天水市| 格尔木市| 石河子市| 华亭县| 南城县| 五峰| 渝北区| 周口市| 阜康市| 荆门市| 图木舒克市| 廊坊市| 云龙县| 繁峙县| 长兴县| 志丹县| 荃湾区| 翁牛特旗| 上林县|