當前位置:編程學習大全網 - 編程語言 - 恒線速編程的壹個例子

恒線速編程的壹個例子

作品簡介:

本設計采用AT89C52單片機作為整個系統控制的核心。采用PID算法中的增量式PI方法對電機轉速進行精確控制,利用紅外檢測模塊采集電機轉速,並對反饋信號進行調理,作為電機閉環控制的依據。人機界面采用ZLG7290實現按鍵控制和電機轉速顯示。

0?2?0?2這種設計的主要特點是:

● ZLG7290 I2C接口顯示電路ZLG7290具有鍵盤去抖處理,以防止按鍵盤命令時出錯。I2C接口,提供鍵盤中斷信號,方便與處理器接口。

●信號調節電路可將反饋信號變為標準方波,便於調節速度。

●大部分程序采用非阻塞編程實現,主函數采用SuperLoop,使函數快速反應和執行,並使用各種中斷作為控制手段,提高了系統的實時響應速度。

●回路增加了PID閉環控制系統。當負載變化時,系統會自動調整PWM端的占空比,以保持電機轉速穩定。

壹、方案比較

1.控制器的選擇:

方案壹:模擬PID控制器通過硬件(電子元件、氣動和液壓元件)實現其功能。

方案二:數字PID控制器,並移植到計算機控制系統中,用軟件實現原硬件實現的功能。與模擬PID控制器相比,它具有靈活性強、可根據實驗和經驗在線調整參數、控制性能好等優點。

我們最終采用了第二種方案,因為第二種方案可以獲得更好的性能,但缺點是電機低速時精度難以控制。

2.轉速傳感器方案的選擇:

方案壹:增量式旋轉編碼器:通過內部兩個光敏接收管轉換角度編碼器的時序和相位關系,實現角度編碼器角位移的增減。優點:方波可以直接準確產生,精度高,但價格昂貴。

方案二:壹般光學傳感器在電機軸上放壹個黑白碼盤就可以實現測量電路。缺點:其測量精度很低,黑白邊界處產生的波形不規則,使得測量誤差較大。

方案三:MC-C2513脈表專用模塊,采用直接雙光速光電傳感器進行采樣。這種類型的脈沖采樣板主要有以下功能:能有效消除抖動誤差,不會因為轉臺抖動和上電導致脈沖數過計數或欠計數。有多種輸出脈寬可供選擇,能自動區分轉盤的旋轉方向,分別輸出正向和反向脈沖信號。而且價格相對便宜。

3.單片機的選擇:

方案壹:51系列單片機,最常用的是AT89C52,優點是內部結構簡單,價格低廉,缺點是沒有PWM輸出功能,用壹個定時器配合軟件。

方案二:AVR系列單片機,AVR單片機的定時和計數器功能大大增強,有三個PWM輸出口。AVR單片機內部結構有硬件通道,可以直接產生方波信號。

我們最終采用了第壹種方案,因為AT89C52是最熟悉的器件,可以很好的控制和調試。

4.速度顯示電路:

方案壹:ZLG7290 I2C總線傳輸具有I2C串行接口的優勢,提供鍵盤中斷信號,方便與處理器的接口。添加了壹個組合計數器。通過讀取該寄存器的值,可以區分點擊鍵和組合鍵。增加了功能寄存器,實現了同時按下兩個以上的鍵,擴大了鍵數。

方案二:8279電路。缺點是沒有I2C總線傳輸,需要大量外圍設備,控制麻煩,性價比不高。

我們最終采用了第壹種方案,因為ZLG7290 I2C占用I/O端口少,易於控制。

5.電機驅動速度調節模塊:

方案壹:利用電阻網絡或數字電位器調節電機的分壓,從而達到調速的目的。而電阻網絡只能實現有級調速,數字電阻的元器件比較貴。更重要的問題是壹般電機的電阻很小,但是電流很大。分壓不僅降低了效率,而且難以實現。

方案二:用繼電器控制電機的通斷,通過開關的切換來調節電機的轉速。這種方案的優點是電路比較簡單,缺點是繼電器響應時間慢,機械結構容易損壞,可靠性不好。

方案三:采用由達林頓管組成的H型PWM電路。達林頓管由單片機控制工作在占空比可調的開關狀態,精確調節電機轉速。這種電路非常高效,因為它工作在管道的飽和截止模式。H型電路保證速度和方向控制簡單,極其穩定。它是壹種廣泛應用的PWM調速技術,具有很大的承載能力。

方案四:采用專用電機驅動芯片L298N,便於控制。

我們最終采用了第四種方案,這種方案的優點是外圍器件少,電路簡單,控制方便。

6軟件設計思想的比較:

方案壹:模塊化編程思想,在需要延時的時候使用for循環,而在需要等待狀態的時候使用loop,這樣會造成cpu時間的大量浪費甚至系統沒有反應。

方案二:采用非阻塞編程思想。即跳過壹些需要判斷的位置,實現系統的實時響應。

我們采用第二種方案,可以減少響應時間,提高代碼效率。

7種數字PID算法的比較:

方案壹:定位算法。其輸出控制量對應於系統的總輸出。所以每次輸出都和過去的狀態有關,計算量大。

方案二:增量算法。它只輸出控制量的增量。與位置算法相比有其優點:1在增量算法中,對於控制量來說計算誤差很小。2可以實現無沖擊切換。3高可靠性。

我們最終采用了第二種方案,因為增量計算比位置計算小得多,而且應用廣泛。

二、設計與演示

經過認真討論和比較,我們決定系統各主要模塊的最終方案如下:

(1)電機驅動調速模塊:采用專用電機驅動芯片L298N。

(2)控制器的選擇是:AT89C52。

(3)用於測量轉速的傳感器是紅外光電傳感器。

(4)鍵盤和速度顯示電路模塊選用ZLG7290 I2C電路。

1.系統的軟件設計

該方案在PID控制模式下采用增量式PI控制方法,可以有效地使電機達到穩定狀態。

②播放部分1實現。

(3)在play part 3的實現中使用了模糊算法,即使用線性變化的扭矩(即“恒加速扭矩”(類似於“恒加速”的概念)。

對物體進行加速,測試達到目標速度所需的時間,從而確定物體的慣性矩。

通過查表,確定不同恒負載下的PID控制系數,從而在不使電機系統進入的情況下,實現更快的瞬態響應時間。

④本程序用C語言編程,簡單易懂。大部分程序都是通過非阻塞編程實現的,主函數中使用了SuperLoop,使得函數能夠快速反應和執行。采用各種中斷作為控制手段,提高系統的實時響應速度;使用了層次分明的文件層次,各個層次相對隔離,有利於編程時保持清晰的思路;使用標準化的命名方法。函數總是以大寫字母開頭,數據總是以小寫字母開頭。

3.其他功能的設計和實現:

(1)可同時顯示電機轉速的理論值和實際值,便於比較,可獲得控制精度。

⑵通過LED的轉動可以顯示電機的轉速方向,使表示更加清晰。

(3)當實現顯示部分(1)中的曲線時,可以在LED上顯示轉速,即可以詳細顯示轉速與時間的關系。

(4)實現播放部分(3)時,轉速從120轉突然變為400轉,所需時間明顯在5秒以內。完成題目的要求。

5]電機轉速分辨率達到1 rpm。

播放部分的(1)和(3)可以通過壹個鍵實現。並通過LED顯示其標題號。

三、理論分析和計算(略)

四、電路圖及相關設計文件(略)

動詞 (verb的縮寫)實物試驗

1.測試設備:20M數字示波器和頻率計。

2.測試結果分析:

(1)通過實施PID算法,其電機轉速控制精度幾乎達到了理想狀態,但當電機轉速小於70 rpm時,其控制精度有所下降,達不到題目的要求。主要原因是:由於它的測量是動態的,電機在不斷的調節速度,電機有明顯的抖動。

(2)在恒定負載下,電機轉速從120 rpm到400 rpm的穩態響應時間明顯小於0.5秒。

(3)電路完成播放部分的(1)和電機的正反轉。

(4)我們用LED的順時針和逆時針旋轉來表示電機的正反轉;在播放部分的實現中,我們在LED上顯示相應的標題號;當電機過載時,我們在LED上顯示錯誤“E”。以上是我們的特色創新。

⑸經過多次測量和平均,電機的控制精度已經達到≤1%的遊隙部分。

不及物動詞設計總結

⑴本來是想用MC-C2513脈搏計的專用模塊來測量電機轉速的。經測試發現,信號高於10hz時,編碼器的處理芯片將其濾除,不符合電路使用。於是,我們找到了拆機的紅外發射接收裝置,自己做了壹個傳感器。連接電機和碼盤後,通過信號調理電路實現。

⑵通過這個實驗,我們很好地學習和應用了非阻塞編程思想,大大提高了代碼執行的效率。還學習了PID控制算法,使得電機控制更加精確,鍵盤顯示模塊,電機驅動電路優化。這個電路還可以改進得更好,用LCD制作控制顯示的菜單,有更好的人機界面。

⑶我們調整PID系數時,傳感器反饋的波形在電機低速(≤70 rpm)時極不穩定。因此,PID系數很難同時滿足高速和低速。因此,我們最終采用了手動模擬步進法來控制DC電機的低速速度。

⑷這種設計的缺點是在低速時很難控制電機的精度。但如果使用多組PID系數,則可以滿足要求,即高速時使用壹組PID系數,低速時使用另壹組PID系數。妳也可以像這個設計壹樣用手動模擬來控制步進電機低速時的速度。這種模擬方法是固定PWM的占空比,讓電機旋轉,當單片機檢測到預設的脈沖數時對電機進行延時,通過改變延時的長短來控制速度。

  • 上一篇:小學語文壹年級下冊口語交際:壹起做遊戲教案
  • 下一篇:深圳聖亞科技有限公司怎麽樣?
  • copyright 2024編程學習大全網