Սերվոմոտորի կառավարում. Լրիվ ցուցում
Հիմնական գիտելիքներ.
Սերվոմոտորի կառավարման սահմանումը. Սերվոմոտորի կառավարումը թույլ է տալիս ճշգրիտ կառավարել մոտորի դիրքը, արագությունը և արագացումը էլեկտրոնային ազդեցությունների միջոցով:
Հետադարձ մեխանիզմ. Հետադարձ համակարգը, որը հաճախ պոտենցիոմետր կամ էնկոդեր է, պարտադիր է դարձնում մոտորի ելքը ճշգրիտ համընկնի կառավարման մուտքի հետ:
PWM ազդանշան. Պուլս-լայնության մոդուլացիան (PWM) կրիտիկական է սերվոյ դիրքը հաստատելու համար էլեկտրական պուլսների տևողությունը փոփոխելով:
Arduino և սերվոմոտորներ. Arduino գործադիր բազմանի օգտագործումը հարմար և արդյունավետ եղանակ է սերվոմոտորները ծրագրավորել և կառավարել նվազագույն հարկավոր սարքավորումով:
Սերվոմոտորների կիրառումները. Սերվոմոտորները կարևոր են այն նախագծերի համար, որոնց պահանջվում է ճշգրիտ դիրքային կառավարում, ինչպիսիք են ռոբոտոտեխնիկան և ավտոմատացված համակարգերը:
Սերվոմոտորը մոտոր է, որը նախատեսված է բարձր ճշգրտության և ճշգրականության պտտումի համար: Այն տարբերվում է սովորական Դavenport մոտորից իր հնարավորությամբ պահել որոշակի դիրք անընդհատ պտտման փոխարեն: Այս հատկությունը սերվոմոտորները իդեալական դարձնում է ռոբոտոտեխնիկայի, ավտոմատացման և հոբի նախագծերի համար:
Այս հոդվածը բացմում է, թե ինչպես աշխատում է սերվոմոտորի կառավարումը, սերվոմոտորների տարբեր տեսակները և տարբեր կառավարման եղանակները և սարքավորումները: Այն նաև մի շարք օրինակներ է տալիս սերվոմոտորների կիրառումների և նախագծերի մասին:
Ինչ է սերվոմոտորը?
Սերվոմոտորը սահմանվում է որպես ակտիվատոր, որը թույլ է տալիս ճշգրիտ կառավարել դիրքը (անկյունը), արագությունը և արագացումը: Սովորական սերվոմոտորը բաղկացած է երեք գլխավոր բաղադրիչներից. Դavenport մոտոր, կառավարման շղթա և հետադարձ սարք:
Դavenport մոտորը սերվոն է հեղուկ է և կապված է երկարացման միջոցների, որոնք կրճատում են արագությունը և մեծացնում են պտույտը ելքային առանցքում:

Ելքային առանցքը սերվոն մասն է, որը պտտվում է և շարժում է բեռը:
Կառավարման շղթան պատասխանատու է ստանալ և մշակել մոտեցող ազդանշանները արտաքին կառավարից: Այդ ազդանշանները հետադարձ են տալիս սերվոն, թե ո՞ր դիրքում, արագությամ կամ ուղղությամ է պետք շարժվել: Կառավարման շղթան նաև էլեկտրական հոսանք է ուղարկում Դavenport մոտորին իր շարժումը արագացնելու համար:
Հետադարձ սարքը սովորաբար պոտենցիոմետր կամ էնկոդեր է, որը չափում է ելքային առանցքի ներկա դիրքը:

Հետադարձ սարքը դիրքի տվյալները վերադարձնում է կառավարման շղթային, որը ապա կարգավորում է Դavenport մոտորի հոսանքը համապատասխանեցնելու համար իրական դիրքը մոտեցող ազդանշանի անհրաժեշտ դիրքի հետ:
Կառավարման շղթայի և հետադարձ սարքի հետադարձ ցիկլը համարժեք է, որ սերվոն կարող է ճշգրիտ շարժվել և պահել իր շարժման տիրույթի ցանկացած դիրքը:
Ինչպե՞ս կառավարել սերվոմոտորը.
Սերվոմոտորները կառավարվում են պուլս-լայնության մոդուլացիայի (PWM) ազդանշան ուղարկելով սերվոյ ազդանշանի գիծը: PWM-ն տեխնիկա է, որը արագ փոխում է ազդանշանը մի կողմից մյուսը, ստեղծելով տարբեր լայնության պուլսներ: Պուլսների լայնությունը որոշում է ելքային առանցքի դիրքը:
Օրինակ, երբ ուղարկում եք 1.5 միլիսեկունդ լայնությամբ (ms) PWM ազդանշան, սերվոն կշարժվի նեutral դիրք (90 աստիճան):

Երբ ուղարկում եք 1 ms լայնությամբ PWM ազդանշան, սերվոն կշարժվի նվազագույն դիրք (0 աստիճան): Երբ ուղարկում եք 2 ms լայնությամբ PWM ազդանշան, սերվոն կշարժվի առավելագույն դիրք (180 աստիճան):
PWM ազդանշանը ունի 50 Hz հաճախություն, որը նշանակում է, որ այն կրկնվում է յուրաքանչյուր 20 ms-ում: Պուլսի լայնությունը կարող է փոփոխվել 1 ms-ից 2 ms-ի այս պարբերության ընթացքում:
PWM ազդանշաններ գեներացնելու և ուղարկելու սերվոմոտորներին շատ եղանակներ կան: Ամենահաճախ օգտագործվող եղանակներն են.
Arduino գործադիր կամ մյուս միկրոկոնտրոլլերի օգտագործումը
Պոտենցիոմետր կամ մյուս անալոգ սենսորի օգտագործումը
Ջոյստիկ կամ մյուս դիջիտալ մուտքային սարքի օգտագործումը
Մասնավոր սերվո կառավարի կամ դրայի օգտագործումը
Հետևյալ բաժներում մանրամասն կուսումնասիրենք այս եղանակների յուրաքանչյուրը և տեսնենք նրանց աշխատելու մի քանի օրինակներ:
Սերվոմոտորի կառավարում կամ միկրոկոնտրոլլերի օգտագործումը
Arduino մի ամենահաճախ օգտագործվող պլատֆորմ է սերվոմոտորների կառավարման համար: Arduino գործադիրները ունեն ներդրված PWM ելքներ, որոնք կարող են օգտագործվել սերվոներին ազդանշաններ ուղարկելու համար: Arduino-ն նաև ունի Servo գրադարան, որը դառնում է սերվո կառավարման կոդ գրելու համար հեշտ:
Սերվոմոտորի կառավարման համար օգտագործելու համար պետք է ունենաք.
Arduino գործադիր (օրինակ, Arduino UNO)
Ստանդարտ սերվոմոտոր (օրինակ, SG90)
Ջամպեր գլուխալար
Բրեդբորդ (ընտրությամբ)
Սերվոյի կարմիր լարը կապվում է 5V-ի հետ Arduino գործադիրում: Սերվոյի սպիտակ լարը կապվում է 9-րդ պինի հետ Arduino գործադիրում:
Arduino գործադիրը ծրագրավորելու համար պետք է օգտագործել Arduino IDE (օնլայն կամ օֆլայն): Կարող եք օգտագործել Servo գրադարանի օրինակներից մեկը կամ գրել իր կոդը:
Ներքևում ներկայացված կոդը ցույց է տալիս, ինչպես սերվոմոտորը շարժել 180 աստիճանի վրա և հետ կրկնվող շարժում կատարել for ցիկլի օգնությամբ:
#include <Servo.h> // Ներառել Servo գրադարանը
Servo myservo; // Ստեղծել Servo օբյեկտ
int pos = 0; // Փոփոխական դիրքի համար
void setup() {
myservo.attach(9); // Կցել Servo օբյեկտը 9-րդ պինին
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) { // Ցիկլ 0-ից 180 աստիճան
myservo.write(pos); // Write դիրքը Servo օբյեկտին
delay(15); // Ապահովել 15 ms
}
for (pos = 180; pos >= 0; pos -= 1) { // Ցիկլ 180-ից 0 աստիճան
myservo.write(pos); // Write դիրքը Servo օբյեկտին
delay(15); // Ապահովել 15 ms
}
}
Այս կոդը օգտագործում է երկու ցիկլ ՝ դիրքի փոփոխականը 0-ից 180 աստիճան և հակառակը մեծացնելու և փոքրացնելու համար: Այն ապա գրում է այս արժեքը Servo օբյեկտին, օգտագործելով myservo.write(pos) ֆունկցիան: Այն նաև ավելացնում է 15 ms հետահատում յուրաքանչյուր քայլի միջև ՝ դանդաղ շարժում ապահովելու համար:
Այս կոդը բեռացրեք ձեր Arduino գործադիրը օգտագործելով IDE-ի Upload կոճակը և դիտեք, ինչպես ձեր սերվոմոտորը հավասարաչափ շարժվում է 180 աստիճան վրա և հետ:
Սերվոմոտորի կառավարում պոտենցիոմետրով