針對傳統方法難以整定船載雷達伺服系統PID參數的問題,將模糊參數自整定PID控制技術應用到伺服系統位置回路中,通過仿真實驗表明該方法可以不依賴系統的數學模型,而根據輸入輸出關系對PID參數進行在線調整,自動調整環路帶寬,調高系統的動態性能和穩態性能,具有很強的魯棒性和自適應性。
上傳時間: 2013-11-13
上傳用戶:shfanqiwei
論文以Altera公司的Cyclone II系列EP2CSQ208為核心芯片,構建基于FPGA的SOPC嵌入式硬件平臺,并以此平臺為基礎深入研究SOPC嵌入式系統的硬件設計和軟件開發方法,詳細測試和驗證系統存儲模塊和外圍模塊。同時以嵌入式處理器IP核NioslI為核心,設計出基于NioslI的視覺控制軟件。在應用中引入pc/os.II實時操作系統,介紹了實時操作系統I_tc/OS.II的相關概念和移植方法,設計了相關底層軟件及軌跡圖像識別算法,將具體應用程序劃分成多個任務,最終實現了視覺圖像的實時處理及小車的實時控制。 在本設計中,圖像采集部分利用SAA7111A視頻解碼芯片完成視頻信號的采集,利用FPGA完成復雜高速的邏輯控制及時序設計,將采集的數字視頻信號存儲在外擴存儲器SRAM中,以供后續圖像處理。 在構建NioslI CPU時,自定制了SRAM控制器、irda紅外接口、OC i2c接口、PWM接口和VGA顯示接口等相關外設組件,提供了必要的人機及控制接口,方便系統的控制及調試。
上傳時間: 2013-11-13
上傳用戶:chenhr
信陽華豫電廠一期工程(2×300MW)燃煤機組輔助車間控制系統(BOP)覆蓋了水、煤、灰等共11個輔助車間子系統的監控,下設補給水、精處理、干除灰、電除塵、制氫站、除灰渣、輸煤程控等八個就地監控點,集中監控點設在主機集控室里,設有3臺冗余獨立的具有開發功能的操作員站,打破了傳統的全廠輔助車間運行管理模式,真正實現了投資方減員增效的要求和目的。本項目由武漢力特自控科技發展有限公司承建,在承包商和投資方的共同努力下,整個項目周期歷時2個月零21天順利按計劃完成,在整個實施過程中,邊發電邊改造創造了零事故、不斷電、不停機的改造優秀成績,特別是實施過程中投資方和承包商的領導提出“確保安全發電第一”的指示起到重要作用,自2007年7月正式移交生產運行以來,控制系統運行情況良好,新的管理模式帶來了明顯安全經濟效益,提升了全廠運行管理水平。
上傳時間: 2013-10-13
上傳用戶:座山雕牛逼
QX5305 是一款高效率,穩定可靠的高亮度LED燈驅動控制IC,內置高精度比較器,off-time控制電路,恒流驅動控制電路等,特別適合大功率,多個高亮度LED燈串恒流驅動。 QX5305采用固定off-time控制工作方式,其工作頻率可高達2.5MHz,可使外部電感和濾波電容、體積減少,效率提高。 在DIM腳加PWM信號,可調節LED燈的亮度。 通過調節外置的電阻,能控制高亮度LED燈的驅動電流,使LED燈亮度達到預期恒定亮度,流過高亮度LED燈的電流可從幾毫安到2安培變化。 方框圖: 管腳排列圖: QX5305的特性 可編程驅動電流,最高可達2A 高效率:最高達95% 寬輸入電壓范圍:2.5V~36V 高工作頻率:2.5MHz 工作頻率可調:500KHz~2.5MHz 驅動LED燈功能強:LED燈串可從1個到幾十個LED高亮度燈 亮度可調:通過EN端PWM,調節LED燈亮度 QX5305應用范圍 干電池供電LED燈串 LED燈杯 RGB大顯屏高亮度LED燈 平板顯示器LED背光燈 恒流充電器控制 通用恒流源。 工作原理簡述: QX5305 采用峰值電流檢測和固定off-time控制方式。片內的R-S觸發器分別由off-time定時器置位和CS比較器、FB比較復位,它控制外部MOSFET管并和功率電感 L、LED、肖特基二極管共同構成一個自振蕩的,連續電感電流模式的升壓型恒流LED驅動電路(參見圖1)。 除了固定off-time控制這點外,QX5305的工作方式和普通的電流模式PWM控制型DC/DC升壓電路非常相似。當工作在連續電流模式下時,流過功率電感的電流IL如圖所示:
上傳時間: 2013-10-26
上傳用戶:TF2015
注:1.這篇文章斷斷續續寫了很久,畫圖技術也不精,難免錯漏,大家湊合看.有問題可以留言. 2.論壇排版把我的代碼縮進全弄沒了,大家將代碼粘貼到arduino編譯器,然后按ctrl+T重新格式化代碼格式即可看的舒服. 一、什么是PWM PWM 即Pulse Wavelength Modulation 脈寬調制波,通過調整輸出信號占空比,從而達到改 變輸出平均電壓的目的。相信Arduino 的PWM 大家都不陌生,在Arduino Duemilanove 2009 中,有6 個8 位精度PWM 引腳,分別是3, 5, 6, 9, 10, 11 腳。我們可以使用analogWrite()控 制PWM 腳輸出頻率大概在500Hz 的左右的PWM 調制波。分辨率8 位即2 的8 次方等于 256 級精度。但是有時候我們會覺得6 個PWM 引腳不夠用。比如我們做一個10 路燈調光, 就需要有10 個PWM 腳。Arduino Duemilanove 2009 有13 個數字輸出腳,如果它們都可以 PWM 的話,就能滿足條件了。于是本文介紹用軟件模擬PWM。 二、Arduino 軟件模擬PWM Arduino PWM 調壓原理:PWM 有好幾種方法。而Arduino 因為電源和實現難度限制,一般 使用周期恒定,占空比變化的單極性PWM。 通過調整一個周期里面輸出腳高/低電平的時間比(即是占空比)去獲得給一個用電器不同 的平均功率。 如圖所示,假設PWM 波形周期1ms(即1kHz),分辨率1000 級。那么需要一個信號時間 精度1ms/1000=1us 的信號源,即1MHz。所以說,PWM 的實現難點在于需要使用很高頻的 信號源,才能獲得快速與高精度。下面先由一個簡單的PWM 程序開始: const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { if((bright++) == 255) bright = 0; for(int i = 0; i < 255; i++) { if(i < bright) { digitalWrite(PWMPin, HIGH); delayMicroseconds(30); } else { digitalWrite(PWMPin, LOW); delayMicroseconds(30); } } } 這是一個軟件PWM 控制Arduino D13 引腳的例子。只需要一塊Arduino 即可測試此代碼。 程序解析:由for 循環可以看出,完成一個PWM 周期,共循環255 次。 假設bright=100 時候,在第0~100 次循環中,i 等于1 到99 均小于bright,于是輸出PWMPin 高電平; 然后第100 到255 次循環里面,i 等于100~255 大于bright,于是輸出PWMPin 低電平。無 論輸出高低電平都保持30us。 那么說,如果bright=100 的話,就有100 次循環是高電平,155 次循環是低電平。 如果忽略指令執行時間的話,這次的PWM 波形占空比為100/255,如果調整bright 的值, 就能改變接在D13 的LED 的亮度。 這里設置了每次for 循環之后,將bright 加一,并且當bright 加到255 時歸0。所以,我們 看到的最終效果就是LED 慢慢變亮,到頂之后然后突然暗回去重新變亮。 這是最基本的PWM 方法,也應該是大家想的比較多的想法。 然后介紹一個簡單一點的。思維風格完全不同。不過對于驅動一個LED 來說,效果與上面 的程序一樣。 const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { digitalWrite(PWMPin, HIGH); delayMicroseconds(bright*30); digitalWrite(PWMPin, LOW); delayMicroseconds((255 - bright)*30); if((bright++) == 255) bright = 0; } 可以看出,這段代碼少了一個For 循環。它先輸出一個高電平,然后維持(bright*30)us。然 后輸出一個低電平,維持時間((255-bright)*30)us。這樣兩次高低就能完成一個PWM 周期。 分辨率也是255。 三、多引腳PWM Arduino 本身已有PWM 引腳并且運行起來不占CPU 時間,所以軟件模擬一個引腳的PWM 完全沒有實用意義。我們軟件模擬的價值在于:他能將任意的數字IO 口變成PWM 引腳。 當一片Arduino 要同時控制多個PWM,并且沒有其他重任務的時候,就要用軟件PWM 了。 多引腳PWM 有一種下面的方式: int brights[14] = {0}; //定義14個引腳的初始亮度,可以隨意設置 int StartPWMPin = 0, EndPWMPin = 13; //設置D0~D13為PWM 引腳 int PWMResolution = 255; //設置PWM 占空比分辨率 void setup() { //定義所有IO 端輸出 for(int i = StartPWMPin; i <= EndPWMPin; i++) { pinMode(i, OUTPUT); //隨便定義個初始亮度,便于觀察 brights[ i ] = random(0, 255); } } void loop() { //這for 循環是為14盞燈做漸亮的。每次Arduino loop()循環, //brights 自增一次。直到brights=255時候,將brights 置零重新計數。 for(int i = StartPWMPin; i <= EndPWMPin; i++) { if((brights[i]++) == PWMResolution) brights[i] = 0; } for(int i = 0; i <= PWMResolution; i++) //i 是計數一個PWM 周期 { for(int j = StartPWMPin; j <= EndPWMPin; j++) //每個PWM 周期均遍歷所有引腳 { if(i < brights[j])\ 所以我們要更改PWM 周期的話,我們將精度(代碼里面的變量:PWMResolution)降低就行,比如一般調整LED 亮度的話,我們用64 級精度就行。這樣速度就是2x32x64=4ms。就不會閃了。
上傳時間: 2013-10-23
上傳用戶:mqien
lcd 與C51 的驅動程序 1、本實驗箱采用的液晶顯示屏內置控制器為SED1520,點陣為122x32,由兩片SED1520組成,由E1、E2分別選通,控制顯示屏的左右兩半屏。
上傳時間: 2015-03-18
上傳用戶:123456wh
1、本實驗箱采用的液晶顯示屏內置控制器為SED1520,點陣為122x32,由兩片SED1520組成,由E1、E2分別選通,控制顯示屏的左右兩半屏。
上傳時間: 2013-12-10
上傳用戶:erkuizhang
連軋過程控制仿真程序,其中包括用自適應遺傳算法進行優化的代碼
上傳時間: 2013-12-31
上傳用戶:jeffery
本程序來自TI公司網站原程序,其功能是通過傳統的矢量控制算法來實現對永磁同步電機的控制,矢量控制采用雙閉環結構,內環為電流環,外環為速度環,其速度的獲得是靠滑模自適應算法求得。是一個不可多得無速度傳感器矢量控制例程??刂瞥绦蚩梢圆捎?asm也可以采用.C。程序的具體算法和介紹在軟件壓縮包有詳細介紹!
上傳時間: 2015-04-29
上傳用戶:zl5712176
ptr8000原理 應用 專為點對多點無線通信設計 內置數據協議和CRC檢錯,無亂碼輸出載波監測輸出。點對多點通信硬件控制,全面升級代替PTR2000系列無線模塊
上傳時間: 2015-05-26
上傳用戶:dragonhaixm