极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4870|回复: 3

【新手】arduino和labview控制三个直流电机的问题求大神请教!

[复制链接]
发表于 2015-3-24 20:34:16 | 显示全部楼层 |阅读模式
我是完全新手,我想请教一下,我在用Uno和L293D控制三个直流电机,然后用LabVIEW编程设置个界面,这两个东西都是初学,程序方面参考了《arduino与labview开发实战》,但是l293d电机接哪些串口搞不懂所以试着编的不靠LabVIEW是可以转起来的,但是现在这个不知道是上位机出错还是下位机出错,LabVIEW运行点“前进”键就自动停止了……求指教!!谢谢!!
这是我的程序
#include <AFMotor.h>
#define forward_command 0x00
#define back_command 0x10
#define stop_command 0x40
byte comdata[3]={0};
int flag=0;
int PWM1 = 11;
int PWM2 = 3;
// define motor on channel 1 with 64KHz PWM#include <AFMotor.h>
AF_DCMotor R_motor(2, MOTOR12_64KHZ);
void receive_data(void);
void test_do_data(void);

void setup() {
Serial.begin(9600);// set up Serial library at 9600 bps

R_motor.setSpeed(200);// 设置速度,从200/255之间任意

}



void loop() {
if (Serial.available()>0)
  {
        receive_data();
        test_do_data();
  }
}  
   void receive_data(void)
   {
       int a;
       for(a=0;a<3;a++)
      {
        comdata[a]=Serial.read();
        delay(2);
       }
   }

   void test_do_data(void)
  {
    if(comdata[0] == 0x55)
     {
       if(comdata[1] == 0xAA)
       {
         flag=0;
         switch (comdata[2])
         {
           case forward_command:// 电机前进
               forward();
               break;
           case back_command:
                back();
                break;
           case stop_command:
                stop_motor();
                break;

          }
       }
     }
  }






void forward(void)
{
  R_motor.run(FORWARD);
}

void back(void)
{
  R_motor.run(BACKWARD);
}

void stop_motor(void)
{
  R_motor.run(RELEASE);
}
labview.JPG

前面板

前面板
回复

使用道具 举报

发表于 2015-3-25 08:12:35 | 显示全部楼层
首先这么点的数据量波特率是够用的,适当的在上下位机程序里加入同等的延时程序进去,再试试吧。还有方法是加入发送指令的校验位,例如先下位机发送指令头以250(数字),下位机首先判断是不是250,如果是则接收,不是就移位一下发送下来的字节数,知道找到250位置。试试吧。
回复 支持 反对

使用道具 举报

发表于 2015-3-25 08:48:07 | 显示全部楼层
     双机通信故障,“前进”有问题吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2019-11-18 12:55 , Processed in 0.050252 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表