arduinounor3控制工业伺服电机程序_第1页
arduinounor3控制工业伺服电机程序_第2页
arduinounor3控制工业伺服电机程序_第3页
arduinounor3控制工业伺服电机程序_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、arduino uno r3控制工业伺服电机程序一 本案例实现功能说明:arduino r3 通电后伺服电机慢速反转(寻找归零开关) ,碰到 U 型光电开关(归零开关)后高速正转,设定的正转脉冲数发送完成后,电机反转,设定的反转脉冲数发送完成后,跳转到正转,如此循环下去。二 案例图片:不好意思,图片拍得比较黑,晚上拍的。三 接线说明零点开关接arduino uno r3的 2 脚,不是直接接的,用光隅隔离,零点开关用24V 电压,来自伺服驱动器,脉冲输出输出 6脚。PC817C 7 脚,方向脉冲输出和方向输出也是用光隅PC817C隔离传送到伺服驱动器的PUL和 DIR 接点上,不说这么多,你们

2、懂的了。另外,伺服驱动器接两个正向极限和反向极限开关。注意:三个光电开关为常闭型。四上程序:int PUL_1=7;int DIR_1=6;unsigned long d0=30000; /d0为正向脉冲个数unsigned long d1=30000; /d1为反向脉冲个数unsigned int d2=0; /unsigned int t0=200;/寻找零点开关速度unsigned int t1=100; /正反转速度unsigned int dy=500;void setup( )digitalWrite(0,HIGH);digitalWrite(1,HIGH);pinMode(DIR

3、_1,OUTPUT);pinMode(PUL_1,OUTPUT);pinMode(0,OUTPUT);/正反转指示灯pinMode(1,OUTPUT); /正反转指示灯attachInterrupt(0, blink,RISING);/中断函数void loop()if (d2=0)delay(dy);digitalWrite(DIR_1,LOW);while (d2=0)digitalWrite(PUL_1,HIGH);delayMicroseconds(t0);digitalWrite(PUL_1,LOW);delayMicroseconds(t0);if (d2=1)/中断后进入此程序,

4、也就是碰到零点开关后。delay(dy);digitalWrite(0,LOW);digitalWrite(1,HIGH);digitalWrite(DIR_1,HIGH);while (d00)digitalWrite(PUL_1,HIGH);delayMicroseconds(t1);digitalWrite(PUL_1,LOW);delayMicroseconds(t1);d0-;delay(dy);digitalWrite(1,LOW);digitalWrite(0,HIGH);digitalWrite(DIR_1,LOW);while (d10)digitalWrite(PUL_1,HIGH);delayMicroseconds(t1);digitalWrite(PUL_1,LOW);delayMicroseconds

温馨提示

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

评论

0/150

提交评论