机电一体化实验报告Word文件下载.docx

上传人:b****6 文档编号:8409561 上传时间:2023-05-11 格式:DOCX 页数:18 大小:63.98KB
下载 相关 举报
机电一体化实验报告Word文件下载.docx_第1页
第1页 / 共18页
机电一体化实验报告Word文件下载.docx_第2页
第2页 / 共18页
机电一体化实验报告Word文件下载.docx_第3页
第3页 / 共18页
机电一体化实验报告Word文件下载.docx_第4页
第4页 / 共18页
机电一体化实验报告Word文件下载.docx_第5页
第5页 / 共18页
机电一体化实验报告Word文件下载.docx_第6页
第6页 / 共18页
机电一体化实验报告Word文件下载.docx_第7页
第7页 / 共18页
机电一体化实验报告Word文件下载.docx_第8页
第8页 / 共18页
机电一体化实验报告Word文件下载.docx_第9页
第9页 / 共18页
机电一体化实验报告Word文件下载.docx_第10页
第10页 / 共18页
机电一体化实验报告Word文件下载.docx_第11页
第11页 / 共18页
机电一体化实验报告Word文件下载.docx_第12页
第12页 / 共18页
机电一体化实验报告Word文件下载.docx_第13页
第13页 / 共18页
机电一体化实验报告Word文件下载.docx_第14页
第14页 / 共18页
机电一体化实验报告Word文件下载.docx_第15页
第15页 / 共18页
机电一体化实验报告Word文件下载.docx_第16页
第16页 / 共18页
机电一体化实验报告Word文件下载.docx_第17页
第17页 / 共18页
机电一体化实验报告Word文件下载.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

机电一体化实验报告Word文件下载.docx

《机电一体化实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《机电一体化实验报告Word文件下载.docx(18页珍藏版)》请在冰点文库上搜索。

机电一体化实验报告Word文件下载.docx

⑤光栅尺:

光栅尺是一种位移传感器,是利用光栅的光学原理工作的测量反馈装置。

经常应用于数控机床的闭环伺服系统中,可用作直线位移或者角位移的检测.

⑥霍尔限位开关:

用于限制工作台的运动超出导轨的有效长度。

(2)使用卡尺测量,计算其平均导程P=10;

观察其循环器,可知其循环方式为内循环;

预紧方式是螺纹调隙式.

(3)观察导轨截面,并查阅《机电一体化技术手册》,可知其属于GGA,GGB,GGC,GGF中哪类?

GGB。

其适用场合机械加工中心、NC车床、搬运装置、电火花加工机、木工机械、激光加工机、精密测试仪器、包装机械、食品机械、医疗器械、工具磨床、平面磨床等。

(4)查阅《DMC3000硬件手册》可知系统中的运动控制卡可实现四轴的联动,并具

有16个数字量输入和16个数字量输出控制.

(5)记录步进电机型号,网上查阅其详细技术参数,可知其属于(反应式,永磁式,混合式)混合式步进电机,整步步距角为1.8°

额定工作电压2。

6V.测量电机机座的长宽尺寸属于57尺寸系列机型。

一般来说尺寸系列越大,其输出扭距越大。

XY数控工作台系统的草图可见附录1:

实验二XY简易数控工作台的电气连接

以数控系统中基本的电机运动控制和限位开关控制为例,了解基于运动控制卡的XY简易数控工作台的电气连接.

实验设备:

运动控制卡能够实现多轴联动最重要的原因是利用了控制卡上专用运动控制芯片提供的硬件插补功能,这类专用运动控制芯片能够根据PC机给出的插补终点和插补速度等参数,利用某些插补算法计算出各个轴的进给脉冲和进给方向,并将这两类信号输出到接口板的某些固定端子上。

步进电机要想能够实现一个脉冲对应电机转过一个步距角,除了需要步进电机以外,还需要一个步进电机驱动器为步进电机实现脉冲分配和功率驱动放大的功能。

(1)参考电气主电路图,在控制箱内找到与DC24V电源相连的模块以及连接所用的端子。

(2)依据控制电路图和《DMC3000硬件手册》,找到接口板与步进电机驱动器的控制信号接线,并思考接口板和驱动器之间的电气接口原理。

(3)依据控制电路图和《DMC3000硬件手册》,找到限位开关和光栅尺电路。

实验结果:

通过实验,可得出平台控制电路图(见附录2)

实验三运动控制卡软件接口与简单的点位控制程序

初步了解DMC3000运动控制卡的软件接口形式

●实验设备:

台式PC机一台

运动控制卡接口板步进电机驱动器等模块间的电气连接保证了运动控制卡输出的运动和控制信号的传输。

但要实现工作台按照某些规律运动,除了上边所述的正确电气连接外,还需要运动控制卡提供相应的软件接口(Interface)来接受PC机发出的运动控制命令。

DMC3000运动控制卡的软件接口是以动态连结库(DLL)的形式提供的.所谓动态连接库,在编程实现上可以理解成一个函数的集合,在这个库里包含有许多函数.DMC3000控制卡的用户通过在软件程序中调用动态连接库中的某些函数,从而达到操作运动控制卡的目的。

实现DMC3000卡控制工作台做某些直线插补运动。

(1)运行Motion3000,在其界面下了解DMC3000支持的各种运动控制功能。

利用其界面操作完成绝对坐标和相对坐标下T形和S形的直线和圆弧插补运动.

(2)在VB/VC开发环境下实现一条直线简单插补运动控制.

实验步骤及结果:

1、步骤:

⑴打开VisualC++6.0

⑵新建一个工程

⑶选择MFCAPPWizard(exe)

⑷选择工程保存路径如E:

\

⑸输入工程名,如test

⑹按确定键在应用程序类型中选择基本对话按确定键建立工程

⑺对对话框进行简单的修改增加按钮启动命名为IDC_BUTTON_Start和停止

(命名为IDC_BUTTON_Stop)。

⑻在Motion3000安装目录下找到dmc3000。

h和dmc3000.lib文件拷贝到E:

\test目录下

⑼选择工程->

添加工程->

文件选中dmc3000。

lib文件加入到工程中

⑽开test。

cpp文件在头部添加语句#includedmc3000。

h

⑾在CTestDlg:

:

OnInitDialog()函数中添加代码

d3000_board_init();

⑿在CtestDlg中添加一个成员函数OnCancel,在OnCancel函数中添加代码

d3000_board_close();

CDialog:

OnCancel();

⒀双击启动按钮在按钮点击事件中输入代码

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。

#include"

dmc3000.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

//CAboutDlgdialogusedforAppAbout

classCAboutDlg:

publicCDialog

{

public:

CAboutDlg();

//DialogData

//{{AFX_DATA(CAboutDlg)

enum{IDD=IDD_ABOUTBOX};

//}}AFX_DATA

//ClassWizardgeneratedvirtualfunctionoverrides

//{{AFX_VIRTUAL(CAboutDlg)

protected:

virtualvoidDoDataExchange(CDataExchange*pDX);

//DDX/DDVsupport

//}}AFX_VIRTUAL

//Implementation

protected:

//{{AFX_MSG(CAboutDlg)

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

CAboutDlg:

CAboutDlg():

CDialog(CAboutDlg:

IDD)

//{{AFX_DATA_INIT(CAboutDlg)

//}}AFX_DATA_INIT

}

voidCAboutDlg:

DoDataExchange(CDataExchange*pDX)

CDialog:

DoDataExchange(pDX);

//{{AFX_DATA_MAP(CAboutDlg)

//}}AFX_DATA_MAP

BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)

//{{AFX_MSG_MAP(CAboutDlg)

//Nomessagehandlers

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

//CHrDlgdialog

CHrDlg:

CHrDlg(CWnd*pParent/*=NULL*/)

:

CDialog(CHrDlg:

IDD,pParent)

//{{AFX_DATA_INIT(CHrDlg)

//NOTE:

theClassWizardwilladdmemberinitializationhere

//}}AFX_DATA_INIT

//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32

m_hIcon=AfxGetApp()—〉LoadIcon(IDR_MAINFRAME);

voidCHrDlg:

CDialog:

DoDataExchange(pDX);

//{{AFX_DATA_MAP(CHrDlg)

theClassWizardwilladdDDXandDDVcallshere

//}}AFX_DATA_MAP

BEGIN_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)

//CHrDlgmessagehandlers

BOOLCHrDlg:

OnInitDialog()

{d3000_board_init();

OnInitDialog();

//Add"

About.。

”menuitemtosystemmenu.

//IDM_ABOUTBOXmustbeinthesystemcommandrange.

ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX〈0xF000);

CMenu*pSysMenu=GetSystemMenu(FALSE);

if(pSysMenu!

=NULL)

CStringstrAboutMenu;

strAboutMenu。

LoadString(IDS_ABOUTBOX);

if(!

strAboutMenu。

IsEmpty())

{

pSysMenu->

AppendMenu(MF_SEPARATOR);

pSysMenu—>

AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);

}

//Settheiconforthisdialog。

Theframeworkdoesthisautomatically

//whentheapplication’smainwindowisnotadialog

SetIcon(m_hIcon,TRUE);

//Setbigicon

SetIcon(m_hIcon,FALSE);

//Setsmallicon

//TODO:

Addextrainitializationhere

returnTRUE;

//returnTRUEunlessyousetthefocustoacontrol

OnSysCommand(UINTnID,LPARAMlParam)

if((nID&0xFFF0)==IDM_ABOUTBOX)

CAboutDlgdlgAbout;

dlgAbout.DoModal();

else

{

CDialog:

OnSysCommand(nID,lParam);

//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow

//todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,

//thisisautomaticallydoneforyoubytheframework.

OnPaint()

if(IsIconic())

CPaintDCdc(this);

//devicecontextforpainting

SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);

//Centericoninclientrectangle

intcxIcon=GetSystemMetrics(SM_CXICON);

intcyIcon=GetSystemMetrics(SM_CYICON);

CRectrect;

GetClientRect(&rect);

intx=(rect.Width()-cxIcon+1)/2;

inty=(rect。

Height()—cyIcon+1)/2;

//Drawtheicon

dc。

DrawIcon(x,y,m_hIcon);

CDialog:

OnPaint();

//Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags

//theminimizedwindow。

HCURSORCHrDlg:

OnQueryDragIcon()

return(HCURSOR)m_hIcon;

OnCancel()

d3000_board_close();

voidCHrDlg:

OnBUTTON1start()

shortAxisArray[2];

AxisArray[0]=0;

AxisArray[1]=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);

OnBUTTON2stop()

d3000_decel_stop(0,0。

1);

实验四连续插补运动控制的程序实现

利用VB编写程序,控制DMC3000卡完成两段连续插补轨迹运动。

DMC3000动态连接库中给出的插补函数都是简单的直线或圆弧插补运动。

但实际生产中要求工作台能够完成连续轨迹运动,即完成了一段插补运动后能够平滑的进入下一段插补运动。

DMC3000提供的运动状态函数和连续运动函数能够实现这一功能。

在VB开发环境下编写程序,实现如图4-1所示轨迹的连续运动。

图4—1

⑴打开VisuaiC++6。

⑵新建一个工程

⑶选择MFCAPPWizard(exe)

⑷选择工程保存路径,如E盘

⑸输入工程名,如sb

⑹按“确定”键,在应用程序类型中选择“基本对话"

,按“确定”键,建立工程。

⑺双击窗口控件,在Ford_Load事件中添加代码

d3000_bord_init

选择UnLoad事件,在Form_UnLoad事件中添加代码

d3000_bord_close

双击“启动”按钮,在CB_Start_Click事件中添加代码

shortAxisArray[2];

AxisArray[0]=0;

AxisArray[1]=1;

d3000_start_t_line2(AxisArray,—1000,0,400,1000,0。

1,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_stop0,0.1

⑻运行,按下“启动"

按钮,开始脉冲,按下“停止"

按钮便会减速停止脉冲。

stdafx。

test01。

test01Dlg.h”

#definenewDEBUG_NEW

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

dmc3000。

CAboutDlg();

//{{AFX_DATA(CAboutDlg)

enum{IDD=IDD_ABOUTBOX};

//}}AFX_DATA

//{{AFX_VIRTUAL(CAboutDlg)

protected:

virtualvoidDoDataExchange(CDataExchange*pDX);

//}}AFX_VIRTUAL

protected:

};

CAboutDlg:

//{{AFX_DATA_INIT(CAboutDlg)

//}}AFX_DATA_INIT

DoDataExchange(CDataExchange*pDX)

//{{AFX_MSG_MAP(CAboutDlg)

//}}AFX_MSG_MAP

//CTest01Dlgdialog

CTest01Dlg:

CTest01Dlg(CWnd*pParent/*=NULL*/)

CDialog(CTest01Dlg:

IDD,pParent)

//{{AFX_DATA_INIT(CTest01Dlg)

//NotethatLoadIcondoesnotrequireasubsequentDestr

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2