機(jī)電一體化實驗報告(共15頁)_第1頁
機(jī)電一體化實驗報告(共15頁)_第2頁
機(jī)電一體化實驗報告(共15頁)_第3頁
機(jī)電一體化實驗報告(共15頁)_第4頁
機(jī)電一體化實驗報告(共15頁)_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上機(jī) 電 一 體 化系 統(tǒng) 設(shè) 計實驗報告學(xué) 院 專 業(yè) 班 級 學(xué) 號 姓 名 指導(dǎo)教師 2014 年 1 月 12 日實驗一 機(jī)電一體化系統(tǒng)的組成實驗?zāi)康模阂訶Y簡易數(shù)控工作臺為例,說明機(jī)電一體化系統(tǒng)的基本組成和各模塊的特點。實驗設(shè)備:l 臺式PC機(jī)一臺l 標(biāo)準(zhǔn)XY工作臺一套l 運動控制卡一塊l 游標(biāo)卡尺一把實驗內(nèi)容:XY簡易數(shù)控工作臺是一典型的機(jī)電一體化系統(tǒng),是許多數(shù)控加工設(shè)備和電子加工設(shè)備的基本部件,XY數(shù)控工作臺主要由運動控制卡、DC24V開關(guān)電源、步進(jìn)電機(jī)及其驅(qū)動器、XY向運動平臺、光柵尺和霍爾限位開關(guān)組成,其之間的關(guān)系如圖1.1所示。工作原理大致為:運動控

2、制卡接受PC機(jī)發(fā)出的位置和軌跡指令,進(jìn)行規(guī)劃處理(插補(bǔ)運算),轉(zhuǎn)化成步進(jìn)電機(jī)驅(qū)動器可以接受的指令格式(速度脈沖和方向信號)發(fā)給驅(qū)動器,由驅(qū)動器進(jìn)行脈沖環(huán)行分配和功率放大從而驅(qū)動步進(jìn)電機(jī),步進(jìn)電機(jī)經(jīng)過聯(lián)軸器、滾動絲杠推動工作臺按指定的速度和位移運動。實驗步驟:(1) 在XY數(shù)控工作臺系統(tǒng)中分別找到上述各個模塊,并指出各模塊在機(jī)電一體化系統(tǒng)中實現(xiàn)哪一模塊的功能。運動控制卡:運動控制卡是PCL、CPCL、PXL等總線形成的板卡,通俗地講我們可以把它看成一個單片機(jī),有自己的算法,可以通過VC、VB、labview、BCB等語言實現(xiàn)其功能,數(shù)控系統(tǒng)即通過運動控制卡來實現(xiàn)對機(jī)床運動軌跡的控制。DC24V開

3、關(guān)電源:對供電要求質(zhì)量比較高的控制設(shè)備提供純凈、穩(wěn)定、沒有雜波的直流電源。步進(jìn)電機(jī)及其驅(qū)動器:步進(jìn)電機(jī)用于驅(qū)動數(shù)控工作臺的X、Y兩個方向的移動;步進(jìn)電機(jī)通過驅(qū)動器細(xì)分,可減小步距角,從而提高步進(jìn)電機(jī)的精確率,實現(xiàn)脈沖分配和功率驅(qū)動放大,此外還可以消除電機(jī)的低頻振蕩、提高電機(jī)的輸出轉(zhuǎn)矩。XY向運動平臺:分別傳輸X、Y兩個方向的運動。光柵尺:光柵尺是一種位移傳感器,是利用光柵的光學(xué)原理工作的測量反饋裝置。經(jīng)常應(yīng)用于數(shù)控機(jī)床的閉環(huán)伺服系統(tǒng)中,可用作直線位移或者角位移的檢測?;魻栂尬婚_關(guān):用于限制工作臺的運動超出導(dǎo)軌的有效長度。(2) 使用卡尺測量,計算其平均導(dǎo)程P= 10 ;觀察其循環(huán)器,可知其循環(huán)

4、方式為 內(nèi)循環(huán) ;預(yù)緊方式是 螺紋調(diào)隙式 。(3) 觀察導(dǎo)軌截面,并查閱機(jī)電一體化技術(shù)手冊,可知其屬于GGA,GGB,GGC,GGF中哪類? GGB 。 其適用場合 機(jī)械加工中心、NC車床、搬運裝置、電火花加工機(jī)、木工機(jī)械、激光加工機(jī)、精密測試儀器、包裝機(jī)械、食品機(jī)械、醫(yī)療器械、工具磨床、平面磨床等 。(4) 查閱DMC3000硬件手冊可知系統(tǒng)中的運動控制卡可實現(xiàn) 四 軸的聯(lián)動,并具有 16 個數(shù)字量輸入和 16 個數(shù)字量輸出控制。(5) 記錄步進(jìn)電機(jī)型號,網(wǎng)上查閱其詳細(xì)技術(shù)參數(shù),可知其屬于(反應(yīng)式,永磁式,混合式) 混合 式步進(jìn)電機(jī),整步步距角為 1.8° ,額定工作電壓 2.6V

5、 。測量電機(jī)機(jī)座的長寬尺寸屬于 57 尺寸系列機(jī)型。一般來說尺寸系列越大,其輸出扭距越 大 。XY數(shù)控工作臺系統(tǒng)的草圖可見附錄1:實驗二 XY簡易數(shù)控工作臺的電氣連接實驗?zāi)康模阂詳?shù)控系統(tǒng)中基本的電機(jī)運動控制和限位開關(guān)控制為例,了解基于運動控制卡的XY簡易數(shù)控工作臺的電氣連接。實驗設(shè)備:l 臺式PC機(jī)一臺l 標(biāo)準(zhǔn)XY工作臺一套l 運動控制卡一塊實驗內(nèi)容:運動控制卡能夠?qū)崿F(xiàn)多軸聯(lián)動最重要的原因是利用了控制卡上專用運動控制芯片提供的硬件插補(bǔ)功能,這類專用運動控制芯片能夠根據(jù)PC機(jī)給出的插補(bǔ)終點和插補(bǔ)速度等參數(shù),利用某些插補(bǔ)算法計算出各個軸的進(jìn)給脈沖和進(jìn)給方向,并將這兩類信號輸出到接口板的某些固定端子

6、上。步進(jìn)電機(jī)要想能夠?qū)崿F(xiàn)一個脈沖對應(yīng)電機(jī)轉(zhuǎn)過一個步距角,除了需要步進(jìn)電機(jī)以外,還需要一個步進(jìn)電機(jī)驅(qū)動器為步進(jìn)電機(jī)實現(xiàn)脈沖分配和功率驅(qū)動放大的功能。實驗步驟: (1) 參考電氣主電路圖,在控制箱內(nèi)找到與DC24V電源相連的模塊以及連接所用的端子。(2) 依據(jù)控制電路圖和DMC3000硬件手冊,找到接口板與步進(jìn)電機(jī)驅(qū)動器的控制信號接線,并思考接口板和驅(qū)動器之間的電氣接口原理。(3) 依據(jù)控制電路圖和DMC3000硬件手冊,找到限位開關(guān)和光柵尺電路。實驗結(jié)果:通過實驗,可得出平臺控制電路圖(見附錄2)實驗三 運動控制卡軟件接口與簡單的點位控制程序?qū)嶒災(zāi)康模撼醪搅私釪MC3000運動控制卡的軟件接口形

7、式l 實驗設(shè)備:臺式PC機(jī)一臺l 標(biāo)準(zhǔn)XY工作臺一套l 運動控制卡一塊實驗內(nèi)容: 運動控制卡接口板步進(jìn)電機(jī)驅(qū)動器等模塊間的電氣連接保證了運動控制卡輸出的運動和控制信號的傳輸。但要實現(xiàn)工作臺按照某些規(guī)律運動,除了上邊所述的正確電氣連接外,還需要運動控制卡提供相應(yīng)的軟件接口(Interface)來接受PC機(jī)發(fā)出的運動控制命令。DMC3000運動控制卡的軟件接口是以動態(tài)連結(jié)庫(DLL)的形式提供的。所謂動態(tài)連接庫,在編程實現(xiàn)上可以理解成一個函數(shù)的集合,在這個庫里包含有許多函數(shù)。DMC3000控制卡的用戶通過在軟件程序中調(diào)用動態(tài)連接庫中的某些函數(shù),從而達(dá)到操作運動控制卡的目的。實現(xiàn)DMC3000卡控制

8、工作臺做某些直線插補(bǔ)運動。(1) 運行Motion3000,在其界面下了解DMC3000支持的各種運動控制功能。利用其界面操作完成絕對坐標(biāo)和相對坐標(biāo)下T形和S形的直線和圓弧插補(bǔ)運動。(2) 在VB/VC開發(fā)環(huán)境下實現(xiàn)一條直線簡單插補(bǔ)運動控制。實驗步驟及結(jié)果:1、步驟: 打開Visual C+ 6.0 新建一個工程 選擇MFC APPWizard(exe) 選擇工程保存路徑如E: 輸入工程名,如test 按確定鍵在應(yīng)用程序類型中選擇基本對話按確定鍵建立工程 對對話框進(jìn)行簡單的修改增加按鈕啟動命名為IDC_BUTTON_Start 和停止(命名為 IDC_BUTTON_Stop)。 在Motion

9、3000 安裝目錄下找到dmc3000.h 和dmc3000.lib 文件拷貝到E:test 目錄下 選擇工程-> 添加工程-> 文件選中dmc3000.lib 文件加入到工程中 開test.cpp 文件在頭部添加語句#include dmc3000.h 在CTestDlg:OnInitDialog()函數(shù)中添加代碼d3000_board_init(); 在CtestDlg 中添加一個成員函數(shù)OnCancel,在OnCancel 函數(shù)中添加代碼d3000_board_close();CDialog:OnCancel(); 雙擊啟動按鈕在按鈕點擊事件中輸入代碼d3000_start_

10、t_move(0,1000,400,1000,0.1,0.1);雙擊停止按鈕在按鈕點擊事件中輸入代碼d3000_decel_stop(0,0.1); 編譯運行按下啟動按鈕第0 軸就會輸出長度為1000 的脈沖運動中可以按下停止按鈕便會減速停止脈沖輸出。2、完整程序結(jié)果:#include "stdafx.h"#include "hr.h"#include "hrDlg.h"#include "dmc3000.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEsta

11、tic char THIS_FILE = _FILE_;#endif/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(

12、CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP

13、(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ CHrDlg dialogCHrDlg:CHrDlg(CWnd* pParent /*=NULL*/): CDialog(CHrDlg:IDD, pParent)/AFX_DATA_INIT(CHrDlg)/ NOTE: the ClassWizard will add member initialization here/A

14、FX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);void CHrDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CHrDlg)/ NOTE: the ClassWizard will add DDX and DDV calls here/AFX_DATA_MAPBEGI

15、N_MESSAGE_MAP(CHrDlg, CDialog)/AFX_MSG_MAP(CHrDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON1_start, OnBUTTON1start)ON_BN_CLICKED(IDC_BUTTON2_stop, OnBUTTON2stop)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CHrDlg message handlersBOOL CHrDlg:OnInitDialog() d3000_board_init();CDia

16、log:OnInitDialog();/ Add "About." menu item to system menu./ IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL)CString strAboutMenu;strAboutMenu.Loa

17、dString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);/ Set the icon for this dialog. The framework does this automatically/ when the application's main window is not a dialogSetIcon(m_hIcon, TRUE);/

18、Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the focus to a controlvoid CHrDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();elseCDialog:OnSysComman

19、d(nID, lParam);/ If you add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications using the document/view model,/ this is automatically done for you by the framework.void CHrDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for paintingS

20、endMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ Draw th

21、e icondc.DrawIcon(x, y, m_hIcon);elseCDialog:OnPaint();/ The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CHrDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon;void CHrDlg:OnCancel() d3000_board_close();CDialog:OnCancel();void CHrDlg:OnBUTTON1start(

22、) short AxisArray2; AxisArray0=0; AxisArray1=1; d3000_start_t_line2 (AxisArray, 1000, 0, 400, 1000, 0.1, 0); while (d3000_check_conti_buffer=0) d3000_start_arc (AxisArray, 0, 500, 0, 1000, 1, 1000); void CHrDlg:OnBUTTON2stop() d3000_decel_stop(0,0.1);實驗四 連續(xù)插補(bǔ)運動控制的程序?qū)崿F(xiàn)實驗?zāi)康模豪肰B編寫程序,控制DMC3000卡完成兩段連續(xù)插補(bǔ)

23、軌跡運動。實驗設(shè)備:l 臺式PC機(jī)一臺l 標(biāo)準(zhǔn)XY工作臺一套l 運動控制卡一塊實驗內(nèi)容:DMC3000動態(tài)連接庫中給出的插補(bǔ)函數(shù)都是簡單的直線或圓弧插補(bǔ)運動。但實際生產(chǎn)中要求工作臺能夠完成連續(xù)軌跡運動,即完成了一段插補(bǔ)運動后能夠平滑的進(jìn)入下一段插補(bǔ)運動。DMC3000提供的運動狀態(tài)函數(shù)和連續(xù)運動函數(shù)能夠?qū)崿F(xiàn)這一功能。在VB開發(fā)環(huán)境下編寫程序,實現(xiàn)如圖4-1所示軌跡的連續(xù)運動。圖4-1實驗步驟及結(jié)果:1、步驟:打開Visuai C+6.0新建一個工程選擇MFC APPWizard(exe)選擇工程保存路徑,如E盤輸入工程名,如sb按“確定”鍵,在應(yīng)用程序類型中選擇“基本對話”,按“確定”鍵,建立

24、工程。雙擊窗口控件,在Ford_Load 事件中添加代碼 d3000_bord_init 選擇UnLoad 事件,在Form_UnLoad 事件中添加代碼 d3000_bord_close 雙擊“啟動”按鈕,在CB_Start_Click 事件中添加代碼short AxisArray2; AxisArray0=0; AxisArray1=1; d3000_start_t_line2 (AxisArray,-1000, 0, 400, 1000, 0.1, 0);while (d3000_check_conti_buffer=0) d3000_start_arc (AxisArray, 0, 1

25、000, 0, 2000, 0, 1000); while (d3000_check_conti_buffer=1) d3000_start_t_line2 (AxisArray, 0, 1000, 400, 1000, 0.1, 0.1); 雙擊“停止”按鈕,在CB_Stop_Click 事件中添加代碼 d3000_decel_stop 0, 0.1運行,按下“啟動”按鈕,開始脈沖,按下“停止”按鈕便會減速停止脈沖。2、完整程序結(jié)果:#include "stdafx.h"#include "test01.h"#include "test01D

26、lg.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif#include "dmc3000.h"/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard gene

27、rated virtual function overrides/AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_I

28、NITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ CTest01Dlg dialogCTest01Dlg:CTest01Dlg(CWnd* pParent /*=NULL*/): CDialo

29、g(CTest01Dlg:IDD, pParent)/AFX_DATA_INIT(CTest01Dlg)/ NOTE: the ClassWizard will add member initialization here/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);void CTest01Dlg:DoDataExchange(CDataExchange* pDX)CDia

30、log:DoDataExchange(pDX);/AFX_DATA_MAP(CTest01Dlg)/ NOTE: the ClassWizard will add DDX and DDV calls here/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CTest01Dlg, CDialog)/AFX_MSG_MAP(CTest01Dlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON_Start, OnBUTTONStart)ON_BN_CLICKED(IDC_BUTTO

31、N_Stop, OnBUTTONStop)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CTest01Dlg message handlersBOOL CTest01Dlg:OnInitDialog() d3000_board_init();CDialog:OnInitDialog();/ Add "About." menu item to system menu./ IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBO

32、X);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL)CString strAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);/ Set the icon fo

33、r this dialog. The framework does this automatically/ when the application's main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the focus to a controlvoid CTest01Dlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();elseCDialog:OnSysCommand(nID, lParam);/ If you add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications using the do

溫馨提示

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

最新文檔

評論

0/150

提交評論