松下松下伺服电机驱动器器上的PULSE2是什么意思

松下PLC和步进电机在梳理机改造中的应用
jQuery("#divNotLogin").html(_html);
微信扫一扫收获行业前沿信息
松下PLC和步进电机在梳理机改造中的应用
全国统一400电话:
北京市西城区物华大厦 010-
传真号码:010-& Email:&& QQ:
天津市南开区密云路新南马路五金城三区熙汇广场
传真号码:022-& 移动电话: Email:& QQ:
上海市宝山区沪太路4361号10号楼301 呼叫中心基地海宝示范园
传真号码:021- 移动电话:& Email:& QQ:
深圳龙华新区振华时代广场 1&传真 &9
&&&&&&&&&&单片机控制松下伺服电机正反转程
> 单片机控制松下伺服电机正反转程
单片机控制松下伺服电机正反转程
// // 文 件 名: download.c //
// // 目标对象: AT89S52 // // 编 译 器: ISP // // 功能描述: 下料部单独程序 // // 修改版本: 0.0 // // 创建日期: // //***************************************************************************
#include REG52.H& #includeABSACC.H& #include INTRINS.H& #define uchar unsigned char #define uint unsigned int
//***************************************************************************
sbit DOWNLOAD_HS30806_Y_PULSE1 = P1^0;//HS30806_Y脉冲- sbit DOWNLOAD_HS30806_Y_DIR = P1^1;//HS30806_Y方向- sbit DOWNLOAD_HS30806_X_PULSE1 = P1^2;//HS30806_X脉冲- sbit DOWNLOAD_HS30806_X_DIR = P1^3;//HS30806_X电机方向- sbit SERVO_PULSE1 = P3^0;//电机脉冲- sbit SERVO_DIR = P3^3;//电机方向- sbit SERVO_ON = P3^2;//ON使能 sbit QIGANG=P3^1; sbit SERVO_POINT=P2^0; sbit Y_POINT=P2^1; sbit S2 = P3^2; sbit S3 = P3^3; sbit S4 = P3^4; sbit S5 = P3^5;
//****************************************************************************
//****************************************************************************
void mDelay(uchar DelayTime1) {
uchar i=0;
for(;DelayTime1&0;DelayTime1--)
for(i=0;i0x16;i++)
} } //具体延时时间=DelayTime1*[10+3*m]+10个指令周期 /* void mDelay(uint DelayTime1) {
for(;DelayTime1&0;DelayTime1--)
} } */ void Delay() {
} //***************************************************************************
//下料部Y右转程序
//***************************************************************************
void RIGHT_MOVE_DOWNLOAD_HS30806_Y(uint Pluse1_num) {
DOWNLOAD_HS30806_Y_DIR=1;
DOWNLOAD_HS30806_Y_PULSE1 = 1;//脉冲负
mDelay(20);
for(;Pluse1_num&0;Pluse1_num--)
DOWNLOAD_HS30806_Y_PULSE1 = ~DOWNLOAD_HS30806_Y_PULSE1;//脉冲负
mDelay(20);
DOWNLOAD_HS30806_Y_PULSE1 = ~DOWNLOAD_HS30806_Y_PULSE1;//脉冲负
mDelay(20);
//***************************************************************************
//下料部Y左转程序
//***************************************************************************
void LEFT_MOVE_DOWNLOAD_HS30806_Y(uint Pluse2_num) {
DOWNLOAD_HS30806_Y_DIR=0;
DOWNLOAD_HS30806_Y_PULSE1 = 1;//脉冲负
mDelay(20);
for(;Pluse2_num&0;Pluse2_num--)
DOWNLOAD_HS30806_Y_PULSE1 = ~DOWNLOAD_HS30806_Y_PULSE1;//脉冲负
mDelay(20);
DOWNLOAD_HS30806_Y_PULSE1 = ~DOWNLOAD_HS30806_Y_PULSE1;//脉冲负
mDelay(20);
//***************************************************************************
//下料部Y停止程序
//***************************************************************************
void DOWNLOAD_HS30806_Y_Stop() {
DOWNLOAD_HS30806_Y_DIR=0;
DOWNLOAD_HS30806_Y_PULSE1 = 1;//脉冲负
mDelay(20); }
//***************************************************************************
//下料部X右转程序
//***************************************************************************
void RIGHT_MOVE_DOWNLOAD_HS30806_X(uint Pluse1_num) {
DOWNLOAD_HS30806_X_DIR=1;
DOWNLOAD_HS30806_X_PULSE1 = 1;//脉冲负
mDelay(20);
for(;Pluse1_num&0;Pluse1_num--)
DOWNLOAD_HS30806_X_PULSE1 = ~DOWNLOAD_HS30806_X_PULSE1;//脉冲负
mDelay(20);
DOWNLOAD_HS30806_X_PULSE1 = ~DOWNLOAD_HS30806_X_PULSE1;//脉冲负
mDelay(20);
//***************************************************************************
//下料部X左转程序
//***************************************************************************
void LEFT_MOVE_DOWNLOAD_HS30806_X(uint Pluse2_num) {
DOWNLOAD_HS30806_X_DIR=0;
DOWNLOAD_HS30806_X_PULSE1 = 1;//脉冲负
mDelay(20);
for(;Pluse2_num&0;Pluse2_num--)
DOWNLOAD_HS30806_X_PULSE1 = ~DOWNLOAD_HS30806_X_PULSE1;//脉冲负
mDelay(20);
DOWNLOAD_HS30806_X_PULSE1 = ~DOWNLOAD_HS30806_X_PULSE1;//脉冲负
mDelay(20);
} } //***************************************************************************
//下料部X停止程序
//***************************************************************************
void DOWNLOAD_HS30806_X_Stop() {
DOWNLOAD_HS30806_X_DIR=0;
DOWNLOAD_HS30806_X_PULSE1 = 1;//脉冲负
mDelay(20); }
//***************************************************************************
//伺服电机右转程序
//***************************************************************************
void RIGHT_MOVE_SERVO(uint Pluse1_num) {
//SERVO_ON = 0;
//mDelay(100);
SERVO_DIR = 1;
mDelay(3);
SERVO_PULSE1 = 1;//脉冲负
for(;Pluse1_num&0;Pluse1_num--)
SERVO_PULSE1 = ~SERVO_PULSE1;//脉冲负
mDelay(3);
// mDelay(2);
SERVO_PULSE1 = ~SERVO_PULSE1;//脉冲负
mDelay(3);
// mDelay(2);
//***************************************************************************
//伺服电机左转程序
//***************************************************************************
void LEFT_MOVE_SERVO(uint Pluse2_num) { // SERVO_ON = 0; // mDelay(100);
SERVO_DIR = 0;
mDelay(33);
SERVO_PULSE1 = 1;//脉冲负
for(;Pluse2_num&0;Pluse2_num--)
SERVO_PULSE1 = ~SERVO_PULSE1;//脉冲负
//Delay();
mDelay(3);
SERVO_PULSE1 = ~SERVO_PULSE1;//脉冲负
//Delay();//
mDelay(3);
//***************************************************************************
//伺服电机停止程序
//***************************************************************************
void SERVO_PULSE1_Stop() {
SERVO_DIR=0;
SERVO_PULSE1 = 1;//脉冲负
mDelay(20); } //***************************************************************************
//键盘处理程序
//***************************************************************************
uchar Key() {
P3|=0x3c; //将P3口的接键盘的中间四位置1
KValue=P3;
KValue|=0xc3; //将未接键的4位置1
if(KValue==0xff) //中间4位均为1,无键按下
return(0); //返回
mDelay(10); //延时10ms,去键抖
KValue=P3;
KValue|=0xc3; //将未接键的4位置1
if(KValue==0xff) //中间4位均为1,无键按下
return(0); //返回 //如尚未返回,说明一定有1或更多位被按下
if((tmp|0xc3)==0xff)
//等待按键释放
return(KValue); }
void KProce(uchar KValue) //键值处理 {
if((KValue0x04)==0)
LEFT_MOVE_SERVO(10000);
//RIGHT_MOVE_DOWNLOAD_HS30806_X(2000);
//QIGANG=0;
if((KValue0x08)==0)
RIGHT_MOVE_SERVO(10000);
//LEFT_MOVE_DOWNLOAD_HS30806_X(2000);
//QIGANG=1;
if((KValue0x10)==0)
SERVO_ON = 0;
mDelay(100); // RIGHT_MOVE_DOWNLOAD_HS30806_Y(2000);
if((KValue0x20)==0)
SERVO_ON = 1;
mDelay(100);
//LEFT_MOVE_DOWNLOAD_HS30806_Y(2000); }
//***************************************************************************
//初始化程序
//***************************************************************************
void init() { // P0=0xFF; // P1=0xFF; // P2=0xFF; // P3=0xFF;
mDelay(1000);
while(S2==1)
LEFT_MOVE_DOWNLOAD_HS30806_Y(1);
RIGHT_MOVE_DOWNLOAD_HS30806_Y(1600);
while(S3==1)
LEFT_MOVE_DOWNLOAD_HS30806_X(1);
RIGHT_MOVE_DOWNLOAD_HS30806_X(1600); }
//***************************************************************************
//***************************************************************************
/* void main() {
uchar KValue,m;//,n, //存放键值; //g init();// //SERVO_ON = 0; //mDelay(100);//延时0.s mDelay(1); mDelay(2); mDelay(3); mDelay(4); mDelay(10); mDelay(20); for(m=0;m100;m++) { RIGHT_MOVE_SERVO(25000); //mDelay(20);//延时0.00023s LEFT_MOVE_SERVO(25000); mDelay(20); } while(1) { // for(m=0;m100;m++) // { // RIGHT_MOVE_DOWNLOAD_HS30806_Y(800); // }
{ KValue=Key(); //调用键盘程序并获得键值
if(KValue) //如果该值不等于0
KProce(KValue); //调用键盘处理程序
*/ void Initia() {
LEFT_MOVE_SERVO(1);
mDelay(6); }
void main() {
RIGHT_MOVE_SERVO(100);
while(SERVO_POINT==0)
while(S2==0)
RIGHT_MOVE_SERVO(100);
mDelay(20);
LEFT_MOVE_SERVO(100);
mDelay(20);
} } 本文引用地址:
51单片机相关文章:
伺服电机相关文章:
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一 上传我的文档
 下载
 收藏
百度道客巴巴及豆丁文档资料汇集,全面优质,包括工作总结,调查报告,论文,试题,试卷,电子书,模板,教材教辅教程等;涉及管理,广告营销,技术,艺术,教育,考试,出国,新闻,电脑,网络,手机,健身,娱乐,休闲等全方位内容;适合营销,广告,管理,公务员,会计师,建造师,金融师,经济师,教师,学生,家长,职员,研究生,养生家,艺术家,自然及社会学者,娱乐者等各种人士阅读,下载,分享,打印或收藏
 下载此文档
正在努力加载中...
伺服电机和伺服驱动器的使用介绍
下载积分:800
内容提示:伺服电机和伺服驱动器的使用介绍
文档格式:PDF|
浏览次数:166|
上传日期: 10:54:53|
文档星级:
全文阅读已结束,如果下载本文需要使用
 800 积分
下载此文档
该用户还上传了这些文档
伺服电机和伺服驱动器的使用介绍
官方公共微信}

我要回帖

更多关于 松下伺服驱动器说明书 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信