<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)化 > 設計應用 > 基于DSP的高精度伺服位置環(huán)設計方案

基于DSP的高精度伺服位置環(huán)設計方案

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

  系統軟件設計

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

  按任務(wù)劃分,系統軟件由任務(wù)與任務(wù)管理模塊構成,任務(wù)管理模塊對人機接口、控制算法、加減速控制、故障處理等四個(gè)任務(wù)進(jìn)行調度管理??刂扑惴ㄖ饕ǎ赫{節器控制算法、矢量控制算法和數字濾波器算法等。

  按照結構化程序設計方法,遵循“功能獨立”的原則,將系統軟件劃分為主程序模塊和矢量控制程序模塊兩大部分,各部分又劃分為若干子模塊,以利于軟件設計、調試、修改和維護。矢量控制軟件設計采用典型的前后臺模式,以主程序作為后臺任務(wù),中斷服務(wù)程序作為前臺任務(wù)。根據矢量控制算法的特點(diǎn),中斷服務(wù)程序只處理實(shí)時(shí)性高的PWM控制子程序,把系統的一些測量、鍵盤(pán)處理和顯示等一系列實(shí)時(shí)性不高的任務(wù)放到后臺任務(wù)。

  主程序是軟件的主體框架,其工作過(guò)程是:系統上電復位后,依次對片內外設進(jìn)行初始化、從E2PROM中讀出控制參數、LED顯示初始信息。初始化完成后,主程序循環(huán)執行LED顯示、鍵盤(pán)處理和參數計算與保存。

  PWM中斷服務(wù)。在PWM中斷到來(lái)時(shí),首先讀取編碼信號,進(jìn)行角度和速度計算,接著(zhù)進(jìn)行A/D采樣并執行clark和park變換,然后進(jìn)行PI調節、反park變換,最后進(jìn)入空間矢量模塊,產(chǎn)生PWM信號。

  控制器算法

  系統采用三環(huán)控制結構,電流環(huán)、速度環(huán)采用PI控制,位置環(huán)采用比例加前饋補償控制。

  PID控制算法

  PID控制算法是控制中最常用的算法,對于大多數的控制對象采用PID控制均能達到滿(mǎn)意的效果。為防止PID調節器出現過(guò)飽和,系統采用帶退飽和的PID控制器,如圖2所示。

  

 

  離散PID控制算法如下:

  

 

  式中,

為飽和前的輸出,KP為PID控制的比例增益,Ti為PID控制的積分時(shí)間常數,Td為PID控制的微分時(shí)間常數,Kc為退飽和時(shí)間常數。

 

  位置控制器的控制算法

  位置控制器采用比例加前饋控制結構,如圖3所示,其中Gm為電機的傳遞函數,Gspd為速度環(huán)的傳遞函數,Gpos為位置環(huán)的傳遞函數,Fpos為位置前饋控制器傳遞函數。

  

 

  系統的傳遞函數為:

  

 

  當Fpos(s)=1/(Gspd(s)Gm(s))時(shí),H(s)=1,則可使輸出完全復現輸入信號,且系統的暫態(tài)和穩態(tài)誤差都為零。其中當速度調節器采用PI控制時(shí),在位置環(huán)的截止頻率遠小于速度環(huán)的截止頻率時(shí),速度環(huán)可等效為一個(gè)慣性環(huán)節,電機可等效為一個(gè)積分環(huán)節,于是Fpos(s)可以看成加速度前饋和速度前饋兩部分[5],其中:位置前饋中加速度項差分方程:

  

 

  式中R(k)為第K個(gè)采樣周期中的位置給定信號;Yaf為第K個(gè)采樣周期中加速度信號的輸出,Kaf為加速度前饋比例系數。

  位置前饋中速度項差分方程:

  

 

  式中R(k)為第K個(gè)采樣周期中的位置給定信號;Yaf為第K個(gè)采樣周期中速度信號的輸出,Ksf為速度前饋比例系數。

  相應的位置環(huán)P的差分方程:

  

 

  式中R(k)為第K個(gè)采樣周期中的位置給定信號;C(k)為第K個(gè)采樣周期中的位置反饋信號,Ye為第K個(gè)采樣周期中位置環(huán)信號的輸出,Kc為位置環(huán)比例系數。

  絕對式編碼器通信程序

  絕對式編碼器與的接口采用CPLD作為接口芯片。CPLD的程序采用VHDL語(yǔ)言編寫(xiě),程序結構如圖4所示。此電路完成串行輸入數據到并行輸出數據的轉換,以及并行輸入數據到串行輸出數據的轉換。

  

 

  圖4中,模塊DIV為時(shí)鐘分頻器,TX模塊接收來(lái)自微處理器接口模塊MP的8位并行數據,并通過(guò)端口DOUT將數據串行輸出到RS-485端口。反過(guò)來(lái),RX模塊接收串行數據輸入,并以8位并行格式發(fā)送至MP模塊,MP模塊同時(shí)將接收到的位置信號轉成脈沖形式輸出,實(shí)現與CNC的連接。

伺服電機相關(guān)文章:伺服電機工作原理




關(guān)鍵詞: DSP 伺服 機床

評論


相關(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>