智能尋跡避障小車電機控制程序設計分析_第1頁
智能尋跡避障小車電機控制程序設計分析_第2頁
智能尋跡避障小車電機控制程序設計分析_第3頁
智能尋跡避障小車電機控制程序設計分析_第4頁
智能尋跡避障小車電機控制程序設計分析_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、智能尋跡小車設計與制作 (電機控制程序設計),湖南創博龍智信息科技有限公司,主講:雷道仲,任務一:控制電機旋轉 要求: 學員編寫程序,按順序實現電機順時針、逆時針、停轉功能,電機旋轉模式實現5秒4秒3秒自然切換,即電機順時針旋轉5秒后自動切換到逆時針,逆時針4秒后切換到停轉,停轉3秒后回到順時針,周而復始。,湖南創博龍智信息科技有限公司,任務及要求,電機控制模塊共設置了兩個任務,分別如下:,任務二:按鍵控制電機旋轉 學員編寫程序代碼實現如下功能:當按下S1時,直流電機順時針旋轉;當按下S2時,直流電機逆時針旋轉。,湖南創博龍智信息科技有限公司,任務及要求,電機控制模塊共設置了兩個任務,分別如下

2、:,湖南創博龍智信息科技有限公司,1.1 任務一:控制電機旋轉,1.1.1 電機控制電路,圖1 電機控制電路,1.1.2 直流電機H橋驅動電路工作原理,湖南創博龍智信息科技有限公司,本設計中直流電機H橋驅動電路由驅動芯片L293D完成,在L293D內部形成一個H橋型的驅動驅動電路,類似如圖2所示。圖中用開關模擬電機信號通斷,在實際的控制中是采用晶體三極管來完成此功能,可參見圖3所示的電機控制示意圖。此處只是為簡述控制原理,所以用開關模擬電機工作過程。,1.1.2 直流電機H橋驅動電路工作原理,湖南創博龍智信息科技有限公司,圖2 H橋驅動電機電路,湖南創博龍智信息科技有限公司,從圖中可以看出,其

3、形狀類似于字母“H”,而作為負載的直流電機是像“橋”一樣架在上面的,所以稱之為“ H 橋驅動”。4個開關所在位置就稱為“橋臂”。 從電路中不難看出,假設開關A、D接通,電機為正向轉動,則開關B、C接通時,直流電機將反向轉動。從而實現了電機的正反向驅動。借助這4個開關還可以產生電機的另外2個工作狀態:,1.1.2 直流電機H橋驅動電路工作原理,湖南創博龍智信息科技有限公司,(1) 剎車 將B 、D開關(或A、C)接通,則電機慣性轉動產生的電勢將被短路,形成阻礙運動的反電勢,形成“剎車”作用。 (2) 惰行 4個開關全部斷開,則電機慣性所產生的電勢將無法形成電路,從而也就不會產生阻礙運動的反電勢,

4、電機將慣性轉動較長時間。,1.1.2 直流電機H橋驅動電路工作原理,湖南創博龍智信息科技有限公司,圖3 電機控制示意圖電路,1.1.2 直流電機H橋驅動電路工作原理,湖南創博龍智信息科技有限公司,表1 電機控制狀態表,1.1.2 直流電機H橋驅動電路工作原理,湖南創博龍智信息科技有限公司,表2 智能小車運行狀態表,1.1.2 直流電機H橋驅動電路工作原理,湖南創博龍智信息科技有限公司,電機控制端口定義:sbit zuo1=P00; sbit zuo2=P01; sbit you1=P02; sbit you2=P03; 控制函數:void qian() zuo1=0; zuo2=1; /左邊往

5、前 you1=0; you2=1; /右邊往前 ,1.1.2 直流電機H橋驅動電路工作原理,湖南創博龍智信息科技有限公司,控制函數:void hou() zuo1=1; zuo2=0; /左邊往后 you1=1; you2=0; /右邊往后 void zuo() zuo1=1; zuo2=0; /左邊往后 you1=0; you2=1; /右邊往前 ,1.1.2 直流電機H橋驅動電路工作原理,湖南創博龍智信息科技有限公司,控制函數:void you() zuo1=0; zuo2=1; /左邊往前 you1=1; you2=0; /右邊往后 void ting() zuo1=1; zuo2=1;

6、 /左邊停止 you1=1; you2=1; /右邊停止 ,1.1.2 直流電機H橋驅動電路工作原理,湖南創博龍智信息科技有限公司,1.1.3 參考程序流程圖,圖4 程序流程圖,湖南創博龍智信息科技有限公司,#include #define uint unsigned int #define uchar unsigned char sbit zuo1=P00; sbit zuo2=P01; sbit you1=P02; sbit you2=P03; void delay(uint x) uchar i; while(x-) for(i=0;i123;i+); ,1.1.4 程序代碼,湖南創博龍

7、智信息科技有限公司,void qian() zuo1=0; zuo2=1; /左邊往前 you1=0; you2=1; /右邊往前 void hou() zuo1=1; zuo2=0; /左邊往后 you1=1; you2=0; /右邊往后 ,1.1.4 程序代碼,湖南創博龍智信息科技有限公司,void zuo() zuo1=1; zuo2=0; /左邊往后 you1=0; you2=1; /右邊往前 void you() zuo1=0; zuo2=1; /左邊往前 you1=1; you2=0; /右邊往后 ,1.1.4 程序代碼,湖南創博龍智信息科技有限公司,void ting() zuo

8、1=1; zuo2=1; you1=1; you2=1; main() while(1) qian(); delay(922*5); hou(); delay(922*4); ting(); delay(922*3); ,1.1.4 程序代碼,湖南創博龍智信息科技有限公司,2.1.1 按鍵控制電機原理圖,圖5 按鍵控制電機旋轉電路,2.1 任務二:按鍵控制電機旋轉,湖南創博龍智信息科技有限公司,2.1.2 參考程序流程圖,圖6 程序流程圖,湖南創博龍智信息科技有限公司,#include #define uint unsigned int #define uchar unsigned char

9、sbit zuo1=P00; sbit zuo2=P01; sbit you1=P02; sbit you2=P03; sbit SB1=P32; sbit SB2=P34; void delay(uint x) uchar i; while(x-) for(i=0;i123;i+); ,2.1.3 參考程序代碼,湖南創博龍智信息科技有限公司,void qian() zuo1=0; zuo2=1; /左邊往前 you1=0; you2=1; /右邊往前 void hou() zuo1=1; zuo2=0; /左邊往后 you1=1; you2=0; /右邊往后 ,2.1.3 參考程序代碼,湖南創博龍智信息科技有限公司,void zuo() zuo1=1; zuo2=0; /左邊往后 you1=0; you2=1; /右邊往前 void you() zuo1=0; zuo2=1; /左邊往前 you1=1; you2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論