基于DSP2812的運動控制平臺
在此電路中,R5為取樣電阻,采用康銅絲繞制(阻值隨溫度的變化較小),阻值為0.25歐。運放采用OP07作為電壓跟隨器,UI=Up=Un,場效應(yīng)管Id=Is(柵極電流相對很小,可忽略不計) 所以Io=Is= Un/R2= UI/R2。正因為Io=UI/R2,電路輸入電壓UI控制電流Io,即Io不隨RL的變化而變化,從而實現(xiàn)壓控恒流源。
下面分享光耦隔離和光電編碼器反饋信號隔離電路,其中使用74HC14進(jìn)行信號整形,為了輸出3.3V的QEP信號,所以74HC14需要3.3V供電,但是芯片的輸入信號峰峰值不能超過3.3V。注:記得光電編碼器隔離電路中的C1要去掉,波形才正常。
設(shè)計中只采用了過流保護(hù),設(shè)計中的過流是指當(dāng)負(fù)載過大引起的過流和控制不當(dāng)使H橋上下橋臂同時導(dǎo)通導(dǎo)致電源短路產(chǎn)生的過流,這兩種情況都會使保護(hù)電路工作,繼電器斷開驅(qū)動器母線的鏈接,DSP輸出的兩路PWM波變?yōu)楦咦钁B(tài),這樣就會避免由于H橋上電流過大而燒壞MOS管的情況發(fā)生。
上面電路中,霍爾電流傳感器CHF-10P通過串入母線中進(jìn)行電流的采集,A2415S為24V轉(zhuǎn)±15V的隔離電源,主要作用是為CHF-10P提高工作電壓,采集電流對應(yīng)的電壓值在3引腳可以測得,并且由輸出電壓值的正負(fù)號判斷電流在5和6引腳之間的流入方向,這就會有一個電流與電壓之間的線性關(guān)系為10A~±4V。由于DSP中ADC模塊采集電壓范圍為0~3V,所以需要將霍爾電流傳感器輸出的正負(fù)電壓轉(zhuǎn)換為0~3V,這個過程是由電阻R1、R2、R3轉(zhuǎn)換得到,其中3.3V電壓經(jīng)過兩個肖特基二極管(正向?qū)▔航禐?.26V)后電壓值大概為3.0V,如果輸入電阻R1的電壓為-3V,先把R3電阻看做不存在,R1和R2串聯(lián),一端輸入-3V,另一端電壓為3V,則DSP_ADC端電壓為0V,把R3電阻看回來,0V通過R3電阻接地,當(dāng)然還是0V。所以輸入與輸出的關(guān)系為-3V~3V對應(yīng)0V~3V,為了避免輸入到DSP_ADC的電壓高于3V,加入了D1和D2作為嵌位電路,防止電壓高于3V損壞DSP的ADC輸入口。還有過流保護(hù)就是用繼電器切斷電機(jī)驅(qū)動母線電壓,DSP的PWM口呈高阻態(tài)。
再簡介一下DSP2812的事件管理器單元,每個事件管理器模塊都有一個正交編碼脈沖(QEP)電路。使能QEP電路可以對引腳CAP1/QEP1和CAP2/QEP2(EVA)或CAP4/QEP3和CAP5/QEP4(EVB)輸入的正交編碼脈沖進(jìn)行編碼和計數(shù)。它與光編碼器相連可以獲得機(jī)器旋轉(zhuǎn)的位置和速讀信息。如果使能QEP電路,那么CAP1/QEP1和CAP4/QEP3的捕捉功能就被禁止。定時器2(在EVB中為定時器4)為EVA的QEP電路提供時基。定時器必須處于單增/減計數(shù)模式并使用QEP電路作為時鐘源。正交編碼脈沖電路是具有90°固定相移和可變頻率的兩個脈沖序列。當(dāng)光編碼器和電機(jī)轉(zhuǎn)軸產(chǎn)生QEP時,通過監(jiān)測兩個脈沖的先后順序可以確定電機(jī)的旋轉(zhuǎn)方向,通過檢測脈沖個數(shù)和頻率可以確定旋轉(zhuǎn)角度。QEP電路中的方向監(jiān)測邏輯可以確定哪個序列領(lǐng)先,它為定時器2(或4)產(chǎn)生方向信號。如果CAP1/QEP1(EVB中為CAP4/QEP3)引腳的輸入脈沖是領(lǐng)先序列,定時器進(jìn)行增計數(shù);如果CAP2/QEP2(EVB中為CAP5/QEP4)引腳的輸入脈沖是領(lǐng)先序列,定時器進(jìn)行減計數(shù)。兩個正交編碼輸入的兩個邊沿都被計數(shù),所以QEP邏輯為定時器2(或4)產(chǎn)生的時鐘頻率是每個輸入脈沖序列的4倍。該正交時鐘與定時器2(或4)的時鐘輸入相連。EVA中的每個捕捉單元可以選擇定時器1或2作為自己的時基;然而CAP1和CAP2不能選擇不同的定時器作為它們自己的時基。EVB中的每個捕捉單元可以選擇定時器3或4作為自己的時基;然而CAP4和CAP5不能選擇不同的定時器作為它們自己的時基。當(dāng)捕捉引腳(CAPx)探測到指定的變化時,捕捉單元捕捉定時器的值并將它存在相應(yīng)的2級深度FIFO堆棧中。使能捕捉單元后,如果相關(guān)引腳產(chǎn)生指定的變化,捕捉單元將選用的定時器的當(dāng)前值存入相應(yīng)的FIFO堆棧中。如果已經(jīng)有一個或多個合法值存儲在FIFO堆棧中(CAPxFIFO位不為0),相應(yīng)的中斷標(biāo)志位將置1。如果標(biāo)志位沒有屏蔽,會產(chǎn)生一個外圍中斷請求。每當(dāng)一個新的計數(shù)器值被捕捉到FIFO堆棧中,CAPFIFOx會調(diào)整相應(yīng)的狀態(tài)位來反映FIFO堆棧的最新狀態(tài)。從引腳變化發(fā)生到定時器的計數(shù)期值鎖存需要2個時鐘周期。 介紹了這么多,下面簡單介紹一下軟件部分。
在運動控制平臺上集成了各個測試模塊,如波特率設(shè)計,自動波特率檢測,驅(qū)動板最佳頻率測試,速度在線調(diào)試,PID系數(shù)在線調(diào)試,速度采集,電流采集,負(fù)載扭矩輸出,速度曲線顯示等,這些調(diào)試和控制功能足夠發(fā)揮本次設(shè)計的運動控制平臺的強(qiáng)大功能。其中自動波特率檢測可以用DSP2812去實現(xiàn),自動波特率檢測過程中記得遇到了一個DSP的bug,就是自動檢測的第一次肯定是不成功的,把DSP復(fù)位一次再次檢測,就會正確檢測到上位機(jī)選用的波特率;除此之外還有一個功能值得提一下,就是根據(jù)我個人的理解在此軟件上設(shè)計了檢測電機(jī)驅(qū)動器的最佳驅(qū)動頻率的功能,在下圖中看不到,在菜單欄中可以選擇此功能,選擇此功能之后,上位機(jī)軟件會在占空比為50%的情況下去改變PWM波的頻率,并采集顯示速度,通過頻率改變和速度曲線對比計算出驅(qū)動器適合的最佳頻率,這個方法不知道是否合理,但是我在運動控制平臺上測試的適合沒有出現(xiàn)過問題。下面是基于運動控制平臺的主控制界面。
運動控制中采用了速度閉環(huán)控制,為了實現(xiàn)速度閉環(huán)控制,我們要有精確的速度采集,為了達(dá)到精確的速度采集,設(shè)計中經(jīng)過4種采集速度算法的比較,最終采用了變M/T法進(jìn)行了電機(jī)速度的采集;為了達(dá)到閉環(huán)控制,系統(tǒng)中設(shè)計了速度閉環(huán)PID控制算法,這樣可以確保系統(tǒng)在帶負(fù)載運轉(zhuǎn)下正常工作。下面將會介紹系統(tǒng)中算法的設(shè)計與實現(xiàn)。變M/T法是指測速過程中,不僅測取的測速脈沖與高頻時鐘脈沖隨電機(jī)的轉(zhuǎn)速不同而變化,而且測量時間T也是變化的。所以變M/T法相比較其它三種測速方法在高速、低速時都具有較高的測量精度,而且響應(yīng)速度快,在閉環(huán)控制系統(tǒng)中具有較高的使用價值。
時間過去有一年多了,好多資料沒了,也記不清了,實在寫不動了,有什么疑問可以跟帖提問,謝謝!(原創(chuàng))
原帖地址:http://bbs.21ic.com/icview-585068-1-1.html
評論