სერვო: როგორ გამოვიყენოთ სერვო ძრავა Arduino– ს საშუალებით

servo, servo motor

თუ გსურთ გამოიყენოთ ა სერვო ძრავა, ან სერვოერთად Arduino, ამ სტატიაში გაიგებთ რა გჭირდებათ დასაწყებად. სხვა სტატიებში უკვე ვნახეთ, რისი გამოყენებაა საჭირო ელექტროძრავები, სტეპური ძრავები, და ასევე სხვა ცნებები, რომლებიც აუცილებელია ამ ტიპის მოწყობილობის მუშაობის გასაგებად, მაგალითად სტატია PWM.

ახლა თქვენ შეგიძლიათ დაამატოთ კიდევ ერთი ახალი ელექტრონული კომპონენტი მოწყობილობების სია გაანალიზებულია და რომ შეგიძლია წახვიდე თქვენი DIY პროექტების ინტეგრირება ახალი ფუნქციონირების დამატება.

რა არის სერვო?

servo

Un სერვომოტორული, ან უბრალოდ servo, არის ელექტრონული ძრავა მსგავსია ჩვეულებრივი DC ძრავებით, მაგრამ გარკვეული ელემენტებით, რომლებიც მათ განსაკუთრებულს ხდის. ამ შემთხვევაში მას გააჩნია მითითებული პოზიციის დაკავების შესაძლებლობა, რასაც ელექტროძრავები არ უშვებენ.

მეორეს მხრივ, სერვოსაც შეუძლია ზუსტად კონტროლი ბრუნვის სიჩქარე, მთელი რიგი შიდა გადაცემებისა და სისტემის წყალობით, რომელიც საშუალებას იძლევა გაცილებით უკეთესი კონტროლი გაკეთდეს, ვიდრე ეს შეიძლება გაკეთდეს სხვა ტიპის ძრავებში.

ეს მახასიათებლები განსაკუთრებით საინტერესოა პროგრამები რობოტები, ან სხვა მოწყობილობებისთვის, სადაც საჭიროა მოძრაობისა და პოზიციის კონტროლი, მაგალითად, პრინტერი, ან დისტანციური მართვის მანქანა. ამ ტიპის რადიო – კონტროლირებად მანქანაში არის ჩვეულებრივი ძრავა მანქანის მართვისთვის და სერვო საჭის მართვისთვის, რომლითაც ზუსტად უნდა აკონტროლოთ ბრუნვა.

სხვაობა სტეპერის ძრავას და სერვო ძრავას შორის

ნემა 17

თუ გაინტერესებთ განსხვავება სერვო ძრავასა და სტეპურ ძრავას შორისსიმართლე ისაა, რომ მათი დაბნეულობა შეიძლება მოხდეს, რადგან სტეპერიან საავტომობილო სისტემაში ან სტეპერში როტაციის კონტროლიც საკმაოდ ზუსტად შეიძლება და პროგრამები ძალიან ჰგავს სერვს. ამის ნაცვლად, არსებობს გარკვეული განსხვავებები.

სერვოძრავები ჩვეულებრივ იყენებენ იშვიათი დედამიწის მაგნიტებიხოლო სტეპერიანი ძრავები უფრო იაფ და უფრო ჩვეულებრივ მაგნიტებს იყენებენ. ამიტომ, სერვისს შეუძლია მიაღწიოს ბრუნვის უფრო მაღალ განვითარებას, კომპაქტური დარჩენის მიუხედავად. ამიტომ, შემობრუნების ძალა ძალიან მაღალი იქნება.

ტექნიკური მახასიათებლები

როდესაც თქვენ ყიდულობთ სერვს, უნდა გაეცნოთ მის ტექნიკურ ფურცელს ან მონაცემთა ცხრილს. ამ გზით თქვენ დარწმუნდებით ტექნიკური მახასიათებლები მას აქვს, მაგრამ ასევე შეზღუდვები, რომელთა დაქვემდებარებაშიც შეგიძლიათ, როგორიცაა ძაბვა, ინტენსივობა, მაქსიმალური დატვირთვა, ბრუნვა და ა.შ. გახსოვდეთ, რომ თითოეული მოდელი შეიძლება საკმაოდ განსხვავებული იყოს.

მაგალითად, თუ გადავხედავთ ერთ-ერთ ყველაზე პოპულარულს, Micro Servo 9G SG90 საწყისია ცნობილი Tower Pro ფირმა, მაშინ გექნებათ ძალიან თავისებური მახასიათებლები, თუმცა მოდელების დაპროგრამება და კავშირი მეტნაკლებად იგივეა და აქ ნათქვამი ყველასთვის სასარგებლოა.

ამ მოდელის შემთხვევაში, ეს არის მაღალი ხარისხის ძრავა, შემობრუნების კუთხით, რომელიც საშუალებას იძლევა a გაიტანეთ -90-დან 90 and-მდე, ანუ ვთქვათ, საერთო ჯამში 180º. რეზოლუცია, რომლის მიღწევაც შეგიძლიათ, ძალიან მაღალია, ასე რომ, თქვენ შეძლებთ ცოტათი წინსვლას. მაგალითად, PWM სიგნალის შეზღუდვებით Arduino UNO, თქვენ კი შეგიძიათ ავანსის მიღება კლასში კლასში.

ანალოგიურად, PWM სიგნალი დააწესებს სხვა ლიმიტს და ეს არის იმ დროის რაოდენობა, როდესაც თითოეულ პოზიციას შეუძლია შეცვალოს დროის ერთეულზე. მაგალითად, ვინაიდან იმპულსები მუშაობენ 1-დან 2 მგ-მდე და თან 20 მგ პერიოდები (50 ჰერცი), შემდეგ სერვას შეუძლია 20 წამში ერთხელ გადაადგილება.

გარდა ამისა, მას ექნება 9 გრამი წონა და, მიუხედავად ამ წონისა და კომპაქტური ზომისა, მას შეუძლია განავითაროს ა ბრუნვა ან ბრუნვა 1.8 კგ / ცმ 4.8 ვ. ეს მისი POM სიჩქარის ნაკრების წყალობით.

დაბოლოს, თქვენ უკვე იცით, რომ იმისდა მიხედვით, თუ რისი მიღწევა გსურთ, თქვენ მოგიწევთ აირჩიოთ ესა თუ ის მოდელი, თქვენი პროექტისთვის საჭირო მახასიათებლები. ეს არ არის იგივე, რაც გინდა ძრავა X დატვირთვის გადასაადგილებლად, ვიდრე ერთი XX ...

სად ვიყიდო სერვო

სერვომოტორული

თუ გსურთ დაიწყოთ ამ ტიპის სერვომოტორის გამოყენება, მისი პოვნა ბევრ სპეციალიზირებულ მაღაზიაში შეგიძლიათ და ასევე შეგიძლიათ ონლაინ მიიღოთ ამაზონში. მაგალითად, აქ მოცემულია რამოდენიმე მაგალითი რეკომენდებული პროდუქტები რაც შეიძლება დაგაინტერესოთ:

ყველა მათგანს აქვს საკმაოდ კარგი ბრუნვის კუთხე, მაგრამ ეს ძირითადად განსხვავდება ბრუნვით, რომლის მოთმენა შეუძლია თითოეულს. მე შევიტანე სამი განსხვავებული მოდელი. პირველი და იაფი, შეიძლება საკმარისი აღმოჩნდეს უმეტეს პროგრამებში. მაგრამ თუ თქვენ გჭირდებათ უფრო დიდი ძალა სხვა პროგრამებისთვის, თქვენ გაქვთ 25 და 35, რომლებიც უკვე საკმაოდ საოცარია ...

ინტეგრაცია Arduino- სთან

არდუინო სერვო
როგორც ხედავთ ზემოთ მოცემულ სურათზე, სერვო ძალიან მარტივად აკავშირებს არდუინოსკენ. მას მხოლოდ სამი კაბელი აქვს, რომელთა დაკავშირება შეგიძლიათ ამ გზით:

  • წითელი 5 ვ
  • შავი GND- ით
  • ყვითელია Arduino PWM ქინძისთავით, ამ შემთხვევაში -9.

იმისათვის, რომ ესკიზის პროგრამირება დაიწყოს ამ ტიპის ძრავების გამოყენება, თქვენ გაქვთ რამდენიმე ვარიანტი. მაგრამ, უპირველეს ყოვლისა, უნდა დაიწყოს დაამატეთ Arduino IDE ბიბლიოთეკა ამ ტიპის სერვო ძრავების მართვა:

  1. გახსენით Arduino IDE.
  2. გადადით პროგრამაზე.
  3. შემდეგ ჩართეთ ბიბლიოთეკა.
  4. Servo

რაც შეეხება ესკიზის კოდი, ეს შეიძლება იყოს ისეთი მარტივი, რომელშიც სერვო გაივლის თავის პოზიციებს 0 stop, 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. მონაცემთა მიზანი: სპამის კონტროლი, კომენტარების მართვა.
  3. ლეგიტიმაცია: თქვენი თანხმობა
  4. მონაცემთა კომუნიკაცია: მონაცემები არ გადაეცემა მესამე პირებს, გარდა სამართლებრივი ვალდებულებისა.
  5. მონაცემთა შენახვა: მონაცემთა ბაზა, რომელსაც უმასპინძლა Occentus Networks (EU)
  6. უფლებები: ნებისმიერ დროს შეგიძლიათ შეზღუდოთ, აღადგინოთ და წაშალოთ თქვენი ინფორმაცია.