机械手配件主页 > 机械手配件讯 > 机械手配件知识 >

喷漆机械手动力Pro/Engineer简介 第一种方案

发表时间:2016-06-15
导读:第一种方案操作复杂,运算量大,且耗费时间成本过高(需要对零件建模,还需要编译G代码)。本文自主设计了一种操作简便,且不需编译G代码的程序。 

本文分享控制软件设计:第一种方案—喷漆机械手知识。如需购买机械手抱具欢迎联系我们。
先在计算机上模拟出零件喷漆外表面,然后通过PROE或者其它仿真软件生成G代码,再将生成好的G代码编译成电机控制程序,适用USB接口直连计算机与单片机,达成实时交流,让单片机作为补助控制端对机械手进行控制。

此方案适用于移动路径大,运动轨迹复杂的工作。

 



第二种方案 
 
第一种方案操作复杂,运算量大,且耗费时间成本过高(需要对零件建模,还需要编译G代码)。本文自主设计了一种操作简便,且不需编译G代码的程序。 
 
程序借鉴了摄影机的原理,即一次性记录喷漆机械手走过的路程,在接下来的工作中反复播放这一路程。程序部分思路如下: 
 
单片机接通电源,接通单片机中断0,此时剩余的10个I/O 口均用于直接控制电机正反转,此时需要人工操作步进电机。

每按下一次驱动电机的开关,软件内部全局变量array增长1,将此时正在工作的电机号信息记录给全局变量select[array],将正反转信息记录给全局变量turn[array],同时启动电机工作子程序run(select[array],turn[array]) ,然后启动延时函数turnpwm(),这里的延时函数通过改变全局变量PWM来改变延迟时间。

程序如下: 
#include <reg52.h> 
#define A{a=1;b=0;c=0;d=0;} #define B{a=0;b=1;c=0;d=0;} #define C{a=0;b=0;c=1;d=0;} #define D{a=0;b=0;c=0;d=1;} #define uchar unsigned ch #define uint unsigned int uchar PWM=0; int array; 
uint select[1000];///考虑到单片机存储量有限,设置1000步 uint turn[1000]; void turnpwm(); void control(); 
void run(uint a uint b); Void main() { 
EA=1;
IXO=1; ITO=1; 
For(i=0;i<1000;i++) { 
control(); } 
if(i==1000&&P2^4==1) { 
run(0,0); Turnpwm(); } 
if(i==1000&&P2^5==1) { 
run(1,0); Turnpwm();  } 
if(i==1000&&P2^6==1) { 
run(2,0); Turnpwm(); 
if(i==1000&&P2^7==1) { 
run(3,0); Turnpwm();  } 
if(i==1000&&P3^0==1) { 
run(4,0); Turnpwm();  } 
If(i=1000&&P2^4==1&&P2^5==1&&P2^6==1&&P2^7==1&&P3^0==1) { 
i=0; } 
If(P3^4==0) { 
PWM++; 
Turnpwm(); } 
If(P3^5==0) { 
PWM--; Turnpwm(); } 
While(1); 
Void turnpwm()  ///占空比调节子函数 { 
 for(i=0;i<100-PWM;i++) 
Control();    ///控制子函数 { 
For(i=1;i<array;i++) { 
Run(select[i];turan[i]); } } 
Void input() interrupt 0 ///中断子函数 { 
If(P2^4==0) { 
Array++; 
select[array]=0; turn[array]=0; 
Run(select[array],turn[array]); Turnpwm(); } 
If(P2^5==0) { 
Array++; 
select[array]=0; turn[array]=1; 
Run(select[array],turn[array]); Turnpwm(); } 
If(P2^6==0) { 
Array++;
select[array]=1; turn[array]=0; 
Run(select[array],turn[array]); Turnpwm(); 
If(P2^7==0) { 
Array++; 
select[array]=1; turn[array]=1; 
Run(select[array],turn[array]); Turnpwm(); } 
If(P3^0==0) { 
Array++; 
select[array]=2; turn[array]=0; 
Run(select[array],turn[array]); Turnpwm(); } 
If(P3^1==0) { 
Array++; 
select[array]=2; turn[array]=1; 
Run(select[array],turn[array]); Turnpwm(); } 
If(P3^4==0) { 
Array++; 
select[array]=3; turn[array]=0; 
Run(select[array],turn[array]); Turnpwm(); } 
If(P3^5==0) { 
Array++; 
select[array]=3; turn[array]=1; 
Run(select[array],turn[array]); Turnpwm(); 
If(P3^6==0) { 
Array++; 
select[array]=4; turn[array]=0; 
Run(select[array],turn[array]); Turnpwm(); } 
If(P3^7==0) { 
Array++; 
select[array]=4; turn[array]=1; 
Run(select[array],turn[array]); Turnpwm(); }  
Run(uint x,uint y ) { 
Swith(x) {  Case 0:sbit a=P0^0;sbit b=P0^1;sbit c=P0^2;sbit d=P0^3;  Case 1:sbit a=P0^4;sbit b=P0^5;sbit c=P0^6;sbit d=P0^7;  Case 2:sbit a=P1^0;sbit b=P1^1;sbit c=P1^2;sbit d=P1^3;  Case 3:sbit a=P1^4;sbit b=P1^5;sbit c=P1^6;sbit d=P1^7;   Case 4:sbit a=P2^0;sbit b=P2^1;sbit c=P2^2;sbit d=P2^3; 
} If(y) { 
A;turn(); B;turn(); C;turn(); D;turn(); } Else { 
D;turn();
C;turn(); B;turn(); A;turn(); } }

伽达机械手配件分享喷漆机械手动力学分析 Pro/Engineer简介知识,欢迎阅读了解。

随着PC机3D设计软件在产品设计中的推广应用,机械产品的设计和开发向着3D化方向发展。

采用3D设计软件,如SolidWorks,Pro/E,UG 等进行产品开发设计的主要优点在于,能够实时地评价零部件的结构工艺性、可装配性和可制造性等,推动了机械产品创新设计的进步。

特别是基于三维设计技术的三维样机和仿真技术的发展,为机械产品创新设计的自动化提供了一种理想的技术支撑平台。

计算机处理图形图像的不断提高以及Windows操作系统的长足发展,三维CAD软件在逐步由工作站环境向计算机化Windows平台方向发展,尤其是最近几年,三维 CAD软件在计算机平台和Windows 环境下得到了很大的进步。 
 
Pro/Engineer操作软件是美国参数技术公司(PTC)旗下的CAD/CAM/CAE一体化的三维软件。

Pro/Engineer软件以参数化著称,是参数化技术的最早应用者,在目前的三维造型软件领域中占有着重要地位,Pro/Engineer作为当今世界机械CAD/CAE/CAM领域的新标准而得到业界的认可和推广。

是现今主流的CAD/CAM/CAE软件之一,特别是在国内产品设计领域占据重要位置。 
 
Pro/E第一个提出了参数化设计的概念,并且采用了单一数据库来解决特征的相关性问题。

另外,它采用模块化方式,用户可以根据自身的需要进行选择,而不必安装所有模块。

Pro/E的基于特征方式,能够将设计至生产全过程集成到一起,实现并行工程设计。它不但可以应用于工作站,而且也可以应用到单机上。 
 
Pro/E采用了模块方式,可以分别进行草图绘制、零件制作、装配设计、钣金设计、加工处理等,保证用户可以按照自己的需要进行选择使用。
在线客服
  • 点击这里给我发消息
  • 点击这里给我发消息
电话咨询

扫一下微信号
jQuery右侧可隐藏在线QQ客服 - 站长素材
在线客服
电话咨询

扫一下微信号