【正文】
7) 17 引腳為方向控制端。 在本次設(shè)計(jì)中選用的步進(jìn)電機(jī)型號(hào)為 57BYG007,其為混合式步進(jìn)電機(jī) 。 表 步進(jìn)電機(jī)技術(shù)參數(shù) 型號(hào) 相數(shù) 電壓 電流 電阻 電感 靜轉(zhuǎn)矩 機(jī)身長 出軸長 重量 單位 V A Ω mH mm mm Kg 57BYG 4 12 32 30 41 21 基于 AT89S51 單片機(jī)的單軸步進(jìn)電機(jī)控制器設(shè)計(jì) 18 由以上分析知設(shè)計(jì)中使用了 L297 與 L298N 共同組成的步進(jìn)電機(jī)驅(qū)動(dòng)電路,由于步進(jìn)電機(jī)在工作中需要正轉(zhuǎn)反轉(zhuǎn)等工作方式,設(shè)計(jì)中還應(yīng)該加上保護(hù)電路以免電機(jī)正反轉(zhuǎn)交替時(shí)產(chǎn)生的 感應(yīng)電流 對(duì)電路產(chǎn)生危害。 L297 的 A、 B、 C、D 四相輸出連接到 L298N 的 IN1IN4 四個(gè)輸入端,并把信號(hào)輸出給步進(jìn)電機(jī)。 1602 為工業(yè)字符型液晶,能夠同時(shí)顯示 16*02 即 32 個(gè)字符( 16 列 2 行)。 在本設(shè)計(jì)中 LCD1602 的作用是顯示步進(jìn)電機(jī)當(dāng)前的工作狀態(tài),通過按鍵電路按下不同的按鍵,步進(jìn)電機(jī)有不同的工作狀態(tài),此狀態(tài)則通過顯示電路顯示出來。 LCD1602 顯示電路如圖 所示。所有按鍵處理程序都是在等按下后執(zhí)行的。 系統(tǒng)主程序 系統(tǒng)主程序流程圖如圖 所示。 num1++) //顯示啟動(dòng)界面 { write_data(table1[num1])。 //定時(shí)器初始化 while(1) { keyscan()。 系統(tǒng)初始化 子 程序 系統(tǒng)初始化對(duì)相應(yīng)的系統(tǒng)參數(shù)進(jìn)行初始化,包 括系統(tǒng)上電默認(rèn)運(yùn)行參數(shù)設(shè)定,包括四相八拍的工作方式, LCD1602 顯示界面 、 系統(tǒng)定時(shí)器設(shè)定 、 載入定時(shí)器初值和默認(rèn)的工作參數(shù)等。 //顯示模式設(shè)置, 設(shè)置為 16*2 顯示, 5*7 點(diǎn)陣, 8 位數(shù)據(jù)口 write_(0x08)。 //打開總中斷 ET0=1。 void keyscan() { P3 = 0xff。 //松手檢測(cè) delay(5)。 //延時(shí)消抖 while(!key2)。 //啟動(dòng)定時(shí)器工作 } 按鍵 子 程序 按鍵響應(yīng)子程序,在本設(shè)計(jì)當(dāng)中按鍵的一端接地,另一端接單片機(jī)的對(duì)應(yīng)端口,所以當(dāng)按鍵按下,既是將單片機(jī)對(duì)應(yīng)端口電平拉低。 //顯示清屏 write_(0x06)。設(shè)計(jì)中采用了定時(shí)器 T0, 工作方式為方式 1 即 16 為定時(shí)器 /計(jì)數(shù)器,裝入定時(shí)器的初始值為 55536也即計(jì)數(shù) 10000 次溢出。 } } 系統(tǒng)上電完成后,對(duì) LCD1602 初始化,定時(shí)器也進(jìn)行初始化,啟動(dòng)顯示界面等待設(shè)置按鍵按下,進(jìn)行行程值的設(shè)定。 //延時(shí) } write_(0x80 + 0x40)。本次設(shè)計(jì)中用 C 語言進(jìn)行軟件編程。 本章就是通過對(duì)整個(gè)系統(tǒng)按照各個(gè)模塊分別講解來加深對(duì)整個(gè)系統(tǒng)的硬件部 分的理解。 獨(dú)立 按鍵電路如圖 所示。設(shè)計(jì)中通過按鍵設(shè)置步進(jìn)電機(jī)要走的行程值,通過 LCD1602實(shí)時(shí)的顯示出來,顯示單位為 mm 級(jí)。 液晶 LCD1602 芯片引腳如圖 所示。故需要在驅(qū)動(dòng)電路中加上二極管保護(hù)電路,用來避免因步進(jìn)電機(jī)突然的正反轉(zhuǎn)而產(chǎn)生的感應(yīng)電流流入 L298N 芯片燒壞L298N,用于保護(hù)驅(qū)動(dòng)電路的正常工作。 L297 與 L298N 配合使用控制雙極性步進(jìn)電機(jī)工作電流可大 。 設(shè)計(jì)中把步進(jìn)電機(jī)的回轉(zhuǎn)運(yùn)動(dòng)轉(zhuǎn)換成直線位移。當(dāng)改變此引腳的電平狀態(tài)時(shí),步進(jìn)電機(jī)反向旋轉(zhuǎn)。此引腳輸入負(fù)脈沖時(shí),變換器恢復(fù)初始狀態(tài) (ABCD=0101)。 ( 2) 8 引腳控制 A 相和 B 相的驅(qū)動(dòng)極。L297 芯片引腳如圖 所示。該芯片采用 15腳封裝。 圖 整體框圖 單 片 機(jī) 電源電路 時(shí)鐘電路 復(fù)位電路 顯示電路 鍵盤電路 驅(qū)動(dòng)電路 步進(jìn)電機(jī) 基于 AT89S51 單片機(jī)的單軸步進(jìn)電機(jī)控制器設(shè)計(jì) 14 第三章 硬件設(shè)計(jì) 單片機(jī)最小系統(tǒng) 單片機(jī)最小系統(tǒng)作為基于單片機(jī)設(shè)計(jì)所必須的,也是整個(gè)控制系統(tǒng)的核心。這樣更加方便直觀。 LCD1602 可以顯示更多的內(nèi)容,而且比較直觀。 ( 1) 方案一: 單片機(jī)選擇 AT89S51 型單片機(jī),步進(jìn)電機(jī) 的驅(qū)動(dòng) 選擇 L298N集成 驅(qū)動(dòng)芯片, 顯示電路選擇七段數(shù)碼管,再輔以相應(yīng)的按鍵電路。另 一種是通過 專用的驅(qū)動(dòng)電路進(jìn)行驅(qū)動(dòng),由前面的介紹可知步進(jìn)電機(jī)的驅(qū)動(dòng)方式有單極性驅(qū)動(dòng)和雙極性驅(qū)動(dòng)。因?yàn)橐坏┴?fù)載短時(shí)超重而導(dǎo)致步進(jìn)電機(jī)失步 ,則整個(gè)機(jī)電傳動(dòng)系統(tǒng)的定給就會(huì)出錯(cuò)。 ( 2)定時(shí)器延時(shí)法:微機(jī)系統(tǒng)一般均帶有幾個(gè)定時(shí)器、計(jì)數(shù)器。控制系統(tǒng)的應(yīng)用軟件按照電動(dòng)機(jī)正、反轉(zhuǎn)的要求,順序?qū)顟B(tài)表的內(nèi)容取出來送至 8051 的 P1 口。目前使用廣泛的是專用集成電路芯片環(huán)形分配器,如 CH250和 L297 等。各相 驅(qū)動(dòng)信號(hào)來源于環(huán)形分配器。這一作用同樣改善了驅(qū)動(dòng)器的高頻性能,而且不必再串聯(lián)電阻 RS,消除了附加損耗。單電壓驅(qū)動(dòng)是指電動(dòng)機(jī)繞組在工作 時(shí), 環(huán)形分配器 信號(hào)放大與處理級(jí) 推動(dòng)級(jí) 驅(qū)動(dòng)級(jí) 保護(hù)級(jí) 基于 AT89S51 單片機(jī)的單軸步進(jìn)電機(jī)控制器設(shè)計(jì) 8 只用一個(gè)電壓電源對(duì)繞組供電,它的特點(diǎn)是電路最簡(jiǎn)單。保護(hù)級(jí)的作用是保護(hù)驅(qū)動(dòng)級(jí)的安全。因此步進(jìn)電機(jī)轉(zhuǎn)速的高低、升速或降速、啟動(dòng)或停止都取決于 CP 脈沖的有無或頻率。使用步進(jìn)電機(jī)時(shí),只需要將單路電脈沖信號(hào)先通過脈沖分配器轉(zhuǎn)變?yōu)殡妱?dòng)機(jī)所需求的多路(單路)脈沖信號(hào),再經(jīng)過功率放大后分別送入步進(jìn)電機(jī)各相繞組,即可使步進(jìn)電動(dòng)機(jī)準(zhǔn)確運(yùn)行。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動(dòng)力矩又可以提高控制精度。 四相步進(jìn)電機(jī) 如圖 所示。 ( 4)此設(shè)計(jì)不僅需要對(duì)步進(jìn)電機(jī)驅(qū)動(dòng)電路進(jìn)行設(shè)計(jì),還需要有鍵盤以及相關(guān)的顯示電路,通過它們可以通過顯示器實(shí)時(shí)的觀察到步進(jìn)電機(jī)當(dāng) 前的運(yùn)行狀態(tài),并可以實(shí)時(shí)地控制步進(jìn)電機(jī)。 為了進(jìn)一步研究步進(jìn)電機(jī)的控制,對(duì)步進(jìn)電機(jī)控制原理以及驅(qū)動(dòng)電路有更深的了解,通過單片機(jī)硬件與軟件的結(jié)合,提出設(shè)計(jì)一個(gè)簡(jiǎn)單實(shí)用的步進(jìn)電機(jī)控制器。 基于 AT89S51 單片機(jī)的單軸步進(jìn)電機(jī)控制器設(shè)計(jì) 4 第二章 方案設(shè)計(jì) 提出設(shè)計(jì)課題 步進(jìn)電機(jī)是將電脈沖信號(hào)變換成角位移或直線位移的執(zhí)行部件。由于電動(dòng)機(jī)采用方型結(jié)構(gòu),使得轉(zhuǎn)子有可能設(shè)計(jì)得比圓形大,因而其力矩體積比將大為提高。 目前,對(duì)步進(jìn)電機(jī)在技術(shù)和生產(chǎn)應(yīng)用都已經(jīng)較為成熟。在近30 年間,步進(jìn)電動(dòng)機(jī)技術(shù)迅速地發(fā)展并成熟起來。電機(jī)的應(yīng)用不僅在動(dòng)力應(yīng)用反面不斷擴(kuò)大,而且在控制領(lǐng)域的使用范圍也在不斷擴(kuò)大。所以控制步進(jìn)脈 沖 信號(hào)的頻率,就可以對(duì)電機(jī)精確調(diào)速 , 控制步進(jìn)脈沖的個(gè)數(shù),就可以對(duì)電機(jī)精確定位。 關(guān)鍵詞: AT89S51 單片機(jī); L297; L298N;步進(jìn)電機(jī); LCD1602;仿真 基于 AT89S51 單片機(jī)的單軸步進(jìn)電機(jī)控制器設(shè)計(jì) II The Design of Single Axis Stepper Motor Controller Based on AT89S51 MCU Abstract: This paper has described the control principle of the stepper motor speed, angle, torque, and made the corresponding design of the stepping motor controller. Stepper motor is a precision electromechanical stepping motion of the Executive Yuan, it is the electric pulse signal into openloop control ponents of angular displacement or linear displacement of the. Through the microcontroller to control the stepper motor speed, in the nonoverload case, the motor speed, stop location only depends on the pulse signal frequency and pulse number, regardless of load changes. Characteristics and only a periodic error of stepper motors without the accumulation of the current relationship, makes the speed, position and other areas controlled by stepper motor control bees very simple. The design uses AT89S51 MCU, L297 step motor controller and L298N driver chip dedicated stepper motor control circuit to achieve the control of stepper motor. Traveling through the key, the keys control the stepper motor to move forward, stop and reverse reset, and by the corresponding buttons control the stepper motor acceleration and deceleration forward and reset. The liquid crystal display LCD1602 positioning travel, rotating direction, the stroke value and status. Altium designer software is mainly used to draw schematic in the design, the theoretical simulation and functional verification code using the Proteus software, pleted the design of the stepper motor controller. Key words: AT89S51?;?AT89S51 單片機(jī)的單軸步進(jìn)電機(jī)控制器設(shè)計(jì) 基于 AT89S51 單片機(jī)的單軸步進(jìn)電機(jī)控制器設(shè)計(jì) The Design of Single Axis Stepper Motor Controller Based on AT89S51 MCU 基于 AT89S51 單片機(jī)的單軸步進(jìn)電機(jī)控制器設(shè)計(jì) 目 錄 摘要 ...............................................................................................................................I Abstract ....................................................................................................................... II 引言 .............................................................................................................................. 1 第一章 設(shè)計(jì)背景 ..................................................................................................... 2 步進(jìn)電機(jī)發(fā)展史 .............................................................................................. 2 我國步進(jìn)電機(jī)的發(fā)展 .........................................................