該設計采用單片機AT89S52作為電動車的檢測和控制核心(控制器),實現電動車的路線識別、蹺蹺板平衡檢測等功能。同時通過反射式光電傳感器識別與地面顔色有較大差別的導引線,并采用直流電機作為驅動電機;以及角度傳感器來對蹺蹺板角度進行測量,得到0~5V模擬電壓信號,通過 TLC549CP進行模數轉換,從而使電動車控制器可以正確判斷平衡點位置,精確控制板面平衡。該設計應用PWM(脈沖寬度調制)對電機轉速進行控制,以及編碼傳感器對電動車速度進行監控,并將監控結果實時反饋到控制器,對車速進行誤差調整,實現閉環控制,以達到精確控制的目的。應用74LS164進行靜態顯示來減少控制器的處理時間。
上傳時間: 2017-09-09
上傳用戶:songrui
一個自適應控制方面的資料
標簽: matlab
上傳時間: 2015-03-16
上傳用戶:jingchao
模糊動態規劃法(FDP)的提出是為了解決配電站的無功功率、電壓控制問題。主要目的是提高二級總線上的電壓分布以及同時抑制主變壓器的無功功率流入。為了達到我們的目標,變壓器分接頭通常安裝在主變壓器上,用來調整二次電壓,連接在二級總線上的電容器用來補償負荷所需求的無功潮流。我們首先預測主變壓器的有功和無功的功率要求以及第二天的主電壓。利用手邊的預測數據,快速地產生了一個LTC分接頭位置的估算公式,這個估算公式考慮了負荷模型,有效地降低了該方法的計算負擔。把對母線電壓的實際限制,一天之中主電壓器的LTC開關操作所允許的最大次數和電容器承受的最差功率因素都納入了考慮。為了證明該方法的有效性,對臺北市臺灣電力公司的辦公服務區域內的配電站電壓無功控制進行了研究。結果表明,可以通過此方法對LTC和電容器進行適當的調度。
標簽: 配電 無功控制
上傳時間: 2015-03-29
上傳用戶:dada_yj_1118
ADT-850運動控制卡說明書 ADT850 卡是基于 PCI 總線的高性能四軸伺服/步進控制卡,支持一個 系統中使用多達 16 塊控制卡,可控制 64 路伺服/步進電機,支持即插即用, 位置可變環形,可在運動中隨時改變速度,可使用連續插補等先進功能。
上傳時間: 2015-04-27
上傳用戶:xuchaowei123
舵機是一種位置(角度)伺服的驅動器,適用于那些需要角度不斷變化并可以保持的控制系統。目前在高檔遙控玩具,如航模,包括飛機模型,潛艇模型;遙控機器人中已經使用得比較普遍。舵機是一種俗稱,其實是一種伺服馬達。
標簽: 舵機 控制
上傳時間: 2015-05-30
上傳用戶:yxk070890
電動舵機(EMA)由于具有結構簡單、重量輕、負載特性好和可靠性高等優點,因而在 無人駕駛飛機(UAV)、導彈、航天器等飛行器中得到越來越廣泛的應用。 傳統 PID 控制以其實時性好、易于實現等特點廣泛應用于控制系統,只要正確設定參 數,PID 控制器便可實現其作用,但由于舵機系統存在著非線性、時變性等不確定因素,此 時,PID 的控制效果將難于達到預期的目標。而模糊控制對控制對象的非線性、時變性等具 有較強的適應能力,其靈活性和魯棒性較好,并且控制簡單,在電機控制領域應用非常廣 泛。但在模糊控制的系統中很難完全消除穩態誤差,一般情況下,控制精度不太理想。 針對上述兩種控制器的特點,為了提高舵機位置伺服系統的控制性能,本文設計了一 種模糊自適應 PID 控制器,兼顧了兩種控制方法的優點,通過模糊規則進行推理和決策, 在線整定 PID 控制器的三個參數,實驗結果表明,該控制器結構簡單,效果良好。
上傳時間: 2016-04-27
上傳用戶:547453159
PMSM入門必看!!!!!!!!!!1,卡爾曼濾波無位置傳感器控制
上傳時間: 2017-07-18
上傳用戶:MIAOMAOYU
在本課中,我們要用一個按鍵來實現跑馬燈的 10 級調速。這又會涉及到鍵的去抖的問 題。 本課的試驗結果是,每按一次按鍵,跑馬速度就降低一級,共 10 級。 這里我們又增加了一個變量 speedlever,來保存當前的速度檔次。 在按鍵里的處理中,多了當前檔次的延時值的設置。 請看程序: ―――――――――――――――― #define uchar unsigned char //定義一下方便使用 #define uint unsigned int #define ulong unsigned long #include <reg52.h> //包括一個 52 標準內核的頭文件 sbit P10 = P1^0; //頭文件中沒有定義的 IO 就要自己來定義了 sbit P11 = P1^1; sbit P12 = P1^2; sbit P13 = P1^3; sbit K1= P3^2; bit ldelay=0; //長定時溢出標記,預置是 0 uchar speed=10; //設置一個變量保存默認的跑馬燈的移動速度 uchar speedlever=0; //保存當前的速度檔次 char code dx516[3] _at_ 0x003b;//這是為了仿真設置的 //一個按鍵控制的 10 級變速跑馬燈試驗 void main(void) // 主程序 { uchar code ledp[4]={0xfe,0xfd,0xfb,0xf7};//預定的寫入 P1 的值 uchar ledi; //用來指示顯示順序 uint n; RCAP2H =0x10; //賦 T2 的預置值 0x1000,溢出 30 次就是 1 秒鐘 RCAP2L =0x00; TR2=1; //啟動定時器 ET2=1; //打開定時器 2 中斷 EA=1; //打開總中斷 while(1) //主程序循環 { if(ldelay) //發現有時間溢出標記,進入處理 { ldelay=0; //清除標記 P1=ledp[ledi]; //讀出一個值送到 P1 口 ledi++; //指向下一個 if(ledi==4) { ledi=0; //到了最后一個燈就換到第一個 } } if(!K1) //如果讀到 K1 為 0 { for(n=0;n<1000;n++); //等待按鍵穩定 while(!K1); //等待按鍵松開 for(n=0;n<1000;n++); //等待按鍵穩定松開 speedlever++; if(speedlever==10)speedlever=0; speed=speedlever*3; //檔次和延時之間的預算法則,也可以用查表方法,做出 不規則的法則 } } } //定時器 2 中斷 timer2() interrupt 5 { static uchar t; TF2=0; t++; if((t==speed)||(t>30)) //比較一個變化的數值,以實現變化的時間溢出,同時限制了最慢速 度為 1 秒 { t=0; ldelay=1;//每次長時間的溢出,就置一個標記,以便主程序處理 } } ―――――――――――――――――――――― 請打開 lesson11 目錄的工程,編譯,運行,看結果: 按 K1,速度則降低一次,總共 10 個檔次。
上傳時間: 2017-11-06
上傳用戶:szcyclone
LED 一般是恒流操作的,如何改變 LED 的亮度呢?答案就是 PWM 控制。在一定的 頻率的方波中,調整高電平和低電平的占空比,即可實現。比如我們用低電平點亮一個 LED 燈,我們假設把一個頻率周期分為 10 個時間等份,如果方波中的高低電平占空比是 9:1, 這是就是一個比較暗的亮度,如果方波中高低電平占空比是 10:0,這時,全部是高電平, 燈是滅的。如果占空比是 5:5,就是一個中間亮度,如果高低比是 1:9,是一個比較亮的 亮度,如果高低是 0:10,這時全部是低電平,就是最亮的。 實際上應用中,電視屏幕墻中的幾十百萬 LED 象素都是這樣控制的,而且每一個象素 都有紅綠藍 3 個 LED,每個 LED 可以變化的亮度是幾百到幾萬或者更多的級別,以實現真 彩色的顯示。還有在您的手機中,背光燈的亮度如果是可以變化的,也應該是這種工作方式。 目前的城市彩燈也有很多都使用了 LED,需要控制亮度是也是 PWM 控制。 下面來分析我們的例程,在這個例程中,我們將定時器 2 溢出定為 1/1200 秒。每 10 次脈沖輸出一個 120HZ 頻率。這每 10 次脈沖再用來控制高低電平的 10 個比值。這樣,在 每個 1/120 秒的方波周期中,我們都可以改變方波的輸出占空比,從而控制 LED 燈的 10 個 級別的亮度。 為什么輸出方波的頻率要 120HZ 這么高?因為如果頻率太低,人眼就會看到閃爍感 覺。一般起碼要在 60HZ 以上才感覺好點,120HZ 就基本上看不到閃爍,只能看到亮度的變 化了。 下面請看程序,程序中有比較多的注釋: ――――――――――――――――――――――― #define uchar unsigned char //定義一下方便使用 #define uint unsigned int #define ulong unsigned long #include <reg52.h> //包括一個 52 標準內核的頭文件 sbit P10 = P1^0; //要控制的 LED 燈 sbit K1= P3^2; //按鍵 K1 uchar scale;//用于保存占空比的輸出 0 的時間份額,總共 10 份 char code dx516[3] _at_ 0x003b;//這是為了仿真設置的 //模擬 PWM 輸出控制燈的 10 個亮度級別 void main(void) // 主程序 { uint n; RCAP2H =0xF3; //賦 T2 的預置值,溢出 1 次是 1/1200 秒鐘 RCAP2L =0x98; TR2=1; //啟動定時器 ET2=1; //打開定時器 2 中斷 EA=1; //打開總中斷 while(1) //程序循環 { ;//主程序在這里就不斷自循環,實際應用中,這里是做主要工作 for(n=0;n<50000;n++); //每過一會兒就自動加一個檔次的亮度 scale++; if(scale==10)scale=0; } } //1/1200 秒定時器 2 中斷 timer2() interrupt 5 { static uchar tt; //tt 用來保存當前時間在一秒中的比例位置 TF2=0; tt++; if(tt==10) //每 1/120 秒整開始輸出低電平 { tt=0; if(scale!=0) //這里加這一句是為了消除滅燈狀態產生的鬼影 P10=0; } if(scale==tt) //按照當前占空比切換輸出高電平 P10=1; } ―――――――――――――――――― 在主程序中,每延時一段時間,就自動換一個占空比,以使亮度自動變化,方便觀察。 編譯,運行,看結果。 可以看到,LED 的亮度以每種亮度 1 秒左右不斷變化,共有 10 個級別。
上傳時間: 2017-11-06
上傳用戶:szcyclone
通過位置環 速度環 電流環控制電機的正反轉 閉環控制
上傳時間: 2018-04-23
上傳用戶:這不是那個啥