Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Bipolaire stappenmotorbibliotheek

Componenten en benodigdheden

Arduino UNO
× 1
Texas Instruments Dual H-Bridge motordrivers L293D
× 1

Apps en online services

Arduino IDE

Over dit project

Eerder heb ik een Arduino-bibliotheek geleverd voor stappenmotoren van het unipolaire type. Het regelt perfect snelheid, richting, aantal omwentelingen, motorhoek enz. Alle parameters van stappenmotoren van het unipolaire type. Maar het was alleen voor stappenmotoren van het unipolaire type. Zoals we weten, kan de stappenmotor ook van het bipolaire type zijn. Maar deze bibliotheek kan de stappenmotor van het bipolaire type niet besturen. Dus heb ik besloten om een ​​andere arduino-bibliotheek te ontwikkelen om de bipolaire stappenmotor te besturen

Dus hier presenteer ik bipolaire stappenmotorbibliotheek in Arduino voor alle bipolaire stappenmotoren. De bibliotheek heeft 9 verschillende functies die kunnen worden gebruikt om de motor te draaien en te regelen volgens de vereisten. De bibliotheek is ontworpen volgens de industriële motioncontrol vereisten. Hier zijn enkele van de functies van deze bibliotheek

1. Regelt elke bipolaire stappenmotor

2. Regelt de draairichting van de motor

3. Regelt nauwkeurig het aantal omwentelingen van de motor zoals 1, 2, 3, 4,.....

4. Regelt nauwkeurig de motorsnelheid in RPM met een nauwkeurigheid van 95%

5. Draait de motor nauwkeurig naar de gewenste hoek tussen 0 - 360o met een nauwkeurigheid van 80-100%

6. Compatibel met alle Arduino-borden

De korte beschrijvingen van alle bibliotheekfuncties worden hier gegeven. Hierna volgen enkele voorbeelden waarin wordt uitgelegd hoe de motor wordt bestuurd met behulp van deze bibliotheek. Er wordt ook een video gegeven die de demonstratie van deze voorbeelden laat zien. Ten slotte wordt het circuit gesuggereerd dat de L293D-chip gebruikt - veel gebruikt als H-brugstuurprogramma voor gelijkstroommotoren en bipolaire stappenmotoren.

Om deze bibliotheek in je Arduino-schets te gebruiken, kopieer je gewoon de bi_polar_Stepper map naar de hoofdmap van de arduino-bibliotheekmap zoals C:\arduino-1.6.7\libraries

Beschrijving van bibliotheekfuncties:

1) bi_polar_Stepper(intpin1, int pin2, int pin3, int pin4) - hierdoor wordt een instantie van bi_polar_Stepper in de Arduino-schets gemaakt met pinnen van de stappenmotor. Betekent dat men arduino-bordpinnen moet specificeren die worden gebruikt om de stappenmotor aan te drijven

2) set_step_per_rev(intsteps)- deze functie stelt het aantal stappen in dat de stappenmotor nodig heeft om 1 omwenteling te voltooien. Betekent dat het de staphoek (stapresolutie) van de motor zal instellen. Men moet de staphoek van de motor invoeren voor nauwkeurige controle

3) set_RPM(int rpm) – deze functie stelt de snelheid van de motor in RPM in en de motor draait op de geselecteerde snelheid met een nauwkeurigheid tot 95%

4) rotate_CW() - deze functie zal de motor met de klok mee laten draaien. Om de motor continu met de klok mee te draaien, moet men deze functie in een continue lus gebruiken

5) rotate_CCW() - deze functie zal de motor tegen de klok in draaien. Om de motor continu tegen de klok in te draaien, moet men deze functie in een continue lus gebruiken

6) roteren(int dir)- deze functie zal de motor draaien in de geselecteerde richting. Als de richting wordt gegeven als 1 dan draait de motor met de klok mee en vice versa

7) rotate_one_rev(intdir)- deze functie draait de motor exact 1 omwenteling in de geselecteerde richting

8) rotate_n_rev(int dir, intnum)- deze functie zal het vereiste aantal omwentelingen van de motor in de geselecteerde richtingen draaien

9) rotate_x_deg(int deg) – deze functie draait de motor naar de gewenste hoek van 0 - 360o in beide richtingen met een hoeknauwkeurigheid van 80 -100%

Voorbeelden:

1) Draai de motor continu in een willekeurige richting met 60 RPM

/*dit programma laat de bipolaire stappenmotor continu draaien

* met een staphoek van 1,8 graden (200 stappen/omw) bij 60 RPM

* gemaakt door Ashutosh Bhatt op 12/12/16

*/

#include

#define steps 200 // verander deze stappen volgens motor

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

int rpm =60;

ongeldige setup()

{

// plaats hier je setup-code, om een ​​keer uit te voeren:

Serieel.begin(9600);

Serial.println("bipolaire stappenmotorbibliotheek testprogramma");

my_step_motor.set_step_per_rev(stappen);

my_step_motor.set_RPM(rpm);

Serial.println ("motor draait met de klok mee");

}

void loop()

{

mijn_step_motor.rotate_CW();

}

2) Draai de motor continu één omwenteling rechtsom en één omwenteling linksom

/*dit programma zal de bipolaire stappenmotor draaien

* met een staphoek van 1,8 graden (200 stappen/omw)

* als 1 omwenteling rechtsom (CW) en één omwenteling

* tegen de klok in (CCW) bij 30 RPM continu

* gemaakt door Ashutosh Bhatt op 12/12/16

*/

#include

#define stappen 200

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

int rpm =30;

ongeldige setup()

{

// plaats hier je setup-code, om een ​​keer uit te voeren:

Serieel.begin(9600);

Serial.println ("bipolaire stappenmotorbibliotheek-testprogramma gemaakt door Ashutosh Bhatt");

my_step_motor.set_step_per_rev(stappen);

mijn_step_motor.set_RPM(rpm);

}

void loop()

{

Serial.println ("motor draait met de klok mee");

my_step_motor.rotate_one_rev(1);

vertraging(1000);

Serial.println ("motor draait tegen de klok in");

my_step_motor.rotate_one_rev(0);

vertraging(1000);

}

3) Draai de motor continu met de klok mee op 100 RPM en tegen de klok in op 50 RPM

/*dit programma zal eerst de bipolaire stappenmotor draaien

* met een staphoek van 1,8 graden (200 stappen/omw)

* met de klok mee (CW) voor 2 omwentelingen bij 100 RPM en dan

* tegen de klok in (CCW) gedurende 2 omwentelingen bij 50 RPM

*continu

* gemaakt door Ashutosh Bhatt op 12/12/16

*/

#include

#define stappen 200

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

int i;

ongeldige setup()

{

Serieel.begin(9600);

Serial.println ("Bipolaire stappenmotorbibliotheektestprogramma gemaakt door Ashutosh Bhatt");

my_step_motor.set_step_per_rev(stappen);

}

void loop()

{

my_step_motor.set_RPM(100);

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

vertraging (2000);

my_step_motor.set_RPM(50);

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

vertraging (2000);

}

4) Draai de motor 4 omwentelingen met de klok mee bij 20 RPM en 2 omwentelingen tegen de klok in bij 10 RPM continu

/*dit programma zal eerst de bipolaire stappenmotor draaien

* met een staphoek van 1,8 graden (200 stappen/omw)

* 4 omwentelingen rechtsom (CW) bij 20 RPM en dan

* 2 omwentelingen tegen de klok in (CCW) bij 10 RPM

*continu

* gemaakt door Ashutosh Bhatt op 12/12/16

*/

#include

#define stappen 200

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

int i;

ongeldige setup()

{

Serieel.begin(9600);

Serial.println ("Unipolaire stappenmotorbibliotheek-testprogramma gemaakt door Ashutosh Bhatt");

my_step_motor.set_step_per_rev(stappen);

}

void loop()

{

my_step_motor.set_RPM(20);

my_step_motor.rotate_n_rev(1, 4);

vertraging (2000);

my_step_motor.set_RPM(10);

mijn_step_motor.rotate_n_rev(0, 2);

vertraging (2000);

}

5) Draai de motor 90o rechtsom en 90o linksom continu op 30 RPM

/*dit programma zal de bipolaire motor draaien

* met een staphoek van 1,8 graden (200 stappen/omw) bij 30 RPM tot

* 90 graden CW en 90 graden CCW continu

* gemaakt door Ashutosh Bhatt op 22/10/16

*/

#include

#define motor_steps 200

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

int rpm =30;

ongeldige setup()

{

// plaats hier je setup-code, om een ​​keer uit te voeren:

Serieel.begin(9600);

Serial.println("bipolaire stappenmotorbibliotheek testprogramma");

my_step_motor.set_step_per_rev(motor_steps);

my_step_motor.set_RPM(rpm);

Serial.println ("motor draait 90 graden heen en weer");

}

void loop()

{

my_step_motor.rotate_x_deg(90);

vertraging (2000);

mijn_step_motor.rotate_x_deg(270);

vertraging (2000);

}

Opmerking:-Als de stappenmotor een hogere stroom- en spanningswaarde heeft, kunnen we in plaats van de L293D-chip de L298-chip gebruiken of een set van 4 afzonderlijke Darlington-transistors zoals TIP122, TIP142 enz. Kunnen worden gebruikt om stappenmotoren aan te sturen.

De gegeven bibliotheek en voorbeeldprogramma's samen met het bovenstaande circuit zijn getest met de volgende stappenmotoren

1) 2-fasen bipolaire motor met 5V, 100 RPM (MAX), 200 stappen/omw (1,8o staphoek)

2) 2-fasen bipolaire motor met 5V, 60 RPM (MAX), 200 stappen/omw (1,8o staphoek)

Code

  • Arduino-bibliotheek voor bipolaire stappenmotor
Arduino-bibliotheek voor bipolaire stappenmotor C/C++
De bibliotheek regelt RPM, richting, omwentelingen, draaihoek van alle soorten bipolaire stappenmotoren met een nauwkeurigheid van 95%
Geen voorbeeld (alleen downloaden).

Schema's

Dit circuit stuurt en regelt RPM, richting, draaihoek, aantal omwentelingen van bipolaire stappenmotor

Productieproces

  1. Reluctantiemotor
  2. Stappenmotoren
  3. Geïntegreerde drivers vereenvoudigen het ontwerp van de stappenmotor
  4. Sensortelemetrie 2.0.1
  5. Raspoulette-prototype
  6. Autonome Nerf Sentry-toren
  7. Swiper - Auto Tinder/Bumble Swiper
  8. SmartWay
  9. Het grijze gebied tussen servo- en stappenmotoren
  10. Wat is een lineaire motor?
  11. Wat is een servomotor?