【正文】
當不 錯的 USB 轉串口芯片。當三個中的一個或多個(障礙物較大)接收部分的傳感器,就能根據反射回來的紅外線進行自動的調整,從而使小車的運行軌跡達到自動避障的目的。傳感器采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成,輸出信號經施密特電路整形,穩(wěn)定可靠 。 其最大檢測距離往往和被檢物的尺寸、形狀、顏色及表面狀態(tài)有關。 光電傳感器是利用被檢測物對光束的遮擋或反射,由同步回路選通電路,從而檢測物體有無的 [15]。 所以將 L297 與 L298n 同時相連組成的步進電機驅動電路,無論對硬件的系統(tǒng)集成和控制軟件,都是省時省力的事,因為組合后每只步進電機只需步進脈沖、正反轉兩個信號便行。 本設計中選用的是 42HS02 型 兩相四線步進電機,它 有 多 種控制方式 ,本設計中采用的是 雙二拍整步方式,即采用通電次序兩相,四拍: (+A)(+B)(A)(+B)(A)(B)(+A)(B)— 。 但是,這種電機也有自身的缺點。它必須由雙環(huán)形脈沖信號、功率驅動電路等組成控制系統(tǒng)方可使用。 圖 36 單片機穩(wěn)壓電路圖 步進電機介紹 步進電機的概述 步進電機是一種將電脈沖轉化為角位移的執(zhí)行機構 [9]。 AMS1117 的片上微調把基準電壓調整到 %的誤差以內,而且電流限 制也得到了調整,以盡量減少因穩(wěn)壓器和電源電路超載而造成的壓力。 Y1 也可以采用 6MHz 或者 ,在正常工作的情況下可以采用更高頻率的晶振, 51 單片機最小系統(tǒng)晶振的振蕩頻率直接影響單片機的處理速度,頻率越大處理速度越快。 單片機選用 目前應用 廣泛的單 片機為 51 系列單片機, 89C52 單片機的內部 RAM、 ROM 要大于 89C51 單片機,能允許更大的程序運行,并且其它一些指標要優(yōu)于后者,故本設計選用了前者作為主控制芯片。 單片機的應用領域 目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。 其主要特點如下 : ( 1)片內存儲容量較小 :原因是受集成度的限制。因此還可以讓小車設計實現(xiàn)循跡與避障兩個功能,讓小車在接收傳感器反饋信號的情況下,完成預想的任務。 其次,單片機包括很多種類,在大致了解單片機之后應該為設計選擇一款合適的單片機,之后再對這款單片機經行深入研究,了解這款單片機的各項參數與內部構造,才能知道單片機與其他芯片的連接方法。它是用電脈沖信號進行控制,將電脈沖信號轉換成相應的角位移或線位移的微電動機 ,它最突出的優(yōu)點是可以在寬廣的頻率范圍內通過改變脈沖頻率來實現(xiàn)調速,快速起停、正反轉控制及制動等,并且用其組成的開環(huán)系統(tǒng)既簡單、廉價,又非常可行,因此在打印機等辦公自動化設備以及各種控制裝置等眾多領域有著極其廣泛的應用。 ( 2) 位置誤差不會積累 。 關鍵詞: STC89C52;步進電機;步進電機驅動電路 ;循跡;避障 Stepping motor vehicles drive system design based on SingleChip Microputer Abstract This design with STC89C52 SCM smallest system as the core, designed a two phase fourwire stepping motor drive circuit. The whole system by single chip microputer control stepping motor drives the output signal, to control the motion of the stepper motor, and realizes the car to walk. Articles including the stepper motor are turning, inversion, acceleration, deceleration, these basic rotation, and on this basis at the same time control two stepper motors, implement the car move forward, backward, turn left and turn right. And add some on the car sensor module, MCU to normal driving stepping motor, drive car corresponding tasks at the same time, according to the feedback of sensor module, the correction unceasingly, until the task to realize the car tracking and obstacle avoidance function. At this point to prove the feasibility of the designed driver circuit. Not only included in the article based on step motor drive circuit of single chip microputer extended circuit, also included for MCU power supply 5 v voltage regulator circuit analysis and design, and make the microcontroller serial port and the puter USB interface directly municate superior mechanical and electrical design of the road. Keywords: STC89C52。整個系統(tǒng)通過單片機控制步進電機驅動器的輸出信號,對步進電機的動作進行控制,進而實現(xiàn)小車的行走動作。 tracking。 步進電機的品種規(guī)格很 多 , 按照它們的結構和工作原理可以劃分為磁 阻式 (也稱反應式或變磁阻式 )電機、混合式電機、永磁式電機和特種電機等四種主要型式。可以通過控制脈沖個數來控制角位移量,從而精確地控 制轉動角度;同時可以通過控制脈沖頻率來控制電機轉動的角度和加速度,從而達到調速的目的。可以通過控制脈沖個數來控制角位移量,從而達到準確定位的目的;第 2 章 系統(tǒng)總體設計 3 同時可以通過控制脈沖頻率來控制電機轉動的正反與速度及兩個電機之間的協(xié)調配合,從而達到控制目的。 經過 20 多年的推廣與發(fā)展, 51 系列單片機形成了以個規(guī)模龐大、功能齊全、資源豐富的產品群。系統(tǒng)軟件 (如 :程序指令 ,常數 ,表格 )固化在 ROM 中,不易受病毒破壞。例如工廠流水線的智能化管 理,電梯智能化控制、各種報警系統(tǒng),與計算機聯(lián)網構成二級控制系統(tǒng)等。它的主要功能特性如下 [6]: MCS51 指令系統(tǒng) 可反 復擦寫 (大于 1000 次) Flash ROM; 個雙向 I/O 口; 內部 RAM; 個 16 位可編程定時 /計數器中斷; 024MHz; 個串行中斷,可編程 UART 串行通道; 個外部中斷源,共 8 個中斷源; 個讀寫中斷口線, 3 級加密位; ,軟件設置睡眠和喚醒功能; PDIP、 PQFP、 TQFP 及 PLCC 等幾種封裝形式,以適應不同產品的需求。但只有信號不能驅動外加模塊,因此在外接引腳的旁邊另接一排同樣數量引腳的排母,并且接 5V 的電源,與同樣數量的接地的排母。對于固電壓版本,可采用更小的電容,具體可根據實際應用確定。 步進電機也是將電脈沖信號轉變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。 3.沒有角累積誤差。 SA 通電時 A 磁極接通,產生磁場,吸引轉子 2 靠近磁極 A;之后 SA 斷開, SB 接通,產生磁場,吸引轉子 3 靠近磁極 B;接著 SB斷開, SC 接通產生磁場,吸引轉子 4 靠近磁極 C,周而復始電機就會旋轉。 步進電機驅動器的設計 常用的步進電機的驅動芯片有兩種,一種是 L297,另一種是 L298n[14]。在電路圖中 in in2 與 in3 是分別接收由單片機輸出的信號的端口, in1 接收使能控制信號, in2 接收方向控制信號, in3 接收時鐘控制信號, in in2 與 in3 分別與單片機的 P1^0、P1^ P1^2 口相連。光束不間斷地發(fā)射,或者改變脈沖寬度。 被檢物與背景的色差如何周圍環(huán)境光強如何,是否存在自然光或人工照明檢測線路上是否有灰塵,灰塵會大大減小光電傳感器的檢測距離。如圖 310 所示。 上位機電路設計 對于一些需要計算機與單片機通信的場合來說,電腦的串口非常重要,例如很多設備都必須采用串口和電腦端軟件連接,很多電路模塊可以非常直觀方便地利用串口調試軟件進行調試,很多儀器必須通過串口進行通訊和數據交換 [17]。為了防止高速信號在端口附近產生反射現(xiàn)象 , 需要在 USB 端口引腳 D1 和 D2 上分別接上一個阻值為 18Ω左右的終端匹配電阻。 3. 下載串口選擇。 基于單片機的步進電機小車 控制 系統(tǒng)設計 20 } 方向控制子函數: void move_left(uint speed_l,uchar cw,uchar en) { speed=speed_l。 void timer1_serve() interrupt 3 { TH1=(65536100)/256。具體 具體程序見附錄Ⅰ。 基于單片機的步進電機小車 控制 系統(tǒng)設計 22 開 始初 始 化啟 動 小 車 前 行是 否 遇 到 障 礙前 方 有 障 礙避 前 方 障礙 子 程 序右 前 方 有 障 礙左 前 方 有 障 礙避 右 前 方 障礙 子 程 序避 左 前 方 障礙 子 程 序NY是 否 結 束NY結 束 圖 42 避障流程圖 第 5 章總結與展望 23 第 5 章總結與展望 總結 本設計主要實現(xiàn)了 STC89C52 單片機控制步進電機運行,由電機的基本正轉、反轉,到小車的前進、后退、轉彎,再到最后根據傳感器的反饋控制步進電機小車進行循跡與避障,并為實現(xiàn)這些功能設計了穩(wěn)壓電路與上位機電路,最終實現(xiàn)了任務。//左電機方向控制位 sbit clk_left= P1^2。 //延時函數 //////////////////變量定義 //////////////////////////////////////////////// uint n。}} } /*******************************/ void timer1_init() { TMOD=0X10。 } else { cw_left=0。 } } void main (void) { delay(10)。 clk_right=~clk_right。//右電機脈沖控制位 sbit ir_left=P2^5。//電機速度控制變量 /**************函數體 ******************************************/ void delay(unsigned int k) { unsigned int i,j。 EA=1。 } else { en_left=0。 while(1) { 基于單片機的步進電機小車 控制 系統(tǒng)設計 30 if(ir_left==0amp。 delay(100)。ir_right==1) { move_left(15,0,1)。 clk_right=~clk_right。//右電機脈沖控制位 sbit ir_left=P1^6。//進定時器 1 中斷次數計數 uint speed。 ET1=1。 } if(en==1) { en_left=1。 timer1_init()。 } if(ir_left==0amp。amp。ir_mid==1amp。amp。ir_right==1)//前有障礙,右轉 基于單片機的步進電機小車 控制 系統(tǒng)設計 34 { move_left(15,0,1)。 move_right(15,1,1)。 } } } void timer1_serve() interrupt 3 { TH1=(65536100)/256。 the same time you can control the pulse frequency to control the motor rotation speed a