版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 單片機原理及應用課程設計報告設計題目:單片機控制步進電機 目錄TOC o 1-3 h z u HYPERLINK l _Toc326398742 目錄 PAGEREF _Toc326398742 h 1 HYPERLINK l _Toc326398743 1設計任務書 PAGEREF _Toc326398743 h 2 HYPERLINK l _Toc326398744 1.1基本設計要求 PAGEREF _Toc326398744 h 2 HYPERLINK l _Toc326398745 1.2選為項目 PAGEREF _Toc326398745 h 2 HYPERLINK l _Toc
2、326398746 2設計說明 PAGEREF _Toc326398746 h 3 HYPERLINK l _Toc326398747 2.1設計內(nèi)容 PAGEREF _Toc326398747 h 3 HYPERLINK l _Toc326398748 2.2設計要求 PAGEREF _Toc326398748 h 3 HYPERLINK l _Toc326398749 2.3設備及工作環(huán)境 PAGEREF _Toc326398749 h 3 HYPERLINK l _Toc326398750 3系統(tǒng)方案總體設計 PAGEREF _Toc326398750 h 4 HYPERLINK l _
3、Toc326398751 3.1設計理念 PAGEREF _Toc326398751 h 4 HYPERLINK l _Toc326398752 4硬件設計 PAGEREF _Toc326398752 h 6 HYPERLINK l _Toc326398753 4.1系統(tǒng)硬件設計 PAGEREF _Toc326398753 h 6 HYPERLINK l _Toc326398754 4.1.1最低 MCU 系統(tǒng) PAGEREF _Toc326398754 h 6 HYPERLINK l _Toc326398755 4.1.2鍵盤設計 PAGEREF _Toc326398755 h 6 HYPE
4、RLINK l _Toc326398756 4.2系統(tǒng)工作原理探討 PAGEREF _Toc326398756 h 7 HYPERLINK l _Toc326398757 5軟件設計 PAGEREF _Toc326398757 h 9 HYPERLINK l _Toc326398758 5.1分析論證 PAGEREF _Toc326398758 h 9 HYPERLINK l _Toc326398759 5.1.1步進電機運行驅動模塊 PAGEREF _Toc326398759 h 9 HYPERLINK l _Toc326398760 5.1.2溫度采集模塊 PAGEREF _Toc3263
5、98760 h 9 HYPERLINK l _Toc326398761 5.1.3主要功能模塊 PAGEREF _Toc326398761 h 9 HYPERLINK l _Toc326398762 5.1.4總體療效 PAGEREF _Toc326398762 h 9 HYPERLINK l _Toc326398763 5.2程序流程圖 PAGEREF _Toc326398763 h 10 HYPERLINK l _Toc326398764 5.3程序清單 PAGEREF _Toc326398764 h 11 HYPERLINK l _Toc326398765 6調(diào)試過程及分析 PAGERE
6、F _Toc326398765 h 18 HYPERLINK l _Toc326398766 7設計總結 PAGEREF _Toc326398766 h 19 HYPERLINK l _Toc326398767 參考 PAGEREF _Toc326398767 h 201 設計任務書1.1 基本設計要求(1 )使用萬能板,主芯片AT89S52,35BYJ412步進電機,BLN2003,配合周邊其他原廠芯片完成實驗設計。( 2)程序的首地址要讓目標機直接運行,即從0000H開始。必須在主程序的開頭設置一個合適的棧底。程序放置的地址必須是連續(xù)的、高級的,中間不要留下大量的空間地址,這樣目標機器可以
7、使用更少的硬件資源。(3)采用單片機控制三相單三拍步進電機的工作。步進電機的旋轉方向由正反轉控制信號控制。步進電機的步數(shù)由鍵盤輸入??奢斎氲牟綌?shù)為3、6、9、12、15、18、21、24、27步,鍵盤具有鍵盤鎖定功能。當鍵盤鎖定時,步數(shù)輸入電機不接受輸入的步數(shù),不會運行。只有打開鍵盤鎖并輸入步數(shù)后,步進電機才開始工作。(4)電機運轉時,有正反轉指示燈指示。(5)電機運行過程中,如果電機過熱,電機將停止運行,紅色指示燈亮,同時報警。本主題的癥結在于:如何生成控制步進電機的脈沖序列。1.2 選定項目1、以單片機(AT89S52)為主芯片,設計控制步進電機的電路。2、設置三個自鎖按鈕,分別用于開關鍵
8、盤、左轉和右轉控制。3、設置9個觸電按鍵,分別控制3、6、9、12、15、18、21、24、27步的輸入步長。4、設置LCD12864顯示器,實時顯示步進電機的工作狀態(tài),提示用戶進行步進操作。2設計說明2.1設計內(nèi)容采用ZY15MCU12BD型集成單片機實驗箱模擬控制步進電機集中采集的過程。2.2設計要求(1)單片機用于控制三相單三拍步進電機的工作。步進電機的旋轉方向由正反轉控制信號控制。步進電機的步數(shù)由鍵盤輸入??奢斎氲牟綌?shù)為3、6、9、12、15、18、21、24、27步,鍵盤具有鍵盤鎖定功能。當鍵盤鎖定時,步數(shù)輸入電機不接受輸入的步數(shù),不會運行。只有打開鍵盤鎖并輸入步數(shù)后,步進電機才開始
9、工作。(2)電機運轉時,有正反轉指示燈指示。(3)電機運行過程中,若出現(xiàn)過熱現(xiàn)象,電機停止運轉,紅色指示燈亮,同時報警。( 4 )在機器上調(diào)試程序。( 5 )撰寫設計報告。2.3設備及工作環(huán)境(1)硬件: AT89S52單片機1個,35BYJ412步進電機1個,ISP下載器1個,LCD12864顯示屏,18B20溫度傳感器芯片。(2)軟件:Windows操作系統(tǒng),Keil C51軟件。3 系統(tǒng)方案總體設計3.1設計思路步進電機不同的驅動方式都在運行,脈沖信號按一定的順序依次加到三相繞組上,從而達到不同的工作狀態(tài)。由于通電順序不同,工作模式有三相單三相拍、三相雙三拍、三相單拍和雙六拍(注:“三相
10、上述“三相單三拍”中有三相繞組; “拍”是指定子繞組改變一次通電方式; “三拍”表示功率為通電3次完成一個周期。 “三相雙三拍”中的“雙”表示兩相繞組同時通電)。(1) 三相單三拍運行方式:下圖為無功步進電機的工作原理。如果用脈沖分配器輸出的第一個脈沖給A相繞組通電,B、C相繞組不通電,A相繞組通電后產(chǎn)生的磁場會引起反作用力矩產(chǎn)生在轉子上,轉子的 1 和 3 齒將與定子磁極對齊,如圖(a)所示。第二個脈沖到達給B相繞組通電,而A、C相繞組不通電; B相繞組產(chǎn)生的磁場將使轉子的2、4齒與B相磁極對齊,如圖(b)所示,與圖(a)相比,轉子旋轉一圈逆時針角度。第三個脈沖到來后,C相繞組通電,而A、B
11、相不通電。此時,轉子的第 1、3 齒將與 C 組對齊。轉子位置如圖(c)所示,與圖(b)相同。 ),然后逆時針轉動一個角度。反應式步進電機工作原理圖通過分配器按A相-B-相-C-相-A-相.規(guī)律連續(xù)接通和斷開。此時,步進電機的轉子是連續(xù)連接的。逐步逆時針轉動。如果改變步進電機的旋轉方向,只要改變定子各繞組的通電順序為A相-C相-B相-A相,轉子旋轉方向就變?yōu)轫槙r針方向.在單三拍分配方式下,步進電機從A相切換到B同點,步進電機的轉子轉動一個角度,稱為一步。此時轉子的旋轉角度為30度。步進電機每一步轉動的角度稱為步距角。(2) 三相雙三拍運行方式 三相雙三拍運行方式:每次通電兩個繞組,通電方式為A
12、B-BC-CA-AB . ,如果通電順序更改為 AB- -CA-BC-AB .步進電機反轉。在雙三拍分配方式中,步進電機的步距角也是30度。(3)三相單雙六拍運行模式:三相六拍配電模式是指每個周期有六個通電狀態(tài)。這六種電狀態(tài)的順序可以使A-AB-B-BC-C-CA-A .或A- CA-C-BC-B-AB- A 在六拍通電方式中,有兩個繞組同時通電的時刻,也就是轉子齒的位置將處于通電兩相的中間位置。在三相六拍分配方式下,每步轉子的旋轉角度僅為三相三拍方式的一半,步距角為15度。單三拍運行的突出問題是一次只能通電一相繞組。轉換過程中,一相繞組斷電,另一相繞組通電,容易出現(xiàn)失步;不好,在平衡位置附近
13、容易震蕩,所以少用。雙三拍運行的特點是每次兩相繞組通電,轉換過程中始終通電一相繞組,因此運行平穩(wěn),步距角與單相繞組相同- 三拍操作。轉換六拍工作方式時,始終只有一相繞組通電,步距角小,工作穩(wěn)定性好,但供電較復雜,實際應用較多。4 硬件設計4.1 系統(tǒng)硬件設計4.1.1最小的單片機系統(tǒng)5V電源:給系統(tǒng)供電。復位電路:當程序跑掉時,復位電路可以使程序重新執(zhí)行,相當于重新啟動計算機。晶體振蕩器:為微控制器的操作提供時鐘。比如電腦的2.2GHz頻率。EA接高電平:表示從運行部門的程序存儲器中下載的程序。P0口接排阻:P0口為開漏結構,使用時一般接排阻拉高電平。4.1.2鍵盤設計電路采用獨立鍵盤工作方式
14、,共有12個按鍵,分別提供3、6、9、12、15、18、21、24布局選擇功能、鍵盤鎖定功能和步進電機旋轉方向選擇功能。有一些程序性決定開始發(fā)揮作用。4.2系統(tǒng)工作原理探討系統(tǒng)的核心CPU是ATMEL公司生產(chǎn)的AT89S52芯片,將多功能8位CPU和FPEROM(閃存可編程/可擦寫只讀存儲器)結合在一個芯片上。它是一種低功耗、高性能的 CMOS 控制器,為許多嵌入式控制應用提供了非常靈活且價格合理的解決方案,其性能價格比遠高于同類芯片。兼容MCS-51指令系統(tǒng),芯片F(xiàn) PEROM允許程序存儲器在線重新編程。也可以用傳統(tǒng)的EPROM編程器進行編程,可以寫/擦1000次。 89S52包含4KB的F
15、PEROM,一般EEPROM的字節(jié)擦除時間和寫入時間基本都是10ms。對于任何實時控制系統(tǒng)來說,長時間在線修改程序是不可能的。CPU為Atmel公司生產(chǎn)的89C51/89C52/89C55等。廠家提供的晶振頻率為11.0592MH,每個機器周期為1.085us。用戶可更換晶振提高速度;內(nèi)存為64K,前4K/8K20K在CPU部分,其他程序在EPR0M27512;數(shù)據(jù)存儲器為32K(62256),地址為8000-FFFFH;I/O擴展8155,RAM地址:200O-20FFH;8155命令端口地址為:2100H;A端口地址:21O1H B端口地址:2102H C端口地址:2103H;T 低八位:
16、2104H T 高八位:2105H;多路模擬開關的使用:P1=0F8H IN4:P1=0FCH IN1:P1=0F9H IN5:P1=OFDH=0FAH IN5 : P1=0FEH IN3: P1=0FBH IN7: P1=0FFH不掉電數(shù)據(jù)存儲:500EH-507FH;控制板:160 x1O9(mm) 電源:+5V300mA +12V100mA -12V100mA;AT89C51 是一款低功耗、高性能的 8 位 CMOS 微控制器,帶有 4KB Flash Programmable/Erasable Read Only Memory(FPEROM-Flash Programmable and
17、 Eraseable Read Only Memory),采用高密度、非易失性存儲技術和完全兼容80C51引腳和指令系統(tǒng);主要性能:兼容MCS-51微控制器產(chǎn)品系列;該芯片具有 4KB 的在線可重新編程閃存。引腳介紹:總體介紹:本系統(tǒng)采用的芯片有:DS18B20溫度傳感器,ULN2003A和MP28GA四相五線步進電機,步進電機工作在雙八拍模式,步進力矩5.625,步進旋轉方向電機由正反轉控制信號控制。步進電機的步數(shù)由鍵盤輸入。通過獨立鍵盤S1S9可輸入的步數(shù)為3、6、9、12、15、18、21、24、27,對應角度為16.875、33.725、.、151.875 ,鍵盤S10具有鍵盤鎖定功能
18、。當鍵盤鎖定時,步進電機不接受輸入的步數(shù),不會運行。只有打開鍵盤鎖,選擇運行方向并輸入步數(shù),步進電機才會開始工作。電機運轉時,有正轉指示燈D2和反轉指示燈D3指示。電機運行過程中,溫度傳感器用于采集步進電機外部溫度(可設置)。若過熱,電機停止運轉,紅色指示燈亮,蜂鳴器響。5軟件設計5.1分析論證本步進電機控制電路的設計與實現(xiàn)主要采用ULN2003A驅動芯片、溫度傳感器芯片DS18B20芯片、獨立鍵盤等,包括步進電機運行驅動、溫度采集、主要功能三大功能模塊。5.1.1步進電機運行驅動模塊由于系統(tǒng)中沒有充分利用I/O口,所以使用了獨立鍵盤。系統(tǒng)工作時,鍵盤控制的I/O口處于高電平狀態(tài)。當按鍵按下時
19、,觸發(fā)一個低電平,驅動程序實時監(jiān)控并立即響應,執(zhí)行相應的工作。5.1.2溫度采集模塊該模塊的重要功能是采集步進電機表面的溫度,并比較設定值來判斷體溫是否過高。溫度過高時電機正常轉動。當溫度過高時,電機不再轉動。 ,蜂鳴器報警,紅燈亮。5.1.3主要功能模塊該模塊的重要功能是調(diào)動溫度采集功能和步進電機功能中的功能,實現(xiàn)模塊化編程。5.1.4整體療效_AT89S52芯片控制ULN2003A芯片驅動步進電機,掃描鍵盤輸入運行狀態(tài)匹配運行步數(shù),當電機外部溫度超過32時,電機停止轉動并報警!5.2程序流程圖主程序流程圖如圖所示:開始初始化程序報警,紅燈點亮,步進電機停轉判斷步進電機溫度是否過高?是的不鎖
20、鍵盤等待開鍵盤是的不確定輸入步數(shù)電機高溫?步進電機運轉不圖2 程序流程圖5.3項目清單步進電機驅動功能:/BJDJ.h#ifndef _BJDJ_H_#define _BJDJ_H_#include #include #define uchar 無符號字符#define uint 無符號整數(shù)位 k1=P10;位 k2 = P11;位 k3 = P12;位 k4=P13;位 k5=P14;位 k6 = P15;位 k7=P16;位 k8=P17;位 k9 = P00;sbitk10=P01;位 k11=P02;位 k12=P03;無效鍵掃描();無效電機轉();無效電機停止();萬一/BJDJ.
21、c#include BJDJ.huchar 代碼 FFW 8 = 0 xfe, 0 xfc, 0 xfd, 0 xf9,0 xfb, 0 xf3,0 xf7,0 xf6;uchar 代碼 REV 8 = 0 xf6,0 xf7,0 xf3,0 xfb, 0 xf9,0 xfd, 0 xfc, 0 xfe;碳化率;外部uchar i = 0;/* * */* 延遲/* * */無效延遲(uchar x)uchar i,j;for(i=0;ix;i+);for(j = 0 ; j110 ; j+) ;/* * */*步進電機正轉/* * */void motor_ffw(uchar x)uchar
22、 i,j;for (j=0; jx; j+) / 轉 1*n 圈for (i=0; i8; i+) /一個周期轉45度P2 = FFWi; /獲取數(shù)據(jù)延遲(150); /調(diào)整速度/* * */*/* 步進電機反轉/* * */無效電機轉速(uchar x)uchar i,j;for (j=0; jx; j+) / 轉 1*n 圈/ 退出這個循環(huán)for (i=0; i8; i+) /一個周期轉45度P2 = REVi; /獲取數(shù)據(jù)延遲(150); /調(diào)整速度/* * *鍵盤掃描* * */無效鍵掃描()我=0;如果(k1=0)延遲(5);如果(k1=0)i=24;如果(k2=0)延遲(5);如果
23、(k2=0)i=46;如果(k3=0)延遲(5);如果(k3=0)i=72;如果(k4=0)延遲(5);如果(k4=0)i=96;如果(k5=0)延遲(5);如果(k5=0)i=120;如果(k6=0)延遲(5);如果(k6=0)i=144;如果(k7=0)延遲(5);如果(k7=0)i=168;如果(k8=0)延遲(5);如果(k8=0)i=192;如果(k9=0)延遲(5);如果(k9=0)i=216;/* *電機舵機* */無效電機轉()如果(k10=0)延遲(5);如果(k10=0)P2=P2&0 xf0;如果(k11=0&k12=1&k10=1)延遲(5);如果(k11=0&k12=
24、1&k10=1)motor_ffw(i);如果(k12=0&k11=1&k10=1)延遲(5);如果(k12=0&k11=1&k10=1)電機轉速(i);無效電機停止()電機轉速(0);溫度傳感器18B20驅動功能:/DS18B20.h#ifndef _DS18B20_H_#define _DS18B20_H_#include#include #define uint 無符號整數(shù)#define uchar 無符號字符外部 uchar T;位 DQ=P27; /溫度輸入端口sbit 鐘=P04;sbit led1=P07;無效延遲2(uint t);無效 ow_reset(無效);無效寫入字節(jié)(
25、uchar val);無效讀臨時();無效工作臨時();萬一/DS18B20.c#include“DS18B20.h”extern uchar 數(shù)據(jù) temp_data2=0 x00,0 x00;uchar 標志;字符存在=1;uchar T;/*11微秒課*/無效延遲2(單位噸)for(;t0;t-);/*18B20重復功能*/無效 ow_reset(無效)存在=1;同時(在場)同時(在場)DQ=1;_nop_();_nop_();DQ=0; /延遲2(50); / 550usDQ=1; /延遲2(6); / 66us存在=DQ; /presence=0 繼續(xù)下一步 延遲2(45); /延遲
26、500us存在=DQ;DQ=1;/*18B20寫命令函數(shù)*/無效寫入字節(jié)(uchar val)uchar我;對于 (i=8; i0; i-)DQ=1;_nop_();_nop_();DQ = 0;_nop_();_nop_();_nop_();_nop_();_nop_();/5usDQ = val&0 x01; /最低位出延遲2(6); /66usval=val/2; /右移一位DQ = 1;延遲2(1);/*18B20 讀取 1 字節(jié)函數(shù) */uchar read_byte(void)uchar我;uchar 值 = 0;對于 (i=8;i0;i-)DQ=1;_nop_();_nop_()
27、;值=1;DQ = 0; /_nop_();_nop_();_nop_();_nop_(); /4usDQ = 1;_nop_();_nop_();_nop_();_nop_(); /4us如果(DQ)值|=0 x80;延遲2(6); /66usDQ=1;返回(值);/*讀取溫度函數(shù)*/無效讀臨時()ow_reset(); /總線復位寫字節(jié)(0 xCC); / 發(fā)送跳過 ROM 命令寫字節(jié)(0 xBE); / 發(fā)送讀命令temp_data0=read_byte(); /溫度低8位temp_data1=read_byte(); /溫度高8位ow_reset();寫字節(jié)(0 xCC); /跳過ROMwrite_byte(0 x44); / 發(fā)送轉換命令/*溫度數(shù)據(jù)處理函數(shù)*/無效工作臨時()T=(temp_data0&0 xf0)4)|(temp_data1&0 x07)31)電機停止();led1=0;鈴=1;延遲2(1000);別的led1=1;鐘=0; 電機轉();6調(diào)試過程及分析準備好的源程序在Keil編譯后出現(xiàn)很
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物流課程設計實驗
- 種蘑菇課程設計
- 中華人民共和國民法典知識競賽題庫及答案
- 2024幼兒園安全教育工作總結結尾(31篇)
- 2024年自來水公司年終工作總結(35篇)
- 液體混合裝置plc課程設計
- 玉雕課程設計
- 食品行業(yè)客服工作總結
- 客房清潔員的工作總結
- 中醫(yī)科醫(yī)師工作總結
- 管理學案例分析(超全有答案)(已處理)
- ICU病人早期康復-ppt課件
- 藥品開發(fā)與上量-宿家榮
- 海商法術語中英對照
- 北京海淀區(qū)初一上數(shù)學期末試題(帶標準答案)_
- 化工原理課程設計空氣中丙酮的回收工藝操作
- 【家庭自制】 南北香腸配方及28種制作方法
- 廠房施工總結報告
- 先進物流理念主導和先進物流技術支撐下的日本現(xiàn)代物流
- 建筑小區(qū)生雨水排水系統(tǒng)管道的水力計算
- 公務員職務和級別工資檔次套改及級別對應表
評論
0/150
提交評論