Servo ile uygulamalar | Haberler Online

semaver

New member


  1. Motorlu Hizmetkarlarla Uygulamalar

Hizmetkarlar, Arduino, Raspberry Pi veya Beaglebone gibi mikrodenetlerde kullanılabilecek ikinci tip motorları oluşturur. Türünün en küçük temsilcileri, örneğin robotiklerde ve modellerin yapımında yaygındır. Bu bölüm, uygulamaya girmeden önce hizmetçinin fonksiyonel ilkesini ilk kez açıklıyor.





Servis motorları komutta belirli bir dönen konuma geçebilir. Dönüş açısını dışarıdan ilişkilendirebilirsiniz. Bu nedenle, daha az, hız için daha az hassasiyet ve tork için tasarlanmıştır. Ayrıca geçerlidir: tork ne kadar büyük olursa, servis motoru o kadar yavaştır.

Hizmetkarların işlevsel prensibi


Bir motor hizmetçinin işlevsel prensibini anlamak için, bu tür motorun basit bir versiyonunu nasıl oluşturacağınızı düşünüyoruz.

Aşağıdaki malzemeler gereklidir:

  • CC'li bir motor
  • Dişli kutusu olarak dişliler
  • bir potansiyometre
  • Kontrol mantığı
CC motor rotoruna, bir yandan hizmetçinin döndürülmesini ve diğer yandan rotasyon için bir potansiyometreyi senkronize etmesini sağlayan birleştirilmiş dişlileri monte ediyoruz. Sonunda, bir tür dişli motoru inşa ediyoruz. Bunu yapmak için, kontrolleri dışarıdan kabul eden ve DC motorunu kontrol eden kontrol mantığını entegre ediyoruz. Komutlar hakkında. “Hizmetçi” terimi aslında Latin Servus'tan (köle) gelir.





Basit bir hizmetçi motor bir CC motor (sol altta), bir dişli (sağ üstte) ve bir potansiyometreden (sağda) oluşur. Kontrol mantığı fotoğrafta görülemez.



Basit bir hizmetçi motor bir CC motor (sol altta), bir dişli (sağ üstte) ve bir potansiyometreden (sağda) oluşur. Kontrol mantığı fotoğrafta görülemez.


(Resim: wikipedia.org)



Potansiyometre üzerindeki direnç değerini okurken, kontrol mantığı motor hizmetçisinin konumunu tanır. Bir yeniden konumlandırma kontrolü durumunda, hedef açıya ulaşmak için CC motorunun hangi yönde dönmesi gerektiğini hesaplar. Potansiyometrenin maksimum direncin tam yarısına sahip olduğu nokta, tanımlanmış sıfır nokta. Bir hizmetçi, toplam p>


Servies, yeni bir pozisyon almadığı sürece her zaman pozisyonlarında kalma çabalarına sahiptir. Motor hizmetçisinin dönen kısmına basın. Motor “savunacak”. Bu nedenle RI düzenlemesi bu hizmetkarlar için tipiktir. Çoğu zaman, hizmetçi köşeyi hafifçe aşar, bu nedenle minimal bir dolambaçlı dolambaçlı dolandırıcıya kadar ters yönde doğru vb.

Dediğim gibi, ev yapımı hizmetçi tam olarak dolu değil. Örneğin, en gelişmiş hizmetçiler hızı değiştirebilir veya 360 ° dönüştürebilir. Endüstriyel hizmetçiler, Profibus veya Can-Bus gibi saha veri yolu sistemlerinde karşılık gelen arayüzler aracılığıyla yönetilebilir, çok daha hassastır ve her türlü verimli motorları entegre ederler.

Komut alıcısı


Motor hangi pozisyonun döneceğini gerçekten nasıl biliyor? Bunu yapmak için, kontrol mantığı, örneğin her 20 milisaniyede bir kontrol yönetimi yoluyla düzenli bir dürtü alır. Dürtü uzunluğu 1,5 milisaniye ise, hizmetçi sıfır noktada hareket eder. Dürtü uzunluğu 1,5 milisaniyenin altına düşerse (1.5 ila bir milisaniye aralığı), hizmetçi saat yönünün aksine bir noktaya geçer. Bununla birlikte, dürtü uzunluğu 1,5 milisaniyeden (aralık 1,5 ila 2 milisaniye) fazlaysa, motor tanımlanmış bir konumda saat yönünde hareket eder.

Yeni bir pozisyon başlatmak için en kötü an, hizmetçi iki yönden birine taşındığında ve bu nedenle ters noktaya geçmesi gerektiğinde ortaya çıkar.

Servo Am Arduino


Birçok güç hobisi doğrudan Arduino'ya bağlanabilir. Alternatif olarak, sizi bir motor kalkan aracılığıyla da kontrol edebiliriz. Her iki seçeneği de görmek istiyoruz.

Küçük hizmetçileri Arduino'ya kolayca bağlayabilirsiniz. Ancak, yüksek enerji tüketimi hizmetçisi kullanırsanız, harici bir güç kaynağı önerilir. Burada da teknik hizmetçinin veri sayfasına bir bakış bilgi sağlar.

Motoru kullanmazsak, DC motorlarından daha önce inşa ettiğimiz şeye benzer bir devreye ihtiyacımız var. Ancak konumu sadece bir motor hizmetçisi ile tanımlayabiliriz. Arduino ve motor güç kaynağını ayırmak için n-kanal IRF520 unipolar transistörü kullandık. Ancak, düşük performanslı bir hizmetçi kullanırsak aile tanıdıklarını kullanmıyoruz. Söylediğim gibi, devrelerin ayrılması, ancak hizmetçi bir arduino olan düşük akım direncinden daha fazla elektrik çekerse gereklidir.

Motor hizmetçisinin konumunu manuel olarak kontrol edebilmek için bir potansiyometreyi devreye entegre ediyoruz. Potansiyometreyi çevirirsek, hizmetçi sola veya sağa hareket eder.





Hizmetçi ve potansiyometre ile basit devre



Hizmetçi ve potansiyometre ile basit devre



Arduino kütüphaneleri zaten onlarla bir hizmetçi desteği ve kullanım örnekleri taşıyor (menü Dosya | Örnekler). Yani burada fazla işimiz yok.

Hizmetkar API'nın yöntemleri, örneğin:

  • servo.attach(digitalPinWithPWM: Anschlusspin der Kontrollleitung
  • servo.write(angle): Drehen zu einer neuen Position (angle)
  • servo.read(): Abfrage der augenblicklichen Position
Sketch


Das Programm zum Steuern des Servos ist nicht weiter aufregend. Wir inkludieren die Servo-Bibliothek über Servo.h. Im Setup-Teil weisen wir unserem Servo den Pin 9 zu. In der Schleife lesen wir zunächst den aktuellen Wert des Potentiometers aus, konvertieren diesen von 0..1023 in 0..180, und bewegen den Servo auf die entsprechende Winkelposition.

#include <Servo.h>
Servo servo1; // Servo
int val = 0;
int pos = 0;

void setup() {
servo1.attach(9); // Servo benutzt Arduino Pin 9
}

void loop() {
int val = analogRead(A0); // Auslesen Poti an A0
pos = map(val, 0, 1023, 0, 180); // Abbildung auf 0°..180°
servo1.write(pos); // Servo zu pos bewegen
}

Shield Bürger-Streich






Motorcu, kontrol pimleri Arduino Pin 9 ve 10'a bağlı 2 servis bağlantısına sahiptir.



Motorcu, kontrol pimleri Arduino Pin 9 ve 10'a bağlı 2 servis bağlantısına sahiptir.




Güç adımları için, motor kalkanının harici bir güç kaynağı aracılığıyla iki uygun üç tabanlı bağlantı ve isteğe bağlı güç kaynağı hariç sunabileceği çok şey yoktur. Bu nedenle, Arduino IDE tarafından sağlanan kitapçıları bir motor kalkanla da kullanabiliriz. Kalkandaki SERVO1 kontrol hattı, Arduino'nun dijital pimine 9'a bağlanırken, Arduino 10 SERVO2'nin SERVO2'nin dijital kontrolleri. Dolayısıyla, doğrudan Arduino veya motor kalkanı üzerindeki güç adımlarını yönetmeniz gerekip gerekmediğinden henüz emin değilseniz, doğrudan bağlantı olduğunda Arduino'nuzun 9 ve 10'unun dijital çıkışlarını da seçebilirsiniz.

Git, Johnny Git!



Güç kaynaklarını kullanın


Enerji ile ilgilenen devrelerin veya bileşenlerin güç kaynağı için, 3V voltajı ile 12 V ve 1500 akımla ancak 3000 Ma'ya kadar yönlendirilebilir ve ayarlanabilir bir güç kaynağı kullanılması önerilir. Üst kapaklar için iki kalemli erkek (+,-) veya farklı kutupların içeride ve dışta olduğu bir tür kablo silindirine sahip kadın gibi farklı varyantlar vardır. Çalışma talimatlarını okuyun. Elektriğin 1500 olarak direnci, ancak gerçek akım hakkında hiçbir şey söylemez, ancak cihazların beslenme yoluyla korunabileceği akıma karşı maksimum direnci, yani olası genel performans tanımlar. Bir arduino hala en fazla 200 ancak yiyeceklerden gerektirir. Gıda üzerindeki genişleme ne kadar yüksek olursa, o kadar fazla rezerv.







Ve şimdi yine "her bölümle aynı prosedür". Hizmetkar'ı JavaScript, Node.js, Standard Company ve Johnny-Complient ile oluşturmak istiyoruz. Her şeyden önce, motor hizmetçilerini kontrol etmek için iki arı var. Hidrolik direksiyon arıları bizim amacımız için daha az ilginçtir. Aynı senkronize etmesi gereken farklı hizmetçilerin alanlarına izin verir. Hizmetçi API'sı ise ihtiyaçlarımızı karşılamaktadır. Bu arada, zaten tanıma fırsatımız olan aynı devreyi kullanıyoruz.

JavaScript'i oluşturmadan önce, bir mikrodenetleyicinin pimini erişilebilir hale getiren Johnny-Five türünü bilmeliyiz. Kapı değerlerini okumak veya yazmak istediğimiz anda buna ihtiyacımız var. Bu ihtiyacın bir örneği A0'a bağlı potansiyometre. Örneğin, JavaScript'i kontrol ederken, potansiyometrenin değerini konum kontrolü için bir temel olarak kullanmak da mümkün olmalıdır. Bu amaçla Johnny-Five'da PIN API var.

Sonunda senaryo, önceki Arduino eskizinin aynı işlevini uygular, sadece kontrollü:

var five = require("johnny-five"), board = new five.Board();
board.on("ready", function() {
var servo1 = new five.Servo(9); // Servo an Pin 9
var poti = new five.Pin("A0"); // Poti an A0
five.Pin.read(poti, function(error, value) { // Poti auslesen
pos = value / 6; // Wert grob auf 0..180 abbilden
servo1.to(pos); // Servo an gewählte Position bewegen
});
});






Farklı bağlantı türlerine sahip tipik bir güçlü güç kaynağı



Farklı bağlantı türlerine sahip hevesli güç kaynağı



Çözüm


Hizmetkarların kontrolü neredeyse JavaScript ve Arduino IDE aracılığıyla çocukların oyunudur, devreler ve programlama çabası oldukça düşüktür. Ancak, geliştiriciler hizmetçilerin elektrik tüketimini hafife almamalıdır. Kısa sürede 9 V gaflı bir pili boşaltmak sorun değil. Bu nedenle, yeterli rezervle daha küçük ve daha düzenlenmiş bir güç kaynağı önerilmektedir. Kural olarak, makul güç kaynakları 20 Euro'dan mevcuttur.

Bir elektrik jeneratörü kullanıyorsanız, voltaj önerilerine izin vermediğinden emin olun.

Bir sonraki bölümde elektrik motorlarının görünümünü adım adım geçiş motorları ile tamamlıyoruz.


()
 
Üst