freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于微處理器的輪式自動定位抓捕器系統(tǒng)畢業(yè)論文(編輯修改稿)

2025-07-24 20:19 本頁面
 

【文章內(nèi)容簡介】 A = 0。 //高電平時間到,控制端跳變?yōu)榈碗娖?if(Cnt == CYCLE) { ENA = 1。 Cnt=0。 } //低電平時間到 if(right==CYCLE) Cnt1=CYCLE。 //右輪控制方法同左輪一樣 else Cnt1++。 if(Cnt1==right) ENB = 0。 //高電平時間到 if(Cnt1 == CYCLE) { ENB = 1。 Cnt1=0。} //低電平時間到}由以上程序可以看出,當(dāng)Cnt(Cnt1)的小于left(right)時,控制端ENA(ENB)輸出高電平;當(dāng)Cnt(Cnt1)的大于left(right)時,控制端ENA(ENB)輸出低電平;當(dāng)Cnt(Cnt1)等于CYCLE時,則給Cnt(Cnt1)賦值為0,如此循環(huán)往復(fù)。如果left、right兩個變量中的值改變時,便會影響兩輪控制端的高電平時間,從而控制兩輪轉(zhuǎn)速。此外,轉(zhuǎn)速還受到控制循環(huán)周期的變量CYCLE的影響,CYCLE值越大,則轉(zhuǎn)速越慢,反之轉(zhuǎn)速越快。3. 控制小車動作的算法與流程圖控制小車前進的算法是編寫程序的依據(jù),是輪式自動定位抓捕器完成各動作任務(wù)的關(guān)鍵。本設(shè)計的設(shè)計算法主要體現(xiàn)在電機驅(qū)動的實現(xiàn)。輪式自動抓捕器運動過程的基本動作有:前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、掉頭、停車等。本系統(tǒng)使用兩側(cè)電機驅(qū)動,只要改變兩側(cè)電機的轉(zhuǎn)動方向,就可以實現(xiàn)這些基本動作。在主程序中,主要采用調(diào)用子程序的方式并根據(jù)路面的情況改變運動狀態(tài)來實現(xiàn)尋跡。當(dāng)調(diào)用到控制小車動作子程序時,首先子程序首先控制運動平臺停止,然后根據(jù)形參所傳遞的參數(shù)進行判斷,當(dāng)形參為0時,則運動平臺繼續(xù)保持停止?fàn)顟B(tài);當(dāng)形參為1時,則控制兩輪同速正轉(zhuǎn),運動平臺前進,當(dāng)形參為2時,則控制兩輪同速反轉(zhuǎn),運動平臺后退,當(dāng)形參為3時;則控制左輪后退、右輪前進,運動平臺左轉(zhuǎn);當(dāng)形參為4時,則控制左輪前進、右輪后退,運動平臺右轉(zhuǎn)。 控制小車動作程序流程圖 4. 小車控制子程序清單 void controlcar(unsigned int function) { IN1=0。 IN2=0。 IN3=0。 IN4=0。 delay(1)。 //將此狀態(tài)延時一段時間 switch(function) //判斷小車控制指令類型 { case 0: { //小車停止 IN1=0。 IN2=0。 IN3=0。 IN4=0。 ENA=0。 ENB=0。 DisplayListChar(0,3,carstatus6)。 //顯示字庫中的中文 break。 } case 1: //小車徑直前行 { TR0=1。left=3。right=3。 CYCLE=12。 //周期12msIN1=1。 IN2=0。 IN3=1。 IN4=0。 DisplayListChar(0,3,carstatus1)。 //顯示字庫中的中文break。 } …… //控制小車后退、左轉(zhuǎn)、右轉(zhuǎn)的程序省略 }}由程序可以看出,根據(jù)形參function的值的不同,可以控制運動平臺不同的運動狀態(tài)。同時可以根據(jù)全局變量left、right中的值調(diào)整左右輪的轉(zhuǎn)速,從而使運動平臺平穩(wěn)運動。1. 紅外對管的工作原理紅外對管分為紅外發(fā)射管和紅外接收管。,D1為紅外發(fā)射管,D2為紅外接收管。R1阻值為180Ω,可以對紅外發(fā)射管進行分壓和限流,對紅外發(fā)射管起到保護作用。(為可變電阻,最大阻值為1000Ω,調(diào)節(jié)該電阻阻值,可以對紅外發(fā)射管進行分壓和限流,改變紅外發(fā)射管所發(fā)射紅外光的強度。同時對紅外發(fā)射管的起到保護作用);R2阻值為10KΩ,其功能是將反射回來的光信號轉(zhuǎn)換成電信號。,電源上電后,D1處于持續(xù)工作狀態(tài)中,會持續(xù)發(fā)射紅外光(類似于發(fā)光二極管被點亮),當(dāng)紅外光遇到白色等對光的反射能力較強的物體被反射回來時,D2接收到紅外線,當(dāng)紅外光強度達到一定程度時,D2將導(dǎo)通(類似于三極管的導(dǎo)通過程),向單片機引腳送出低電平“0”。反之,遇到黑色等放射能力較差的物體時,向外輸出高電平“1”。 紅外對管工作原理圖2. 循跡與紅外對管的關(guān)系使用符號LeftLeft、Right和Right1依次代表小車前方四對紅外對管輸出端的狀態(tài),在程序中,CPU會不斷對單片機的I/O口進行查詢,并根據(jù)各端口電平的高低來判斷需要執(zhí)行哪個子程序。Left1LeftRightRight1控制小車狀態(tài)0000/0001右轉(zhuǎn)0010右轉(zhuǎn)0011右轉(zhuǎn)0100左轉(zhuǎn)0101/0110直行0111右轉(zhuǎn)1000左轉(zhuǎn)1001/1010/1011/1100左轉(zhuǎn)1101/1110直行1111右轉(zhuǎn)3. 循跡程序設(shè)計與流程圖循跡程序是基于遇到需右轉(zhuǎn)的道路時或小車跑偏后進行糾偏而設(shè)計的程序。小車在既定軌跡上行駛中,當(dāng)小車向左偏離黑色道路時,單片機查詢到紅外對管反饋回來的左偏信號,控制小車右轉(zhuǎn),并在12864上顯示小車狀態(tài)為“右轉(zhuǎn)”,使小車回到黑色道路上繼續(xù)行駛;向右偏離道路時,單片機同樣查詢到紅外對官反饋回來的右偏信號,控制小車左轉(zhuǎn),并在12864上顯示小車狀態(tài)為“左轉(zhuǎn)”,使小車正常行駛。本設(shè)計中,當(dāng)遇見丁字路口時,在尋跡程序中設(shè)置小車向右轉(zhuǎn)。 尋跡程序流程圖4. 循跡程序部分清單while(1){while((Left1==0)amp。amp。(Left==0)amp。amp。(Right==0)amp。amp。(Right1==1)) 。//小車左偏controlcar(4)。 //小車右轉(zhuǎn)while((Left1==1)amp。amp。(Left==0)amp。amp。(Right==0)amp。amp。(Right1==0))。 //小車右偏controlcar(3)。 //小車左轉(zhuǎn) while((Left1==0)amp。amp。(Left==1)amp。amp。(Right==0)amp。amp。(Right1==0))。 //小車右偏controlcar(3)。 //小車左轉(zhuǎn)while((Left1==0)amp。amp。(Left==1)amp。amp。(Right==1)amp。amp。(Right1==0))。 //小車未偏離controlcar(1)。 //小車直行.. .. .. //其他糾偏程序與前面類似,此處省略。 }可以看出,當(dāng)運動平臺前下方四個紅外對管送給主控芯片的信號依次為“低、低、低、高”時,說明只有最右側(cè)的紅外對管模塊能檢測到黑色軌跡,運動平臺偏向了左側(cè),因此需要向轉(zhuǎn)彎以糾正偏離狀態(tài)。,向右轉(zhuǎn)彎時,形參傳遞的值應(yīng)該是4,故調(diào)用子函數(shù)controlcar(4)來糾正偏運動平臺的左偏狀態(tài)。在程序中只需給TRIG引腳大于10us高電平,然后拉低此引腳電位,該模塊便會自動發(fā)送8個40khz的方波,并且將ECHO端置為高電平,定時器1開始計時。當(dāng)ECHO端檢測到反射回來的信號時定時器1停止計時,根據(jù)定時器1所計ECHO端高電平持續(xù)時間,可得到超聲波從發(fā)射到返回的時間,通過這個時間就可以計算測得的距離。計算公式為:距離=(高電平時間*聲速)/2。由于當(dāng)系統(tǒng)的運動平臺偏離既定路線時,超聲波模塊由于方向偏離,檢測不到貨架的位置,因此本設(shè)計中僅在移動平臺直行前進時進行測距,既提高了測距的精度,又節(jié)省了不必要的測距占用CPU的時間。當(dāng)檢測到前方貨架距離小于15cm時,則調(diào)用提升與抓捕子程序2. 超聲波測距子程序設(shè)計如下:啟動子程序:void ultrasonic(void){ StartModule()。 //計算 while(!RX)。 //當(dāng)RX為零時等待 TR1=1。 //開啟計數(shù) while(RX)。 //當(dāng)RX為1計數(shù)并等待 TR1=0。 //關(guān)閉計數(shù) Conut()。}其中,StartModule()和Conut()子程序的功能分別為啟動超聲波模塊和距離計算子,其程序清單如下:啟動超聲波模塊子程序: void StartModule() { TX=1。 //向超聲波模塊發(fā)送啟動信號 _nop_()。 //短延時約15us _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 TX=0。 }計算子程序: void Conut(void) { unsigned int a,b,c,time。 time=TH1*256+TL1。 //利用定時器1對高電平計時 TH1=0。 TL1=0。 S=time*17/100。 //算出來是MM 12M晶振if(flag==1) //超出測量,并顯示“”。 { flag=0。 DisplayOneChar( 2, 1 ,num[13])。 DisplayOneChar( 3, 1 ,num[12])。 DisplayOneChar( 4, 1 ,num[13])。 DisplayOneChar( 5, 1 ,num[13])。 } else { a=S%1000/100。 //a保存十位數(shù)字 b=S%1000%100/10。 //b保存?zhèn)€位數(shù)字 c=S%1000%100%10。 //c保存小數(shù)點后第一位數(shù)字}}測量距離的原理是:聲波在空氣中的傳播速度來為340m/s,只需要知道聲波的傳播時間t就可以計算得到傳播距離長度。本設(shè)計采用STC89C52主控芯片以及12M的晶振,其定時器每計一個脈沖的時間是1us,故距離計算公式為:s= t *17/100 (41)單位是mm。當(dāng)所測距離在精度范圍內(nèi)時,則顯示距離,取出所測距離的百位、十位以及個位的值,分別保存在變量a、b、c中,并在LCD12864上顯示出來。 抓捕與提升模塊的軟件設(shè)計抓捕與提升模塊實為兩個模塊,即抓捕模塊和提升模塊。為控制方便,將兩個模塊的程序?qū)懺诹送蛔映绦蛑?,故在此集中介紹。1. 舵機的控制抓捕模塊為避免損傷貨物,需要對角度進行精確控制,故使用舵機對抓手進行控制,本設(shè)計中采用輝盛MG946R舵機進行控制。舵機的控制一般需要一個20ms的時基脈沖,—,以90176。角度伺服為例,那么對應(yīng)的控制關(guān)系是這樣的:176。176。176。如果舵機精度夠高,則轉(zhuǎn)動的角度與高電平的寬度就會接近一次函數(shù)Y=。:本設(shè)計采用定時器2產(chǎn)生100us精確延時,循環(huán)200次,即可得到20ms的時基周期。如程序清單所示,變量pwm_val ++中的值與push_val進行比較,當(dāng)pwm_val ++小于 push_val 中的值時,向舵機控制端口輸出高電平。當(dāng)pwm_val ++中的值大于 push_val 中的值時,高電平時間到,向舵機控制端口輸出低電平。另外,當(dāng)pwm_val ++中的值大于200時,則給pwm_val ++賦值為0,
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1