Kbotics
08.05.2014, 18:13
Hallo Leute,
ich bin neu hier und hab gleich mal eine Frage zum ansteuern von Schrittmotoren.
Ich habe eine Endstufe TB6560 und einen 1.8A"Nennstrom" Schrittmotor "24V Betriebsspannung" diesen steuere ich mittels
einen Arduino Mega an. Jedoch funktioniert das nicht ganz, wenn ich mein clock Signal ändere "Bitbreite" bzw. das Tastverhältnis
rattert der Motor und ist laut. Woran liegt das ? Hat jemand erfahrung mit der TB6560
Hier mein Code:
const int clock = 30 ;
const int dir = 22 ;
const int en = 26 ;
const int SAn = 2 ;
const int SDi = 32 ;
void setup()
{
Serial.begin(9600);
int i=0;
int j=0;
int s=0; //Highpegel Bitbreite
int f=s/10; //Lowpegelbreite Tastverhältnis "10:1"
int SAn;
int SDi;
pinMode(clock, OUTPUT);
pinMode(dir, OUTPUT);
pinMode(en, OUTPUT);
pinMode(SAn,INPUT); //Ultraschalsensor Analog 10-Bit from Sensor
pinMode(SDi,INPUT); //VisionSensor OUTPUT_1 Glaserkennung from MELFA_SPS
digitalWrite(en,HIGH);
digitalWrite(dir,HIGH);
digitalWrite(clock,HIGH);
}
void loop()
{
int s=750;
int f=100;
for(int i = 0; i<4000; i++)
{
digitalWrite(en,LOW);
digitalWrite(dir,LOW);
digitalWrite(clock,HIGH);
delayMicroseconds(s);
digitalWrite(clock,LOW);
delayMicroseconds(f);
i++;
}
digitalWrite(en,HIGH);
delay(1000);
for(int j = 0; j<4000; j++)
{
digitalWrite(en,LOW);
digitalWrite(dir,HIGH);
digitalWrite(clock,HIGH);
delayMicroseconds(s);
digitalWrite(clock,LOW);
delayMicroseconds(f);
j++;
}
digitalWrite(en,HIGH);
delay(1000);
}
ich bin neu hier und hab gleich mal eine Frage zum ansteuern von Schrittmotoren.
Ich habe eine Endstufe TB6560 und einen 1.8A"Nennstrom" Schrittmotor "24V Betriebsspannung" diesen steuere ich mittels
einen Arduino Mega an. Jedoch funktioniert das nicht ganz, wenn ich mein clock Signal ändere "Bitbreite" bzw. das Tastverhältnis
rattert der Motor und ist laut. Woran liegt das ? Hat jemand erfahrung mit der TB6560
Hier mein Code:
const int clock = 30 ;
const int dir = 22 ;
const int en = 26 ;
const int SAn = 2 ;
const int SDi = 32 ;
void setup()
{
Serial.begin(9600);
int i=0;
int j=0;
int s=0; //Highpegel Bitbreite
int f=s/10; //Lowpegelbreite Tastverhältnis "10:1"
int SAn;
int SDi;
pinMode(clock, OUTPUT);
pinMode(dir, OUTPUT);
pinMode(en, OUTPUT);
pinMode(SAn,INPUT); //Ultraschalsensor Analog 10-Bit from Sensor
pinMode(SDi,INPUT); //VisionSensor OUTPUT_1 Glaserkennung from MELFA_SPS
digitalWrite(en,HIGH);
digitalWrite(dir,HIGH);
digitalWrite(clock,HIGH);
}
void loop()
{
int s=750;
int f=100;
for(int i = 0; i<4000; i++)
{
digitalWrite(en,LOW);
digitalWrite(dir,LOW);
digitalWrite(clock,HIGH);
delayMicroseconds(s);
digitalWrite(clock,LOW);
delayMicroseconds(f);
i++;
}
digitalWrite(en,HIGH);
delay(1000);
for(int j = 0; j<4000; j++)
{
digitalWrite(en,LOW);
digitalWrite(dir,HIGH);
digitalWrite(clock,HIGH);
delayMicroseconds(s);
digitalWrite(clock,LOW);
delayMicroseconds(f);
j++;
}
digitalWrite(en,HIGH);
delay(1000);
}