Video: Arduino ile Servo Motor Kontrol 2024
Elektronik projenizde hareket yaratmak için, mekanik hareketi BASIC Stamp programı ile kontrol etmenizi sağlayan serv o, olarak adlandırılan kullanışlı bir cihazdır. A servo , belirli bir konuma dönmek ve bu konumu farklı bir konuma döndürmek için söylene kadar tutmak için tasarlanmış özel bir motor türüdür. Hobi servoları radyo kontrollü araçlarda sıklıkla kullanılır, ancak servolar için başka birçok kullanım alanı vardır.
BASIC Stamp Activity Kiti, servoları kontrol eden programların nasıl yazıldığını öğrenmek için kullanabileceğiniz bir servo ile birlikte gelir. Parallax'tan veya birçok hobi mağazasından servolar satın alabilirsiniz.
Bir BASIC Stamp mikroişlemciden bir servo kontrol etmenin en kolay yolu PULSOUT komutunu kullanmaktır. Bu komut, seçtiğiniz G / Ç pinine belirttiğiniz herhangi bir süreyle bir darbe gönderir. Bu komutun sözdizimi aşağıdaki gibidir:
PULSOUT pimi, süre
Süreyi iki mikrosaniye olarak belirtirsiniz. Mikrosaniye saniyenin milyonda biridir. Milisaniye içinde bin mikrosaniye var. Böylece, PULSOUT komutu ile 1.5 ms'lik bir darbe göndermek için süre 750 olarak belirlemelisiniz:
PULSOUT 0, 750
Burada pin 0'a bir 5 ms darbe gönderilir.
Çeşitli açılar için tipik bir hobi servo için kullanmanız gereken PULSOUT süresi değerleri aşağıda verilmektedir.
Açı | süresi | Açı | süresi |
---|---|---|---|
0 | 250 | 95 | 778 |
5 | 278 | 100 | 806 |
10 | 306 | 105 | 833 |
15 | 333 | 110 | 861 |
20 | 361 | 115 | 30 |
417 | 125 | 944 | 35 |
444 | 130 | 972 | 25 |
389 | 120 | 917> 889 | 40 |
472 | 135 | 45 | 500 |
140 | 50 | 528 | 145 |
1056 1028 | 1000 | 1083> 55 | |
556 | 150 | 60 | 583 |
155 < | 70 | 65 | 611 |
160 | 1139> 1111 999 | 639 | 165 1167 |
75 | 667 | 170 | |
85 | 80 | 694 | 175 |
1222 1194 | > 722 | 180 | 1250 |
90 | 750 | Örneğin servoyı 0 pininde 75 ° hareket ettirmek için şu komutu kullanın: | PULSOUT 0, 667 |
Hatırlayın konumunu korumak için bir servo, yaklaşık 20 ms aralıklarla sabit bir darbe akımına ihtiyaç duyar. Böylece, PULSOUT komutları genellikle DO döngülerinde veya FOR-NEXT döngülerinde bulunur. Örneğin, servoın sürgüsünü 45 ° 'de sonsuza kadar 0 olarak tutan bir miktar kod var: | DO PULSOUT 0, 500 PAUSE 20 LOOP |
İşte SW1 (bir basmalı buton (pin 14'de) basıldığında SW2 (pin 10'da bir basma düğmesi) basıldığında 135 ° basılır.
'Servo Kontrol Programı' Doug Lowe '15 Temmuz 2011 "SW1 basıldığında bu program bir servo hareket ettirir ve SW2'ye basıldığında servo orta konumuna geri döner.' {$ STAMP BS2} '{ $ PBASIC 2. 5} Servo PIN 0 SW1 PİN 14 SW2 PIN 10 Pozisyon VAR Kelime Konumu = 500 DO SW1 = 1 SONRA Pozisyon = 500 ENDIF SW2 = 1 THEN Pozisyon = 1000 ENDIF PULSOUT Servo, Konum PAUSE 20 LOOP