版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)</b></p><p> 課程名稱: 機(jī)電系統(tǒng)設(shè)計(jì)課程設(shè)計(jì) </p><p> 2012年 12 月 30日</p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p><b>
2、; 目 錄 </b></p><p> 摘 要..............................................7</p><p> 緒論.......................................8</p><p> 總體方案的確定..........................9</
3、p><p> 2.1、課程設(shè)計(jì)的任務(wù)................................9</p><p> 2.2 X—Y十字工作臺(tái)的設(shè)置的總體方案的確定.........9</p><p> 2.2.1、系統(tǒng)運(yùn)動(dòng)方式和伺服系統(tǒng)...................9</p><p> 2.2.2、控制系統(tǒng)........
4、.........................9</p><p> 2.2.3、X-Y工作臺(tái)的傳動(dòng)方式......................9</p><p> 2.2.4、機(jī)械系統(tǒng)的設(shè)計(jì)...........................10</p><p> 第三章 機(jī)械結(jié)構(gòu)設(shè)計(jì)...........................11<
5、;/p><p> 3.1 X-Y工作臺(tái)的結(jié)構(gòu)簡圖............................11</p><p> 3.1.1 工作臺(tái)草圖的設(shè)計(jì)...................................11</p><p> 3.1.2 機(jī)械系統(tǒng)的機(jī)械結(jié)構(gòu)草圖及簡圖...............11</p><p>
6、 3.1.3 開環(huán)控制系統(tǒng)...............................14</p><p> 3.2 步進(jìn)電機(jī)系統(tǒng)..................................15</p><p> 3.2.1 步進(jìn)電機(jī)的工作原理及特點(diǎn)..................15</p><p> 第四章 電路控制設(shè)計(jì)........
7、....................17</p><p> 4.1 驅(qū)動(dòng)電路的設(shè)計(jì)................................17</p><p> 4.2 控制電路面板線路的設(shè)計(jì).......................18</p><p> 4.2.1 電路的接線分析............................
8、.18</p><p> 4.2.2控制電路簡圖................................18</p><p> 4.2.3 電氣接線簡圖.............................19</p><p> 4.3 操作控制面板..................................19</p>&
9、lt;p> 第五章 程 序................................21</p><p> 第六章 心得體會(huì) .............................28</p><p> 機(jī)電系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)</p><p><b> 摘 要</b></p><p>
10、; 當(dāng)今世界電子技術(shù)迅速發(fā)展,微處理器、微型計(jì)算機(jī)在各技術(shù)領(lǐng)域得到了廣泛應(yīng)用,對(duì)各領(lǐng)域技術(shù)的發(fā)展起到了極大的推動(dòng)作用。一個(gè)較完善的機(jī)電一體化系統(tǒng),應(yīng)包含以下幾個(gè)基本要素:機(jī)械本體、動(dòng)力與驅(qū)動(dòng)部分、執(zhí)行機(jī)構(gòu)、傳感測試部分、控制及信息處理部分。機(jī)電一體化是系統(tǒng)技術(shù)、計(jì)算機(jī)與信息處理技術(shù)、自動(dòng)控制技術(shù)、檢測傳感技術(shù)、伺服傳動(dòng)技術(shù)和機(jī)械技術(shù)等多學(xué)科技術(shù)領(lǐng)域綜合交叉的技術(shù)密集型系統(tǒng)工程。機(jī)電一體化技術(shù)和產(chǎn)品基本上已經(jīng)席卷了整個(gè)工業(yè)領(lǐng)域,新一代的
11、CNC系統(tǒng)這類典型機(jī)電一體化產(chǎn)品正朝著高性能、智能化、系統(tǒng)化以及輕量、微型化方向發(fā)展。</p><p> 關(guān)鍵字:機(jī)電一體化的基礎(chǔ) 發(fā)展趨勢 滾珠絲杠 滾動(dòng)導(dǎo)軌 步進(jìn)電機(jī) </p><p> 第一章 緒 論</p><p> 現(xiàn)代科學(xué)技術(shù)的不斷發(fā)展,極大地推動(dòng)了不同學(xué)科的交叉與滲透,導(dǎo)致了工程領(lǐng)域的技術(shù)革命與改造。在機(jī)械工程領(lǐng)域,由于微電子技術(shù)和計(jì)算
12、機(jī)技術(shù)的迅速發(fā)展及其向機(jī)械工業(yè)的滲透所形成的機(jī)電一體化,使機(jī)械工業(yè)的技術(shù)結(jié)構(gòu)、產(chǎn)品機(jī)構(gòu)、功能與構(gòu)成、生產(chǎn)方式及管理體系發(fā)生了巨大變化,使工業(yè)生產(chǎn)由“機(jī)械電氣化”邁入了“機(jī)電一體化”為特征的發(fā)展階段。</p><p> 《機(jī)電一體化》課程設(shè)計(jì)是一個(gè)重要的而且十分必要的教學(xué)環(huán)節(jié),要求學(xué)生綜合的運(yùn)用所學(xué)的理論知識(shí),獨(dú)立進(jìn)行的設(shè)計(jì)訓(xùn)練,主要目的:</p><p> 1、通過設(shè)計(jì),使學(xué)生全面地、
13、系統(tǒng)地了解和掌握數(shù)控機(jī)床的基本組成及其想關(guān)知識(shí),學(xué)習(xí)總體的方案擬定、分析與比較的方法。</p><p> 2、通過對(duì)機(jī)械系統(tǒng)的設(shè)計(jì),掌握幾種典型傳動(dòng)元件與導(dǎo)向元件的工作原理、設(shè)計(jì)計(jì)算及選用的方式</p><p> 3、通過對(duì)機(jī)械系統(tǒng)的設(shè)計(jì),掌握常用伺服電機(jī)的工作原理、計(jì)算控制方法與控制驅(qū)動(dòng)方式</p><p> 4、培養(yǎng)學(xué)生獨(dú)立分析問題和解決問題的能力,學(xué)習(xí)并
14、樹立“系統(tǒng)設(shè)計(jì)”的思想</p><p> 5、鍛煉提高學(xué)生應(yīng)用手冊(cè)和標(biāo)準(zhǔn)、查閱文獻(xiàn)資料及撰寫科技論文的能力。</p><p> 第二章 總體方案的確定</p><p> 2.1、課程設(shè)計(jì)的任務(wù)</p><p> 弄清楚XY十字工作臺(tái)的運(yùn)動(dòng)方式和整個(gè)工作臺(tái)的總體結(jié)構(gòu),對(duì)電氣部分進(jìn)行合理的設(shè)計(jì),調(diào)試出程序清單。</p>&
15、lt;p> 2.2 X—Y十字工作臺(tái)的設(shè)置的總體方案的確定</p><p> 根據(jù)設(shè)計(jì)要求,采用的是單片機(jī)控制的步進(jìn)電機(jī)驅(qū)動(dòng)的多用XY工作臺(tái)。具體系統(tǒng)的運(yùn)動(dòng)方式和設(shè)備的選型按標(biāo)準(zhǔn)選取。</p><p> 2.2.1、系統(tǒng)運(yùn)動(dòng)方式和伺服系統(tǒng)</p><p> 采用連續(xù)控制系統(tǒng)。考慮到運(yùn)動(dòng)精度不高,行程較短,簡化機(jī)械結(jié)構(gòu),降低設(shè)備成本,而且要求系統(tǒng)的負(fù)載
16、不大,故采用步進(jìn)電機(jī)開環(huán)伺服系統(tǒng)作為系統(tǒng)的驅(qū)動(dòng)元件,這樣可以使維修簡便。具體步進(jìn)電機(jī)的選型參考步進(jìn)電機(jī)的選型和設(shè)計(jì)。</p><p> 2.2.2、控制系統(tǒng)</p><p> 采用MCS-51系列中的8051單片機(jī)控制系統(tǒng)。MCS-51的主要特點(diǎn)是集成度高,可靠性好,功能強(qiáng),速度快,性價(jià)比高??刂葡到y(tǒng)由微機(jī)部分、鍵盤及顯示器和步進(jìn)電機(jī)功率放大器電路等組成。系統(tǒng)的工作程序和控制命令通過鍵
17、盤操作和鼠標(biāo)操作實(shí)現(xiàn),顯示器采用數(shù)碼管加工數(shù)據(jù)和工作狀態(tài)等信息。</p><p> 2.2.3、X-Y工作臺(tái)的傳動(dòng)方式</p><p> 為保證一定的傳動(dòng)精度和穩(wěn)定性以及結(jié)構(gòu)的緊奏,采用滾珠絲杠螺母傳動(dòng)副。為提高傳動(dòng)精度和消除間歇,采用有預(yù)加載荷的結(jié)構(gòu)。</p><p> 由于工作臺(tái)的運(yùn)動(dòng)部件重量和工作載荷不大,故采用滾動(dòng)直線導(dǎo)軌副,這樣可以減小工作臺(tái)的摩擦系
18、數(shù),提高運(yùn)動(dòng)平穩(wěn)性。在設(shè)計(jì)的同時(shí),還要考慮縮短傳動(dòng)鏈,因?yàn)榭s短傳動(dòng)鏈可以提高系統(tǒng)的傳動(dòng)剛度,這樣可以減少系統(tǒng)的誤差??紤]電機(jī)步距角和絲杠導(dǎo)程只能夠按標(biāo)準(zhǔn)來選取,為達(dá)到分辨率的要求,以及考慮步進(jìn)電機(jī)負(fù)載匹配,采用電機(jī)減速傳動(dòng)。系統(tǒng)總體框圖如下</p><p> 2.2.4、機(jī)械系統(tǒng)的設(shè)計(jì)</p><p> 機(jī)械系統(tǒng)的設(shè)計(jì)內(nèi)容包括:確定系統(tǒng)的脈沖當(dāng)量,運(yùn)動(dòng)部件慣性的計(jì)算,選擇步進(jìn)電機(jī),傳動(dòng)
19、及導(dǎo)向元件的設(shè)計(jì)計(jì)算及選擇。</p><p> 支承座采用的是固定支承式用的是深溝球軸承和向心軸承;</p><p> 因?yàn)楣ぷ髋_(tái)作為實(shí)驗(yàn)用運(yùn)動(dòng)部件重量和工作載荷都很小載荷幾乎沒有,實(shí)驗(yàn)臺(tái)用的是直線滾動(dòng)導(dǎo)軌副提高運(yùn)動(dòng)平穩(wěn)性和減少工作臺(tái)的摩擦系數(shù);</p><p> 第三章 機(jī)械結(jié)構(gòu)設(shè)計(jì)</p><p> 3.1 X-Y工作臺(tái)的結(jié)構(gòu)簡
20、圖</p><p> 3.1.1 工作臺(tái)草圖的設(shè)計(jì)</p><p> X - Y工作臺(tái)的機(jī)電一體化系統(tǒng)可以設(shè)計(jì)為開環(huán)、半閉環(huán)和閉環(huán)伺服系統(tǒng)三種。開環(huán)的伺服系統(tǒng)采用步進(jìn)電機(jī)驅(qū)動(dòng),系統(tǒng)中不設(shè)置傳感與檢測設(shè)備;半閉環(huán)的伺服系統(tǒng)中一般采用交流或直流伺服電機(jī)驅(qū)動(dòng),并在電機(jī)輸出軸端設(shè)置傳感與檢測設(shè)備;閉環(huán)的伺服系統(tǒng)中也是采用交流或直流伺服電機(jī)驅(qū)動(dòng),但檢測與傳感設(shè)備設(shè)置在工作臺(tái)末端。本文所設(shè)計(jì)的X
21、- Y 工作臺(tái)開環(huán)伺服系統(tǒng),通過控制器控制步進(jìn)電機(jī)的驅(qū)動(dòng),經(jīng)傳動(dòng)機(jī)構(gòu)帶動(dòng)工作臺(tái)運(yùn)動(dòng),其總體框圖如下:</p><p><b> 工作臺(tái)草圖</b></p><p> 3.1.2 機(jī)械系統(tǒng)的機(jī)械結(jié)構(gòu)草圖及簡圖</p><p> 繪制出所設(shè)計(jì)的十字工作臺(tái)的結(jié)構(gòu)草圖,其結(jié)構(gòu)草圖如下圖所示</p><p> 在本次十字工
22、作臺(tái)課程設(shè)計(jì)中機(jī)械系統(tǒng)主要包括步進(jìn)電動(dòng)機(jī)X2,滾珠絲桿副X2,聯(lián)軸器,導(dǎo)軌,支撐座,軸承,其機(jī)械草圖線路及機(jī)械結(jié)構(gòu)簡圖如下圖所示:</p><p><b> XY工作臺(tái)機(jī)構(gòu)簡圖</b></p><p> 圖中為保證傳動(dòng)精度和平穩(wěn)性以及結(jié)構(gòu)的緊湊,我們用的是滾珠絲杠螺母傳動(dòng)副,而且滾珠絲杠副具有軸向剛度高能通過適當(dāng)預(yù)緊可消除絲杠與螺母之間的軸向間隙,不易磨損等優(yōu)點(diǎn),
23、運(yùn)動(dòng)平穩(wěn),是用壽命長等優(yōu)點(diǎn);</p><p> 支承座采用的是固定支承式用的是深溝球軸承和向心軸承;</p><p> 因?yàn)楣ぷ髋_(tái)作為實(shí)驗(yàn)用運(yùn)動(dòng)部件重量和工作載荷都很小載荷幾乎沒有,實(shí)驗(yàn)臺(tái)用的是直線滾動(dòng)導(dǎo)軌副提高運(yùn)動(dòng)平穩(wěn)性和減少工作臺(tái)的摩擦系數(shù);</p><p><b> 導(dǎo)軌副的選用</b></p><p>
24、要設(shè)計(jì)數(shù)控銑床工作臺(tái),需要承受的載荷不大,而且脈沖當(dāng)量小,定位精度高,因此選用直線滾動(dòng)導(dǎo)軌副,它具有摩擦系數(shù)小,不易爬行,傳動(dòng)效率高,結(jié)構(gòu)緊,安裝預(yù)緊方便等優(yōu)點(diǎn)。</p><p> 在該工作臺(tái)中分別用兩個(gè)步進(jìn)電機(jī)控制兩個(gè)絲杠副運(yùn)動(dòng),分別控制X方向和Y方向的運(yùn)動(dòng),控制系統(tǒng)根據(jù)用戶編制的程序的要求,發(fā)出脈沖型號(hào)控制兩個(gè)步進(jìn)電機(jī),讓兩個(gè)工作臺(tái)運(yùn)動(dòng),從而實(shí)現(xiàn)了X-Y一體化的功能。</p><p>
25、; 3.1.3 開環(huán)控制系統(tǒng)</p><p> 在實(shí)驗(yàn)中我們用的數(shù)控機(jī)床工作臺(tái)伺服系統(tǒng)所用的是開環(huán)伺服系統(tǒng);全閉環(huán)控制系統(tǒng),結(jié)構(gòu)復(fù)雜技術(shù)難度大,成本高;半閉環(huán)控制,調(diào)試比開環(huán)控制要困難,而其結(jié)構(gòu)也相對(duì)復(fù)雜;經(jīng)綜合考慮要求經(jīng)濟(jì)性,而且運(yùn)動(dòng)精度要求不高,為簡化結(jié)構(gòu)和降低成本,所以我們選用的開環(huán)伺服結(jié)構(gòu);</p><p> 開環(huán)控制的系統(tǒng)框圖:</p><p>
26、3.2 步進(jìn)電機(jī)系統(tǒng)</p><p> 根據(jù)本課程設(shè)計(jì)所要求的步進(jìn)電機(jī)數(shù)量為兩個(gè),一個(gè)步進(jìn)電機(jī)控制X方向運(yùn)動(dòng)的工作臺(tái),另一個(gè)控制Y方向運(yùn)動(dòng)的工作臺(tái)。</p><p> 3.2.1 步進(jìn)電機(jī)的工作原理及特點(diǎn)</p><p> 步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受
27、負(fù)載變化的影響,即給電機(jī)加一個(gè)脈沖信號(hào),電機(jī)則轉(zhuǎn)過一個(gè)步距角。這一線性關(guān)系的存在,加上步進(jìn)電機(jī)只有周期性的誤差而無累積誤差等特點(diǎn)。使得在速度、位置等控制領(lǐng)域用步進(jìn)電機(jī)來控制變的非常的簡單。</p><p> 雖然步進(jìn)電機(jī)已被廣泛應(yīng)用,但步進(jìn)電機(jī)并不能象普通的直流電機(jī),交流電機(jī)在常規(guī)下使用。 它必須由雙環(huán)形脈沖信號(hào)、功率驅(qū)動(dòng)電路等組成控制系統(tǒng)方可使用。因此用好步進(jìn)電機(jī)卻非易事,它涉及到機(jī)械、電機(jī)、電子及計(jì)算機(jī)等許
28、多專業(yè)知識(shí)。</p><p> 步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)子由軟磁材料或永磁材料制成多極的形式,定子上裝有多相不同連接的控制繞組。它的激勵(lì)信號(hào)有直流脈沖、方波、多相方波和邏輯序列多種。步進(jìn)電動(dòng)機(jī)的步距和速度不受電壓波動(dòng)、環(huán)境溫度和負(fù)載變化的影響,而僅與脈沖頻率有關(guān)。改變脈沖頻率就能在很大范圍內(nèi)準(zhǔn)確調(diào)節(jié)電動(dòng)機(jī)的速度。因此步進(jìn)電動(dòng)機(jī)用于開環(huán)數(shù)字控制,可大大簡化控制系統(tǒng)。步進(jìn)電動(dòng)機(jī)配以位置檢測元件時(shí)也可用于閉環(huán)數(shù)字控制,常用于打
29、印機(jī)、帶讀出器、計(jì)數(shù)器、繪圖機(jī)、數(shù)控機(jī)床、閥門執(zhí)行機(jī)構(gòu)、定位平臺(tái)和數(shù)模轉(zhuǎn)換器等。步進(jìn)電動(dòng)機(jī)種類繁多,按運(yùn)動(dòng)形式分為旋轉(zhuǎn)式步進(jìn)電動(dòng)機(jī)和直線式步進(jìn)電動(dòng)機(jī)。這就是步進(jìn)電機(jī)的工作原理及分類。</p><p> 步進(jìn)電機(jī)的特點(diǎn) </p><p><b> 一、過載性好</b></p><p> 其轉(zhuǎn)速不受負(fù)載大小的影響,不像普通電機(jī),當(dāng)負(fù)載加大
30、時(shí)就會(huì)出現(xiàn)速度下降的情況,所以步進(jìn)電機(jī)使用在對(duì)速度和位置都有嚴(yán)格要求的場合。</p><p><b> 二、控制方便</b></p><p> 步進(jìn)電機(jī)是以“步”為單位旋轉(zhuǎn)的,數(shù)字特征比較明顯,這樣就給計(jì)算機(jī)控制帶來了很大的方便,反過來,計(jì)算機(jī)的出現(xiàn)也為步進(jìn)電機(jī)開辟了更為廣闊的使用市場。</p><p><b> 三、整機(jī)結(jié)構(gòu)簡
31、單</b></p><p> 傳統(tǒng)的機(jī)械速度和位置控制結(jié)構(gòu)比較復(fù)雜,調(diào)整困難,使用步進(jìn)電機(jī)后,使得整機(jī)的結(jié)構(gòu)變得簡單和緊湊。</p><p> 第四章 電路控制設(shè)計(jì)</p><p> 4.1 驅(qū)動(dòng)電路的設(shè)計(jì)</p><p> 步進(jìn)電機(jī)的速度控制比較容易實(shí)現(xiàn),而且不需要反饋電路。設(shè)計(jì)時(shí)的脈沖當(dāng)量為0.01mm,步進(jìn)電機(jī)每走
32、一步,工作臺(tái)直線行進(jìn)給0.01mm。步進(jìn)電機(jī)驅(qū)動(dòng)電路中采用了光電偶合器,它具有較強(qiáng)的抗干擾性,而且具有保護(hù)CPU的作用,當(dāng)功放電路出現(xiàn)故障時(shí),不會(huì)將大的電壓加在CPU上使其燒壞。</p><p> 圖7 步進(jìn)電機(jī)驅(qū)動(dòng)電路圖</p><p> 該電路中的功放電路是一個(gè)單電壓功率放大電路,當(dāng)A相得電時(shí),電動(dòng)機(jī)轉(zhuǎn)動(dòng)一步。電路中與繞組并聯(lián)的二極管D起到續(xù)流作用,即在功放管截止是,使儲(chǔ)存在繞
33、組中的能量通過二極管形成續(xù)流回路泄放,從而保護(hù)功放管。與繞組W串聯(lián)的電阻為限流電阻,限制通過繞組的電流不至超過額定值,以免電動(dòng)機(jī)發(fā)熱厲害被燒壞。</p><p> 由于步進(jìn)電機(jī)采用的是五相十拍的工作方式(五個(gè)線圈A、B、C、D、E),其正轉(zhuǎn)時(shí)通電順序?yàn)椋篈B-ABC-BC-BCD-CD-CDE-DE-DEA-EA-EAB-AB……….</p><p> 4.2 控制電路面板線路的設(shè)
34、計(jì)</p><p> 4.2.1 電路的接線分析</p><p> 畫出控制面板上的連接線路如下圖所示</p><p> 4.2.2控制電路簡圖</p><p> 控制電路是整個(gè)工作臺(tái)運(yùn)動(dòng)的核心,也是整個(gè)設(shè)計(jì)中最復(fù)雜的部分,因此在設(shè)計(jì)中重點(diǎn)研究的對(duì)象是整個(gè)控制電路的接線過程,下圖就是十字工作臺(tái)的控制電路簡圖</p>&l
35、t;p><b> 控制系統(tǒng)電器簡圖</b></p><p> 4.2.3 電氣接線簡圖</p><p> 電氣接線簡圖見附件CAD A4圖紙 </p><p> 4.3 操作控制面板</p><p><b> 操作控制面板如下:</b></p><p>
36、第五章 程 序</p><p><b> 編語言程序設(shè)計(jì)</b></p><p> 每調(diào)用一次程序,步進(jìn)電機(jī)就按設(shè)計(jì)規(guī)定的方向運(yùn)動(dòng)進(jìn)給。</p><p> 在程序中,設(shè)置加速,恒速,減速脈沖計(jì)數(shù)器,以計(jì)數(shù)器的值是否為0作為相應(yīng)過程是否結(jié)束的標(biāo)志,步進(jìn)電機(jī)控制程序框圖如下</p><p> 根據(jù)運(yùn)動(dòng)要求編制的
37、部分子程序清單如下</p><p> // DEMODlg.cpp : implementation file</p><p><b> //</b></p><p> #include "stdafx.h"</p><p> #include "DEMO.h"</p
38、><p> #include "DEMODlg.h"</p><p> #include "CtrlCard.h"</p><p> #include "BaseParaSet.h"</p><p> #include "IOTest.h"</p>
39、<p> #include "adt8940a1.h"</p><p> CCtrlCardg_CtrlCard;</p><p> #ifdef _DEBUG</p><p> #define new DEBUG_NEW</p><p> #undef THIS_FILE</p>
40、<p> static char THIS_FILE[] = __FILE__;</p><p><b> #endif</b></p><p> extern int effectlogic_x;</p><p> extern int effectlogic_y;</p><p> extern
41、int effectlogic_z;</p><p> extern int effectlogic_a;</p><p> extern int registermode;</p><p> /////////////////////////////////////////////////////////////////////////////</p&
42、gt;<p> // CDEMODlg dialog</p><p> CDEMODlg::CDEMODlg(CWnd* pParent /*=NULL*/)</p><p> : CDialog(CDEMODlg::IDD, pParent)</p><p><b> {</b></p><p>
43、 //{{AFX_DATA_INIT(CDEMODlg)</p><p> m_nAddX = 0;</p><p> m_nAddY = 0;</p><p> m_nAddZ = 0;</p><p> m_bX = FALSE;</p><p> m_bY = FALSE;</p>&l
44、t;p> m_bZ = FALSE;</p><p> m_nPulseX = 0;</p><p> m_nPulseY = 0;</p><p> m_nPulseZ = 0;</p><p> m_nSpeedX = 0;</p><p> m_nSpeedY = 0;</p>&
45、lt;p> m_nSpeedZ = 0;</p><p> m_nStartvX = 0;</p><p> m_nStartvY = 0;</p><p> m_nStartvZ = 0;</p><p> m_bDelayStatus = FALSE;</p><p> m_nDelayTime
46、= 0;</p><p> m_nSpeedA = 0;</p><p> m_nStartvA = 0;</p><p> m_nPulseA = 0;</p><p> m_bA = FALSE;</p><p> m_nAddA = 0;</p><p> m_dTaccX =
47、 0.0;</p><p> m_dTaccA = 0.0;</p><p> m_dTaccY = 0.0;</p><p> m_dTaccZ = 0.0;</p><p> m_bManualContinue = FALSE;</p><p> //}}AFX_DATA_INIT</p>
48、<p> // Note that LoadIcon does not require a subsequent DestroyIcon in Win32</p><p> m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);</p><p><b> }</b></p><p>
49、<b> int i;</b></p><p> i=g_CtrlCard.Init_Board();</p><p> //*************初始化8940A1卡**************</p><p> //******* 設(shè)置默認(rèn)初始速度為500*********</p><p> m_nS
50、tartvX = 500;</p><p> m_nStartvY = 500;</p><p> m_nStartvZ = 500;</p><p> m_nStartvA = 500;</p><p> //*********設(shè)置默認(rèn)驅(qū)動(dòng)速度為1000********</p><p> m_nSpeedX
51、 = 1000; </p><p> m_nSpeedY = 1000; </p><p> m_nSpeedZ = 1000; </p><p> m_nSpeedA = 1000; </p><p> //*********設(shè)置默認(rèn)加速度為750**********</p><p> m_nAdd
52、X = 750;</p><p> m_nAddY = 750;</p><p> m_nAddZ = 750;</p><p> m_nAddA = 750;</p><p> //********設(shè)置默認(rèn)目標(biāo)位置為100000******</p><p> m_nPulseX =
53、 150000;</p><p> m_nPulseY = 150000;</p><p> m_nPulseZ = 150000;</p><p> m_nPulseA = 150000;</p><p> //***********設(shè)置加速時(shí)間***************</p><p> m_d
54、TaccX = 0.2;</p><p> m_dTaccY = 0.2;</p><p> m_dTaccZ = 0.2;</p><p> m_dTaccA = 0.2;</p><p> //*********設(shè)置延時(shí)時(shí)間為0.1************</p><p> m_nDelayTime =
55、 0.1;</p><p> UpdateData(FALSE);</p><p> //***********啟動(dòng)定時(shí)器*************</p><p> /*********************************</p><p><b> 聯(lián)動(dòng)按鈕動(dòng)作</b></p><
56、;p> *******************************/</p><p> void CDEMODlg::OnButtonPmove() </p><p><b> {</b></p><p> UpdateData(TRUE);</p><p> long Startv[]={m_nSt
57、artvX,m_nStartvY,m_nStartvZ,m_nStartvA}; //初始速度</p><p> long Speed[]={m_nSpeedX,m_nSpeedY,m_nSpeedZ,m_nSpeedA}; //驅(qū)動(dòng)速度</p><p> long Add[] ={m_nAddX,m_nAddY,m_nAddZ,m_nAddA};
58、 //加速度</p><p><b> if(m_bX) </b></p><p><b> {</b></p><p> //*************速度設(shè)定***************//</p><p> g_CtrlCard.Setup_Speed(1, m_nStartv
59、X, m_nSpeedX, m_nAddX);</p><p> //*************X軸驅(qū)動(dòng)***************//</p><p> g_CtrlCard.Axis_Pmove(1, m_nPulseX);</p><p><b> }</b></p><p> if(m_bY )
60、</p><p><b> {</b></p><p> //*************速度設(shè)定**************//</p><p> g_CtrlCard.Setup_Speed(2, m_nStartvY, m_nSpeedY, m_nAddY);</p><p> //*************
61、Y軸驅(qū)動(dòng)****************//</p><p> g_CtrlCard.Axis_Pmove(2, m_nPulseY);</p><p><b> }</b></p><p> if(m_bZ ) </p><p><b> {</b></p><p
62、> //*************速度設(shè)定**************//</p><p> g_CtrlCard.Setup_Speed(3, m_nStartvZ, m_nSpeedZ, m_nAddZ);</p><p> //*************Z軸驅(qū)動(dòng)**************//</p><p> g_CtrlCard.Axis
63、_Pmove(3, m_nPulseZ);</p><p><b> }</b></p><p> if(m_bA ) </p><p><b> {</b></p><p> //*************速度設(shè)定**************//</p><p>
64、 g_CtrlCard.Setup_Speed(4, m_nStartvA, m_nSpeedA, m_nAddA);</p><p> //*************A軸驅(qū)動(dòng)***************//</p><p> g_CtrlCard.Axis_Pmove(4, m_nPulseA);</p><p><b> }</b
65、></p><p><b> }</b></p><p> /*********************************</p><p><b> 插補(bǔ)按鈕動(dòng)作</b></p><p> *********************************/</p>
66、<p> void CDEMODlg::OnButtonInpmove() </p><p><b> {</b></p><p> UpdateData();</p><p> long Startv[]={m_nStartvX,m_nStartvY,m_nStartvZ,m_nStartvA}; //初始速度&l
67、t;/p><p> long Speed[]={m_nSpeedX,m_nSpeedY,m_nSpeedZ,m_nSpeedA}; //驅(qū)動(dòng)速度</p><p> long Add[] ={m_nAddX,m_nAddY,m_nAddZ,m_nAddA}; //加速度</p><p> long Pulse[]
68、={m_nPulseX,m_nPulseY,m_nPulseZ,m_nPulseA}; //軸的驅(qū)動(dòng)脈沖數(shù)</p><p> //double Tacc[]={m_dTaccX,m_dTaccY,m_dTaccZ,m_dTaccA};//加速時(shí)間</p><p><b> 停止按鈕動(dòng)作</b></p><p>&l
69、t;b> 各軸立即停止</b></p><p> *******************************/</p><p> void CDEMODlg::OnButtonStop() </p><p><b> {</b></p><p> reset_fifo(0);//清除緩存&
70、lt;/p><p> for (int i = 1; i<=MAXAXIS; i++)</p><p><b> {</b></p><p> g_CtrlCard.StopRun(i,0); </p><p><b> }</b></p><p><b
71、> }</b></p><p> //********************實(shí)時(shí)獲取狀態(tài)*************************//</p><p> // 獲取邏輯位置、實(shí)際位置、運(yùn)行速度和驅(qū)動(dòng)狀態(tài) //</p><p> // 讀取正負(fù)限位、stop0、stop1信號(hào)
72、 //</p><p> //*********************************************************//</p><p> void CDEMODlg::OnTimer(UINT nIDEvent) </p><p> int status[4];</p><p> for
73、 (int i=1; i<MAXAXIS+1; i++)</p><p><b> {</b></p><p> g_CtrlCard.Get_CurrentInf(i,log,act,spd); //讀取邏輯位置、實(shí)際位置和運(yùn)行速度</p><p> //********顯示邏輯位置********//</p>
74、<p><b> }</b></p><p> //******************信號(hào)檢測*****************</p><p> // X軸負(fù)限位-0 X軸正限位-1</p><p> // X軸STOP0 -2 X軸STOP1 -3</p><p&
75、gt; // Y軸負(fù)限位-6 Y軸正限位-7</p><p> // Y軸STOP0 -8 Y軸STOP1 -9</p><p> // Z軸負(fù)限位-12 Z軸正限位-13</p><p> // Z軸STOP0 -14 Z軸STOP1 -15</p><p> /
76、/ A軸負(fù)限位-18 A軸正限位-19</p><p> // A軸STOP0 -20 A軸STOP1 -21</p><p> //*******************************************</p><p> UINT nIDIN[]={ IDC_LIMIT_X,IDC_LIMIT_X2,
77、 //X軸正負(fù)限位</p><p> IDC_STOP0_X, IDC_STOP1_X , </p><p> IDC_LIMIT_Y, IDC_LIMIT_Y2, //Y軸正負(fù)限位</p><p> IDC_STOP0_Y,IDC_STOP1_X2, </p><p> I
78、DC_LIMIT_Z,IDC_LIMIT_Z2, //Z軸正負(fù)限位</p><p> IDC_STOP0_Z,IDC_STOP1_Z,</p><p> IDC_LIMIT_A,IDC_LIMIT_A2, //A軸正負(fù)限位</p><p> IDC_STOP0_A,IDC_STOP1_A,
79、 </p><p><b> }; </b></p><p> int io[]={0,1,2,3,6,7,8,9,12,13,14,15,18,19,20,21};</p><p> CButton *btn;</p><p> int value;</p><p> for (i
80、=0; i<16; i++)</p><p><b> {</b></p><p> value=g_CtrlCard.Read_Input(io[i]); //讀取信號(hào)</p><p> btn=(CButton*)GetDlgItem(nIDIN[i]);</p><p&g
81、t; btn->SetCheck(value==0?1:0);</p><p><b> }</b></p><p> //**************************按鈕控制****************************</p><p> int m=reset_fifo(0);//清除緩存</p>
82、<p> for (int i=0; i<50; )</p><p> {//加工50段數(shù)據(jù),每段為100個(gè)脈沖</p><p> if (read_fifo_full(0)==0)//0:未滿,1:滿</p><p> {//讀取緩存是否滿</p><p> m=fifo_inp_move2(0,1,2,100
83、,100,3000);</p><p><b> i++;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> Me
84、ssageBox("緩存滿,稍后存放");</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> 第六章 心得體會(huì) </p><p&g
85、t; 我覺得這次專業(yè)課程設(shè)計(jì)是對(duì)過去所學(xué)專業(yè)知識(shí)的一個(gè)全面的綜合的運(yùn)用。在設(shè)計(jì)的過程中我全面地溫習(xí)了以前所學(xué)過的知識(shí),包括機(jī)械專業(yè)課程的基礎(chǔ)知識(shí),經(jīng)過復(fù)習(xí)整理所學(xué)得專業(yè)知識(shí)使得設(shè)計(jì)思路清晰系統(tǒng)。通過設(shè)計(jì)使我更加接近生產(chǎn)實(shí)際,鍛煉了將理論運(yùn)用于實(shí)際的分析和解決實(shí)際問題的能力,鞏固、加深了有關(guān)機(jī)械設(shè)計(jì)方面的知識(shí)。</p><p> 還有很重要的一點(diǎn)是讓我體會(huì)到了一個(gè)設(shè)計(jì)者的精神。在設(shè)計(jì)過程中既要自己不斷思考、創(chuàng)造
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 機(jī)電系統(tǒng)綜合課程設(shè)計(jì)
- 機(jī)電液課程設(shè)計(jì)
- 機(jī)電轉(zhuǎn)動(dòng)課程設(shè)計(jì)
- 機(jī)電課程設(shè)計(jì).doc
- 機(jī)電課程設(shè)計(jì).doc
- 機(jī)電課程設(shè)計(jì).doc
- 機(jī)電課程設(shè)計(jì).doc
- 機(jī)電課程設(shè)計(jì).doc
- 機(jī)電課程設(shè)計(jì).doc
- 機(jī)電課程設(shè)計(jì).doc
- 機(jī)電液課程設(shè)計(jì)
- 機(jī)電課程設(shè)計(jì).doc
- 機(jī)電液綜合設(shè)計(jì)課程設(shè)計(jì)
- 機(jī)電液綜合設(shè)計(jì)課程設(shè)計(jì)
- 機(jī)電傳動(dòng)課程設(shè)計(jì)
- 機(jī)電課程設(shè)計(jì)報(bào)告匯總.
- 機(jī)電傳動(dòng)課程設(shè)計(jì)
- 機(jī)電傳動(dòng)課程設(shè)計(jì)
- 機(jī)電課程設(shè)計(jì)---液壓壓塊機(jī)系統(tǒng)
- xy數(shù)控工作臺(tái)機(jī)電系統(tǒng)設(shè)計(jì)-課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論