08-14-2012 10:26 PM
I want to control DC stepper motor via labview and (EasyDriver V4.4 or L298N) + arduino
It just performance stop and counter clockwise run and clockwise run
But I just find servo motor and step motor example vi in labview
If I want to modify the models vi or use 3Dmicro Toolkit.
What can I do?
Do I have reprograming for arduino ?
My Attachments picture 1.2 is my method.
2 and 3 are labview program vi.
Thanks very much.
these arduino program
int E1 = 5;
int M1 = 4;
int E2 = 6;
int M2 = 7;
void setup()
{
pinMode(M1, OUTPUT);
pinMode(M2, OUTPUT);
}
void loop()
{
int value;
for(value = 0 ; value <= 255; value+=5)
{
digitalWrite(M1,HIGH);
digitalWrite(M2, HIGH);
analogWrite(E1, value);
analogWrite(E2, value);
delay(30);
}
}
// motor A
int dir1PinA = 13;
int dir2PinA = 12;
int speedPinA = 10;
// motor B
// motor A
int dir1PinB = 11;
int dir2PinB = 8;
int speedPinB = 9;
unsigned long time;
int speed;
int dir;
void setup() {
pinMode(dir1PinA, OUTPUT);
pinMode(dir2PinA, OUTPUT);
pinMode(speedPinA, OUTPUT);
pinMode(dir1PinB, OUTPUT);
pinMode(dir2PinB, OUTPUT);
pinMode(speedPinB, OUTPUT);
time = millis();
speed = 0;
dir = 1;
}
void loop() {
analogWrite(speedPinA, speed);
analogWrite(speedPinB, 255 - speed);
// set direction
if (1 == dir) {
digitalWrite(dir1PinA, LOW);
digitalWrite(dir2PinA, HIGH);
digitalWrite(dir1PinB, HIGH);
digitalWrite(dir2PinB, LOW);
} else {
digitalWrite(dir1PinA, HIGH);
digitalWrite(dir2PinA, LOW);
digitalWrite(dir1PinB, LOW);
digitalWrite(dir2PinB, HIGH);
}
if (millis() - time > 5000) {
time = millis();
speed += 20;
if (speed > 255) {
speed = 0;
}
if (1 == dir) {
dir = 0;
} else {
dir =1;
}
}
}
another
01 | #include <Servo.h> | ||
03 | |||
04 | Servo myservo; | ||
06 | int value = 0; | ||
08 | |||
09 | void setup() | ||
10 | { | ||
11 | myservo.attach(9); | ||
12 | } | ||
13 | |||
14 | void loop() | ||
15 | { | ||
16 | if (value == 0) | ||
17 | value = 180; | ||
18 | else | ||
19 | value = 0; | ||
20 | |||
21 | // | myservo.write(0) | |
// | myservo.write(180) 24 | ||
myservo.write(value); | |||
25 | delay(1500); |
another
01 | ||
04 | ||
05 | #include <Servo.h> | |
06 | ||
07 | ||
08 | Servo myservo; | |
09 | ||
10 | ||
11 | int potpin = 0; | |
12 | ||
13 | int val; | |
14 | ||
15 | void setup() | |
16 | { | |
17 | myservo.attach(9); | |
18 | } | |
19 | ||
20 | void loop() | |
21 | { | |
22 | val = analogRead(potpin); | |
23 | val = map(val, 0, 1023, 0, 179); | |
24 | myservo.write(val); | |
25 | delay(15); | |
26 | } |