Servo. Ինչպես օգտագործել servo շարժիչը Arduino- ի հետ

servo, servo motor

Եթե ​​ցանկանում եք օգտագործել a servo շարժիչ, կամ servoՀետ Arduino, այս հոդվածում դուք կսովորեք այն, ինչ ձեզ հարկավոր է սկսել: Այլ հոդվածներում մենք արդեն տեսել ենք, թե ինչն է անհրաժեշտ օգտագործել էլեկտրական շարժիչներ, stepper շարժիչներ, և նաև այլ հասկացություններ, որոնք անհրաժեշտ են այս տեսակի սարքերի աշխատանքը հասկանալու համար, ինչպիսին է հոդվածը PWM.

Այժմ կարող եք ավելացնել ևս մեկ այլ նոր էլեկտրոնային բաղադրիչ սարքի ցուցակը վերլուծել և որ կարող ես գնալ ինտեգրելով ձեր DIY նախագծերը ավելացնել նոր ֆունկցիոնալություն:

Ի՞նչ է սերվոն:

servo

Un սերվոմոտորկամ պարզապես servo- ն էլեկտրոնային շարժիչ է `սովորական DC շարժիչների նմանությամբ, բայց որոշ առանձնահատկություններով, որոնք դրանք առանձնահատուկ են դարձնում: Այս դեպքում այն ​​հնարավորություն ունի պահպանել նշված դիրքը, մի բան, որը էլեկտրաշարժիչները թույլ չեն տալիս:

Մյուս կողմից, սերվոն կարող է նաև ճշգրիտ վերահսկողություն պտտման արագությունը ՝ շնորհիվ մի շարք ներքին շարժակների և համակարգի, որը թույլ է տալիս շատ ավելի լավ կառավարում, քան կարելի էր անել այլ տեսակի շարժիչների դեպքում:

Այս հատկությունները հատկապես հետաքրքիր են դարձնում այն դիմումները ռոբոտաշինություն կամ այլ սարքերի համար, որտեղ շարժումն ու դիրքը պետք է վերահսկել, օրինակ ՝ տպիչը կամ հեռակառավարվող մեքենան: Այս տեսակի ռադիոկառավարվող մեքենայում կա մեքենա վարելու պայմանական շարժիչ, և ղեկի համար `մի servo, որի միջոցով ճշգրիտ պետք է վերահսկել շրջադարձը:

Stepper շարժիչի և servo շարժիչի տարբերությունը

Նեմա 17

Եթե ​​զարմանում եք servo շարժիչի և stepper շարժիչի տարբերությունը, ճշմարտությունն այն է, որ դրանք կարող են շփոթվել, քանի որ stepper շարժիչի կամ stepper- ում ռոտացիան նույնպես կարող է ճշգրիտ կերպով վերահսկվել, և կիրառությունները շատ նման են servo- ին: Փոխարենը կան որոշ տարբերություններ:

Եվ դա այն է, որ servomotors սովորաբար օգտագործում են հազվագյուտ մագնիսներ, իսկ stepper շարժիչները օգտագործում են ավելի էժան և սովորական մագնիսներ: Հետևաբար, մի servo- ն կարող է հասնել մեծ ոլորող մոմենտ ստեղծելու, չնայած կոմպակտ մնալուն: Հետեւաբար, շրջադարձային ուժը շատ մեծ կլինի:

Տեխնիկական բնութագրերը

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

Օրինակ, եթե նայեք ամենատարածվածներից մեկին, Micro Servo 9G SG90- ից հայտնի Tower Pro ֆիրման, այդ դեպքում դուք կունենաք շատ յուրահատուկ բնութագրեր, չնայած մոդելների ծրագրավորումն ու կապը քիչ թե շատ նույնն են, և այստեղ ասված ամեն ինչ օգտակար է յուրաքանչյուրի համար:

Այս մոդելի դեպքում դա բարձրորակ շարժիչ է, շրջադարձային անկյունով, որը թույլ է տալիս ա ավլում -90-ից 90º, այսինքն ՝ 180 turn ընդհանուր շրջադարձ: Որոշումը, որին կարող եք հասնել, շատ բարձր է, այնպես որ կկարողանաք շատ-քիչ առաջ շարժվել: Օրինակ, PWM ազդանշանի սահմանափակումներով Arduino UNO, դուք նույնիսկ կարող եք դասից դասարան կանխավճար ստանալ:

Նմանապես, PWM ազդանշանը կսահմանի նաև մեկ այլ սահմանափակում, և դա այն դեպքերի քանակն է, երբ յուրաքանչյուր դիրքորոշում կարող է փոխվել ժամանակի միավորի համար: Օրինակ, քանի որ իմպուլսներն աշխատում են 1-ից 2 ms և հետ 20 ms ժամանակահատվածներ (50Hz), ապա servo- ն կարող է շարժվել յուրաքանչյուր 20 ms- ով մեկ անգամ:

Բացի այդ, այն կունենա 9 գրամ քաշ և, չնայած այդ քաշին և կոմպակտ չափսերին, կարող է զարգացնել ա մոմենտը կամ 1.8 կգ / գ ոլորող մոմենտըմ 4.8 վ-ով: Դա շնորհիվ իր POM հանդերձանքի հավաքածուի:

Վերջապես, դուք արդեն գիտեք, որ կախված այն բանից, թե ինչի եք ուզում հասնել, դուք ստիպված կլինեք ընտրել այս կամ այն ​​մոդելը, որպեսզի այն ունենա ձեր նախագծի համար անհրաժեշտ առանձնահատկությունները, Այսինքն ՝ նույնը չէ, որ ուզում ես, որ շարժիչը X բեռը տեղափոխի, քան մեկը XX- ի համար ...

Որտեղ գնել սերվո

սերվոմոտոր

Եթե ​​ցանկանում եք սկսել օգտագործել այս տեսակի սերվոմոտորը, այն կարող եք գտնել էժան շատ մասնագիտացված խանութներում, և այն կարող եք ձեռք բերել նաև առցանց Amazon- ում: Օրինակ, ահա մի քանի օրինակ առաջարկվող ապրանքներ դա կարող է հետաքրքրել ձեզ.

Բոլորն ունեն շրջադարձի բավականին լավ անկյուն, բայց դա հիմնականում տարբերվում է յուրաքանչյուր պտտվող մոմենտով: Ես ներառել եմ երեք տարբեր մոդելներ, Դրանցից առաջինը և էժանությունը կարող է բավարար լինել դիմումների մեծ մասի համար: Բայց եթե ձեզ այլ դիմումների համար ավելի մեծ ուժ է պետք, ապա դուք ունեք 25 և 35, որոնք արդեն բավականին ուշագրավ են ...

Ինտեգրում Arduino- ի հետ

arduino servo
Ինչպես տեսնում եք վերևում նկարում, servo- ն միանում է շատ հեշտությամբ դեպի Arduino: Այն ունի ընդամենը երեք մալուխ, որոնք կարող եք միացնել այս եղանակով.

  • Կարմիր 5 վ-ով
  • Սեւ GND- ով
  • Դեղին ՝ Arduino PWM քորոցով, այս դեպքում ՝ -9:

Էսքիզը ծրագրավորելու համար, որպեսզի սկսեք օգտագործել այս տեսակի շարժիչները, դուք ունեք մի քանի տարբերակ: Բայց, առաջին հերթին, սկսելու համար հարկավոր է ավելացնել Arduino IDE գրադարանը այս տեսակի servo շարժիչները վարելու համար.

  1. Բացեք Arduino IDE- ն:
  2. Գնալ դեպի ծրագիր:
  3. Դրանից հետո ներառեք գրադարանը:
  4. Servo

Ինչ վերաբերում է էսքիզային ծածկագիր, դա կարող է լինել այնքան պարզ, երբ servo- ն անցնի իր դիրքերը ՝ կանգ առնելով 0º, 90º և 180º:

//Incluir la biblioteca del servo
#include <Servo.h>
 
//Declarar la variable para el servo
Servo servoMotor;
 
void setup() {
  // Iniciar el monitor serie
  Serial.begin(9600);
 
  // Iniciar el servo para que use el pin 9 al que conectamos
  servoMotor.attach(9);
}
 
void loop() {
  
  // Desplazar a la posición 0º
  servoMotor.write(0);
  // Esperar 1 segundo
  delay(1000);
  
  // Desplazar a la posición 90º
  servoMotor.write(90);
  // Esperar 1 segundo
  delay(1000);
  
  // Desplazamos a la posición 180º
  servoMotor.write(180);
  // Esperar 1 segundo
  delay(1000);
}

Հիմա եթե ուզում եք տեղափոխել այն աստիճանից աստիճան, ապա դա կլինի այսպես.

// Incluir la biblioteca servo
#include <Servo.h>
 
// Declarar la variable para el servo
Servo servoMotor;
 
void setup() {
  // Iniciar la velocidad de serie
  Serial.begin(9600);
 
  // Poner el servo en el pin 9
  servoMotor.attach(9);
 
  // Iniciar el servo en 0º
  servoMotor.write(0);
}
 
void loop() {
 
  // Los bucles serán positivos o negativos, en función el sentido del giro
  // Positivo
  for (int i = 0; i <= 180; i++)
  {
    // Desplazar ángulo correspondiente
    servoMotor.write(i);
    // Pausa de 25 ms
    delay(25);
  }
 
  // Negativo
  for (int i = 179; i > 0; i--)
  {
    // Desplazar el ángulo correspondiente
    servoMotor.write(i);
    // Pausa e 25 ms
    delay(25);
  }
}


Հոդվածի բովանդակությունը հավատարիմ է մեր սկզբունքներին խմբագրական էթիկա, Սխալի մասին հաղորդելու համար կտտացրեք այստեղ.

Եղիր առաջին մեկնաբանողը

Թողեք ձեր մեկնաբանությունը

Ձեր էլ. Փոստի հասցեն չի հրապարակվելու: Պահանջվող դաշտերը նշված են *

*

*

  1. Տվյալների համար պատասխանատու ՝ Միգել Անխել Գատոն
  2. Տվյալների նպատակը. Վերահսկել SPAM, մեկնաբանությունների կառավարում:
  3. Օրինականություն. Ձեր համաձայնությունը
  4. Տվյալների հաղորդագրություն. Տվյալները չեն փոխանցվի երրորդ անձանց, բացառությամբ իրավական պարտավորության:
  5. Տվյալների պահպանում. Տվյալների շտեմարան, որը հյուրընկալվում է Occentus Networks (EU) - ում
  6. Իրավունքներ. Timeանկացած պահի կարող եք սահմանափակել, վերականգնել և ջնջել ձեր տեղեկատվությունը: