Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Bipolare Schrittmotorbibliothek

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
Doppelte H-Brücken-Motortreiber von Texas Instruments L293D
× 1

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Zuvor habe ich eine Arduino-Bibliothek für unipolare Schrittmotoren bereitgestellt. Es steuert perfekt Geschwindigkeit, Richtung, Drehzahl, Motorwinkel usw. alle Parameter von unipolaren Schrittmotoren. Aber es war nur für unipolare Schrittmotoren. Wie wir wissen, kann der Schrittmotor auch vom bipolaren Typ sein. Diese Bibliothek kann jedoch keinen bipolaren Schrittmotor steuern. Also habe ich beschlossen, eine weitere Arduino-Bibliothek zu entwickeln, um einen bipolaren Schrittmotor zu steuern

Also, hier präsentiere ich eine bipolare Schrittmotorbibliothek in Arduino für alle bipolaren Schrittmotoren. Die Bibliothek verfügt über 9 verschiedene Funktionen, die verwendet werden können, um den Motor gemäß den Anforderungen zu drehen und zu steuern. Die Bibliothek ist nach der Industriellen Bewegungssteuerung . ausgelegt Bedarf. Hier sind einige der Funktionen dieser Bibliothek

1. Steuert jeden bipolaren Schrittmotor

2. Steuert die Drehrichtung des Motors

3. Steuert genau die Anzahl der Umdrehungen des Motors wie 1, 2, 3, 4, .....

4. Steuert die Motordrehzahl genau in U/min mit einer Genauigkeit von 95 %

5. Dreht den Motor genau auf den gewünschten Winkel zwischen 0 – 360o mit einer Genauigkeit von 80-100%

6. Kompatibel mit allen Arduino-Boards

Hier finden Sie die Kurzbeschreibungen aller Bibliotheksfunktionen. Anschließend werden einige Beispiele gegeben, die erklären, wie der Motor mit dieser Bibliothek gesteuert wird. Es wird auch ein Video gegeben, das die Demonstration dieser Beispiele zeigt. Schließlich wird die Schaltung vorgeschlagen, die den L293D-Chip verwendet - weit verbreitet als H-Brückentreiber für Gleichstrommotoren sowie bipolare Schrittmotoren.

Um diese Bibliothek in Ihrer Arduino-Skizze zu verwenden, kopieren Sie einfach den bi_polar_Stepper Ordner in das Stammverzeichnis des Arduino-Bibliotheksordners wie C:\arduino-1.6.7\libraries

Beschreibung der Bibliotheksfunktionen:

1) bi_polar_Stepper(intpin1, int pin2, int pin3, int pin4) - Dadurch wird eine Instanz von bi_polar_Stepper in der Arduino-Skizze mit Schrittmotortreiberstiften erstellt. Bedeutet, dass man Arduino-Board-Pins angeben muss, die zum Antrieb des Schrittmotors verwendet werden

2) set_step_per_rev(intsteps)- Diese Funktion stellt die Anzahl der Schritte ein, die der Schrittmotor benötigt, um 1 Umdrehung zu vollenden. Bedeutet, dass der Schrittwinkel (Schrittauflösung) des Motors eingestellt wird. Für eine genaue Steuerung muss der Schrittwinkel des Motors eingegeben werden

3) set_RPM(int rpm) – Diese Funktion stellt die Drehzahl des Motors in U/min ein und der Motor dreht sich mit der ausgewählten Geschwindigkeit mit einer Genauigkeit von bis zu 95 %

4) rotate_CW() - Diese Funktion beginnt, den Motor im Uhrzeigersinn zu drehen. Um den Motor kontinuierlich im Uhrzeigersinn zu drehen, muss diese Funktion in einer Endlosschleife verwendet werden

5) rotate_CCW() - Diese Funktion beginnt, den Motor gegen den Uhrzeigersinn zu drehen. Um den Motor kontinuierlich gegen den Uhrzeigersinn zu drehen, muss diese Funktion in einer Endlosschleife verwendet werden

6) rotate(int dir)- Diese Funktion dreht den Motor in die ausgewählte Richtung. Wenn die Richtung als 1 angegeben ist, dreht sich der Motor im Uhrzeigersinn und umgekehrt

7) rotate_one_rev(intdir)- diese Funktion dreht den Motor genau 1 Umdrehung in die gewählte Richtung

8) rotate_n_rev(int dir, intnum)- diese Funktion dreht den Motor erforderliche Anzahl von Umdrehungen in ausgewählte Richtungen

9) rotate_x_deg(int deg) – Diese Funktion dreht den Motor auf den gewünschten Winkel von 0 – 360o in jede Richtung mit einer Winkelgenauigkeit von 80 – 100 %

Beispiele:

1) Motor kontinuierlich mit 60 U/min in jede Richtung drehen

/*Dieses Programm dreht kontinuierlich den bipolaren Schrittmotor

* mit 1,8 Grad Schrittwinkel (200 Schritte/U) bei 60 U/min

* erstellt von Ashutosh Bhatt am 12.12.16

*/

#include

#define steps 200 // diese Schritte gemäß Motor ändern

bi_polar_Stepper my_step_motor(8, 9, 10, 11);

int U/min =60;

void setup()

{

// Geben Sie Ihren Setup-Code hier ein, um ihn einmal auszuführen:

Serial.begin (9600);

Serial.println("bipolares Schrittmotor-Bibliothekstestprogramm");

my_step_motor.set_step_per_rev(Schritte);

my_step_motor.set_RPM(rpm);

Serial.println ( "Motor dreht im Uhrzeigersinn");

}

Leere Schleife()

{

my_step_motor.rotate_CW();

}

2) Motor kontinuierlich eine Umdrehung im Uhrzeigersinn und eine Umdrehung gegen den Uhrzeigersinn drehen

/*dieses Programm dreht den bipolaren Schrittmotor

* mit 1,8 Grad Schrittwinkel (200 Schritte/U)

* als 1 Umdrehung im Uhrzeigersinn (CW) und eine Umdrehung

* gegen den Uhrzeigersinn (CCW) bei 30 U/min kontinuierlich

* erstellt von Ashutosh Bhatt am 12.12.16

*/

#include

#define Schritte 200

bi_polar_Stepper my_step_motor(8, 9, 10, 11);

int U/min =30;

void setup()

{

// Geben Sie Ihren Setup-Code hier ein, um ihn einmal auszuführen:

Serial.begin (9600);

Serial.println("bipolares Schrittmotor-Bibliothekstestprogramm, erstellt von Ashutosh Bhatt");

my_step_motor.set_step_per_rev(Schritte);

my_step_motor.set_RPM (rpm);

}

Leere Schleife()

{

Serial.println ( "Motor dreht im Uhrzeigersinn");

my_step_motor.rotate_one_rev(1);

Verzögerung(1000);

Serial.println ("Motor dreht gegen den Uhrzeigersinn");

my_step_motor.rotate_one_rev(0);

Verzögerung(1000);

}

3) Motor im Uhrzeigersinn mit 100 U/min und gegen den Uhrzeigersinn mit 50 U/min kontinuierlich drehen

/*Dieses Programm dreht zuerst den bipolaren Schrittmotor

* mit 1,8 Grad Schrittwinkel (200 Schritte/U)

* im Uhrzeigersinn (CW) für 2 Umdrehungen bei 100 U/min und dann

* gegen den Uhrzeigersinn (CCW) für 2 Umdrehungen bei 50 U/min

*kontinuierlich

* erstellt von Ashutosh Bhatt am 12.12.16

*/

#include

#define Schritte 200

bi_polar_Stepper my_step_motor(2, 3, 4, 5);

int i;

void setup()

{

Serial.begin (9600);

Serial.println("Bipolares Schrittmotor-Bibliothekstestprogramm, erstellt von Ashutosh Bhatt");

my_step_motor.set_step_per_rev(Schritte);

}

Leere Schleife()

{

my_step_motor.set_RPM(100);

for(i=0;i<100;i++) my_step_motor.rotate(1);

Verzögerung(2000);

my_step_motor.set_RPM(50);

for(i=0;i<100;i++) my_step_motor.rotate(0);

Verzögerung(2000);

}

4) Motor 4 Umdrehungen im Uhrzeigersinn mit 20 U/min und 2 Umdrehungen gegen den Uhrzeigersinn mit 10 U/min kontinuierlich drehen

/*Dieses Programm dreht zuerst den bipolaren Schrittmotor

* mit 1,8 Grad Schrittwinkel (200 Schritte/U)

* 4 Umdrehungen im Uhrzeigersinn (CW) bei 20 U/min und dann

* 2 Umdrehungen gegen den Uhrzeigersinn (CCW) bei 10 U/min

*kontinuierlich

* erstellt von Ashutosh Bhatt am 12.12.16

*/

#include

#define Schritte 200

bi_polar_Stepper my_step_motor(2, 3, 4, 5);

int i;

void setup()

{

Serial.begin (9600);

Serial.println("Unipolares Schrittmotor-Bibliothekstestprogramm, erstellt von Ashutosh Bhatt");

my_step_motor.set_step_per_rev(Schritte);

}

Leere Schleife()

{

my_step_motor.set_RPM(20);

my_step_motor.rotate_n_rev(1, 4);

Verzögerung(2000);

my_step_motor.set_RPM(10);

my_step_motor.rotate_n_rev(0, 2);

Verzögerung(2000);

}

5) Drehen Sie den Motor kontinuierlich um 90o im Uhrzeigersinn und um 90o gegen den Uhrzeigersinn mit 30 U/min

/*dieses Programm dreht den bipolaren Motor

* mit 1,8 Grad Schrittwinkel (200 Schritte/U) bei 30 U/min bis

* 90 Grad CW und 90 Grad CCW kontinuierlich

* erstellt von Ashutosh Bhatt am 22.10.16

*/

#include

#define motor_steps 200

bi_polar_Stepper my_step_motor(8, 9, 10, 11);

int U/min =30;

void setup()

{

// Geben Sie Ihren Setup-Code hier ein, um ihn einmal auszuführen:

Serial.begin (9600);

Serial.println("bipolares Schrittmotor-Bibliothekstestprogramm");

my_step_motor.set_step_per_rev(motor_steps);

my_step_motor.set_RPM(rpm);

Serial.println ("Motor dreht 90 Grad hin und her");

}

Leere Schleife()

{

my_step_motor.rotate_x_deg(90);

Verzögerung(2000);

my_step_motor.rotate_x_deg(270);

Verzögerung(2000);

}

Hinweis:- Wenn der Schrittmotor höhere Strom- und Spannungswerte hat, können wir anstelle des L293D-Chips den L298-Chip oder einen Satz von 4 separaten Darlington-Transistoren wie TIP122, TIP142 usw. verwenden, um Schrittmotoren anzutreiben.

Die angegebene Bibliothek und Beispielprogramme werden zusammen mit der obigen Schaltung mit folgenden Schrittmotoren getestet

1) Bipolarer 2-Phasen-Motor mit 5V, 100 U/min (MAX), 200 Schritte/U (1,8° Schrittwinkel)

2) 2-Phasen-Bipolarmotor mit 5V, 60 U/min (MAX), 200 Schritte/U (1,8° Schrittwinkel)

Code

  • Arduino-Bibliothek für bipolare Schrittmotoren
Arduino-Bibliothek für bipolare Schrittmotoren C/C++
Die Bibliothek steuert Drehzahl, Richtung, Umdrehungen und Drehwinkel aller Arten von bipolaren Schrittmotoren mit einer Genauigkeit von 95 %.
Keine Vorschau (nur Download).

Schaltpläne

Diese Schaltung steuert und steuert Drehzahl, Richtung, Drehwinkel, Drehzahl des bipolaren Schrittmotors

Herstellungsprozess

  1. Zurückhaltungsmotor
  2. Schrittmotoren
  3. Integrierte Treiber erleichtern das Design von Schrittmotoren
  4. Sensortelemetrie 2.0.1
  5. Raspoulette-Prototyp
  6. Autonomer Nerf-Wachturm
  7. Swiper - Auto Tinder/Bumble Swiper
  8. Die Grauzone zwischen Servo- und Schrittmotoren
  9. Was ist ein Linearmotor?
  10. Was ist ein Servomotor?