机电一体化实验报告_第1页
机电一体化实验报告_第2页
机电一体化实验报告_第3页
机电一体化实验报告_第4页
已阅读5页,还剩9页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、机电一体化系统设计实验报告学院专业班级学号姓名指导教师2014年1月12日.实验一机电一体化系统的组成实验目的: 以 XY简易数控工作台为例,说明机电一体化系统的基本组成和各模块的特点。实验设备:台式 PC机一台标准 XY工作台一套运动控制卡一块游标卡尺一把实验内容:XY简易数控工作台是一典型的机电一体化系统, 是许多数控加工设备和电子加工设备的基本部件, XY数控工作台 主要由运动控制卡、 DC24V开关电源、步进电机及其驱动器、XY向运动平台、光栅尺和霍尔限位开关组成,其之间的关系如图1.1 所示。工作原理大致为: 运动控制卡接受 PC 机发出的位置和轨迹指令,进行规划处理(插补运算),转

2、化成步进电机驱动器可以接受的指令格式(速度脉冲和方向信号)发给驱动器,由驱动器进行脉冲环行分配和功率放大从而驱动步进电机,步进电机经过联轴器、滚动丝杠推动工作台按指定的速度和位移运动。实验步骤:( 1) 在 XY 数控工作台系统中分别找到上述各个模块,并指出各模块在机电一体化系统中实现哪一模块的功能。运动控制卡 :运动控制卡是 PCL、CPCL、PXL 等总线形成的板卡,通俗地讲我们可以把它看成一个单片机,有自己的算法,可以通过 VC 、VB 、labview、BCB 等语言实现其功能,数控系统即通过运动控制卡来实;.现对机床运动轨迹的控制。DC24V 开关电源: 对供电要求质量比较高的控制设

3、备提供纯净、稳定、没有杂波的直流电源。步进电机及其驱动器:步进电机用于驱动数控工作台的X 、Y 两个方向的移动;步进电机通过驱动器细分,可减小步距角,从而提高步进电机的精确率,实现脉冲分配和功率驱动放大,此外还可以消除电机的低频振荡、提高电机的输出转矩。XY 向运动平台: 分别传输 X 、Y 两个方向的运动。光栅尺: 光栅尺是一种位移传感器,是利用光栅的光学原理工作的测量反馈装置。经常应用于数控机床的闭环伺服系统中,可用作直线位移或者角位移的检测。霍尔限位开关: 用于限制工作台的运动超出导轨的有效长度。( 2) 使用卡尺测量, 计算其平均导程P=10;观察其循环器, 可知其循环方式为内循环;预

4、紧方式是螺纹调隙式。( 3) 观察导轨截面,并查阅机电一体化技术手册,可知其属于 GGA , GGB,GGC,GGF 中哪类?GGB。 其适用场合机械加工中心、 NC 车床、搬运装置、电火花加工机、木工机械、激光加工机、精密测试仪器、包装机械、食品机械、医疗器械、工具磨床、平面磨床等。( 4) 查阅 DMC3000 硬件手册可知系统中的运动控制卡可实现四 轴的联动,并具有16 个数字量输入和16个数字量输出控制。( 5) 记录步进电机型号,网上查阅其详细技术参数,可知其属于(反应式,永磁式,混合式)混合式步进电机,整步步距角为1.8°,额定工作电压2.6V。测量电机机座的长宽尺寸属于

5、57尺寸系列机型。一般来说尺寸系列越大,其输出扭距越大。XY 数控工作台系统的草图可见附录1:;.实验二 XY 简易数控工作台的电气连接实验目的: 以数控系统中基本的电机运动控制和限位开关控制为例,了解基于运动控制卡的 XY 简易数控工作台的电气连接。实验设备:台式 PC 机一台标准 XY 工作台一套运动控制卡一块实验内容:运动控制卡能够实现多轴联动最重要的原因是利用了控制卡上专用运动控制芯片提供的硬件插补功能,这类专用运动控制芯片能够根据 PC 机给出的插补终点和插补速度等参数,利用某些插补算法计算出各个轴的进给脉冲和进给方向,并将这两类信号输出到接口板的某些固定端子上。步进电机要想能够实现

6、一个脉冲对应电机转过一个步距角,除了需要步进电机以外,还需要一个步进电机驱动器为步进电机实现脉冲分配和功率驱动放大的功能。实验步骤:( 1) 参考电气主电路图,在控制箱内找到与 DC24V 电源相连的模块以及连接所用的端子。( 2) 依据控制电路图和 DMC3000 硬件手册,找到接口板与步进电机驱动器的控制信号接线,并思考接口板和驱动器之间的电气接口原理。( 3) 依据控制电路图和 DMC3000 硬件手册,找到限位开关和光栅尺电路。实验结果:通过实验,可得出平台控制电路图(见附录2);.实验三运动控制卡软件接口与简单的点位控制程序实验目的: 初步了解 DMC3000运动控制卡的软件接口形式

7、实验设备: 台式 PC 机一台标准 XY 工作台一套运动控制卡一块实验内容:运动控制卡接口板步进电机驱动器等模块间的电气连接保证了运动控制卡输出的运动和控制信号的传输。但要实现工作台按照某些规律运动,除了上边所述的正确电气连接外,还需要运动控制卡提供相应的软件接口 ( Interface)来接受 PC 机发出的运动控制命令。 DMC3000 运动控制卡的软件接口是以动态连结库 (DLL )的形式提供的。所谓动态连接库,在编程实现上可以理解成一个函数的集合,在这个库里包含有许多函数。 DMC3000 控制卡的用户通过在软件程序中调用动态连接库中的某些函数,从而达到操作运动控制卡的目的。实现 DM

8、C3000 卡控制工作台做某些直线插补运动。( 1) 运行 Motion3000,在其界面下了解 DMC3000支持的各种运动控制功能。利用其界面操作完成绝对坐标和相对坐标下 T形和 S形的直线和圆弧插补运动。( 2) 在VB/VC 开发环境下实现一条直线简单插补运动控制。实验步骤及结果:1、步骤: 打开 Visual C+ 6.0 新建一个工程 选择 MFC APPWizard(exe) 选择工程保存路径如 E: 输入工程名 , 如 test 按确定键在应用程序类型中选择基本对话按确定键建立工程 对对话框进行简单的修改增加按钮启动命名为IDC_BUTTON_Start 和停止( 命名为 ID

9、C_BUTTON_Stop)。 在Motion3000 安装目录下找到 dmc3000.h 和 dmc3000.lib文件拷贝到 E:test目录下 选择工程 -> 添加工程 -> 文件选中 dmc3000.lib文件加入到工程中 开 test.cpp文件在头部添加语句 #include dmc3000.h 在CTestDlg:OnInitDialog()函数中添加代码d3000_board_init(); 在CtestDlg中添加一个成员函数 OnCancel, 在OnCancel 函数中添加代码d3000_board_close();CDialog:OnCancel(); 双击

10、启动按钮在按钮点击事件中输入代码d3000_start_t_move(0,1000,400,1000,0.1,0.1);双击停止按钮在按钮点击事件中输入代码d3000_decel_stop(0,0.1);. 编译运行按下启动按钮第 0 轴就会输出长度为 1000 的脉冲运动中可以按下停止按钮便会减速停止脉冲输出。2、完整程序结果:#include "stdafx.h"#include "hr.h"#include "hrDlg.h"#include "dmc3000.h"#ifdef _DEBUG#define n

11、ew DEBUG_NEW#undef THIS_FILEstatic 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)protect

12、ed: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_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX);.CDialog:D

13、oDataExchange(pDX);/AFX_DATA_MAP(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

14、 add member initialization here /AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);void CHrDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CHrDlg)/ NOTE: the ClassWizard will add DDX

15、and DDV calls here /AFX_DATA_MAPBEGIN_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 handlers BOOL CHrDlg

16、: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_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu !=

17、 NULL)CString strAboutMenu;strAboutMenu.LoadString(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 win

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

19、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 document/view model,;./ this is automatically done for you by the framework.void CHrDlg:OnPaint()if (IsIconic()CPaint

20、DC dc(this); / device context for paintingSendMessage(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 =

21、 (rect.Height() - cyIcon + 1) / 2;/ Draw the icon dc.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();CDi

22、alog:OnCancel();void CHrDlg:OnBUTTON1start()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);实验四连续插补运动控制

23、的程序实现实验目的: 利用 VB编写程序,控制DMC3000卡完成两段连续插补轨迹运动。实验设备:台式 PC 机一台标准 XY 工作台一套运动控制卡一块实验内容:DMC3000动态连接库中给出的插补函数都是简单的直线或圆弧插补运动。但实际生产中要求工作台能够完成连续轨迹运动,即完成了一段插补运动后能够平滑的进入下一段插补运动。 DMC3000提供的运动状态函数和连续运动函数能够实现这一功能。在 VB 开发环境下编写程序,实现如图4-1 所示轨迹的连续运动。图 4-1实验步骤及结果:1、步骤:打开 Visuai C+6.0新建一个工程选择 MFC APPWizard(exe)选择工程保存路径,如

24、E盘输入工程名,如 sb按“确定”键,在应用程序类型中选择“基本对话”,按“确定”键,建立工程。双击窗口控件,在 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_cont

25、i_buffer=0)d3000_start_arc (AxisArray, 0, 1000, 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、完整程序结果:#include "stdafx.h"#include

26、"test01.h"#include "test01Dlg.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 =

27、 IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides /AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support /AFX_VIRTUAL/ Implementation protected:/AFX_MSG(CAboutDlg) /AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAbo

28、utDlg:IDD)/AFX_DATA_INIT(CAboutDlg);./AFX_DATA_INITvoid 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 dialog CTes

29、t01Dlg:CTest01Dlg(CWnd* pParent /*=NULL*/): CDialog(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 Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);vo

30、id CTest01Dlg:DoDataExchange(CDataExchange* pDX)CDialog: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(ID

31、C_BUTTON_Start, OnBUTTONStart) ON_BN_CLICKED(IDC_BUTTON_Stop, OnBUTTONStop) /AFX_MSG_MAPEND_MESSAGE_MAP()/ CTest01Dlg message handlers BOOL CTest01Dlg:OnInitDialog() d3000_board_init();CDialog:OnInitDialog();/ Add "About." menu item to system menu.;./ IDM_ABOUTBOX must be in the system com

32、mand range. ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX); 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->Append

33、Menu(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);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization herereturn TRUE; / re

34、turn 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 applicati

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论